From 2c9e6b5edeb537724f12737ac97de4aff8b3ffb2 Mon Sep 17 00:00:00 2001 From: Bassem Girgis Date: Sun, 11 Aug 2019 01:14:02 -0500 Subject: [PATCH] mac mpi --- macx64/mpi/mpich/bin/hydra_nameserver | Bin 0 -> 379256 bytes macx64/mpi/mpich/bin/hydra_persist | Bin 0 -> 378824 bytes macx64/mpi/mpich/bin/hydra_pmi_proxy | Bin 0 -> 453388 bytes macx64/mpi/mpich/bin/mpicc | 305 ++ macx64/mpi/mpich/bin/mpichversion | Bin 0 -> 35020 bytes macx64/mpi/mpich/bin/mpiexec | 1 + macx64/mpi/mpich/bin/mpiexec.hydra | Bin 0 -> 549916 bytes macx64/mpi/mpich/bin/mpirun | 1 + macx64/mpi/mpich/bin/mpivars | Bin 0 -> 45916 bytes macx64/mpi/mpich/bin/parkill | 127 + macx64/mpi/mpich/include/mpi.h | 2296 +++++++++++++ macx64/mpi/mpich/include/mpio.h | 551 ++++ macx64/mpi/mpich/include/mpiof.h | 46 + macx64/mpi/mpich/lib/libmpi.12.dylib | Bin 0 -> 818468 bytes macx64/mpi/mpich/lib/libmpi.a | Bin 0 -> 1604448 bytes macx64/mpi/mpich/lib/libmpi.dylib | 1 + macx64/mpi/mpich/lib/libmpi.la | 41 + macx64/mpi/mpich/lib/libmpich.dylib | 1 + macx64/mpi/mpich/lib/libmpl.dylib | 1 + macx64/mpi/mpich/lib/libopa.dylib | 1 + macx64/mpi/mpich/lib/libpmpi.12.dylib | Bin 0 -> 2582768 bytes macx64/mpi/mpich/lib/libpmpi.a | Bin 0 -> 4135904 bytes macx64/mpi/mpich/lib/libpmpi.dylib | 1 + macx64/mpi/mpich/lib/libpmpi.la | 41 + macx64/mpi/mpich/lib/pkgconfig/mpich.pc | 20 + macx64/mpi/mpich/lib/pkgconfig/openpa.pc | 15 + macx64/mpi/mpich/share/doc/mpich/index.html | 563 ++++ macx64/mpi/mpich/share/doc/mpich/install.pdf | Bin 0 -> 94299 bytes macx64/mpi/mpich/share/doc/mpich/logging.pdf | Bin 0 -> 39683 bytes macx64/mpi/mpich/share/doc/mpich/user.pdf | Bin 0 -> 100301 bytes .../mpi/mpich/share/doc/mpich/www1/index.htm | 19 + .../mpi/mpich/share/doc/mpich/www1/mpicc.html | 137 + .../mpich/share/doc/mpich/www1/mpicxx.html | 137 + .../mpich/share/doc/mpich/www1/mpiexec.html | 152 + .../mpich/share/doc/mpich/www1/mpif77.html | 132 + .../mpich/share/doc/mpich/www1/mpifort.html | 132 + .../mpich/share/doc/mpich/www3/Constants.html | 891 ++++++ .../doc/mpich/www3/MPIR_Type_commit.html | 18 + .../doc/mpich/www3/MPIR_Type_contiguous.html | 27 + .../share/doc/mpich/www3/MPIR_Type_dup.html | 29 + .../mpich/www3/MPIR_Type_get_contents.html | 39 + .../doc/mpich/www3/MPIR_Type_indexed.html | 39 + .../doc/mpich/www3/MPIR_Type_struct.html | 38 + .../doc/mpich/www3/MPIR_Type_vector.html | 38 + .../share/doc/mpich/www3/MPIX_Comm_agree.html | 61 + .../doc/mpich/www3/MPIX_Comm_failure_ack.html | 61 + .../www3/MPIX_Comm_failure_get_acked.html | 65 + .../doc/mpich/www3/MPIX_Comm_revoke.html | 50 + .../doc/mpich/www3/MPIX_Comm_shrink.html | 61 + .../mpich/share/doc/mpich/www3/MPI_Abort.html | 68 + .../share/doc/mpich/www3/MPI_Accumulate.html | 90 + .../doc/mpich/www3/MPI_Add_error_class.html | 56 + .../doc/mpich/www3/MPI_Add_error_code.html | 60 + .../doc/mpich/www3/MPI_Add_error_string.html | 68 + .../share/doc/mpich/www3/MPI_Address.html | 72 + .../share/doc/mpich/www3/MPI_Aint_add.html | 40 + .../share/doc/mpich/www3/MPI_Aint_diff.html | 41 + .../share/doc/mpich/www3/MPI_Allgather.html | 106 + .../share/doc/mpich/www3/MPI_Allgatherv.html | 110 + .../share/doc/mpich/www3/MPI_Alloc_mem.html | 79 + .../share/doc/mpich/www3/MPI_Allreduce.html | 93 + .../share/doc/mpich/www3/MPI_Alltoall.html | 80 + .../share/doc/mpich/www3/MPI_Alltoallv.html | 92 + .../share/doc/mpich/www3/MPI_Alltoallw.html | 96 + .../share/doc/mpich/www3/MPI_Attr_delete.html | 69 + .../share/doc/mpich/www3/MPI_Attr_get.html | 94 + .../share/doc/mpich/www3/MPI_Attr_put.html | 93 + .../share/doc/mpich/www3/MPI_Barrier.html | 61 + .../mpich/share/doc/mpich/www3/MPI_Bcast.html | 81 + .../mpich/share/doc/mpich/www3/MPI_Bsend.html | 118 + .../share/doc/mpich/www3/MPI_Bsend_init.html | 92 + .../doc/mpich/www3/MPI_Buffer_attach.html | 98 + .../doc/mpich/www3/MPI_Buffer_detach.html | 96 + .../share/doc/mpich/www3/MPI_Cancel.html | 86 + .../share/doc/mpich/www3/MPI_Cart_coords.html | 75 + .../share/doc/mpich/www3/MPI_Cart_create.html | 82 + .../share/doc/mpich/www3/MPI_Cart_get.html | 78 + .../share/doc/mpich/www3/MPI_Cart_map.html | 74 + .../share/doc/mpich/www3/MPI_Cart_rank.html | 76 + .../share/doc/mpich/www3/MPI_Cart_shift.html | 77 + .../share/doc/mpich/www3/MPI_Cart_sub.html | 73 + .../share/doc/mpich/www3/MPI_Cartdim_get.html | 61 + .../share/doc/mpich/www3/MPI_Close_port.html | 58 + .../share/doc/mpich/www3/MPI_Comm_accept.html | 70 + .../mpich/www3/MPI_Comm_call_errhandler.html | 70 + .../doc/mpich/www3/MPI_Comm_compare.html | 80 + .../doc/mpich/www3/MPI_Comm_connect.html | 72 + .../share/doc/mpich/www3/MPI_Comm_create.html | 69 + .../www3/MPI_Comm_create_errhandler.html | 69 + .../doc/mpich/www3/MPI_Comm_create_group.html | 71 + .../mpich/www3/MPI_Comm_create_keyval.html | 94 + .../doc/mpich/www3/MPI_Comm_delete_attr.html | 66 + .../doc/mpich/www3/MPI_Comm_disconnect.html | 62 + .../share/doc/mpich/www3/MPI_Comm_dup.html | 87 + .../mpich/www3/MPI_Comm_dup_with_info.html | 75 + .../share/doc/mpich/www3/MPI_Comm_free.html | 79 + .../doc/mpich/www3/MPI_Comm_free_keyval.html | 62 + .../doc/mpich/www3/MPI_Comm_get_attr.html | 79 + .../mpich/www3/MPI_Comm_get_errhandler.html | 67 + .../doc/mpich/www3/MPI_Comm_get_info.html | 64 + .../doc/mpich/www3/MPI_Comm_get_name.html | 77 + .../doc/mpich/www3/MPI_Comm_get_parent.html | 68 + .../share/doc/mpich/www3/MPI_Comm_group.html | 65 + .../share/doc/mpich/www3/MPI_Comm_idup.html | 58 + .../share/doc/mpich/www3/MPI_Comm_join.html | 66 + .../share/doc/mpich/www3/MPI_Comm_rank.html | 58 + .../doc/mpich/www3/MPI_Comm_remote_group.html | 67 + .../doc/mpich/www3/MPI_Comm_remote_size.html | 61 + .../doc/mpich/www3/MPI_Comm_set_attr.html | 83 + .../mpich/www3/MPI_Comm_set_errhandler.html | 73 + .../doc/mpich/www3/MPI_Comm_set_info.html | 63 + .../doc/mpich/www3/MPI_Comm_set_name.html | 66 + .../share/doc/mpich/www3/MPI_Comm_size.html | 76 + .../share/doc/mpich/www3/MPI_Comm_spawn.html | 85 + .../mpich/www3/MPI_Comm_spawn_multiple.html | 84 + .../share/doc/mpich/www3/MPI_Comm_split.html | 86 + .../doc/mpich/www3/MPI_Comm_split_type.html | 77 + .../doc/mpich/www3/MPI_Comm_test_inter.html | 61 + .../doc/mpich/www3/MPI_Compare_and_swap.html | 96 + .../share/doc/mpich/www3/MPI_Dims_create.html | 62 + .../doc/mpich/www3/MPI_Dist_graph_create.html | 86 + .../www3/MPI_Dist_graph_create_adjacent.html | 89 + .../mpich/www3/MPI_Dist_graph_neighbors.html | 71 + .../www3/MPI_Dist_graph_neighbors_count.html | 62 + .../doc/mpich/www3/MPI_Errhandler_create.html | 79 + .../doc/mpich/www3/MPI_Errhandler_free.html | 57 + .../doc/mpich/www3/MPI_Errhandler_get.html | 75 + .../doc/mpich/www3/MPI_Errhandler_set.html | 73 + .../share/doc/mpich/www3/MPI_Error_class.html | 56 + .../doc/mpich/www3/MPI_Error_string.html | 67 + .../share/doc/mpich/www3/MPI_Exscan.html | 103 + .../doc/mpich/www3/MPI_Fetch_and_op.html | 103 + .../share/doc/mpich/www3/MPI_File_c2f.html | 20 + .../mpich/www3/MPI_File_call_errhandler.html | 65 + .../share/doc/mpich/www3/MPI_File_close.html | 27 + .../www3/MPI_File_create_errhandler.html | 58 + .../share/doc/mpich/www3/MPI_File_delete.html | 29 + .../share/doc/mpich/www3/MPI_File_f2c.html | 20 + .../doc/mpich/www3/MPI_File_get_amode.html | 31 + .../mpich/www3/MPI_File_get_atomicity.html | 31 + .../mpich/www3/MPI_File_get_byte_offset.html | 33 + .../mpich/www3/MPI_File_get_errhandler.html | 64 + .../doc/mpich/www3/MPI_File_get_group.html | 31 + .../doc/mpich/www3/MPI_File_get_info.html | 31 + .../doc/mpich/www3/MPI_File_get_position.html | 31 + .../www3/MPI_File_get_position_shared.html | 31 + .../doc/mpich/www3/MPI_File_get_size.html | 31 + .../mpich/www3/MPI_File_get_type_extent.html | 33 + .../doc/mpich/www3/MPI_File_get_view.html | 38 + .../share/doc/mpich/www3/MPI_File_iread.html | 37 + .../doc/mpich/www3/MPI_File_iread_all.html | 38 + .../doc/mpich/www3/MPI_File_iread_at.html | 40 + .../doc/mpich/www3/MPI_File_iread_at_all.html | 40 + .../doc/mpich/www3/MPI_File_iread_shared.html | 38 + .../share/doc/mpich/www3/MPI_File_iwrite.html | 42 + .../doc/mpich/www3/MPI_File_iwrite_all.html | 38 + .../doc/mpich/www3/MPI_File_iwrite_at.html | 44 + .../mpich/www3/MPI_File_iwrite_at_all.html | 40 + .../mpich/www3/MPI_File_iwrite_shared.html | 42 + .../share/doc/mpich/www3/MPI_File_open.html | 38 + .../doc/mpich/www3/MPI_File_preallocate.html | 29 + .../share/doc/mpich/www3/MPI_File_read.html | 37 + .../doc/mpich/www3/MPI_File_read_all.html | 37 + .../mpich/www3/MPI_File_read_all_begin.html | 35 + .../doc/mpich/www3/MPI_File_read_all_end.html | 33 + .../doc/mpich/www3/MPI_File_read_at.html | 40 + .../doc/mpich/www3/MPI_File_read_at_all.html | 40 + .../www3/MPI_File_read_at_all_begin.html | 38 + .../mpich/www3/MPI_File_read_at_all_end.html | 33 + .../doc/mpich/www3/MPI_File_read_ordered.html | 38 + .../www3/MPI_File_read_ordered_begin.html | 35 + .../mpich/www3/MPI_File_read_ordered_end.html | 33 + .../doc/mpich/www3/MPI_File_read_shared.html | 38 + .../share/doc/mpich/www3/MPI_File_seek.html | 31 + .../doc/mpich/www3/MPI_File_seek_shared.html | 31 + .../mpich/www3/MPI_File_set_atomicity.html | 29 + .../mpich/www3/MPI_File_set_errhandler.html | 63 + .../doc/mpich/www3/MPI_File_set_info.html | 29 + .../doc/mpich/www3/MPI_File_set_size.html | 29 + .../doc/mpich/www3/MPI_File_set_view.html | 38 + .../share/doc/mpich/www3/MPI_File_sync.html | 27 + .../share/doc/mpich/www3/MPI_File_write.html | 38 + .../doc/mpich/www3/MPI_File_write_all.html | 38 + .../mpich/www3/MPI_File_write_all_begin.html | 33 + .../mpich/www3/MPI_File_write_all_end.html | 33 + .../doc/mpich/www3/MPI_File_write_at.html | 40 + .../doc/mpich/www3/MPI_File_write_at_all.html | 40 + .../www3/MPI_File_write_at_all_begin.html | 36 + .../mpich/www3/MPI_File_write_at_all_end.html | 33 + .../mpich/www3/MPI_File_write_ordered.html | 38 + .../www3/MPI_File_write_ordered_begin.html | 36 + .../www3/MPI_File_write_ordered_end.html | 33 + .../doc/mpich/www3/MPI_File_write_shared.html | 38 + .../share/doc/mpich/www3/MPI_Finalize.html | 51 + .../share/doc/mpich/www3/MPI_Finalized.html | 52 + .../share/doc/mpich/www3/MPI_Free_mem.html | 54 + .../share/doc/mpich/www3/MPI_Gather.html | 86 + .../share/doc/mpich/www3/MPI_Gatherv.html | 90 + .../mpich/share/doc/mpich/www3/MPI_Get.html | 91 + .../doc/mpich/www3/MPI_Get_accumulate.html | 124 + .../share/doc/mpich/www3/MPI_Get_address.html | 78 + .../share/doc/mpich/www3/MPI_Get_count.html | 61 + .../doc/mpich/www3/MPI_Get_elements.html | 58 + .../doc/mpich/www3/MPI_Get_elements_x.html | 58 + .../mpich/www3/MPI_Get_library_version.html | 58 + .../mpich/www3/MPI_Get_processor_name.html | 84 + .../share/doc/mpich/www3/MPI_Get_version.html | 54 + .../doc/mpich/www3/MPI_Graph_create.html | 85 + .../share/doc/mpich/www3/MPI_Graph_get.html | 73 + .../share/doc/mpich/www3/MPI_Graph_map.html | 73 + .../doc/mpich/www3/MPI_Graph_neighbors.html | 75 + .../mpich/www3/MPI_Graph_neighbors_count.html | 72 + .../doc/mpich/www3/MPI_Graphdims_get.html | 68 + .../doc/mpich/www3/MPI_Grequest_complete.html | 57 + .../doc/mpich/www3/MPI_Grequest_start.html | 96 + .../doc/mpich/www3/MPI_Group_compare.html | 67 + .../doc/mpich/www3/MPI_Group_difference.html | 72 + .../share/doc/mpich/www3/MPI_Group_excl.html | 85 + .../share/doc/mpich/www3/MPI_Group_free.html | 62 + .../share/doc/mpich/www3/MPI_Group_incl.html | 80 + .../mpich/www3/MPI_Group_intersection.html | 73 + .../doc/mpich/www3/MPI_Group_range_excl.html | 86 + .../doc/mpich/www3/MPI_Group_range_incl.html | 81 + .../share/doc/mpich/www3/MPI_Group_rank.html | 61 + .../share/doc/mpich/www3/MPI_Group_size.html | 61 + .../mpich/www3/MPI_Group_translate_ranks.html | 69 + .../share/doc/mpich/www3/MPI_Group_union.html | 69 + .../share/doc/mpich/www3/MPI_Iallgather.html | 71 + .../share/doc/mpich/www3/MPI_Iallgatherv.html | 73 + .../share/doc/mpich/www3/MPI_Iallreduce.html | 68 + .../share/doc/mpich/www3/MPI_Ialltoall.html | 71 + .../share/doc/mpich/www3/MPI_Ialltoallv.html | 75 + .../share/doc/mpich/www3/MPI_Ialltoallw.html | 76 + .../share/doc/mpich/www3/MPI_Ibarrier.html | 65 + .../share/doc/mpich/www3/MPI_Ibcast.html | 67 + .../share/doc/mpich/www3/MPI_Ibsend.html | 92 + .../share/doc/mpich/www3/MPI_Iexscan.html | 69 + .../share/doc/mpich/www3/MPI_Igather.html | 73 + .../share/doc/mpich/www3/MPI_Igatherv.html | 75 + .../share/doc/mpich/www3/MPI_Improbe.html | 66 + .../share/doc/mpich/www3/MPI_Imrecv.html | 66 + .../mpich/www3/MPI_Ineighbor_allgather.html | 71 + .../mpich/www3/MPI_Ineighbor_allgatherv.html | 73 + .../mpich/www3/MPI_Ineighbor_alltoall.html | 71 + .../mpich/www3/MPI_Ineighbor_alltoallv.html | 76 + .../mpich/www3/MPI_Ineighbor_alltoallw.html | 76 + .../share/doc/mpich/www3/MPI_Info_create.html | 56 + .../share/doc/mpich/www3/MPI_Info_delete.html | 61 + .../share/doc/mpich/www3/MPI_Info_dup.html | 66 + .../share/doc/mpich/www3/MPI_Info_free.html | 58 + .../share/doc/mpich/www3/MPI_Info_get.html | 87 + .../doc/mpich/www3/MPI_Info_get_nkeys.html | 70 + .../doc/mpich/www3/MPI_Info_get_nthkey.html | 76 + .../doc/mpich/www3/MPI_Info_get_valuelen.html | 79 + .../share/doc/mpich/www3/MPI_Info_set.html | 71 + .../mpich/share/doc/mpich/www3/MPI_Init.html | 69 + .../share/doc/mpich/www3/MPI_Init_thread.html | 77 + .../share/doc/mpich/www3/MPI_Initialized.html | 48 + .../doc/mpich/www3/MPI_Intercomm_create.html | 106 + .../doc/mpich/www3/MPI_Intercomm_merge.html | 89 + .../share/doc/mpich/www3/MPI_Iprobe.html | 79 + .../mpich/share/doc/mpich/www3/MPI_Irecv.html | 91 + .../share/doc/mpich/www3/MPI_Ireduce.html | 70 + .../doc/mpich/www3/MPI_Ireduce_scatter.html | 68 + .../mpich/www3/MPI_Ireduce_scatter_block.html | 70 + .../share/doc/mpich/www3/MPI_Irsend.html | 92 + .../doc/mpich/www3/MPI_Is_thread_main.html | 52 + .../mpich/share/doc/mpich/www3/MPI_Iscan.html | 68 + .../share/doc/mpich/www3/MPI_Iscatter.html | 73 + .../share/doc/mpich/www3/MPI_Iscatterv.html | 75 + .../mpich/share/doc/mpich/www3/MPI_Isend.html | 84 + .../share/doc/mpich/www3/MPI_Issend.html | 91 + .../doc/mpich/www3/MPI_Keyval_create.html | 89 + .../share/doc/mpich/www3/MPI_Keyval_free.html | 73 + .../share/doc/mpich/www3/MPI_Lookup_name.html | 74 + .../share/doc/mpich/www3/MPI_Mprobe.html | 63 + .../mpich/share/doc/mpich/www3/MPI_Mrecv.html | 66 + .../mpich/www3/MPI_Neighbor_allgather.html | 67 + .../mpich/www3/MPI_Neighbor_allgatherv.html | 70 + .../doc/mpich/www3/MPI_Neighbor_alltoall.html | 67 + .../mpich/www3/MPI_Neighbor_alltoallv.html | 72 + .../mpich/www3/MPI_Neighbor_alltoallw.html | 72 + .../share/doc/mpich/www3/MPI_Op_commute.html | 77 + .../share/doc/mpich/www3/MPI_Op_create.html | 87 + .../share/doc/mpich/www3/MPI_Op_free.html | 80 + .../share/doc/mpich/www3/MPI_Open_port.html | 73 + .../mpich/share/doc/mpich/www3/MPI_Pack.html | 80 + .../doc/mpich/www3/MPI_Pack_external.html | 83 + .../mpich/www3/MPI_Pack_external_size.html | 70 + .../share/doc/mpich/www3/MPI_Pack_size.html | 78 + .../share/doc/mpich/www3/MPI_Pcontrol.html | 55 + .../mpich/share/doc/mpich/www3/MPI_Probe.html | 74 + .../doc/mpich/www3/MPI_Publish_name.html | 70 + .../mpich/share/doc/mpich/www3/MPI_Put.html | 91 + .../doc/mpich/www3/MPI_Query_thread.html | 74 + .../share/doc/mpich/www3/MPI_Raccumulate.html | 102 + .../mpich/share/doc/mpich/www3/MPI_Recv.html | 97 + .../share/doc/mpich/www3/MPI_Recv_init.html | 95 + .../share/doc/mpich/www3/MPI_Reduce.html | 102 + .../doc/mpich/www3/MPI_Reduce_local.html | 92 + .../doc/mpich/www3/MPI_Reduce_scatter.html | 104 + .../mpich/www3/MPI_Reduce_scatter_block.html | 102 + .../doc/mpich/www3/MPI_Register_datarep.html | 51 + .../doc/mpich/www3/MPI_Request_free.html | 78 + .../mpich/www3/MPI_Request_get_status.html | 65 + .../mpich/share/doc/mpich/www3/MPI_Rget.html | 103 + .../doc/mpich/www3/MPI_Rget_accumulate.html | 115 + .../mpich/share/doc/mpich/www3/MPI_Rput.html | 104 + .../mpich/share/doc/mpich/www3/MPI_Rsend.html | 84 + .../share/doc/mpich/www3/MPI_Rsend_init.html | 95 + .../mpich/share/doc/mpich/www3/MPI_Scan.html | 98 + .../share/doc/mpich/www3/MPI_Scatter.html | 87 + .../share/doc/mpich/www3/MPI_Scatterv.html | 90 + .../mpich/share/doc/mpich/www3/MPI_Send.html | 91 + .../share/doc/mpich/www3/MPI_Send_init.html | 95 + .../share/doc/mpich/www3/MPI_Sendrecv.html | 105 + .../doc/mpich/www3/MPI_Sendrecv_replace.html | 105 + .../mpich/share/doc/mpich/www3/MPI_Ssend.html | 83 + .../share/doc/mpich/www3/MPI_Ssend_init.html | 88 + .../mpich/share/doc/mpich/www3/MPI_Start.html | 57 + .../share/doc/mpich/www3/MPI_Startall.html | 70 + .../mpich/www3/MPI_Status_set_cancelled.html | 59 + .../mpich/www3/MPI_Status_set_elements.html | 65 + .../mpich/www3/MPI_Status_set_elements_x.html | 58 + .../mpich/www3/MPI_T_category_changed.html | 50 + .../www3/MPI_T_category_get_categories.html | 54 + .../mpich/www3/MPI_T_category_get_cvars.html | 54 + .../mpich/www3/MPI_T_category_get_index.html | 51 + .../mpich/www3/MPI_T_category_get_info.html | 68 + .../mpich/www3/MPI_T_category_get_num.html | 45 + .../mpich/www3/MPI_T_category_get_pvars.html | 54 + .../doc/mpich/www3/MPI_T_cvar_get_index.html | 51 + .../doc/mpich/www3/MPI_T_cvar_get_info.html | 73 + .../doc/mpich/www3/MPI_T_cvar_get_num.html | 45 + .../mpich/www3/MPI_T_cvar_handle_alloc.html | 62 + .../mpich/www3/MPI_T_cvar_handle_free.html | 47 + .../share/doc/mpich/www3/MPI_T_cvar_read.html | 51 + .../doc/mpich/www3/MPI_T_cvar_write.html | 54 + .../doc/mpich/www3/MPI_T_enum_get_info.html | 58 + .../doc/mpich/www3/MPI_T_enum_get_item.html | 62 + .../share/doc/mpich/www3/MPI_T_finalize.html | 60 + .../doc/mpich/www3/MPI_T_init_thread.html | 67 + .../doc/mpich/www3/MPI_T_pvar_get_index.html | 53 + .../doc/mpich/www3/MPI_T_pvar_get_info.html | 79 + .../doc/mpich/www3/MPI_T_pvar_get_num.html | 45 + .../mpich/www3/MPI_T_pvar_handle_alloc.html | 64 + .../mpich/www3/MPI_T_pvar_handle_free.html | 52 + .../share/doc/mpich/www3/MPI_T_pvar_read.html | 67 + .../doc/mpich/www3/MPI_T_pvar_readreset.html | 60 + .../doc/mpich/www3/MPI_T_pvar_reset.html | 64 + .../mpich/www3/MPI_T_pvar_session_create.html | 47 + .../mpich/www3/MPI_T_pvar_session_free.html | 52 + .../doc/mpich/www3/MPI_T_pvar_start.html | 62 + .../share/doc/mpich/www3/MPI_T_pvar_stop.html | 65 + .../doc/mpich/www3/MPI_T_pvar_write.html | 67 + .../mpich/share/doc/mpich/www3/MPI_Test.html | 87 + .../doc/mpich/www3/MPI_Test_cancelled.html | 60 + .../share/doc/mpich/www3/MPI_Testall.html | 124 + .../share/doc/mpich/www3/MPI_Testany.html | 91 + .../share/doc/mpich/www3/MPI_Testsome.html | 112 + .../share/doc/mpich/www3/MPI_Topo_test.html | 66 + .../share/doc/mpich/www3/MPI_Type_commit.html | 57 + .../doc/mpich/www3/MPI_Type_contiguous.html | 70 + .../mpich/www3/MPI_Type_create_darray.html | 88 + .../mpich/www3/MPI_Type_create_hindexed.html | 75 + .../www3/MPI_Type_create_hindexed_block.html | 74 + .../mpich/www3/MPI_Type_create_hvector.html | 73 + .../www3/MPI_Type_create_indexed_block.html | 98 + .../mpich/www3/MPI_Type_create_keyval.html | 86 + .../mpich/www3/MPI_Type_create_resized.html | 67 + .../mpich/www3/MPI_Type_create_struct.html | 76 + .../mpich/www3/MPI_Type_create_subarray.html | 82 + .../doc/mpich/www3/MPI_Type_delete_attr.html | 61 + .../share/doc/mpich/www3/MPI_Type_dup.html | 65 + .../share/doc/mpich/www3/MPI_Type_extent.html | 66 + .../share/doc/mpich/www3/MPI_Type_free.html | 73 + .../doc/mpich/www3/MPI_Type_free_keyval.html | 58 + .../doc/mpich/www3/MPI_Type_get_attr.html | 78 + .../doc/mpich/www3/MPI_Type_get_contents.html | 68 + .../doc/mpich/www3/MPI_Type_get_envelope.html | 59 + .../doc/mpich/www3/MPI_Type_get_extent.html | 65 + .../doc/mpich/www3/MPI_Type_get_extent_x.html | 58 + .../doc/mpich/www3/MPI_Type_get_name.html | 88 + .../mpich/www3/MPI_Type_get_true_extent.html | 65 + .../www3/MPI_Type_get_true_extent_x.html | 58 + .../doc/mpich/www3/MPI_Type_hindexed.html | 111 + .../doc/mpich/www3/MPI_Type_hvector.html | 60 + .../doc/mpich/www3/MPI_Type_indexed.html | 103 + .../share/doc/mpich/www3/MPI_Type_lb.html | 70 + .../doc/mpich/www3/MPI_Type_match_size.html | 69 + .../doc/mpich/www3/MPI_Type_set_attr.html | 64 + .../doc/mpich/www3/MPI_Type_set_name.html | 58 + .../share/doc/mpich/www3/MPI_Type_size.html | 62 + .../share/doc/mpich/www3/MPI_Type_size_x.html | 55 + .../share/doc/mpich/www3/MPI_Type_struct.html | 128 + .../share/doc/mpich/www3/MPI_Type_ub.html | 71 + .../share/doc/mpich/www3/MPI_Type_vector.html | 72 + .../share/doc/mpich/www3/MPI_Unpack.html | 89 + .../doc/mpich/www3/MPI_Unpack_external.html | 80 + .../doc/mpich/www3/MPI_Unpublish_name.html | 73 + .../mpich/share/doc/mpich/www3/MPI_Wait.html | 84 + .../share/doc/mpich/www3/MPI_Waitall.html | 117 + .../share/doc/mpich/www3/MPI_Waitany.html | 96 + .../share/doc/mpich/www3/MPI_Waitsome.html | 132 + .../doc/mpich/www3/MPI_Win_allocate.html | 94 + .../mpich/www3/MPI_Win_allocate_shared.html | 103 + .../share/doc/mpich/www3/MPI_Win_attach.html | 86 + .../mpich/www3/MPI_Win_call_errhandler.html | 69 + .../doc/mpich/www3/MPI_Win_complete.html | 58 + .../share/doc/mpich/www3/MPI_Win_create.html | 125 + .../mpich/www3/MPI_Win_create_dynamic.html | 106 + .../mpich/www3/MPI_Win_create_errhandler.html | 61 + .../doc/mpich/www3/MPI_Win_create_keyval.html | 88 + .../doc/mpich/www3/MPI_Win_delete_attr.html | 63 + .../share/doc/mpich/www3/MPI_Win_detach.html | 84 + .../share/doc/mpich/www3/MPI_Win_fence.html | 83 + .../share/doc/mpich/www3/MPI_Win_flush.html | 74 + .../doc/mpich/www3/MPI_Win_flush_all.html | 71 + .../doc/mpich/www3/MPI_Win_flush_local.html | 75 + .../mpich/www3/MPI_Win_flush_local_all.html | 70 + .../share/doc/mpich/www3/MPI_Win_free.html | 61 + .../doc/mpich/www3/MPI_Win_free_keyval.html | 60 + .../doc/mpich/www3/MPI_Win_get_attr.html | 81 + .../mpich/www3/MPI_Win_get_errhandler.html | 62 + .../doc/mpich/www3/MPI_Win_get_group.html | 71 + .../doc/mpich/www3/MPI_Win_get_info.html | 84 + .../doc/mpich/www3/MPI_Win_get_name.html | 76 + .../share/doc/mpich/www3/MPI_Win_lock.html | 94 + .../doc/mpich/www3/MPI_Win_lock_all.html | 98 + .../share/doc/mpich/www3/MPI_Win_post.html | 72 + .../doc/mpich/www3/MPI_Win_set_attr.html | 71 + .../mpich/www3/MPI_Win_set_errhandler.html | 65 + .../doc/mpich/www3/MPI_Win_set_info.html | 82 + .../doc/mpich/www3/MPI_Win_set_name.html | 64 + .../doc/mpich/www3/MPI_Win_shared_query.html | 94 + .../share/doc/mpich/www3/MPI_Win_start.html | 79 + .../share/doc/mpich/www3/MPI_Win_sync.html | 73 + .../share/doc/mpich/www3/MPI_Win_test.html | 72 + .../share/doc/mpich/www3/MPI_Win_unlock.html | 69 + .../doc/mpich/www3/MPI_Win_unlock_all.html | 74 + .../share/doc/mpich/www3/MPI_Win_wait.html | 58 + .../mpich/share/doc/mpich/www3/MPI_Wtick.html | 23 + .../mpich/share/doc/mpich/www3/MPI_Wtime.html | 29 + .../mpi/mpich/share/doc/mpich/www3/index.htm | 551 ++++ macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit | 407 +++ .../mpich/share/man/man1/hydra_nameserver.1 | 10 + .../mpi/mpich/share/man/man1/hydra_persist.1 | 10 + .../mpich/share/man/man1/hydra_pmi_proxy.1 | 10 + macx64/mpi/mpich/share/man/man1/mpicc.1 | 217 ++ macx64/mpi/mpich/share/man/man1/mpicxx.1 | 217 ++ macx64/mpi/mpich/share/man/man1/mpiexec.1 | 321 ++ macx64/mpi/mpich/share/man/man1/mpif77.1 | 203 ++ macx64/mpi/mpich/share/man/man1/mpifort.1 | 203 ++ macx64/mpi/mpich/share/man/man3/Constants.3 | 1892 +++++++++++ .../mpich/share/man/man3/MPIR_Type_commit.3 | 11 + .../share/man/man3/MPIR_Type_contiguous.3 | 28 + .../mpi/mpich/share/man/man3/MPIR_Type_dup.3 | 27 + .../share/man/man3/MPIR_Type_get_contents.3 | 51 + .../mpich/share/man/man3/MPIR_Type_indexed.3 | 49 + .../mpich/share/man/man3/MPIR_Type_struct.3 | 45 + .../mpich/share/man/man3/MPIR_Type_vector.3 | 48 + .../mpich/share/man/man3/MPIX_Comm_agree.3 | 96 + .../share/man/man3/MPIX_Comm_failure_ack.3 | 96 + .../man/man3/MPIX_Comm_failure_get_acked.3 | 103 + .../mpich/share/man/man3/MPIX_Comm_revoke.3 | 79 + .../mpich/share/man/man3/MPIX_Comm_shrink.3 | 96 + macx64/mpi/mpich/share/man/man3/MPI_Abort.3 | 104 + .../mpi/mpich/share/man/man3/MPI_Accumulate.3 | 171 + .../share/man/man3/MPI_Add_error_class.3 | 88 + .../mpich/share/man/man3/MPI_Add_error_code.3 | 95 + .../share/man/man3/MPI_Add_error_string.3 | 105 + macx64/mpi/mpich/share/man/man3/MPI_Address.3 | 111 + .../mpi/mpich/share/man/man3/MPI_Aint_add.3 | 38 + .../mpi/mpich/share/man/man3/MPI_Aint_diff.3 | 39 + .../mpi/mpich/share/man/man3/MPI_Allgather.3 | 169 + .../mpi/mpich/share/man/man3/MPI_Allgatherv.3 | 174 + .../mpi/mpich/share/man/man3/MPI_Alloc_mem.3 | 128 + .../mpi/mpich/share/man/man3/MPI_Allreduce.3 | 163 + .../mpi/mpich/share/man/man3/MPI_Alltoall.3 | 137 + .../mpi/mpich/share/man/man3/MPI_Alltoallv.3 | 161 + .../mpi/mpich/share/man/man3/MPI_Alltoallw.3 | 164 + .../mpich/share/man/man3/MPI_Attr_delete.3 | 109 + .../mpi/mpich/share/man/man3/MPI_Attr_get.3 | 157 + .../mpi/mpich/share/man/man3/MPI_Attr_put.3 | 159 + macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 | 93 + macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 | 138 + macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 | 209 ++ .../mpi/mpich/share/man/man3/MPI_Bsend_init.3 | 176 + .../mpich/share/man/man3/MPI_Buffer_attach.3 | 159 + .../mpich/share/man/man3/MPI_Buffer_detach.3 | 130 + macx64/mpi/mpich/share/man/man3/MPI_Cancel.3 | 133 + .../mpich/share/man/man3/MPI_Cart_coords.3 | 141 + .../mpich/share/man/man3/MPI_Cart_create.3 | 139 + .../mpi/mpich/share/man/man3/MPI_Cart_get.3 | 136 + .../mpi/mpich/share/man/man3/MPI_Cart_map.3 | 130 + .../mpi/mpich/share/man/man3/MPI_Cart_rank.3 | 136 + .../mpi/mpich/share/man/man3/MPI_Cart_shift.3 | 133 + .../mpi/mpich/share/man/man3/MPI_Cart_sub.3 | 125 + .../mpich/share/man/man3/MPI_Cartdim_get.3 | 100 + .../mpi/mpich/share/man/man3/MPI_Close_port.3 | 86 + .../mpich/share/man/man3/MPI_Comm_accept.3 | 116 + .../share/man/man3/MPI_Comm_call_errhandler.3 | 105 + .../mpich/share/man/man3/MPI_Comm_compare.3 | 134 + .../mpich/share/man/man3/MPI_Comm_connect.3 | 121 + .../mpich/share/man/man3/MPI_Comm_create.3 | 111 + .../man/man3/MPI_Comm_create_errhandler.3 | 109 + .../share/man/man3/MPI_Comm_create_group.3 | 116 + .../share/man/man3/MPI_Comm_create_keyval.3 | 147 + .../share/man/man3/MPI_Comm_delete_attr.3 | 103 + .../share/man/man3/MPI_Comm_disconnect.3 | 99 + .../mpi/mpich/share/man/man3/MPI_Comm_dup.3 | 133 + .../share/man/man3/MPI_Comm_dup_with_info.3 | 115 + .../mpi/mpich/share/man/man3/MPI_Comm_free.3 | 118 + .../share/man/man3/MPI_Comm_free_keyval.3 | 97 + .../mpich/share/man/man3/MPI_Comm_get_attr.3 | 130 + .../share/man/man3/MPI_Comm_get_errhandler.3 | 103 + .../mpich/share/man/man3/MPI_Comm_get_info.3 | 107 + .../mpich/share/man/man3/MPI_Comm_get_name.3 | 121 + .../share/man/man3/MPI_Comm_get_parent.3 | 114 + .../mpi/mpich/share/man/man3/MPI_Comm_group.3 | 103 + .../mpi/mpich/share/man/man3/MPI_Comm_idup.3 | 87 + .../mpi/mpich/share/man/man3/MPI_Comm_join.3 | 109 + .../mpi/mpich/share/man/man3/MPI_Comm_rank.3 | 94 + .../share/man/man3/MPI_Comm_remote_group.3 | 102 + .../share/man/man3/MPI_Comm_remote_size.3 | 102 + .../mpich/share/man/man3/MPI_Comm_set_attr.3 | 142 + .../share/man/man3/MPI_Comm_set_errhandler.3 | 113 + .../mpich/share/man/man3/MPI_Comm_set_info.3 | 105 + .../mpich/share/man/man3/MPI_Comm_set_name.3 | 101 + .../mpi/mpich/share/man/man3/MPI_Comm_size.3 | 117 + .../mpi/mpich/share/man/man3/MPI_Comm_spawn.3 | 147 + .../share/man/man3/MPI_Comm_spawn_multiple.3 | 148 + .../mpi/mpich/share/man/man3/MPI_Comm_split.3 | 135 + .../share/man/man3/MPI_Comm_split_type.3 | 128 + .../share/man/man3/MPI_Comm_test_inter.3 | 100 + .../share/man/man3/MPI_Compare_and_swap.3 | 177 + .../mpich/share/man/man3/MPI_Dims_create.3 | 98 + .../share/man/man3/MPI_Dist_graph_create.3 | 146 + .../man/man3/MPI_Dist_graph_create_adjacent.3 | 152 + .../share/man/man3/MPI_Dist_graph_neighbors.3 | 114 + .../man/man3/MPI_Dist_graph_neighbors_count.3 | 97 + .../share/man/man3/MPI_Errhandler_create.3 | 119 + .../share/man/man3/MPI_Errhandler_free.3 | 91 + .../mpich/share/man/man3/MPI_Errhandler_get.3 | 123 + .../mpich/share/man/man3/MPI_Errhandler_set.3 | 115 + .../mpich/share/man/man3/MPI_Error_class.3 | 86 + .../mpich/share/man/man3/MPI_Error_string.3 | 108 + macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 | 174 + .../mpich/share/man/man3/MPI_Fetch_and_op.3 | 196 ++ .../mpi/mpich/share/man/man3/MPI_File_c2f.3 | 16 + .../share/man/man3/MPI_File_call_errhandler.3 | 98 + .../mpi/mpich/share/man/man3/MPI_File_close.3 | 36 + .../man/man3/MPI_File_create_errhandler.3 | 88 + .../mpich/share/man/man3/MPI_File_delete.3 | 41 + .../mpi/mpich/share/man/man3/MPI_File_f2c.3 | 16 + .../mpich/share/man/man3/MPI_File_get_amode.3 | 43 + .../share/man/man3/MPI_File_get_atomicity.3 | 43 + .../share/man/man3/MPI_File_get_byte_offset.3 | 48 + .../share/man/man3/MPI_File_get_errhandler.3 | 95 + .../mpich/share/man/man3/MPI_File_get_group.3 | 43 + .../mpich/share/man/man3/MPI_File_get_info.3 | 43 + .../share/man/man3/MPI_File_get_position.3 | 43 + .../man/man3/MPI_File_get_position_shared.3 | 43 + .../mpich/share/man/man3/MPI_File_get_size.3 | 43 + .../share/man/man3/MPI_File_get_type_extent.3 | 48 + .../mpich/share/man/man3/MPI_File_get_view.3 | 59 + .../mpi/mpich/share/man/man3/MPI_File_iread.3 | 58 + .../mpich/share/man/man3/MPI_File_iread_all.3 | 59 + .../mpich/share/man/man3/MPI_File_iread_at.3 | 64 + .../share/man/man3/MPI_File_iread_at_all.3 | 64 + .../share/man/man3/MPI_File_iread_shared.3 | 59 + .../mpich/share/man/man3/MPI_File_iwrite.3 | 63 + .../share/man/man3/MPI_File_iwrite_all.3 | 59 + .../mpich/share/man/man3/MPI_File_iwrite_at.3 | 68 + .../share/man/man3/MPI_File_iwrite_at_all.3 | 64 + .../share/man/man3/MPI_File_iwrite_shared.3 | 63 + .../mpi/mpich/share/man/man3/MPI_File_open.3 | 59 + .../share/man/man3/MPI_File_preallocate.3 | 41 + .../mpi/mpich/share/man/man3/MPI_File_read.3 | 58 + .../mpich/share/man/man3/MPI_File_read_all.3 | 58 + .../share/man/man3/MPI_File_read_all_begin.3 | 53 + .../share/man/man3/MPI_File_read_all_end.3 | 48 + .../mpich/share/man/man3/MPI_File_read_at.3 | 64 + .../share/man/man3/MPI_File_read_at_all.3 | 64 + .../man/man3/MPI_File_read_at_all_begin.3 | 59 + .../share/man/man3/MPI_File_read_at_all_end.3 | 48 + .../share/man/man3/MPI_File_read_ordered.3 | 59 + .../man/man3/MPI_File_read_ordered_begin.3 | 53 + .../man/man3/MPI_File_read_ordered_end.3 | 48 + .../share/man/man3/MPI_File_read_shared.3 | 59 + .../mpi/mpich/share/man/man3/MPI_File_seek.3 | 46 + .../share/man/man3/MPI_File_seek_shared.3 | 46 + .../share/man/man3/MPI_File_set_atomicity.3 | 41 + .../share/man/man3/MPI_File_set_errhandler.3 | 93 + .../mpich/share/man/man3/MPI_File_set_info.3 | 41 + .../mpich/share/man/man3/MPI_File_set_size.3 | 41 + .../mpich/share/man/man3/MPI_File_set_view.3 | 62 + .../mpi/mpich/share/man/man3/MPI_File_sync.3 | 36 + .../mpi/mpich/share/man/man3/MPI_File_write.3 | 59 + .../mpich/share/man/man3/MPI_File_write_all.3 | 59 + .../share/man/man3/MPI_File_write_all_begin.3 | 51 + .../share/man/man3/MPI_File_write_all_end.3 | 48 + .../mpich/share/man/man3/MPI_File_write_at.3 | 64 + .../share/man/man3/MPI_File_write_at_all.3 | 64 + .../man/man3/MPI_File_write_at_all_begin.3 | 57 + .../man/man3/MPI_File_write_at_all_end.3 | 48 + .../share/man/man3/MPI_File_write_ordered.3 | 59 + .../man/man3/MPI_File_write_ordered_begin.3 | 54 + .../man/man3/MPI_File_write_ordered_end.3 | 48 + .../share/man/man3/MPI_File_write_shared.3 | 59 + .../mpi/mpich/share/man/man3/MPI_Finalize.3 | 89 + .../mpi/mpich/share/man/man3/MPI_Finalized.3 | 82 + .../mpi/mpich/share/man/man3/MPI_Free_mem.3 | 82 + macx64/mpi/mpich/share/man/man3/MPI_Gather.3 | 151 + macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 | 162 + macx64/mpi/mpich/share/man/man3/MPI_Get.3 | 166 + .../mpich/share/man/man3/MPI_Get_accumulate.3 | 231 ++ .../mpich/share/man/man3/MPI_Get_address.3 | 117 + .../mpi/mpich/share/man/man3/MPI_Get_count.3 | 106 + .../mpich/share/man/man3/MPI_Get_elements.3 | 91 + .../mpich/share/man/man3/MPI_Get_elements_x.3 | 87 + .../share/man/man3/MPI_Get_library_version.3 | 86 + .../share/man/man3/MPI_Get_processor_name.3 | 133 + .../mpich/share/man/man3/MPI_Get_version.3 | 82 + .../mpich/share/man/man3/MPI_Graph_create.3 | 144 + .../mpi/mpich/share/man/man3/MPI_Graph_get.3 | 131 + .../mpi/mpich/share/man/man3/MPI_Graph_map.3 | 130 + .../share/man/man3/MPI_Graph_neighbors.3 | 137 + .../man/man3/MPI_Graph_neighbors_count.3 | 133 + .../mpich/share/man/man3/MPI_Graphdims_get.3 | 115 + .../share/man/man3/MPI_Grequest_complete.3 | 84 + .../mpich/share/man/man3/MPI_Grequest_start.3 | 153 + .../mpich/share/man/man3/MPI_Group_compare.3 | 113 + .../share/man/man3/MPI_Group_difference.3 | 115 + .../mpi/mpich/share/man/man3/MPI_Group_excl.3 | 149 + .../mpi/mpich/share/man/man3/MPI_Group_free.3 | 100 + .../mpi/mpich/share/man/man3/MPI_Group_incl.3 | 145 + .../share/man/man3/MPI_Group_intersection.3 | 115 + .../share/man/man3/MPI_Group_range_excl.3 | 152 + .../share/man/man3/MPI_Group_range_incl.3 | 147 + .../mpi/mpich/share/man/man3/MPI_Group_rank.3 | 100 + .../mpi/mpich/share/man/man3/MPI_Group_size.3 | 97 + .../man/man3/MPI_Group_translate_ranks.3 | 118 + .../mpich/share/man/man3/MPI_Group_union.3 | 107 + .../mpi/mpich/share/man/man3/MPI_Iallgather.3 | 114 + .../mpich/share/man/man3/MPI_Iallgatherv.3 | 119 + .../mpi/mpich/share/man/man3/MPI_Iallreduce.3 | 108 + .../mpi/mpich/share/man/man3/MPI_Ialltoall.3 | 114 + .../mpi/mpich/share/man/man3/MPI_Ialltoallv.3 | 124 + .../mpi/mpich/share/man/man3/MPI_Ialltoallw.3 | 125 + .../mpi/mpich/share/man/man3/MPI_Ibarrier.3 | 92 + macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 | 105 + macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 | 179 ++ macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 | 109 + macx64/mpi/mpich/share/man/man3/MPI_Igather.3 | 119 + .../mpi/mpich/share/man/man3/MPI_Igatherv.3 | 124 + macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 | 103 + macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 | 100 + .../share/man/man3/MPI_Ineighbor_allgather.3 | 114 + .../share/man/man3/MPI_Ineighbor_allgatherv.3 | 119 + .../share/man/man3/MPI_Ineighbor_alltoall.3 | 114 + .../share/man/man3/MPI_Ineighbor_alltoallv.3 | 125 + .../share/man/man3/MPI_Ineighbor_alltoallw.3 | 125 + .../mpich/share/man/man3/MPI_Info_create.3 | 88 + .../mpich/share/man/man3/MPI_Info_delete.3 | 91 + .../mpi/mpich/share/man/man3/MPI_Info_dup.3 | 104 + .../mpi/mpich/share/man/man3/MPI_Info_free.3 | 93 + .../mpi/mpich/share/man/man3/MPI_Info_get.3 | 143 + .../mpich/share/man/man3/MPI_Info_get_nkeys.3 | 108 + .../share/man/man3/MPI_Info_get_nthkey.3 | 124 + .../share/man/man3/MPI_Info_get_valuelen.3 | 124 + .../mpi/mpich/share/man/man3/MPI_Info_set.3 | 113 + macx64/mpi/mpich/share/man/man3/MPI_Init.3 | 107 + .../mpich/share/man/man3/MPI_Init_thread.3 | 126 + .../mpich/share/man/man3/MPI_Initialized.3 | 80 + .../share/man/man3/MPI_Intercomm_create.3 | 203 ++ .../share/man/man3/MPI_Intercomm_merge.3 | 133 + macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 | 152 + macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 | 178 ++ macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 | 113 + .../share/man/man3/MPI_Ireduce_scatter.3 | 108 + .../man/man3/MPI_Ireduce_scatter_block.3 | 110 + macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 | 179 ++ .../mpich/share/man/man3/MPI_Is_thread_main.3 | 85 + macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 | 108 + .../mpi/mpich/share/man/man3/MPI_Iscatter.3 | 119 + .../mpi/mpich/share/man/man3/MPI_Iscatterv.3 | 124 + macx64/mpi/mpich/share/man/man3/MPI_Isend.3 | 170 + macx64/mpi/mpich/share/man/man3/MPI_Issend.3 | 178 ++ .../mpich/share/man/man3/MPI_Keyval_create.3 | 140 + .../mpich/share/man/man3/MPI_Keyval_free.3 | 111 + .../mpich/share/man/man3/MPI_Lookup_name.3 | 125 + macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 | 97 + macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 | 100 + .../share/man/man3/MPI_Neighbor_allgather.3 | 108 + .../share/man/man3/MPI_Neighbor_allgatherv.3 | 114 + .../share/man/man3/MPI_Neighbor_alltoall.3 | 108 + .../share/man/man3/MPI_Neighbor_alltoallv.3 | 119 + .../share/man/man3/MPI_Neighbor_alltoallw.3 | 119 + .../mpi/mpich/share/man/man3/MPI_Op_commute.3 | 114 + .../mpi/mpich/share/man/man3/MPI_Op_create.3 | 137 + macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 | 119 + .../mpi/mpich/share/man/man3/MPI_Open_port.3 | 117 + macx64/mpi/mpich/share/man/man3/MPI_Pack.3 | 133 + .../mpich/share/man/man3/MPI_Pack_external.3 | 140 + .../share/man/man3/MPI_Pack_external_size.3 | 115 + .../mpi/mpich/share/man/man3/MPI_Pack_size.3 | 142 + .../mpi/mpich/share/man/man3/MPI_Pcontrol.3 | 85 + macx64/mpi/mpich/share/man/man3/MPI_Probe.3 | 145 + .../mpich/share/man/man3/MPI_Publish_name.3 | 119 + macx64/mpi/mpich/share/man/man3/MPI_Put.3 | 166 + .../mpich/share/man/man3/MPI_Query_thread.3 | 120 + .../mpich/share/man/man3/MPI_Raccumulate.3 | 191 ++ macx64/mpi/mpich/share/man/man3/MPI_Recv.3 | 192 ++ .../mpi/mpich/share/man/man3/MPI_Recv_init.3 | 186 ++ macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 | 175 + .../mpich/share/man/man3/MPI_Reduce_local.3 | 152 + .../mpich/share/man/man3/MPI_Reduce_scatter.3 | 182 ++ .../share/man/man3/MPI_Reduce_scatter_block.3 | 180 ++ .../share/man/man3/MPI_Register_datarep.3 | 73 + .../mpich/share/man/man3/MPI_Request_free.3 | 132 + .../share/man/man3/MPI_Request_get_status.3 | 108 + macx64/mpi/mpich/share/man/man3/MPI_Rget.3 | 185 ++ .../share/man/man3/MPI_Rget_accumulate.3 | 214 ++ macx64/mpi/mpich/share/man/man3/MPI_Rput.3 | 194 ++ macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 | 165 + .../mpi/mpich/share/man/man3/MPI_Rsend_init.3 | 182 ++ macx64/mpi/mpich/share/man/man3/MPI_Scan.3 | 166 + macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 | 156 + .../mpi/mpich/share/man/man3/MPI_Scatterv.3 | 161 + macx64/mpi/mpich/share/man/man3/MPI_Send.3 | 172 + .../mpi/mpich/share/man/man3/MPI_Send_init.3 | 182 ++ .../mpi/mpich/share/man/man3/MPI_Sendrecv.3 | 210 ++ .../share/man/man3/MPI_Sendrecv_replace.3 | 207 ++ macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 | 164 + .../mpi/mpich/share/man/man3/MPI_Ssend_init.3 | 172 + macx64/mpi/mpich/share/man/man3/MPI_Start.3 | 93 + .../mpi/mpich/share/man/man3/MPI_Startall.3 | 121 + .../share/man/man3/MPI_Status_set_cancelled.3 | 93 + .../share/man/man3/MPI_Status_set_elements.3 | 107 + .../man/man3/MPI_Status_set_elements_x.3 | 87 + .../share/man/man3/MPI_T_category_changed.3 | 67 + .../man/man3/MPI_T_category_get_categories.3 | 79 + .../share/man/man3/MPI_T_category_get_cvars.3 | 79 + .../share/man/man3/MPI_T_category_get_index.3 | 74 + .../share/man/man3/MPI_T_category_get_info.3 | 107 + .../share/man/man3/MPI_T_category_get_num.3 | 62 + .../share/man/man3/MPI_T_category_get_pvars.3 | 79 + .../share/man/man3/MPI_T_cvar_get_index.3 | 74 + .../share/man/man3/MPI_T_cvar_get_info.3 | 118 + .../mpich/share/man/man3/MPI_T_cvar_get_num.3 | 62 + .../share/man/man3/MPI_T_cvar_handle_alloc.3 | 95 + .../share/man/man3/MPI_T_cvar_handle_free.3 | 67 + .../mpich/share/man/man3/MPI_T_cvar_read.3 | 74 + .../mpich/share/man/man3/MPI_T_cvar_write.3 | 82 + .../share/man/man3/MPI_T_enum_get_info.3 | 86 + .../share/man/man3/MPI_T_enum_get_item.3 | 96 + .../mpi/mpich/share/man/man3/MPI_T_finalize.3 | 74 + .../mpich/share/man/man3/MPI_T_init_thread.3 | 95 + .../share/man/man3/MPI_T_pvar_get_index.3 | 79 + .../share/man/man3/MPI_T_pvar_get_info.3 | 133 + .../mpich/share/man/man3/MPI_T_pvar_get_num.3 | 62 + .../share/man/man3/MPI_T_pvar_handle_alloc.3 | 100 + .../share/man/man3/MPI_T_pvar_handle_free.3 | 77 + .../mpich/share/man/man3/MPI_T_pvar_read.3 | 95 + .../share/man/man3/MPI_T_pvar_readreset.3 | 94 + .../mpich/share/man/man3/MPI_T_pvar_reset.3 | 92 + .../man/man3/MPI_T_pvar_session_create.3 | 67 + .../share/man/man3/MPI_T_pvar_session_free.3 | 72 + .../mpich/share/man/man3/MPI_T_pvar_start.3 | 90 + .../mpich/share/man/man3/MPI_T_pvar_stop.3 | 93 + .../mpich/share/man/man3/MPI_T_pvar_write.3 | 98 + macx64/mpi/mpich/share/man/man3/MPI_Test.3 | 167 + .../mpich/share/man/man3/MPI_Test_cancelled.3 | 95 + macx64/mpi/mpich/share/man/man3/MPI_Testall.3 | 243 ++ macx64/mpi/mpich/share/man/man3/MPI_Testany.3 | 158 + .../mpi/mpich/share/man/man3/MPI_Testsome.3 | 206 ++ .../mpi/mpich/share/man/man3/MPI_Topo_test.3 | 110 + .../mpich/share/man/man3/MPI_Type_commit.3 | 89 + .../share/man/man3/MPI_Type_contiguous.3 | 113 + .../share/man/man3/MPI_Type_create_darray.3 | 151 + .../share/man/man3/MPI_Type_create_hindexed.3 | 123 + .../man/man3/MPI_Type_create_hindexed_block.3 | 122 + .../share/man/man3/MPI_Type_create_hvector.3 | 121 + .../man/man3/MPI_Type_create_indexed_block.3 | 148 + .../share/man/man3/MPI_Type_create_keyval.3 | 139 + .../share/man/man3/MPI_Type_create_resized.3 | 107 + .../share/man/man3/MPI_Type_create_struct.3 | 124 + .../share/man/man3/MPI_Type_create_subarray.3 | 136 + .../share/man/man3/MPI_Type_delete_attr.3 | 98 + .../mpi/mpich/share/man/man3/MPI_Type_dup.3 | 100 + .../mpich/share/man/man3/MPI_Type_extent.3 | 103 + .../mpi/mpich/share/man/man3/MPI_Type_free.3 | 110 + .../share/man/man3/MPI_Type_free_keyval.3 | 93 + .../mpich/share/man/man3/MPI_Type_get_attr.3 | 127 + .../share/man/man3/MPI_Type_get_contents.3 | 110 + .../share/man/man3/MPI_Type_get_envelope.3 | 96 + .../share/man/man3/MPI_Type_get_extent.3 | 106 + .../share/man/man3/MPI_Type_get_extent_x.3 | 87 + .../mpich/share/man/man3/MPI_Type_get_name.3 | 131 + .../share/man/man3/MPI_Type_get_true_extent.3 | 106 + .../man/man3/MPI_Type_get_true_extent_x.3 | 87 + .../mpich/share/man/man3/MPI_Type_hindexed.3 | 170 + .../mpich/share/man/man3/MPI_Type_hvector.3 | 97 + .../mpich/share/man/man3/MPI_Type_indexed.3 | 156 + macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 | 112 + .../share/man/man3/MPI_Type_match_size.3 | 114 + .../mpich/share/man/man3/MPI_Type_set_attr.3 | 107 + .../mpich/share/man/man3/MPI_Type_set_name.3 | 101 + .../mpi/mpich/share/man/man3/MPI_Type_size.3 | 101 + .../mpich/share/man/man3/MPI_Type_size_x.3 | 82 + .../mpich/share/man/man3/MPI_Type_struct.3 | 193 ++ macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 | 111 + .../mpich/share/man/man3/MPI_Type_vector.3 | 120 + macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 | 151 + .../share/man/man3/MPI_Unpack_external.3 | 134 + .../mpich/share/man/man3/MPI_Unpublish_name.3 | 119 + macx64/mpi/mpich/share/man/man3/MPI_Wait.3 | 162 + macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 | 228 ++ macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 | 188 ++ .../mpi/mpich/share/man/man3/MPI_Waitsome.3 | 266 ++ .../mpich/share/man/man3/MPI_Win_allocate.3 | 158 + .../share/man/man3/MPI_Win_allocate_shared.3 | 167 + .../mpi/mpich/share/man/man3/MPI_Win_attach.3 | 149 + .../share/man/man3/MPI_Win_call_errhandler.3 | 102 + .../mpich/share/man/man3/MPI_Win_complete.3 | 93 + .../mpi/mpich/share/man/man3/MPI_Win_create.3 | 203 ++ .../share/man/man3/MPI_Win_create_dynamic.3 | 177 + .../man/man3/MPI_Win_create_errhandler.3 | 96 + .../share/man/man3/MPI_Win_create_keyval.3 | 146 + .../share/man/man3/MPI_Win_delete_attr.3 | 103 + .../mpi/mpich/share/man/man3/MPI_Win_detach.3 | 143 + .../mpi/mpich/share/man/man3/MPI_Win_fence.3 | 136 + .../mpi/mpich/share/man/man3/MPI_Win_flush.3 | 124 + .../mpich/share/man/man3/MPI_Win_flush_all.3 | 118 + .../share/man/man3/MPI_Win_flush_local.3 | 124 + .../share/man/man3/MPI_Win_flush_local_all.3 | 119 + .../mpi/mpich/share/man/man3/MPI_Win_free.3 | 101 + .../share/man/man3/MPI_Win_free_keyval.3 | 98 + .../mpich/share/man/man3/MPI_Win_get_attr.3 | 134 + .../share/man/man3/MPI_Win_get_errhandler.3 | 100 + .../mpich/share/man/man3/MPI_Win_get_group.3 | 121 + .../mpich/share/man/man3/MPI_Win_get_info.3 | 133 + .../mpich/share/man/man3/MPI_Win_get_name.3 | 122 + .../mpi/mpich/share/man/man3/MPI_Win_lock.3 | 164 + .../mpich/share/man/man3/MPI_Win_lock_all.3 | 169 + .../mpi/mpich/share/man/man3/MPI_Win_post.3 | 120 + .../mpich/share/man/man3/MPI_Win_set_attr.3 | 113 + .../share/man/man3/MPI_Win_set_errhandler.3 | 98 + .../mpich/share/man/man3/MPI_Win_set_info.3 | 127 + .../mpich/share/man/man3/MPI_Win_set_name.3 | 106 + .../share/man/man3/MPI_Win_shared_query.3 | 164 + .../mpi/mpich/share/man/man3/MPI_Win_start.3 | 131 + .../mpi/mpich/share/man/man3/MPI_Win_sync.3 | 123 + .../mpi/mpich/share/man/man3/MPI_Win_test.3 | 118 + .../mpi/mpich/share/man/man3/MPI_Win_unlock.3 | 118 + .../mpich/share/man/man3/MPI_Win_unlock_all.3 | 123 + .../mpi/mpich/share/man/man3/MPI_Win_wait.3 | 93 + macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 | 18 + macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 | 34 + macx64/mpi/openmpi/bin/mpic++ | 1 + macx64/mpi/openmpi/bin/mpicc | 1 + macx64/mpi/openmpi/bin/mpicxx | 1 + macx64/mpi/openmpi/bin/mpiexec | 1 + macx64/mpi/openmpi/bin/mpif77 | 1 + macx64/mpi/openmpi/bin/mpif90 | 1 + macx64/mpi/openmpi/bin/mpifort | 1 + macx64/mpi/openmpi/bin/mpirun | 1 + macx64/mpi/openmpi/bin/ompi-clean | 1 + macx64/mpi/openmpi/bin/ompi-server | 1 + macx64/mpi/openmpi/bin/ompi_info | Bin 0 -> 23932 bytes macx64/mpi/openmpi/bin/opal_wrapper | Bin 0 -> 19292 bytes macx64/mpi/openmpi/bin/orte-clean | Bin 0 -> 14576 bytes macx64/mpi/openmpi/bin/orte-info | Bin 0 -> 31924 bytes macx64/mpi/openmpi/bin/orte-server | Bin 0 -> 15692 bytes macx64/mpi/openmpi/bin/ortecc | 1 + macx64/mpi/openmpi/bin/orted | Bin 0 -> 8632 bytes macx64/mpi/openmpi/bin/orterun | Bin 0 -> 10156 bytes .../mpi/openmpi/etc/openmpi-default-hostfile | 36 + .../mpi/openmpi/etc/openmpi-mca-params.conf | 59 + macx64/mpi/openmpi/etc/openmpi-totalview.tcl | 38 + macx64/mpi/openmpi/etc/pmix-mca-params.conf | 59 + macx64/mpi/openmpi/include/mpi-ext.h | 32 + macx64/mpi/openmpi/include/mpi.h | 2846 +++++++++++++++++ .../openmpi/include/mpi_portable_platform.h | 401 +++ .../openmpi/include/mpif-c-constants-decl.h | 0 macx64/mpi/openmpi/include/mpif-ext.h | 32 + macx64/mpi/openmpi/include/mpif-sizeof.h | 30 + macx64/mpi/openmpi/include/mpif.h | 63 + .../openmpi/mpiext/mpiext_affinity_c.h | 24 + .../include/openmpi/mpiext/mpiext_cuda_c.h | 17 + .../openmpi/mpiext/mpiext_pcollreq_c.h | 62 + .../openmpi/mpiext/pmpiext_pcollreq_c.h | 62 + macx64/mpi/openmpi/lib/libmpi.40.dylib | Bin 0 -> 2285884 bytes macx64/mpi/openmpi/lib/libmpi.dylib | 1 + macx64/mpi/openmpi/lib/libmpi.la | 41 + macx64/mpi/openmpi/lib/libompitrace.40.dylib | Bin 0 -> 15316 bytes macx64/mpi/openmpi/lib/libompitrace.dylib | 1 + macx64/mpi/openmpi/lib/libompitrace.la | 41 + macx64/mpi/openmpi/lib/libopen-pal.40.dylib | Bin 0 -> 2247192 bytes macx64/mpi/openmpi/lib/libopen-pal.dylib | 1 + macx64/mpi/openmpi/lib/libopen-pal.la | 41 + macx64/mpi/openmpi/lib/libopen-rte.40.dylib | Bin 0 -> 1177560 bytes macx64/mpi/openmpi/lib/libopen-rte.dylib | 1 + macx64/mpi/openmpi/lib/libopen-rte.la | 41 + .../openmpi/lib/openmpi/libompi_dbg_msgq.la | 41 + .../openmpi/lib/openmpi/libompi_dbg_msgq.so | Bin 0 -> 51984 bytes macx64/mpi/openmpi/lib/pkgconfig/ompi-c.pc | 22 + macx64/mpi/openmpi/lib/pkgconfig/ompi-cxx.pc | 22 + macx64/mpi/openmpi/lib/pkgconfig/ompi-f77.pc | 1 + macx64/mpi/openmpi/lib/pkgconfig/ompi-f90.pc | 1 + macx64/mpi/openmpi/lib/pkgconfig/ompi-fort.pc | 21 + macx64/mpi/openmpi/lib/pkgconfig/ompi.pc | 22 + macx64/mpi/openmpi/lib/pkgconfig/orte.pc | 25 + macx64/mpi/openmpi/share/man/man1/mpic++.1 | 265 ++ macx64/mpi/openmpi/share/man/man1/mpicc.1 | 265 ++ macx64/mpi/openmpi/share/man/man1/mpicxx.1 | 265 ++ macx64/mpi/openmpi/share/man/man1/mpiexec.1 | 1763 ++++++++++ macx64/mpi/openmpi/share/man/man1/mpif77.1 | 48 + macx64/mpi/openmpi/share/man/man1/mpif90.1 | 48 + macx64/mpi/openmpi/share/man/man1/mpifort.1 | 265 ++ macx64/mpi/openmpi/share/man/man1/mpirun.1 | 1763 ++++++++++ .../mpi/openmpi/share/man/man1/ompi-clean.1 | 120 + .../mpi/openmpi/share/man/man1/ompi-server.1 | 72 + macx64/mpi/openmpi/share/man/man1/ompi_info.1 | 287 ++ .../mpi/openmpi/share/man/man1/opal_wrapper.1 | 78 + .../mpi/openmpi/share/man/man1/orte-clean.1 | 120 + macx64/mpi/openmpi/share/man/man1/orte-info.1 | 162 + .../mpi/openmpi/share/man/man1/orte-server.1 | 72 + macx64/mpi/openmpi/share/man/man1/orted.1 | 46 + macx64/mpi/openmpi/share/man/man1/orterun.1 | 1763 ++++++++++ macx64/mpi/openmpi/share/man/man3/MPI.3 | 194 ++ .../share/man/man3/MPIX_Allgather_init.3 | 1 + .../share/man/man3/MPIX_Allgatherv_init.3 | 1 + .../share/man/man3/MPIX_Allreduce_init.3 | 1 + .../share/man/man3/MPIX_Alltoall_init.3 | 1 + .../share/man/man3/MPIX_Alltoallv_init.3 | 1 + .../share/man/man3/MPIX_Alltoallw_init.3 | 1 + .../share/man/man3/MPIX_Barrier_init.3 | 156 + .../openmpi/share/man/man3/MPIX_Bcast_init.3 | 1 + .../openmpi/share/man/man3/MPIX_Exscan_init.3 | 1 + .../openmpi/share/man/man3/MPIX_Gather_init.3 | 1 + .../share/man/man3/MPIX_Gatherv_init.3 | 1 + .../man/man3/MPIX_Neighbor_allgather_init.3 | 1 + .../man/man3/MPIX_Neighbor_allgatherv_init.3 | 1 + .../man/man3/MPIX_Neighbor_alltoall_init.3 | 1 + .../man/man3/MPIX_Neighbor_alltoallv_init.3 | 1 + .../man/man3/MPIX_Neighbor_alltoallw_init.3 | 1 + .../share/man/man3/MPIX_Query_cuda_support.3 | 28 + .../openmpi/share/man/man3/MPIX_Reduce_init.3 | 1 + .../man/man3/MPIX_Reduce_scatter_block_init.3 | 1 + .../share/man/man3/MPIX_Reduce_scatter_init.3 | 1 + .../openmpi/share/man/man3/MPIX_Scan_init.3 | 1 + .../share/man/man3/MPIX_Scatter_init.3 | 1 + .../share/man/man3/MPIX_Scatterv_init.3 | 1 + macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 | 51 + .../openmpi/share/man/man3/MPI_Accumulate.3 | 119 + .../share/man/man3/MPI_Add_error_class.3 | 77 + .../share/man/man3/MPI_Add_error_code.3 | 69 + .../share/man/man3/MPI_Add_error_string.3 | 72 + .../mpi/openmpi/share/man/man3/MPI_Address.3 | 84 + .../mpi/openmpi/share/man/man3/MPI_Aint_add.3 | 73 + .../openmpi/share/man/man3/MPI_Aint_diff.3 | 1 + .../openmpi/share/man/man3/MPI_Allgather.3 | 129 + .../openmpi/share/man/man3/MPI_Allgatherv.3 | 113 + .../openmpi/share/man/man3/MPI_Alloc_mem.3 | 87 + .../openmpi/share/man/man3/MPI_Allreduce.3 | 138 + .../mpi/openmpi/share/man/man3/MPI_Alltoall.3 | 127 + .../openmpi/share/man/man3/MPI_Alltoallv.3 | 154 + .../openmpi/share/man/man3/MPI_Alltoallw.3 | 156 + .../openmpi/share/man/man3/MPI_Attr_delete.3 | 61 + .../mpi/openmpi/share/man/man3/MPI_Attr_get.3 | 61 + .../mpi/openmpi/share/man/man3/MPI_Attr_put.3 | 64 + .../mpi/openmpi/share/man/man3/MPI_Barrier.3 | 52 + macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 | 81 + macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 | 96 + .../openmpi/share/man/man3/MPI_Bsend_init.3 | 72 + .../share/man/man3/MPI_Buffer_attach.3 | 68 + .../share/man/man3/MPI_Buffer_detach.3 | 85 + .../mpi/openmpi/share/man/man3/MPI_Cancel.3 | 67 + .../openmpi/share/man/man3/MPI_Cart_coords.3 | 50 + .../openmpi/share/man/man3/MPI_Cart_create.3 | 59 + .../mpi/openmpi/share/man/man3/MPI_Cart_get.3 | 59 + .../mpi/openmpi/share/man/man3/MPI_Cart_map.3 | 61 + .../openmpi/share/man/man3/MPI_Cart_rank.3 | 50 + .../openmpi/share/man/man3/MPI_Cart_shift.3 | 80 + .../mpi/openmpi/share/man/man3/MPI_Cart_sub.3 | 62 + .../openmpi/share/man/man3/MPI_Cartdim_get.3 | 50 + .../openmpi/share/man/man3/MPI_Close_port.3 | 40 + .../openmpi/share/man/man3/MPI_Comm_accept.3 | 62 + .../mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 | 1 + .../share/man/man3/MPI_Comm_call_errhandler.3 | 66 + .../openmpi/share/man/man3/MPI_Comm_compare.3 | 47 + .../openmpi/share/man/man3/MPI_Comm_connect.3 | 67 + .../openmpi/share/man/man3/MPI_Comm_create.3 | 71 + .../man/man3/MPI_Comm_create_errhandler.3 | 76 + .../share/man/man3/MPI_Comm_create_group.3 | 75 + .../share/man/man3/MPI_Comm_create_keyval.3 | 119 + .../share/man/man3/MPI_Comm_delete_attr.3 | 58 + .../share/man/man3/MPI_Comm_disconnect.3 | 56 + .../mpi/openmpi/share/man/man3/MPI_Comm_dup.3 | 62 + .../share/man/man3/MPI_Comm_dup_with_info.3 | 71 + .../mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 | 48 + .../openmpi/share/man/man3/MPI_Comm_free.3 | 52 + .../share/man/man3/MPI_Comm_free_keyval.3 | 46 + .../share/man/man3/MPI_Comm_get_attr.3 | 64 + .../share/man/man3/MPI_Comm_get_errhandler.3 | 47 + .../share/man/man3/MPI_Comm_get_info.3 | 59 + .../share/man/man3/MPI_Comm_get_name.3 | 54 + .../share/man/man3/MPI_Comm_get_parent.3 | 51 + .../openmpi/share/man/man3/MPI_Comm_group.3 | 43 + .../openmpi/share/man/man3/MPI_Comm_idup.3 | 67 + .../openmpi/share/man/man3/MPI_Comm_join.3 | 89 + .../openmpi/share/man/man3/MPI_Comm_rank.3 | 55 + .../share/man/man3/MPI_Comm_remote_group.3 | 54 + .../share/man/man3/MPI_Comm_remote_size.3 | 54 + .../share/man/man3/MPI_Comm_set_attr.3 | 72 + .../share/man/man3/MPI_Comm_set_errhandler.3 | 44 + .../share/man/man3/MPI_Comm_set_info.3 | 86 + .../share/man/man3/MPI_Comm_set_name.3 | 64 + .../openmpi/share/man/man3/MPI_Comm_size.3 | 65 + .../openmpi/share/man/man3/MPI_Comm_spawn.3 | 207 ++ .../share/man/man3/MPI_Comm_spawn_multiple.3 | 239 ++ .../openmpi/share/man/man3/MPI_Comm_split.3 | 82 + .../share/man/man3/MPI_Comm_split_type.3 | 146 + .../share/man/man3/MPI_Comm_test_inter.3 | 68 + .../share/man/man3/MPI_Compare_and_swap.3 | 87 + .../openmpi/share/man/man3/MPI_Dims_create.3 | 68 + .../share/man/man3/MPI_Dist_graph_create.3 | 112 + .../man/man3/MPI_Dist_graph_create_adjacent.3 | 106 + .../share/man/man3/MPI_Dist_graph_neighbors.3 | 73 + .../man/man3/MPI_Dist_graph_neighbors_count.3 | 55 + .../share/man/man3/MPI_Errhandler_create.3 | 71 + .../share/man/man3/MPI_Errhandler_free.3 | 51 + .../share/man/man3/MPI_Errhandler_get.3 | 59 + .../share/man/man3/MPI_Errhandler_set.3 | 55 + .../openmpi/share/man/man3/MPI_Error_class.3 | 49 + .../openmpi/share/man/man3/MPI_Error_string.3 | 55 + .../mpi/openmpi/share/man/man3/MPI_Exscan.3 | 131 + .../openmpi/share/man/man3/MPI_Fetch_and_op.3 | 98 + .../mpi/openmpi/share/man/man3/MPI_File_c2f.3 | 1 + .../share/man/man3/MPI_File_call_errhandler.3 | 62 + .../openmpi/share/man/man3/MPI_File_close.3 | 49 + .../man/man3/MPI_File_create_errhandler.3 | 78 + .../openmpi/share/man/man3/MPI_File_delete.3 | 49 + .../mpi/openmpi/share/man/man3/MPI_File_f2c.3 | 2 + .../share/man/man3/MPI_File_get_amode.3 | 49 + .../share/man/man3/MPI_File_get_atomicity.3 | 53 + .../share/man/man3/MPI_File_get_byte_offset.3 | 66 + .../share/man/man3/MPI_File_get_errhandler.3 | 46 + .../share/man/man3/MPI_File_get_group.3 | 51 + .../share/man/man3/MPI_File_get_info.3 | 87 + .../share/man/man3/MPI_File_get_position.3 | 62 + .../man/man3/MPI_File_get_position_shared.3 | 61 + .../share/man/man3/MPI_File_get_size.3 | 66 + .../share/man/man3/MPI_File_get_type_extent.3 | 68 + .../share/man/man3/MPI_File_get_view.3 | 78 + .../openmpi/share/man/man3/MPI_File_iread.3 | 74 + .../share/man/man3/MPI_File_iread_all.3 | 74 + .../share/man/man3/MPI_File_iread_at.3 | 99 + .../share/man/man3/MPI_File_iread_at_all.3 | 99 + .../share/man/man3/MPI_File_iread_shared.3 | 60 + .../openmpi/share/man/man3/MPI_File_iwrite.3 | 79 + .../share/man/man3/MPI_File_iwrite_all.3 | 79 + .../share/man/man3/MPI_File_iwrite_at.3 | 101 + .../share/man/man3/MPI_File_iwrite_at_all.3 | 101 + .../share/man/man3/MPI_File_iwrite_shared.3 | 62 + .../openmpi/share/man/man3/MPI_File_open.3 | 169 + .../share/man/man3/MPI_File_preallocate.3 | 71 + .../openmpi/share/man/man3/MPI_File_read.3 | 71 + .../share/man/man3/MPI_File_read_all.3 | 72 + .../share/man/man3/MPI_File_read_all_begin.3 | 69 + .../share/man/man3/MPI_File_read_all_end.3 | 64 + .../openmpi/share/man/man3/MPI_File_read_at.3 | 96 + .../share/man/man3/MPI_File_read_at_all.3 | 93 + .../man/man3/MPI_File_read_at_all_begin.3 | 90 + .../share/man/man3/MPI_File_read_at_all_end.3 | 60 + .../share/man/man3/MPI_File_read_ordered.3 | 76 + .../man/man3/MPI_File_read_ordered_begin.3 | 76 + .../man/man3/MPI_File_read_ordered_end.3 | 61 + .../share/man/man3/MPI_File_read_shared.3 | 60 + .../openmpi/share/man/man3/MPI_File_seek.3 | 85 + .../share/man/man3/MPI_File_seek_shared.3 | 95 + .../share/man/man3/MPI_File_set_atomicity.3 | 61 + .../share/man/man3/MPI_File_set_errhandler.3 | 47 + .../share/man/man3/MPI_File_set_info.3 | 87 + .../share/man/man3/MPI_File_set_size.3 | 71 + .../share/man/man3/MPI_File_set_view.3 | 153 + .../openmpi/share/man/man3/MPI_File_sync.3 | 53 + .../openmpi/share/man/man3/MPI_File_write.3 | 78 + .../share/man/man3/MPI_File_write_all.3 | 74 + .../share/man/man3/MPI_File_write_all_begin.3 | 74 + .../share/man/man3/MPI_File_write_all_end.3 | 65 + .../share/man/man3/MPI_File_write_at.3 | 106 + .../share/man/man3/MPI_File_write_at_all.3 | 93 + .../man/man3/MPI_File_write_at_all_begin.3 | 91 + .../man/man3/MPI_File_write_at_all_end.3 | 65 + .../share/man/man3/MPI_File_write_ordered.3 | 82 + .../man/man3/MPI_File_write_ordered_begin.3 | 83 + .../man/man3/MPI_File_write_ordered_end.3 | 64 + .../share/man/man3/MPI_File_write_shared.3 | 61 + .../mpi/openmpi/share/man/man3/MPI_Finalize.3 | 51 + .../openmpi/share/man/man3/MPI_Finalized.3 | 47 + .../mpi/openmpi/share/man/man3/MPI_Free_mem.3 | 43 + .../mpi/openmpi/share/man/man3/MPI_Gather.3 | 164 + .../mpi/openmpi/share/man/man3/MPI_Gatherv.3 | 325 ++ macx64/mpi/openmpi/share/man/man3/MPI_Get.3 | 92 + .../share/man/man3/MPI_Get_accumulate.3 | 140 + .../openmpi/share/man/man3/MPI_Get_address.3 | 66 + .../openmpi/share/man/man3/MPI_Get_count.3 | 76 + .../openmpi/share/man/man3/MPI_Get_elements.3 | 89 + .../share/man/man3/MPI_Get_elements_x.3 | 1 + .../share/man/man3/MPI_Get_library_version.3 | 72 + .../share/man/man3/MPI_Get_processor_name.3 | 50 + .../openmpi/share/man/man3/MPI_Get_version.3 | 48 + .../openmpi/share/man/man3/MPI_Graph_create.3 | 96 + .../openmpi/share/man/man3/MPI_Graph_get.3 | 63 + .../openmpi/share/man/man3/MPI_Graph_map.3 | 59 + .../share/man/man3/MPI_Graph_neighbors.3 | 87 + .../man/man3/MPI_Graph_neighbors_count.3 | 52 + .../share/man/man3/MPI_Graphdims_get.3 | 55 + .../share/man/man3/MPI_Grequest_complete.3 | 42 + .../share/man/man3/MPI_Grequest_start.3 | 150 + .../openmpi/share/man/man3/MPI_Group_c2f.3 | 1 + .../share/man/man3/MPI_Group_compare.3 | 46 + .../share/man/man3/MPI_Group_difference.3 | 65 + .../openmpi/share/man/man3/MPI_Group_excl.3 | 62 + .../openmpi/share/man/man3/MPI_Group_f2c.3 | 1 + .../openmpi/share/man/man3/MPI_Group_free.3 | 42 + .../openmpi/share/man/man3/MPI_Group_incl.3 | 65 + .../share/man/man3/MPI_Group_intersection.3 | 67 + .../share/man/man3/MPI_Group_range_excl.3 | 61 + .../share/man/man3/MPI_Group_range_incl.3 | 82 + .../openmpi/share/man/man3/MPI_Group_rank.3 | 43 + .../openmpi/share/man/man3/MPI_Group_size.3 | 43 + .../man/man3/MPI_Group_translate_ranks.3 | 54 + .../openmpi/share/man/man3/MPI_Group_union.3 | 67 + .../openmpi/share/man/man3/MPI_Iallgather.3 | 1 + .../openmpi/share/man/man3/MPI_Iallgatherv.3 | 1 + .../openmpi/share/man/man3/MPI_Iallreduce.3 | 1 + .../openmpi/share/man/man3/MPI_Ialltoall.3 | 1 + .../openmpi/share/man/man3/MPI_Ialltoallv.3 | 1 + .../openmpi/share/man/man3/MPI_Ialltoallw.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Ibarrier.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Ibcast.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Ibsend.3 | 68 + .../mpi/openmpi/share/man/man3/MPI_Iexscan.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Igather.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Igatherv.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Improbe.3 | 95 + .../mpi/openmpi/share/man/man3/MPI_Imrecv.3 | 95 + .../share/man/man3/MPI_Ineighbor_allgather.3 | 1 + .../share/man/man3/MPI_Ineighbor_allgatherv.3 | 1 + .../share/man/man3/MPI_Ineighbor_alltoall.3 | 1 + .../share/man/man3/MPI_Ineighbor_alltoallv.3 | 1 + .../share/man/man3/MPI_Ineighbor_alltoallw.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Info_c2f.3 | 1 + .../openmpi/share/man/man3/MPI_Info_create.3 | 50 + .../openmpi/share/man/man3/MPI_Info_delete.3 | 59 + .../mpi/openmpi/share/man/man3/MPI_Info_dup.3 | 56 + .../mpi/openmpi/share/man/man3/MPI_Info_env.3 | 66 + .../mpi/openmpi/share/man/man3/MPI_Info_f2c.3 | 1 + .../openmpi/share/man/man3/MPI_Info_free.3 | 52 + .../mpi/openmpi/share/man/man3/MPI_Info_get.3 | 77 + .../share/man/man3/MPI_Info_get_nkeys.3 | 52 + .../share/man/man3/MPI_Info_get_nthkey.3 | 56 + .../share/man/man3/MPI_Info_get_valuelen.3 | 64 + .../mpi/openmpi/share/man/man3/MPI_Info_set.3 | 62 + macx64/mpi/openmpi/share/man/man3/MPI_Init.3 | 91 + .../openmpi/share/man/man3/MPI_Init_thread.3 | 183 ++ .../openmpi/share/man/man3/MPI_Initialized.3 | 47 + .../share/man/man3/MPI_Intercomm_create.3 | 90 + .../share/man/man3/MPI_Intercomm_merge.3 | 55 + .../mpi/openmpi/share/man/man3/MPI_Iprobe.3 | 75 + macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 | 72 + .../mpi/openmpi/share/man/man3/MPI_Ireduce.3 | 1 + .../share/man/man3/MPI_Ireduce_scatter.3 | 1 + .../man/man3/MPI_Ireduce_scatter_block.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Irsend.3 | 64 + .../share/man/man3/MPI_Is_thread_main.3 | 56 + macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Iscatter.3 | 1 + .../openmpi/share/man/man3/MPI_Iscatterv.3 | 1 + macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 | 72 + .../mpi/openmpi/share/man/man3/MPI_Issend.3 | 67 + .../share/man/man3/MPI_Keyval_create.3 | 112 + .../openmpi/share/man/man3/MPI_Keyval_free.3 | 56 + .../openmpi/share/man/man3/MPI_Lookup_name.3 | 116 + .../openmpi/share/man/man3/MPI_Message_c2f.3 | 1 + .../openmpi/share/man/man3/MPI_Message_f2c.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Mprobe.3 | 90 + macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 | 77 + .../share/man/man3/MPI_Neighbor_allgather.3 | 109 + .../share/man/man3/MPI_Neighbor_allgatherv.3 | 104 + .../share/man/man3/MPI_Neighbor_alltoall.3 | 149 + .../share/man/man3/MPI_Neighbor_alltoallv.3 | 171 + .../share/man/man3/MPI_Neighbor_alltoallw.3 | 163 + .../mpi/openmpi/share/man/man3/MPI_Op_c2f.3 | 1 + .../share/man/man3/MPI_Op_commutative.3 | 44 + .../openmpi/share/man/man3/MPI_Op_create.3 | 169 + .../mpi/openmpi/share/man/man3/MPI_Op_f2c.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Op_free.3 | 50 + .../openmpi/share/man/man3/MPI_Open_port.3 | 52 + macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 | 95 + .../share/man/man3/MPI_Pack_external.3 | 179 ++ .../share/man/man3/MPI_Pack_external_size.3 | 85 + .../openmpi/share/man/man3/MPI_Pack_size.3 | 61 + .../mpi/openmpi/share/man/man3/MPI_Pcontrol.3 | 55 + macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 | 110 + .../openmpi/share/man/man3/MPI_Publish_name.3 | 151 + macx64/mpi/openmpi/share/man/man3/MPI_Put.3 | 111 + .../openmpi/share/man/man3/MPI_Query_thread.3 | 81 + .../openmpi/share/man/man3/MPI_Raccumulate.3 | 1 + macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 | 93 + .../openmpi/share/man/man3/MPI_Recv_init.3 | 82 + .../mpi/openmpi/share/man/man3/MPI_Reduce.3 | 432 +++ .../openmpi/share/man/man3/MPI_Reduce_local.3 | 265 ++ .../share/man/man3/MPI_Reduce_scatter.3 | 95 + .../share/man/man3/MPI_Reduce_scatter_block.3 | 97 + .../share/man/man3/MPI_Register_datarep.3 | 75 + .../openmpi/share/man/man3/MPI_Request_c2f.3 | 1 + .../openmpi/share/man/man3/MPI_Request_f2c.3 | 1 + .../openmpi/share/man/man3/MPI_Request_free.3 | 122 + .../share/man/man3/MPI_Request_get_status.3 | 45 + macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 | 1 + .../share/man/man3/MPI_Rget_accumulate.3 | 1 + macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 | 1 + macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 | 58 + .../openmpi/share/man/man3/MPI_Rsend_init.3 | 79 + macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 | 200 ++ .../mpi/openmpi/share/man/man3/MPI_Scatter.3 | 145 + .../mpi/openmpi/share/man/man3/MPI_Scatterv.3 | 190 ++ macx64/mpi/openmpi/share/man/man3/MPI_Send.3 | 67 + .../openmpi/share/man/man3/MPI_Send_init.3 | 80 + .../mpi/openmpi/share/man/man3/MPI_Sendrecv.3 | 89 + .../share/man/man3/MPI_Sendrecv_replace.3 | 81 + .../mpi/openmpi/share/man/man3/MPI_Sizeof.3 | 57 + macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 | 56 + .../openmpi/share/man/man3/MPI_Ssend_init.3 | 80 + macx64/mpi/openmpi/share/man/man3/MPI_Start.3 | 61 + .../mpi/openmpi/share/man/man3/MPI_Startall.3 | 77 + .../openmpi/share/man/man3/MPI_Status_c2f.3 | 1 + .../openmpi/share/man/man3/MPI_Status_f2c.3 | 30 + .../share/man/man3/MPI_Status_set_cancelled.3 | 49 + .../share/man/man3/MPI_Status_set_elements.3 | 64 + .../man/man3/MPI_Status_set_elements_x.3 | 1 + .../share/man/man3/MPI_T_category_changed.3 | 38 + .../man/man3/MPI_T_category_get_categories.3 | 49 + .../share/man/man3/MPI_T_category_get_cvars.3 | 49 + .../share/man/man3/MPI_T_category_get_info.3 | 81 + .../share/man/man3/MPI_T_category_get_num.3 | 36 + .../share/man/man3/MPI_T_category_get_pvars.3 | 50 + .../share/man/man3/MPI_T_cvar_get_info.3 | 170 + .../share/man/man3/MPI_T_cvar_get_num.3 | 39 + .../share/man/man3/MPI_T_cvar_handle_alloc.3 | 68 + .../share/man/man3/MPI_T_cvar_handle_free.3 | 1 + .../openmpi/share/man/man3/MPI_T_cvar_read.3 | 51 + .../openmpi/share/man/man3/MPI_T_cvar_write.3 | 59 + .../share/man/man3/MPI_T_enum_get_info.3 | 66 + .../share/man/man3/MPI_T_enum_get_item.3 | 69 + .../openmpi/share/man/man3/MPI_T_finalize.3 | 44 + .../share/man/man3/MPI_T_init_thread.3 | 90 + .../share/man/man3/MPI_T_pvar_get_info.3 | 204 ++ .../share/man/man3/MPI_T_pvar_get_num.3 | 38 + .../share/man/man3/MPI_T_pvar_handle_alloc.3 | 60 + .../share/man/man3/MPI_T_pvar_handle_free.3 | 1 + .../openmpi/share/man/man3/MPI_T_pvar_read.3 | 59 + .../share/man/man3/MPI_T_pvar_readreset.3 | 69 + .../openmpi/share/man/man3/MPI_T_pvar_reset.3 | 60 + .../man/man3/MPI_T_pvar_session_create.3 | 50 + .../share/man/man3/MPI_T_pvar_session_free.3 | 1 + .../openmpi/share/man/man3/MPI_T_pvar_start.3 | 62 + .../openmpi/share/man/man3/MPI_T_pvar_stop.3 | 1 + .../openmpi/share/man/man3/MPI_T_pvar_write.3 | 62 + macx64/mpi/openmpi/share/man/man3/MPI_Test.3 | 96 + .../share/man/man3/MPI_Test_cancelled.3 | 50 + .../mpi/openmpi/share/man/man3/MPI_Testall.3 | 104 + .../mpi/openmpi/share/man/man3/MPI_Testany.3 | 98 + .../mpi/openmpi/share/man/man3/MPI_Testsome.3 | 123 + .../openmpi/share/man/man3/MPI_Topo_test.3 | 57 + .../mpi/openmpi/share/man/man3/MPI_Type_c2f.3 | 1 + .../openmpi/share/man/man3/MPI_Type_commit.3 | 51 + .../share/man/man3/MPI_Type_contiguous.3 | 75 + .../share/man/man3/MPI_Type_create_darray.3 | 122 + .../man/man3/MPI_Type_create_f90_complex.3 | 125 + .../man/man3/MPI_Type_create_f90_integer.3 | 118 + .../share/man/man3/MPI_Type_create_f90_real.3 | 124 + .../share/man/man3/MPI_Type_create_hindexed.3 | 1 + .../man/man3/MPI_Type_create_hindexed_block.3 | 1 + .../share/man/man3/MPI_Type_create_hvector.3 | 72 + .../man/man3/MPI_Type_create_indexed_block.3 | 60 + .../share/man/man3/MPI_Type_create_keyval.3 | 117 + .../share/man/man3/MPI_Type_create_resized.3 | 72 + .../share/man/man3/MPI_Type_create_struct.3 | 75 + .../share/man/man3/MPI_Type_create_subarray.3 | 113 + .../share/man/man3/MPI_Type_delete_attr.3 | 54 + .../mpi/openmpi/share/man/man3/MPI_Type_dup.3 | 57 + .../openmpi/share/man/man3/MPI_Type_extent.3 | 85 + .../mpi/openmpi/share/man/man3/MPI_Type_f2c.3 | 1 + .../openmpi/share/man/man3/MPI_Type_free.3 | 43 + .../share/man/man3/MPI_Type_free_keyval.3 | 44 + .../share/man/man3/MPI_Type_get_attr.3 | 65 + .../share/man/man3/MPI_Type_get_contents.3 | 88 + .../share/man/man3/MPI_Type_get_envelope.3 | 85 + .../share/man/man3/MPI_Type_get_extent.3 | 78 + .../share/man/man3/MPI_Type_get_extent_x.3 | 1 + .../share/man/man3/MPI_Type_get_name.3 | 52 + .../share/man/man3/MPI_Type_get_true_extent.3 | 77 + .../man/man3/MPI_Type_get_true_extent_x.3 | 1 + .../share/man/man3/MPI_Type_hindexed.3 | 89 + .../openmpi/share/man/man3/MPI_Type_hvector.3 | 89 + .../openmpi/share/man/man3/MPI_Type_indexed.3 | 119 + .../mpi/openmpi/share/man/man3/MPI_Type_lb.3 | 84 + .../share/man/man3/MPI_Type_match_size.3 | 82 + .../share/man/man3/MPI_Type_set_attr.3 | 67 + .../share/man/man3/MPI_Type_set_name.3 | 53 + .../openmpi/share/man/man3/MPI_Type_size.3 | 57 + .../openmpi/share/man/man3/MPI_Type_size_x.3 | 1 + .../openmpi/share/man/man3/MPI_Type_struct.3 | 106 + .../mpi/openmpi/share/man/man3/MPI_Type_ub.3 | 87 + .../openmpi/share/man/man3/MPI_Type_vector.3 | 105 + .../mpi/openmpi/share/man/man3/MPI_Unpack.3 | 85 + .../share/man/man3/MPI_Unpack_external.3 | 156 + .../share/man/man3/MPI_Unpublish_name.3 | 115 + macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 | 104 + .../mpi/openmpi/share/man/man3/MPI_Waitall.3 | 96 + .../mpi/openmpi/share/man/man3/MPI_Waitany.3 | 121 + .../mpi/openmpi/share/man/man3/MPI_Waitsome.3 | 134 + .../openmpi/share/man/man3/MPI_Win_allocate.3 | 98 + .../share/man/man3/MPI_Win_allocate_shared.3 | 123 + .../openmpi/share/man/man3/MPI_Win_attach.3 | 62 + .../mpi/openmpi/share/man/man3/MPI_Win_c2f.3 | 1 + .../share/man/man3/MPI_Win_call_errhandler.3 | 66 + .../openmpi/share/man/man3/MPI_Win_complete.3 | 44 + .../openmpi/share/man/man3/MPI_Win_create.3 | 129 + .../share/man/man3/MPI_Win_create_dynamic.3 | 74 + .../man/man3/MPI_Win_create_errhandler.3 | 70 + .../share/man/man3/MPI_Win_create_keyval.3 | 114 + .../share/man/man3/MPI_Win_delete_attr.3 | 48 + .../openmpi/share/man/man3/MPI_Win_detach.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Win_f2c.3 | 1 + .../openmpi/share/man/man3/MPI_Win_fence.3 | 59 + .../openmpi/share/man/man3/MPI_Win_flush.3 | 52 + .../share/man/man3/MPI_Win_flush_all.3 | 1 + .../share/man/man3/MPI_Win_flush_local.3 | 52 + .../share/man/man3/MPI_Win_flush_local_all.3 | 1 + .../mpi/openmpi/share/man/man3/MPI_Win_free.3 | 45 + .../share/man/man3/MPI_Win_free_keyval.3 | 35 + .../openmpi/share/man/man3/MPI_Win_get_attr.3 | 61 + .../share/man/man3/MPI_Win_get_errhandler.3 | 43 + .../share/man/man3/MPI_Win_get_group.3 | 42 + .../openmpi/share/man/man3/MPI_Win_get_info.3 | 58 + .../openmpi/share/man/man3/MPI_Win_get_name.3 | 45 + .../mpi/openmpi/share/man/man3/MPI_Win_lock.3 | 69 + .../openmpi/share/man/man3/MPI_Win_lock_all.3 | 62 + .../mpi/openmpi/share/man/man3/MPI_Win_post.3 | 52 + .../openmpi/share/man/man3/MPI_Win_set_attr.3 | 60 + .../share/man/man3/MPI_Win_set_errhandler.3 | 46 + .../openmpi/share/man/man3/MPI_Win_set_info.3 | 60 + .../openmpi/share/man/man3/MPI_Win_set_name.3 | 46 + .../share/man/man3/MPI_Win_shared_query.3 | 79 + .../openmpi/share/man/man3/MPI_Win_start.3 | 61 + .../mpi/openmpi/share/man/man3/MPI_Win_sync.3 | 39 + .../mpi/openmpi/share/man/man3/MPI_Win_test.3 | 55 + .../openmpi/share/man/man3/MPI_Win_unlock.3 | 51 + .../share/man/man3/MPI_Win_unlock_all.3 | 46 + .../mpi/openmpi/share/man/man3/MPI_Win_wait.3 | 49 + macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 | 38 + macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 | 74 + .../share/man/man3/OMPI_Affinity_str.3 | 193 ++ macx64/mpi/openmpi/share/man/man3/OpenMPI.3 | 1 + macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 | 93 + macx64/mpi/openmpi/share/man/man7/opal_crs.7 | 179 ++ .../mpi/openmpi/share/man/man7/orte_filem.7 | 92 + .../mpi/openmpi/share/man/man7/orte_hosts.7 | 197 ++ .../mpi/openmpi/share/man/man7/orte_snapc.7 | 105 + .../mpi/openmpi/share/man/man7/orte_sstore.7 | 66 + .../openmpi/amca-param-sets/example.conf | 5 + .../openmpi/share/openmpi/help-btl-vader.txt | 137 + .../openmpi/share/openmpi/help-coll-sync.txt | 22 + .../openmpi/share/openmpi/help-dash-host.txt | 68 + .../share/openmpi/help-errmgr-base.txt | 112 + .../openmpi/share/openmpi/help-ess-base.txt | 97 + .../openmpi/share/openmpi/help-hostfile.txt | 146 + .../openmpi/share/openmpi/help-mca-base.txt | 61 + .../openmpi/share/openmpi/help-mca-bml-r2.txt | 34 + .../share/openmpi/help-mca-coll-base.txt | 47 + .../share/openmpi/help-mca-hook-base.txt | 19 + .../openmpi/share/openmpi/help-mca-var.txt | 139 + .../openmpi/share/openmpi/help-mpi-api.txt | 33 + .../share/openmpi/help-mpi-btl-base.txt | 31 + .../openmpi/share/openmpi/help-mpi-btl-sm.txt | 24 + .../share/openmpi/help-mpi-btl-tcp.txt | 169 + .../share/openmpi/help-mpi-coll-sm.txt | 36 + .../share/openmpi/help-mpi-common-sm.txt | 34 + .../openmpi/share/openmpi/help-mpi-errors.txt | 40 + .../share/openmpi/help-mpi-pml-ob1.txt | 44 + .../share/openmpi/help-mpi-runtime.txt | 121 + .../openmpi/share/openmpi/help-mpool-base.txt | 32 + .../openmpi/share/openmpi/help-oob-base.txt | 23 + .../openmpi/share/openmpi/help-oob-tcp.txt | 134 + .../share/openmpi/help-opal-crs-none.txt | 20 + .../share/openmpi/help-opal-hwloc-base.txt | 61 + .../share/openmpi/help-opal-runtime.txt | 68 + .../share/openmpi/help-opal-shmem-mmap.txt | 53 + .../share/openmpi/help-opal-shmem-posix.txt | 22 + .../share/openmpi/help-opal-shmem-sysv.txt | 22 + .../openmpi/share/openmpi/help-opal-util.txt | 116 + .../share/openmpi/help-opal-wrapper.txt | 81 + .../openmpi/share/openmpi/help-opal_info.txt | 65 + .../openmpi/share/openmpi/help-orte-clean.txt | 26 + .../share/openmpi/help-orte-filem-raw.txt | 46 + .../openmpi/share/openmpi/help-orte-info.txt | 58 + .../share/openmpi/help-orte-odls-base.txt | 103 + .../share/openmpi/help-orte-odls-default.txt | 140 + .../share/openmpi/help-orte-odls-pspawn.txt | 140 + .../share/openmpi/help-orte-rmaps-base.txt | 457 +++ .../share/openmpi/help-orte-rmaps-md.txt | 53 + .../share/openmpi/help-orte-rmaps-ppr.txt | 66 + .../openmpi/help-orte-rmaps-resilient.txt | 28 + .../share/openmpi/help-orte-rmaps-rr.txt | 56 + .../share/openmpi/help-orte-rmaps-seq.txt | 26 + .../share/openmpi/help-orte-rtc-base.txt | 288 ++ .../share/openmpi/help-orte-rtc-hwloc.txt | 30 + .../share/openmpi/help-orte-runtime.txt | 63 + .../share/openmpi/help-orte-server.txt | 27 + .../share/openmpi/help-orte-snapc-base.txt | 25 + .../mpi/openmpi/share/openmpi/help-orted.txt | 109 + .../openmpi/share/openmpi/help-orterun.txt | 694 ++++ .../openmpi/share/openmpi/help-osc-pt2pt.txt | 15 + .../openmpi/share/openmpi/help-plm-base.txt | 175 + .../openmpi/share/openmpi/help-plm-rsh.txt | 96 + .../openmpi/share/openmpi/help-plm-slurm.txt | 55 + .../openmpi/share/openmpi/help-pmix-base.txt | 37 + .../share/openmpi/help-pmix-pmix3x.txt | 32 + .../openmpi/share/openmpi/help-ras-base.txt | 38 + .../share/openmpi/help-ras-simulator.txt | 33 + .../openmpi/share/openmpi/help-ras-slurm.txt | 78 + .../share/openmpi/help-rcache-base.txt | 38 + .../mpi/openmpi/share/openmpi/help-regex.txt | 86 + .../share/openmpi/help-rmaps_rank_file.txt | 123 + .../openmpi/share/openmpi/help-state-base.txt | 13 + .../share/openmpi/mpic++-wrapper-data.txt | 29 + .../share/openmpi/mpicc-wrapper-data.txt | 29 + .../share/openmpi/mpicxx-wrapper-data.txt | 1 + .../share/openmpi/mpif77-wrapper-data.txt | 1 + .../share/openmpi/mpif90-wrapper-data.txt | 1 + .../share/openmpi/mpifort-wrapper-data.txt | 28 + .../share/openmpi/openmpi-valgrind.supp | 116 + .../share/openmpi/ortecc-wrapper-data.txt | 29 + .../openmpi/share/pmix/help-pmix-mca-base.txt | 62 + .../openmpi/share/pmix/help-pmix-mca-var.txt | 140 + .../mpi/openmpi/share/pmix/help-pmix-plog.txt | 56 + .../share/pmix/help-pmix-psensor-file.txt | 19 + .../pmix/help-pmix-psensor-heartbeat.txt | 20 + .../openmpi/share/pmix/help-pmix-runtime.txt | 89 + .../openmpi/share/pmix/help-pmix-server.txt | 38 + .../mpi/openmpi/share/pmix/pmix-valgrind.supp | 46 + 1458 files changed, 129662 insertions(+) create mode 100755 macx64/mpi/mpich/bin/hydra_nameserver create mode 100755 macx64/mpi/mpich/bin/hydra_persist create mode 100755 macx64/mpi/mpich/bin/hydra_pmi_proxy create mode 100755 macx64/mpi/mpich/bin/mpicc create mode 100755 macx64/mpi/mpich/bin/mpichversion create mode 120000 macx64/mpi/mpich/bin/mpiexec create mode 100755 macx64/mpi/mpich/bin/mpiexec.hydra create mode 120000 macx64/mpi/mpich/bin/mpirun create mode 100755 macx64/mpi/mpich/bin/mpivars create mode 100755 macx64/mpi/mpich/bin/parkill create mode 100644 macx64/mpi/mpich/include/mpi.h create mode 100644 macx64/mpi/mpich/include/mpio.h create mode 100644 macx64/mpi/mpich/include/mpiof.h create mode 100755 macx64/mpi/mpich/lib/libmpi.12.dylib create mode 100644 macx64/mpi/mpich/lib/libmpi.a create mode 120000 macx64/mpi/mpich/lib/libmpi.dylib create mode 100755 macx64/mpi/mpich/lib/libmpi.la create mode 120000 macx64/mpi/mpich/lib/libmpich.dylib create mode 120000 macx64/mpi/mpich/lib/libmpl.dylib create mode 120000 macx64/mpi/mpich/lib/libopa.dylib create mode 100755 macx64/mpi/mpich/lib/libpmpi.12.dylib create mode 100644 macx64/mpi/mpich/lib/libpmpi.a create mode 120000 macx64/mpi/mpich/lib/libpmpi.dylib create mode 100755 macx64/mpi/mpich/lib/libpmpi.la create mode 100644 macx64/mpi/mpich/lib/pkgconfig/mpich.pc create mode 100644 macx64/mpi/mpich/lib/pkgconfig/openpa.pc create mode 100644 macx64/mpi/mpich/share/doc/mpich/index.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/install.pdf create mode 100644 macx64/mpi/mpich/share/doc/mpich/logging.pdf create mode 100644 macx64/mpi/mpich/share/doc/mpich/user.pdf create mode 100644 macx64/mpi/mpich/share/doc/mpich/www1/index.htm create mode 100644 macx64/mpi/mpich/share/doc/mpich/www1/mpicc.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www1/mpicxx.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www1/mpiexec.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www1/mpif77.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www1/mpifort.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/Constants.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_contiguous.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_get_contents.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_agree.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_ack.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_get_acked.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_revoke.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_shrink.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Abort.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Accumulate.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_class.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_code.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_string.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Address.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_add.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_diff.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgather.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgatherv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alloc_mem.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allreduce.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoall.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallw.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_delete.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_put.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Barrier.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bcast.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend_init.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_attach.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_detach.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cancel.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_coords.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_map.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_rank.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_shift.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_sub.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cartdim_get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Close_port.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_accept.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_call_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_compare.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_connect.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_group.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_keyval.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_delete_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_disconnect.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup_with_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free_keyval.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_parent.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_group.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_idup.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_join.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_rank.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_group.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn_multiple.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split_type.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_test_inter.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Compare_and_swap.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dims_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create_adjacent.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors_count.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_set.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_class.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_string.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Exscan.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Fetch_and_op.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_c2f.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_call_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_close.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_create_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_delete.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_f2c.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_amode.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_atomicity.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_byte_offset.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_group.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position_shared.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_type_extent.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_view.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_shared.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_shared.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_open.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_preallocate.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_begin.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_end.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_begin.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_end.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_begin.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_end.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_shared.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek_shared.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_atomicity.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_view.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_sync.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_begin.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_end.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_begin.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_end.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_begin.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_end.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_shared.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalize.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalized.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Free_mem.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gather.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gatherv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_accumulate.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_address.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_count.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements_x.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_library_version.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_processor_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_version.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_map.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors_count.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graphdims_get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_complete.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_start.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_compare.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_difference.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_excl.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_incl.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_intersection.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_excl.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_incl.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_rank.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_translate_ranks.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_union.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgather.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgatherv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallreduce.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoall.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallw.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibarrier.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibcast.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibsend.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iexscan.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igather.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igatherv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Improbe.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Imrecv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgather.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgatherv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoall.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallw.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_delete.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_dup.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nkeys.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nthkey.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_valuelen.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_set.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init_thread.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Initialized.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_merge.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iprobe.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irecv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter_block.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irsend.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Is_thread_main.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscan.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatter.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatterv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Isend.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Issend.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Lookup_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mprobe.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mrecv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgather.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgatherv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoall.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallw.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_commute.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Open_port.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pcontrol.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Probe.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Publish_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Put.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Query_thread.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Raccumulate.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv_init.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_local.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter_block.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Register_datarep.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_get_status.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget_accumulate.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rput.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend_init.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scan.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatter.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatterv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send_init.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv_replace.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend_init.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Start.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Startall.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_cancelled.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements_x.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_changed.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_categories.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_cvars.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_index.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_num.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_pvars.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_index.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_num.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_alloc.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_read.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_write.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_item.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_finalize.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_init_thread.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_index.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_num.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_alloc.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_read.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_readreset.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_reset.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_start.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_stop.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_write.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test_cancelled.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testall.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testany.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testsome.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Topo_test.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_commit.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_contiguous.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_darray.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed_block.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hvector.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_indexed_block.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_keyval.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_resized.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_struct.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_subarray.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_delete_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_dup.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_extent.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free_keyval.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_contents.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_envelope.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent_x.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent_x.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hindexed.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hvector.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_indexed.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_lb.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_match_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size_x.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_struct.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_ub.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_vector.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack_external.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpublish_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wait.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitall.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitany.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitsome.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate_shared.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_attach.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_call_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_complete.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_dynamic.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_keyval.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_delete_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_detach.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_fence.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free_keyval.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_group.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_post.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_attr.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_errhandler.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_info.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_name.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_shared_query.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_start.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_sync.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_test.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock_all.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_wait.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtick.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtime.html create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/index.htm create mode 100644 macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit create mode 100644 macx64/mpi/mpich/share/man/man1/hydra_nameserver.1 create mode 100644 macx64/mpi/mpich/share/man/man1/hydra_persist.1 create mode 100644 macx64/mpi/mpich/share/man/man1/hydra_pmi_proxy.1 create mode 100644 macx64/mpi/mpich/share/man/man1/mpicc.1 create mode 100644 macx64/mpi/mpich/share/man/man1/mpicxx.1 create mode 100644 macx64/mpi/mpich/share/man/man1/mpiexec.1 create mode 100644 macx64/mpi/mpich/share/man/man1/mpif77.1 create mode 100644 macx64/mpi/mpich/share/man/man1/mpifort.1 create mode 100644 macx64/mpi/mpich/share/man/man3/Constants.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIR_Type_commit.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIR_Type_contiguous.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIR_Type_dup.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIR_Type_get_contents.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIR_Type_indexed.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIR_Type_struct.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIR_Type_vector.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIX_Comm_agree.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_ack.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_get_acked.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIX_Comm_revoke.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPIX_Comm_shrink.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Abort.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Accumulate.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Add_error_class.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Add_error_code.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Add_error_string.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Address.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Aint_add.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Aint_diff.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Allgather.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Allgatherv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Alloc_mem.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Allreduce.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Alltoall.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Alltoallv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Alltoallw.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Attr_delete.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Attr_get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Attr_put.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Bsend_init.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Buffer_attach.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Buffer_detach.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cancel.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cart_coords.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cart_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cart_get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cart_map.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cart_rank.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cart_shift.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cart_sub.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Cartdim_get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Close_port.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_accept.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_call_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_compare.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_connect.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_create_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_create_group.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_create_keyval.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_delete_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_disconnect.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_dup.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_dup_with_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_free_keyval.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_get_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_get_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_get_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_get_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_get_parent.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_group.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_idup.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_join.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_rank.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_group.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_set_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_set_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_set_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_set_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn_multiple.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_split_type.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Comm_test_inter.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Compare_and_swap.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Dims_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create_adjacent.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors_count.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Errhandler_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Errhandler_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Errhandler_get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Errhandler_set.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Error_class.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Error_string.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Fetch_and_op.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_c2f.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_call_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_close.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_create_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_delete.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_f2c.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_amode.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_atomicity.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_byte_offset.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_group.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_position.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_position_shared.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_type_extent.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_get_view.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iread.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iread_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iread_at.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iread_at_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iread_shared.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iwrite.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_shared.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_open.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_preallocate.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_all_begin.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_all_end.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_at.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_begin.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_end.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_begin.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_end.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_read_shared.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_seek.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_seek_shared.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_set_atomicity.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_set_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_set_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_set_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_set_view.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_sync.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_all_begin.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_all_end.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_at.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_begin.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_end.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_begin.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_end.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_File_write_shared.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Finalize.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Finalized.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Free_mem.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Gather.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_accumulate.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_address.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_count.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_elements.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_elements_x.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_library_version.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_processor_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Get_version.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Graph_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Graph_get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Graph_map.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors_count.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Graphdims_get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Grequest_complete.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Grequest_start.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_compare.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_difference.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_excl.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_incl.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_intersection.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_range_excl.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_range_incl.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_rank.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_translate_ranks.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Group_union.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iallgather.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iallgatherv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iallreduce.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ialltoall.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ialltoallv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ialltoallw.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ibarrier.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Igather.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Igatherv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgather.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgatherv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoall.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallw.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_delete.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_dup.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_get.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_get_nkeys.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_get_nthkey.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_get_valuelen.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Info_set.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Init.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Init_thread.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Initialized.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Intercomm_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Intercomm_merge.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter_block.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Is_thread_main.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iscatter.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Iscatterv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Isend.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Issend.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Keyval_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Keyval_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Lookup_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgather.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgatherv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoall.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallw.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Op_commute.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Op_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Open_port.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Pack.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Pack_external.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Pack_external_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Pack_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Pcontrol.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Probe.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Publish_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Put.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Query_thread.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Raccumulate.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Recv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Recv_init.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Reduce_local.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter_block.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Register_datarep.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Request_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Request_get_status.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Rget.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Rget_accumulate.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Rput.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Rsend_init.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Scan.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Scatterv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Send.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Send_init.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Sendrecv.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Sendrecv_replace.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Ssend_init.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Start.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Startall.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Status_set_cancelled.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements_x.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_category_changed.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_category_get_categories.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_category_get_cvars.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_category_get_index.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_category_get_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_category_get_num.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_category_get_pvars.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_index.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_num.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_alloc.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_cvar_read.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_cvar_write.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_item.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_finalize.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_init_thread.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_index.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_num.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_alloc.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_read.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_readreset.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_reset.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_start.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_stop.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_T_pvar_write.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Test.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Test_cancelled.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Testall.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Testany.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Testsome.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Topo_test.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_commit.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_contiguous.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_darray.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed_block.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_hvector.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_indexed_block.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_keyval.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_resized.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_struct.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_create_subarray.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_delete_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_dup.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_extent.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_free_keyval.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_contents.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_envelope.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent_x.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent_x.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_hindexed.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_hvector.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_indexed.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_match_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_set_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_set_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_size.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_size_x.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_struct.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Type_vector.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Unpack_external.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Unpublish_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Wait.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Waitsome.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_allocate.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_allocate_shared.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_attach.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_call_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_complete.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_create.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_create_dynamic.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_create_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_create_keyval.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_delete_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_detach.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_fence.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_flush.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_flush_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_free.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_free_keyval.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_get_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_get_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_get_group.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_get_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_get_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_lock.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_lock_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_post.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_set_attr.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_set_errhandler.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_set_info.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_set_name.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_shared_query.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_start.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_sync.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_test.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_unlock.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_unlock_all.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Win_wait.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 create mode 100644 macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 create mode 120000 macx64/mpi/openmpi/bin/mpic++ create mode 120000 macx64/mpi/openmpi/bin/mpicc create mode 120000 macx64/mpi/openmpi/bin/mpicxx create mode 120000 macx64/mpi/openmpi/bin/mpiexec create mode 120000 macx64/mpi/openmpi/bin/mpif77 create mode 120000 macx64/mpi/openmpi/bin/mpif90 create mode 120000 macx64/mpi/openmpi/bin/mpifort create mode 120000 macx64/mpi/openmpi/bin/mpirun create mode 120000 macx64/mpi/openmpi/bin/ompi-clean create mode 120000 macx64/mpi/openmpi/bin/ompi-server create mode 100755 macx64/mpi/openmpi/bin/ompi_info create mode 100755 macx64/mpi/openmpi/bin/opal_wrapper create mode 100755 macx64/mpi/openmpi/bin/orte-clean create mode 100755 macx64/mpi/openmpi/bin/orte-info create mode 100755 macx64/mpi/openmpi/bin/orte-server create mode 120000 macx64/mpi/openmpi/bin/ortecc create mode 100755 macx64/mpi/openmpi/bin/orted create mode 100755 macx64/mpi/openmpi/bin/orterun create mode 100644 macx64/mpi/openmpi/etc/openmpi-default-hostfile create mode 100644 macx64/mpi/openmpi/etc/openmpi-mca-params.conf create mode 100644 macx64/mpi/openmpi/etc/openmpi-totalview.tcl create mode 100644 macx64/mpi/openmpi/etc/pmix-mca-params.conf create mode 100644 macx64/mpi/openmpi/include/mpi-ext.h create mode 100644 macx64/mpi/openmpi/include/mpi.h create mode 100644 macx64/mpi/openmpi/include/mpi_portable_platform.h create mode 100644 macx64/mpi/openmpi/include/mpif-c-constants-decl.h create mode 100644 macx64/mpi/openmpi/include/mpif-ext.h create mode 100644 macx64/mpi/openmpi/include/mpif-sizeof.h create mode 100644 macx64/mpi/openmpi/include/mpif.h create mode 100644 macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_affinity_c.h create mode 100644 macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_cuda_c.h create mode 100644 macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_pcollreq_c.h create mode 100644 macx64/mpi/openmpi/include/openmpi/mpiext/pmpiext_pcollreq_c.h create mode 100755 macx64/mpi/openmpi/lib/libmpi.40.dylib create mode 120000 macx64/mpi/openmpi/lib/libmpi.dylib create mode 100755 macx64/mpi/openmpi/lib/libmpi.la create mode 100755 macx64/mpi/openmpi/lib/libompitrace.40.dylib create mode 120000 macx64/mpi/openmpi/lib/libompitrace.dylib create mode 100755 macx64/mpi/openmpi/lib/libompitrace.la create mode 100755 macx64/mpi/openmpi/lib/libopen-pal.40.dylib create mode 120000 macx64/mpi/openmpi/lib/libopen-pal.dylib create mode 100755 macx64/mpi/openmpi/lib/libopen-pal.la create mode 100755 macx64/mpi/openmpi/lib/libopen-rte.40.dylib create mode 120000 macx64/mpi/openmpi/lib/libopen-rte.dylib create mode 100755 macx64/mpi/openmpi/lib/libopen-rte.la create mode 100755 macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.la create mode 100755 macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.so create mode 100644 macx64/mpi/openmpi/lib/pkgconfig/ompi-c.pc create mode 100644 macx64/mpi/openmpi/lib/pkgconfig/ompi-cxx.pc create mode 120000 macx64/mpi/openmpi/lib/pkgconfig/ompi-f77.pc create mode 120000 macx64/mpi/openmpi/lib/pkgconfig/ompi-f90.pc create mode 100644 macx64/mpi/openmpi/lib/pkgconfig/ompi-fort.pc create mode 100644 macx64/mpi/openmpi/lib/pkgconfig/ompi.pc create mode 100644 macx64/mpi/openmpi/lib/pkgconfig/orte.pc create mode 100644 macx64/mpi/openmpi/share/man/man1/mpic++.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/mpicc.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/mpicxx.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/mpiexec.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/mpif77.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/mpif90.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/mpifort.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/mpirun.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/ompi-clean.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/ompi-server.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/ompi_info.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/opal_wrapper.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/orte-clean.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/orte-info.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/orte-server.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/orted.1 create mode 100644 macx64/mpi/openmpi/share/man/man1/orterun.1 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Allgather_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Allgatherv_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Allreduce_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Alltoall_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallv_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallw_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Barrier_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Bcast_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Exscan_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Gather_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Gatherv_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgather_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgatherv_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoall_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallv_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallw_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Query_cuda_support.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_block_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Scan_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Scatter_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPIX_Scatterv_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Accumulate.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Add_error_class.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Add_error_code.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Add_error_string.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Address.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Aint_add.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Aint_diff.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Allgather.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Allgatherv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Alloc_mem.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Allreduce.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Alltoall.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Alltoallv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Alltoallw.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Attr_delete.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Attr_get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Attr_put.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Barrier.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Bsend_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Buffer_attach.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Buffer_detach.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cancel.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cart_coords.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cart_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cart_get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cart_map.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cart_rank.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cart_shift.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cart_sub.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Cartdim_get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Close_port.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_accept.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_call_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_compare.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_connect.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_group.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_keyval.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_delete_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_disconnect.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup_with_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_free_keyval.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_parent.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_group.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_idup.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_join.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_rank.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_group.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn_multiple.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_split.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_split_type.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Comm_test_inter.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Compare_and_swap.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Dims_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create_adjacent.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors_count.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_set.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Error_class.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Error_string.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Exscan.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Fetch_and_op.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_call_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_close.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_create_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_delete.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_amode.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_atomicity.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_byte_offset.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_group.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_position.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_position_shared.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_type_extent.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_get_view.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iread.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iread_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iread_shared.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_shared.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_open.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_preallocate.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_begin.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_end.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_at.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_begin.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_end.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_begin.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_end.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_read_shared.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_seek.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_seek_shared.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_set_atomicity.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_set_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_set_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_set_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_set_view.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_sync.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_begin.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_end.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_at.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_begin.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_end.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_begin.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_end.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_File_write_shared.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Finalize.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Finalized.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Free_mem.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Gather.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Gatherv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_accumulate.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_address.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_count.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_elements.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_elements_x.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_library_version.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_processor_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Get_version.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Graph_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Graph_get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Graph_map.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors_count.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Graphdims_get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Grequest_complete.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Grequest_start.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_compare.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_difference.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_excl.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_incl.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_intersection.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_range_excl.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_range_incl.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_rank.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_translate_ranks.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Group_union.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iallgather.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iallgatherv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iallreduce.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ialltoall.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallw.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ibarrier.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ibcast.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ibsend.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iexscan.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Igather.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Igatherv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Improbe.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Imrecv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgather.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgatherv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoall.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallw.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_delete.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_dup.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_env.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_get.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nkeys.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nthkey.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_get_valuelen.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Info_set.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Init_thread.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Initialized.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_merge.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iprobe.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ireduce.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter_block.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Irsend.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Is_thread_main.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iscatter.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Iscatterv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Issend.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Keyval_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Keyval_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Lookup_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Message_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Message_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Mprobe.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgather.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgatherv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoall.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallw.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Op_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Op_commutative.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Op_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Op_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Op_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Open_port.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Pack_external.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Pack_external_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Pack_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Pcontrol.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Publish_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Put.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Query_thread.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Raccumulate.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Recv_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Reduce.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Reduce_local.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter_block.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Register_datarep.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Request_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Request_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Request_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Request_get_status.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Rget_accumulate.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Rsend_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Scatter.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Scatterv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Send.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Send_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv_replace.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Sizeof.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Ssend_init.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Start.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Startall.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Status_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Status_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Status_set_cancelled.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements_x.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_category_changed.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_categories.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_cvars.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_num.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_pvars.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_num.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_alloc.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_read.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_write.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_item.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_finalize.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_init_thread.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_num.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_alloc.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_read.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_readreset.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_reset.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_start.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_stop.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_write.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Test.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Test_cancelled.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Testall.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Testany.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Testsome.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Topo_test.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_commit.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_contiguous.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_darray.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_complex.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_integer.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_real.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed_block.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hvector.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_indexed_block.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_keyval.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_resized.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_struct.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_create_subarray.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_delete_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_dup.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_extent.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_free_keyval.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_contents.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_envelope.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent_x.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent_x.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_hindexed.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_hvector.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_indexed.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_lb.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_match_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_set_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_set_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_size.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_size_x.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_struct.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_ub.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Type_vector.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Unpack.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Unpack_external.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Unpublish_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Waitall.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Waitany.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Waitsome.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate_shared.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_attach.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_c2f.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_call_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_complete.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_create.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_create_dynamic.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_create_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_create_keyval.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_delete_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_detach.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_f2c.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_fence.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_flush.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_free.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_free_keyval.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_get_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_get_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_get_group.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_get_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_get_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_lock.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_lock_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_post.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_set_attr.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_set_errhandler.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_set_info.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_set_name.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_shared_query.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_start.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_sync.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_test.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock_all.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Win_wait.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/OMPI_Affinity_str.3 create mode 100644 macx64/mpi/openmpi/share/man/man3/OpenMPI.3 create mode 100644 macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 create mode 100644 macx64/mpi/openmpi/share/man/man7/opal_crs.7 create mode 100644 macx64/mpi/openmpi/share/man/man7/orte_filem.7 create mode 100644 macx64/mpi/openmpi/share/man/man7/orte_hosts.7 create mode 100644 macx64/mpi/openmpi/share/man/man7/orte_snapc.7 create mode 100644 macx64/mpi/openmpi/share/man/man7/orte_sstore.7 create mode 100644 macx64/mpi/openmpi/share/openmpi/amca-param-sets/example.conf create mode 100644 macx64/mpi/openmpi/share/openmpi/help-btl-vader.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-coll-sync.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-dash-host.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-errmgr-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-ess-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-hostfile.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mca-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mca-bml-r2.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mca-coll-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mca-hook-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mca-var.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-api.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-btl-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-btl-sm.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-btl-tcp.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-coll-sm.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-common-sm.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-errors.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-pml-ob1.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpi-runtime.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-mpool-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-oob-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-oob-tcp.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-crs-none.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-hwloc-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-runtime.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-shmem-mmap.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-shmem-posix.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-shmem-sysv.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-util.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal-wrapper.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-opal_info.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-clean.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-filem-raw.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-info.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-odls-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-odls-default.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-odls-pspawn.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-md.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-ppr.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-resilient.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-rr.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-seq.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rtc-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-rtc-hwloc.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-runtime.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-server.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orte-snapc-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orted.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-orterun.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-osc-pt2pt.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-plm-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-plm-rsh.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-plm-slurm.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-pmix-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-pmix-pmix3x.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-ras-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-ras-simulator.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-ras-slurm.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-rcache-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-regex.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-rmaps_rank_file.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/help-state-base.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/mpic++-wrapper-data.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/mpicc-wrapper-data.txt create mode 120000 macx64/mpi/openmpi/share/openmpi/mpicxx-wrapper-data.txt create mode 120000 macx64/mpi/openmpi/share/openmpi/mpif77-wrapper-data.txt create mode 120000 macx64/mpi/openmpi/share/openmpi/mpif90-wrapper-data.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/mpifort-wrapper-data.txt create mode 100644 macx64/mpi/openmpi/share/openmpi/openmpi-valgrind.supp create mode 100644 macx64/mpi/openmpi/share/openmpi/ortecc-wrapper-data.txt create mode 100644 macx64/mpi/openmpi/share/pmix/help-pmix-mca-base.txt create mode 100644 macx64/mpi/openmpi/share/pmix/help-pmix-mca-var.txt create mode 100644 macx64/mpi/openmpi/share/pmix/help-pmix-plog.txt create mode 100644 macx64/mpi/openmpi/share/pmix/help-pmix-psensor-file.txt create mode 100644 macx64/mpi/openmpi/share/pmix/help-pmix-psensor-heartbeat.txt create mode 100644 macx64/mpi/openmpi/share/pmix/help-pmix-runtime.txt create mode 100644 macx64/mpi/openmpi/share/pmix/help-pmix-server.txt create mode 100644 macx64/mpi/openmpi/share/pmix/pmix-valgrind.supp diff --git a/macx64/mpi/mpich/bin/hydra_nameserver b/macx64/mpi/mpich/bin/hydra_nameserver new file mode 100755 index 0000000000000000000000000000000000000000..6f86173ff9e297daf9c7413c27ec9440195443e7 GIT binary patch literal 379256 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

OJF2D+Mv0E} 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%0DHYn^zvy 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ʀJ=Z7nJ9hv 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 b=ycji{#YdGc8@%(` zQX5Cix(BbYFx)wCZ%(NUas*B;s3D{G^dYpi_!bN zsXKoMrHJ!*{7Fa}yyMp>PyIt~Cg{JpK0^&hQMH(E^oJR<|G&FFix-;$AEmiOf%<}% z1;02^gT-2TR zi=IWt6kDw=yw=(}dhlGZ$==1e6+mK0lJ^FsZ9o~iTs6LuXvYh0~k!eBc+ zhE4u=$6Rd;EyT$iPx?$=mwE9UTPu9jO&i5mR@R?!_99&Aa)1U6sJRH+kc^Tf{Z7*baXrYqew4LH$ zH1tWSJC&lMse=dh)>OWAiz10F#f<$Yws2$e5sOLXAaCU@dK|$8u|d>-*WQUk#7v-& zTp^%T?}JniEXNy73k*}=|^IrAI%lKa4IuU(`Mzd zu-fn*OIl6Tb?%Vr=p9nc*&$Vakm{wqwz~x;JE#voN~-h2q;quM1wwRwO^SBz26fCm z^-KH#q+zmdFgc~~C7rrr%r2TCylY4=+;}hIhEb(?18cg7p)*11$0v z{F#sZkL$bn`JxeekFHiw-|4=#;9@Nn#km>B%qr^oF-2%(LOJMDW!+H+lQ0wTBmDYq zTEG_T!QwT2GtxBuXh1eG7Lx(_k%5Hk_X0&bSorQve6!LwIBT8yq!9$lS<>q^5Yj7; zsDc&2unH~9^W+`%`5sO6ic%$%ljwd+q^ZxG6mwmQf~Kmt5Z~(%&lT^_brtW?u1$8b zUS8|bScM`mfN2J1qZ3Pd!4ihW1f~7P_27Rgl#3$&Zv%csJ=9qg##s^Unl_?9MT#m4qLP=Pbo@$d(YizMB{X~ z+;`UaqMxT+^7%^sXG^ZUeOTYD?3zwxSoY5xkUMq;*>liJ1~E4;TtSiw?^z}Y!;jd} zA8cG_An5^uV}~_YH9`_$#xw@AaBKV@R%+WwBZJkq6BoC;-t3aQ;S3~Tq&V><=Ns)g z%6$KwqU~+*Y4JSmM$G|PbFblz`%fs|vT#Q%`#UUsg=MxuS*~eOQx2j62c;KS=m0g`L74y#8&n{`L$KEYvVV>M2_VyTKqTy{uRM-}Bs*Ae#r0rQk&x!U%KHqX zYT%>2%aX~)N^gU|U=QuMY4+zg>1jJ4-IA0s8O23)RU^J`T zzwk@n;ri~jXRAs-j&d8WU4Y$=KiDQDxSkHKqV45aI-_MxxTD^a7Ftf2dY|a-)QkCw z)#%<1Wa&MDef&!CfqewY^IdY&>n#>-dc_r234$kE^%($v^lzhO>OISVO}#ev4=b;` zXfulAiKZ#hf{XLeO;!G9l|!w7gzfr66)J;{HTr`?R-txffTWS7Zqtt-@^6{QeJwIv z|1M=G00`er?~ge_7D-T*GsL?HPF>lut=BqMO3j%6Z8^ouc824${)#}AQ@>*K*KVCL zmlM_35lW^!sG&OKC-5QJq+PT zxD;*Us_dnI zNzDuA6X5S#U^RAk>V17fm#DHQ9fSn;zv-NX(02gwX9p1x#B1#k`VJs|;UGo{;vel0 z`VJrx20;$}%taS4jnXsH+(`A%7MU@vQE;&WI@XOWzgYoWF%tM!?GkuJ7Fd8cI@%LO zyQH1Az608qI*74?*t;D<-vPu(Ah??(X!$m|*7E+7To+(G1A0N#OHUw9D#}D7kLqQg zccL&yy#Jh$D)>0lDToYM9`RPIvoe4sN-Qr~N9=={*y;f+s`(DKU;n4szwj72Exq}H zQB;kbA+x}!S$?Kh=naMJ3|F>OrRAhvF=7-DJJg9`QOS+B!{QXxp6+;tem1 za_wuqOiGh{iME1C-T9UQsgqJKmFMUJS(OhIT6$E28pqFK=F=6SNMhK_dC|hQ#?md5 zK5Z>juj_Zf*m4|evAxEKS6@!zLGL!(r3f;C=K9%$=nYR(YJj%%TwPkQIy`f45Tu58 z_Uf-BC^a08>WA<~@y^Z{GYA_!z-=e-zDzC@pzr5fId46Y{@xP2HMI4mm46rRuRwK_ ze@#(X6~5iS>2=Z>Q~qCFq$-E%WUtj#-gi_jA6BKNaM;bOoFwydP3Z?WF{P>vP7!a; zR1rLxnDO#9~`jepy-}RJxb8a zDr#3Ds-ZXf{)Zc1xxl(lPzLGkPFuCzcgW zk>w2`RkHF~=1*Lziej4l{!&J4IGS2SG&4ETlc6kDb(KNR1k$WXvVfCTHlw8IK>-Rx zXfrcw-E;gbl8N`$i!E}5B$fb6`|{(j87QgFf*I>#N$vTQlQqYjlFgdH;&D`&O0T1dXe}B)%T{@8@;`3- zURQYrg<|L0=ObaKh~?3g;jLlN(FjmJ&F>zRiUlu=_I{$W($ZiQ#zAu6Y#3+4T1 z7ImIMW-zmyx@uMKtRK~$t>%e@N47-To@ayoHtLQ-#&@}1uJ04#G^qZ<_1`i8Ttjt| z_<&maX0D*y7Fs;#D+7gErC}#~p=>Whar%@4Hm{Zn0;NeU)hRdVYJ12EI7b))afsd%n7q z4Z>R(QcZV95B}lDT5maLzrlH<{maQdEB(I(F$?iM+3Ipg&V=7(N0 zm=Wc?`s9rU^P7kFC6LqMpOjlSys&wAv5F8&r<{eS%6=LnItgu+pXn@R_3sCk`ofJB z_%8!b%xUEQIQibTaO>}Xr3N|_L~a96Imugx;%>K|>JK@FDn73VakBA3VibO4X3;ZP z{j#VnrAzS0EZ(p;K@#nJh3tBI-o%LJpu6Axb>yyX!rDP)Lm$$Oe zVU2&*x8Ku~yp8arh3Dt9u|qOfup%p`FBFUyL@%ac@1z}&!;6#U1r=oz+cO*xhyudZOpy& zs7MahVpjiO+rG!RbNX=+hhWQO5Ih6|cNuiGNgC_sc)0BV-22?6H@05I*2gh}!v>Fe zPpD#tyc3DB6=)ABWKMWu#kPyYd7sgmdr9?1QMKGEJ4c;=DR zv;|B0Dh)HT3xbHNsGR(yOSJtjN;_?VUj$+C^J@VoLvPB_w4U~t22r~}fafqzn)n%4UXwLpRUI2KJaFg2F_g!=|JJh6l?HrKyV zS&*!q8!yd^_J!O3$nQ%I(V%rnfA|gNE`J7tt@yFi9`Ks{-@dRtr>krEEp8^ljhKK= zT;Ii{VRY{SWye#its^o33Nsu9@Q1*!c6@_>Vpjg-wE1>gk`g`kH9cT$*&sb9D0$1; zSdvpw`U5~0<+U<`zfPs4G~ivNAE#|Oy@Zu zFlEYfdK0hV0XCe*qZn)9p$;;S^>D{yt$Vb%N27Zza1XVrfXs4_xO+_G!Kx|eSl3Um zuf;BK;aI->6G%;yEH8=S$0!@JQcCKExHL|Sn-e<>h^Ya@kw6#%8w3j=qQz{#YaLRt zgamErFe@Y2tnI#VnZh%_S05@>wve`nLb*f_k8?ugM1REg?j;S<6Z!Vxk*1dD4=@a^ zg?-43`OG$NRbuTP+#|NfDdFr>UFiz zO}yD_Vp(DH=`tpgo?hslo$N8=>2f-MkxENXXA(JpYp6BN1qQc1L zRVok76#<5d07JgRpsOvk7&P{NbJhL4s#?6CisCNDCg(;{wX-$Fum*ET#_nf+j14cz z+SxOgHq1edi4!gRY#}H*j5pXP9Sz%MQx?UlGDUqbwl*( z=!F2Qnwqg~INz~w*%h(tCdUeAY`r2jDH0tzV_V<8qbDf%>b`v~_=X=(i1wSYA#(GN zZ!C#Hpli#FuWo?+pp{*hah!v#%NfwZ)IOtXTBGKy3Ae7UGj>9^UwWjEJ(dR|ij_#} zlKZ__T}^7*UG#rP5mA$3uNcB&!Sp?tBV&uO!u^jixn$LBuj&CL_o@~+CB+?FWpY}b z!5WT?vi@mF?q{tgCsge*=@^nwRd864RWG|zZ`@Mc9Z_$|AS-aGRA1`Q_)Ydue-{O;<&dHe5}qY_lzO7~()b zaTvNA;y=|-+3^3d_wDg<7Ull4o1{%cApr_h1Y9bCQkym@1?dIoHrY07b2FPjxs>fD z*(57TcHK*xC~6=r5Mwoh2P@uk)WhjP)ToG6IhdA90RaQ3pdKZt2NLSRfE=jY^80?D zdEVVkS}yuKAM_6kndg~#=km-m&ph+Yb@yZb&y4oBSbKrVtvz`+$B)AORj}wX(W?4k z&Dec6Yzq%GZo@8c)ehfK1sjINet1E-g!3XH8=Ft$0WO$Y>JiLJj_>+5jmH(v+gv6v12wR4ZtDf zE|Ldp^}Q%a({rBctLn#n8q^vDvT;ER=D?O2!iWpd`!&!Ka4HA@rMQlE`2KU!l;G7* zIjlRoYRBrw%6={5H`MEirQKY15u#<<^U ze|O|dq=uZKAj(a_r^Y|TcC|L*j#we=#FMh@MC_hp+vLkH-h^*eJLK%_zU}M=$jnTT2dI4rW{fpD zAN-OuU)e|nN-08`i9+VHqw190>KzrQj#F#0qNbu=K*Km_V2g^$N6_OoN_`n zFb@wD>}D}E2zQ*h8mxh?@&>&1fhpNoocbO+`}m(x3^-ECQcl4`Up54E(lI}5e5rt+Ei z2sZDhb=aK#UMJuCaT#p~Ga83gi&%defAl267sro;AHt0^r%4*Q2AVnw)4Lhg@^}eS zWVTL3-Z|eZlfyCF$P_tWHq)Oz4}&wqKh^6T{V(I0h{A1OK@u-!saP?>n;mQNA%32+ zhcjgi4#dXRyl}TGIeTE$s_s9e-UE+2Ime49C{}fkr%r%3H<|ApICoX|A5%xbm!ItP z4!n0&Y%&?H#0qWS$SIX8?u-8bm8<`EVc5XYUc8Ip8<^!Az#jOSH++$m#|t9k2TsIb zf}srr;Y_TB7@xszXnpShes=k{g`nO)FP;dXw`*XbgN9;dlpz`_t!v-qx+TYw$ z1}a}cSjE6XU;k2j#PAaDCcSgvw0C-bEcSEXAKQKX4^&y>x4(L*zwu^Vv4B}#1cEQVjA^}SY@I;{V`Jx|Xo zy!GL}y@h>ah2H+_dqE!`yZ2P||Ece%?!Kvgua(%rH(si zJL2HyvJPB;Hv|X3qBS0J1(wI1;K==zJ2u^eN9i%`7y+Y3F8pg? zH}YJ+2C47lG4g@Np(|d3AoN!Bf8%m?)vNFmx;lRu!PLc#PwBjVRkfoN_c7#PQxUR6 zCL@>z-hmdR! zz5s6IIhTUP5SZ;gv4~_x3-IO3;7EO5B9i$%+9y zZPNee%02t%b23B`;4ff%2Xarr?S?&Lxs^MXuNhzRPLu?bDZ-!s!YgU`KKGOz?{|6o z=iy3Bb6BCuEG8G;`UrWP=H{OLbNhY| zoqWu0tQrl>y8$0hr~-@A+#T37>=1S}@~YUe{GHw_o;2pbRPsZIplqp9cIoRjJ*lF` zCshNDUqFHRGl_zT74-dnHKq>|hD)$!|7pl#;#g#bn+k=uK7_6}x9`9)h1;J-t6lMgL8}#R z`z`RoTdQyJ_SfRLV&^p|5(AerGR$mLmfC|-U+~@bF5DU$Vh>4H%gsb6El((bhy=P#?Lzrig%#%8ZunW zHL7APdA~7@qMCk&XGOu9UGFN~#_QgexbU#ouE%0P)cZC4dwQRESJ}h8f5Ah*dtHF8 zA0WEH#i9PAsn_!Qo|xUgA(!Y8S3EI=-Q}r0{Tncn-O_*G6~Ch&Wm%OQOXTQ*4X8W8}rrIrsFJp8$P1HPT;>hvmO@AO7yfA0Fx`Ux=GkePeE( z6SWOcA&+j@p;(yp1V@=y@k$w6eClqT-7iJ$wyy&Bpa;ouvTFY#VvfZ@ZTgPB1IHC^ ze*lEBnI|3s;>1S-_WdQd@XGg+#*ggEDcn{93~&8mXc!Vpf#QHM1bti#1*i2K+dx%bZh?DLCQ;1rgWUU8)s z?3p-zYERk21HLc3_-sEBc?9OgXE6*8_P>7~es@=is^|}kJju%$c-Z1uA?H_k!wuwM zV-^&pKII=c4-yGMot4((t;e8|Xf4VLE_YDyCd!*u^GfDxC5pco25N8`T9v-*Cn{L5 zolx;%%L1?#M$vfF-Z$(2W&a(0zke48VjLNJ)h=!?`3C!A^Y$NynUcll?>|iS&)WWZ{|erc z`B^-0$Q48I!1(NJO1DSI|97%8L)#Z#RgNJR%6tCAxj-=Q!tolESJ5BK?f<3sk!OJ9 z^N}2Mu!@2C)!Tn<&Ah^G6<`(?WJ-Mlt+~GbC%k(mu<5!lx9nc;55IoXO*er{y`Xns zD=fH*{;?NdfDOmRj&r>OSM`EdIFMer?Q%hmNqR-cjM4WRelq=0BIn^3p&tZN(O;WC zaTgGo-}SwWV4PS)Uze%s{Nw{Nzs79g@~L~EC=0Lt98)tJu2xDm9Gxu{sW0Hj#KYJq zUa%u~?f$U0@1vK`NnM6Wsa8Bd*>?b|V|#a@7h#R;wfuN}MgHDob>C}6sk!^s=Wf2XZ zwc?kBSB_y;v_GHxBeSXpw&r8{%Xe_!dxvbQ6ks4OLZN2=Vfx`USvbloL=~L{8my4q z*`B>LGaqA0ro5T+yYBwRUflm2v9B8NHZJ!>#{V17G-5)BSB_x5z6(kmJ9fKvQwSl` z1F4bp`nxQ|9gh8?ojAJ`1vyw5nYzP&#ogC{&dL>=cBOtpE^hlZqywv|#(Ce4xgOj=-Mwz$a!>yFY!Cq%u2|K%E3u*~ zCwxtYKfV>KPe~mE_M$pNSh@pUqd>pMEpOIKmK3F4Ki8o@42$|H9uNBVZ?FT)+p)tO z+qlw-#mLm|@i`C_MB(ACn%}-UHSq&{P4jR3!+0c>{fP&Ho*6Gekr{qGejaQ4YT?z` zN@a%N5q9N%um-enxWT#!t(Oe(q7USmPp+GU_EKs%EM9yz+A;Nq{V@jLhXVP05spgi zc>?0_x>sVoHXqBq&iVku#@9c_{kpr@5ZgJG-@gID zJ0W=88Nr)qLOCq&B0#Q(k^1phQ6s#|m)@*cj*I8%!uO5;wg5d;n(<7u?>^sWK*cmU z*d*ff`1oCqsvOK0L8*oi_~){LHBFkoxMAb0fi4zFST~SdIM>^U8f_a!=IaJp7Uqw? zaD$vuShZnZ$pwjW&_;vVgXORwhbA5apO2o7O_pp9!`WMERAwLz9)BX!Hb>C;$0rsDep@rkW zEfFV2#}}|rG}sS+VOg>LNb2#!vY3|L$Ed8N1@<3<=)&S&bZgt&wnzuJJ?-Vs+iaVW zE$oXC>1}h!pmH*}V@38*lhH4nCA27LTgnWCV_C@dv(~ zu6PIIlfm!IW^fjN_kQ0p;-a4mf60r&?fC7}smf;GP`dZb#regG0&6ZT6)q*=>;E2? z4+g3V7EaxZWizl2Vb#~{&mF|Q*ouM9p|yRhcY#Y!uvJvWT`3ar`1sQ}cLxK&GJXUR zrqS1r<&g}_PkHQp0~IHG)(tG*HNI@8$S~#ut9-i>XHl&|ANVl`TDM~PE=Owb|9YCM zPu!|p&FHj;?0ANWEU4m<_TN1ADuhx*7F$dU_jz-}BpE2yT>9S+z56)dP~7rM%S_7S zBG3<^VHFCuSCb8mLsR!*aaUM^ZOD828;4fxExhVkXpU?Vg%Da1t;AI@E25lgSrN@8 zZfO`eNoHGUil#TYYQ zhzk1qud)U2gW@{rJEC*=GqK-A9A+&2Y+qWBeG3Hbq7jgn$A#!$7s%_B%zx#G3debsoI19W1; zYscJ=aoG&J8u__?ARBhf^OwDlDRN+S*@}II>+z$ccb8VKcrNuPKlI89Y}(=SJZ2$- z1KYW1$BOAj10i z_>V>@fL2|IeLUf3EQsg$7>;cY^o@~8b_E|+Lvmf^K;L5w>Kn=Dt_tKG=Ufh8t0A== z3iEj^;vm+sxXy>pvKz6As#b|Mi~nqYfekv_r0@!stRr6o?U!H5L)toZ?YlgGK8A{8 zu6Q4c*pYWVL1Bg1aXZdDnk5`Bxzji0C-z1>|GEF7?!Wk28^hp1mH#tyo zBqVGEzZE=Cb!2H}-=19TR%fR$6)R3o&8k=tc_lfQo56j1O8L0{gm=Zh6gJGD(_R># zfR#Ei2Srid@J`Y-<1b!oJHC#@yKa;|%?231Z{XQXn$##_1Ce0O(S69H3L;S`509zcU0w+LU;9op*f|#{;3Tr z$>8r?7`NjAp%L0vR;DTKUi`vl-%d1TrU;(@Rc7T*4phwsv#@c6pC6bFX5EdM*I>np zQ^}t$@JIHa*bDB9Ppr5vc_y^dimKW9_$iNpirJ<84>?Ub(0I*?hWxoHZp^cDl84*z zQ(4kJ9HANT8EY$#KyLWUpWBm&_(S}0ij5)qMe=g+VQ4vwUIS|uR`hSin2bA%cpqZV zQ|P7Wwy5bsyd<%(vL6qG&4RCpzW%j1eMujtz4Re))<7;2(=$((1@s4$@X3)sSEb0` zu>@)PyY5QJ-wnUukcNkWemnkS5@Z$bcmhUldf2)O_LuFixR@oIN!#Czy@`q6Vr`!_ z9^d|H5s{tamjmhh$Y)FvnwztyUO6XnD9!?tJGXuVTAlpck>Q6aL&s z2s-cKK`p(#NsNc@{xoi15k2PUbb2fYFpI~)hKhj=mrEjCGft;KhX0BT$L~cJ=+jSs z)G1gKei;crUhc!8iqk-wZ?z{?(A(qkz!rBU@s9p68!mJbu$T|pV!Dy*2IR_}uY<_s zcz3ZaZ6IA5)^3=-Oj;{%0qnZ$$!_+m+2ij)+QF&fQxRvXc%it9#9b`z5^+n#T_)~w zanBO>Y;jkLyIS0H#a$!rT5&7HT_%^@Ww?W+V#oZ|GMdDr}?xo^x z7Pm><7I9m}Z5Q_g;&zDJC2maIxVTAiw}{&&4wEF74{6;xCB%C2@zu{ff9>6Zb}OcZqwGxHpUYO>u|C{f@Y| zh!w-?th8< zTXDz4{hhdf5cf%O$HjeG+&_x@jJT8HJ}2(;;=Um60dZdv_Z4wp6W5?yPZhhx%@uc+ zxcTB1h&xx@BjB&HRazh}}hO9GJu#eGpK1>h!>|M%5W}E8)&3D; zSdf@%A0UP?b*g! zVq#|#;|n4aONdnwJB8RK#EvI+88O&)Q|%ukHjCJG#9qPZ)6U9~xw*h@C3ZBin~A-f*jI=xBes*+dBi?RteV(1VwVv6 z5U~ic7_lpewG#Uzu}g@3o>)Dx?+~jb_5iVSi9JnhIkA_BEh07tGl&Tfv15rHOY9V4 zypz;kM$ApjPwW7O+x82IJwq%)jAs(sc^G)&SH${>@f>gazY)8e*e%3vBesv&cZmIx z*e+sE5&IIc7l?g^*c=$V6CWowpI9%k5@K73ts&Mytd>|4u}g{Z)Ny+ku^M6@Ayz@` zlf+gM`y#PYV&5iqDzQDpP9XLWv7?BM5z8m`Ct|O`#%Ou}xI>U)@d`mcPE-p@N@|aZDWnIy&U8XqUSy-G{S=@5^N{{IbMY_z= zMnp_3ZHl)=@PA@yMYK89iNnB&rOnZn@X|<2B+(p2Mm3r)nLT~aQR)%&Vz z&-Zzhv;wov>#u68_nF2TCv{bA?S{rWO`HhZl+Dr3&QMni(lN6Hm<#U4!_CpQE;N0M zN58N16oZcD&X%APaYjC|R1>(>4v}b$A`kp4Av;%kAle>CY(g4{_0uLJ-<4S8%=p6j zm7cnI1d{IwwX~ptqFtd5G(MU{a*lU~7{=&~51Cl$smKxy=ATN0DPE01VPvoiJ?L%f zV5wvT9ZZU~E;>{eC9$?_U${H0Uz;I4$#5_hk9PM2$sJ{_3Ie4^zGX`{xZ`0Csif0i zH3|dKMxD&AIbpg|4km;&N8@PQWN>RsByKE!B%MKiK}nj7T0*k=n9>opR7kN9NpC}? zS+&yEs5R2n5{z^OW1(dG+so^C8yF4;oL-tm@&}@kE>9u}Nos>|N!6*d!a>nh1}Q|p zdLT~C?PPE~oJ_^LAn($jHAy0z3?dWLl8SXiq)Q@%N<(`?sH-aq^_NIQ+PXY7ja5~i zXwwJ4-mK&hWm9)Sg(aaaoNV6OV)>31Z}B8zq2{m$eFLi5ljsDaMID8j648znGywTo zV3f&h&~PFV>}-YR2qvSKg}bt9Oo4##Q`)7672sztn$RquHj930mJW}Gd$cx?E9j-H zSoCsK$V8CRpaPJ8(vwKV*tJ1_C~3QPGSUgf5zl6Hdo+zcnwx&8dtR$+UZ%1jUN+@odS`>b! z>p)OgU*)w;Lh+$gOqU?4Ov;0F(ab=(H6B4zQS*~h=}rZvq#gfhjypimOp%5m8Of^F_frXNDRyur2r)7cCV^2Ou6j4^MvneFA=|sYGLo%DK#Vs8c zPa7zUZ49vkY^6Z3Q$hWf9>A!e-c|wZ2&KAU`C5RMjYVQ%tHZ_2g5{TrEt?jQ>A1F{ z1)?U|z9c?fZ4QQ8Vww`>B~=y`AdR9rVM=Nu+I*SNhyms8q>|+>r2`7B-gV{`99}%}P*)pBY>%|HTibCp)XG-1 z^PBD1D?Kp*%6lP9SDS$0f!bibuQA~BR#en$>)YaO4qZ^< zEFZmv17(5E0;UNObR0{SE|;BF`Y68yF_?A16v*m`)Qh4Kp)+7aL)2garzMK!!;Huo zC2DnOMshWCPis8d=~+;mSU_S0+A3tou=AE_(-&n_CJrYr7<;-q(Eh}y)ie`L#yMk0 zyF=F*%!R;rHG%NUOlxyj66TCdbJ#bE!O2W!jB4X$!oZKMp*V-wmPj;<7ipQ*2pAy~ zFpDyzqIIJw7+P7hWtRoU2P3Vpw1SbCfd@ERAk)<|e5L(>c?M>UjE=_1?&3^o@MLSyFb?bl*=FGa0E7Wy{oWI2?KCtye?(>~~Cs~hcS z%r}Ec$1o`F=)f;LaT*6+Yapz;7E|1kPOrf-deVZ%M79U35!SX(fVmixxmZxZ8qwQ6K?-Css+>!myyAWE+hAl{(%y6CrSbeLWtZ5xzB&Y!`M}<;r!E z&QMG|1*SC;Pb8DkRCBxO3U@2U99J4q4;|sqmheijC~GyPGu+7-7+^4=?9q%ee6_5S zCUY967>htifu3Y1Om=nv;`^lz+Z z`jfvFYcN|PP>EV(b_F~w(eSj1p(hg^xx`q~wE8-M(HPfqENeT^Z87Ibf^5iO5|h+K z4_5CwJqc)q0%~nEU=RdZg%N9x%-}3S92z5-Sc~pa{LAw zVL}+9;$i5XWV;Nv9c3-eh!i#*Whn>25`zsb7bk!Vjn?6sMqGjD2a-VHJ$gI-S zg&8Cy4f7{wW|CxU2hOd~pD9WYt3=Kc0e&1N>4T{?jf zS)x#{Xctstt7t+Uq@ey`GIzo#;G$qtsHLN4l_%5$%UAk9rdndzbJyhWUYF)3)I`Xk zJq%k$ddC9 zR{R)2g5LV|0pl^8y3UN?ZEUDrS6ja!Ye`4!T7R&-wx*%Jwko);BCBGVHM8sraLRw+?CspkL?q+ukxF2&eBwuBi6 zrqekAf%U#%JqB;%tuN=$F+DX(LndruBThQG__Arl-fkdJ8LaYG`<uWIC3NT88pTiVp{)u+X{$VIN-HJT^J1GmNGqDM#bs=qW z1baxHC)^R{3UPta8m&a%(zz((=voalIJbGwKUR61t!LQw3GB3XwV==F%7JEP67du? zep(9XBcGH_GyxnIQS#odHP@MgLxx9L6oFYKC0t&dv8pYn6Fec<)4D~aRyy=W4N}Ni z0!%?+Hls?q6UrIBETM7Y%s0ytc8XL4DXui96gO=69&;R32PTS5&ND4m>ZurOJRq8v(V>gsFDosZbuuP?8y zW|y-`>%8?1{wyMR0HDDaEXQu6jS#4Btbwwut`7RwRXU^w8Y+DC_0=fViPeA=km>%~ z#)hl_vNGta^H*R49RMPJ}elj*cj5cIFD4LHT7gR@&k8xxu(;M5ZF z0>RoES;*Dm-&ecV@6^$17Wo?V*KtKxBVobATa}LHw80D_(!p6oq{Fg^U?ZjTk|pH~ zfo!AnH*&@bAY++o??#cttRTyu%GyA~I)9bu$7!8f4db_Y*WgY1^$en>X+x-hc&M5C zz+n&OxlNd`(KrkxF2jirc4wZb! zTXIop$%;+yxn$Gj7hCV9_gpL?B{Tdpzn_kbPC4Byy!hh9o0#K_=x?6<;!Q{>IXDF) z6Dj)il1y&tFqGuP(^y&+4Yov|r&UW=ipZjaXtj}TK9>tXoD4zonN(N=McZsl@sdS} zVlK1-X#qmb>!{8IgZb6RqgyMp)GrKQ>^LKU(`)Cz&k|1qrot&X-gR0D_bU?TtR~)CfZ&7SPihmN+|d&_Wzn32{tH7BTGJ6D0%IMrJ}FjVF5=(t|lR z%Vr9=Vs}J2xx-EvPL+t6j0s*l)-@R>M-q8lO=JqWR@Hhds)A|VR$Uh?uk=^R3c4ye z&_6?&{Jq8HV2Z$6oYBBx9;z<-T+b`2986J{Tg|-u3mhIG&iD z8fQtf{V@F+vi&k@XT`6*pazSSHo#ln;6Hy_YFa{G?C03;Fe2ovYIc6Gd$PU$8b53! zCqs_&ID1)JZ>;G0hJ%6w<+U(xGtmN7b+-6wZxs?)`_|&Z zGmBO?RyFu5eOSjuPxV%K>l$D{~)-^EWinSZj0M&IgOvTT$ z#fSm}*jojz)=DL$qCuLaNaFLZM-8l1N^hgT!gs!}%Eq)lN~itAjlncl$Fq&_t@G8` z2$i5E5JVL~kx$C6tgWg*u`rz(F&|BvxTI0I_LMvD;`k|Po3`U*-hSsgGrqwRx)>T)~)D3Wo!cWx| z$`oJ$G_8N54X*O9uWYcXYpbd-9k*OR-)nQJ_t)0@8!nW%G8JK7ja61e>U{xWMZL^? z@I??iIis(-uC`XP33#jPs(kC}eeY*R0q^;~tQyms&AvdT7c8dW)nY!y_@D}+WBZB( zq$e!=+EC%lR_MF1rks-n^r#vibOnNDTI2|!Y)cp9XL>H+UIsnVfwTH3!!Wa)cmZB#v&Bpp@*>!w+t*ki%IvvWvU zjs#+UU56t(#<#u}Dw8(}LLC^ctng1@|S14-ho2{b!8j8j*Rb<{XYdnV8IS`1Rw)iea1 z`0B;lhaVbJ$)YINLuXmKHbUIc2^)QlHq#1@f%T1mG+7$#xH{&>m!VsvSP#+;_M;h8;;*qx0->ZVolX+!msv@04y9scfJ+Iy*of^7dwM}P(Dcq3?}+J5F0Lcs zb|T|p#laq7IQUu}4is^7(b<{h2^#L5**h2V0b98^8hMDlTwK~ndd@k=)7}za(v)iD z8CS#wJ%@;!)qRwbf1G{znGHb7z<$eEXF~~W&D>?g5s?J8lW+!E>ebTO{q`TilPh{l z#Rak1Yj8N{g|lI}R1uHxuA@Z3u^4;5)7A=yp_(s~JyKMQd-YwOEjV_FYk~H*X+w~8 zayCoavP={g~!aX4{`RVri$N1zneSmauY&$Pm~} z6dWP4`?o?%M2;?Z1%=A2p21yc&T||5HQK#FcnU{@u`ZLAFroczT@A}>9H9j*M3U?& z2t6f!@=- zHD89##{+egSGz6G1N!=D#%6gU8A_(Gxac&H@=fI7AWnus2YXd#u zglVXU(T}@CVS^O`940C=HMM9P+!E$&zBSZ=OS84>)|qH)t0^^d^ME6gDO>j5C8hYU zOtCUxI3-Y=SW=wA|FY?jM&+1suoCMmcCr;Pi~bM)6_`c#a4{;z4T~_&vhhr&t$g;F zBG)1~2H|=LkBdPK*wdugyjX_HoDpwcR?>!p=!=*q*|f;xlZ)-q=H?V`$l9ZxdK7v| zvm7Irp1#P_fNWdQC8ArI?Ki zl4uvj;zv}^)^^^DHh*pioR;9&jFa&=$%5U0#mq0%5rtQdJM#>E9OK585C+claqxrK+Y?RU z&SXa@$)Oy4UF6}PEoEy&_5`+ia4!~zIV@F9Lme_po~-6Mok&+IjLZ@}U8rC((rmgr zJM8K8;Kpjqr(y9{cpLD_KrLpzzH%&gVRwORqTJ`MtF3`Cj+GG!SQn6^E~sa!+lf<$ z3Avp%bf0~e24c;qq0-mj$1zk%hjPT0hLFiIZk*7-ZFFG`f(U77M7o+gut^r}IvL%; zv#{>n#VJp74D3xpp7`JCMhrd%NQ@aDEu%7*{$bMa+P?>U4|m`w5?)l0eV5`CG@sDb zQ0Wf@F2qy?MU|uRO?~rYCK|L*2kl`63HBDu)AXFFc#nv ztf?w1m$T1R%M_lWaJj-W6_!O5S>_;TC{oVz)obIC7Gzh49r^GUQyZXL*N8jD_T`Oe z0*9k;`2*K)46ly0hMG)^oXv(Mg0a4YfZIL>7qf*h93Af@-Ay)Q>O@6x;5>twHmO%> z*|Ia1pLy1M&t74wpd29v#*zy(MXHp(N@Sxb0?k^`beXBKcY+8_Er?qeLjE|~Q&H_T z>rsjFXo<2l8i$8CBnwGH9p@BxNNI9%-g?XiEETUc>(`owwTPDe1;j8qLU~oXrvw++ zqs_3wpidFD6_R%jF4+|0TKk8>PR_hYWBoQI{Fj|mykuGH`n5~JRCI-wbBars<1l>b zGV3fUE-mXW&I(@+UvmcvlZd>i1{#nuYy(za%%mlBHlc7~-U30+QD2LRXkU<>BDtv} zUBmJ6Y)~VXW-r7@*E1t(`s4?;x2gJ|7NyOcOAfl_jh9xEp)Oo>z|MF)(hZf}7K7Q` z67Dw9gd(0|&zUX8qX3?cjutaBTj&EQ2E9Sy!8N?7Jz|P-W9>Z&oYKdBtrn*01(8x1 zz6O{Jpj?;^t?0KH ze3(nJqsN0IyAixPFeAg&Z1v_$m2CsjAYO{2Aw$uy&{iK$gBi>vd;r$ z6}!1Oaaw`#bz_*4xiT31deN}C-y8yKd2nZD1+#A|z?Q~jO=*3imOVfJjr64yg_MBlV(O&QxQqLm2^su zGr2ireWWV5>&sOT%py55Z)WSEW!`dfn+mNdf{Fo~HA?51w)qpD&Be`&-(toT4l9@r zpY7Rg7#kIslG`g=nC(TPsRY!7Q%BU{^;&H)I#>ifAPMc2;yvxKUgqiwZ^cP#oC`Hr4=g)j)@qS z4i`>%O1q2E$=BKI&(f1Qu;4{4E_S?be}$E3+B$f92U90)n?;LEX?N?AB}-b(V&qzS zc1Je?EJQ#lJf&taMr{0*82%CA2yWfdva@UoaaD!E?7%)bk4R#BH{C9__h)~z?;eP} z@Km#0)5FpLh8=mD3Qr-Nzus#COPl(j1SL{IJc?thxts=RWi(mWf%nb=6)ed3aYm-m1mx;v9g2&g ziBRN*a8FZ|xm83kZH8GGufsZOHMB$61e!x#Xh*Xi+Kt4Zo$#=R!4q~|y9;nQ#Dw4s z%(s@~59yMTRHyNF#M(oqj(Vc5+*JGPumxi03@~oj;YQ{K_%pEQ_}p0_;KgRgT7);n z!^(LRs0L#pY1RIcKsBm`sbP6-z?6Gy*7B&f@JeD}#t1HSCGg@?99vNJ>tJuE!jNX% z1zj7DhFY2^QfHSgTT&LXpvkcG4!&jLUsj6>;WxcIB5feu1kithCn3IF&G8<&!D<4L zHVlVKKjk=sdhu=?9`oS^L*xU)OWvKbJdsJfS#>yW?(-69NpZKwxkqXdx@)n1Y2S?l z8(|Nmmq74-pl6|T$qN1O?Yw)$Is8(Y@J(}JoRrvWQCP*w=n~Egg0$a4&rU zGHq5+abx+SB@9i^*S123rnaxRmB^pFl~jH2K2)) zR$6H2hJ|jDChIIXnc0cAA!T8jB~K%Tv?(c)kH6J}g&R+67>f*2Qfs6eXGlTCRy=gn zwwOZ`Ej$md+`{I@>V>SHLF{C`2R9Zo*H#y0HOV2G_#DqdS%u&VY%0uI31~?#Q;9*2 zf;wr4gNdw`2ozSQ(Ax27OH_z}drn}19ljYCt2BHI1Db{$@1Ri?l^R}%>T$s>fxR@& zk#4{A~Q=;do; z+JsnA2x95MW|UrUO3xh}!?v61lgvmje|b_})IwRa5r|-B8W@KTD>*kE5KN?+lJPL) zAq6>rT%h?*M+M$Ie>_XT3(ydQP%_Dd7@U!IilIsL#+hsZ=UVZe*+F@rDt2sRz7Va} zR!A|XMCjqk_5?BwIO}{eC52r(&Gt{zVrS8^1;~s}lc~+2(^7u9ILof?ROPKD=ek(e zX?UWCr<+64y=iH0-gKHL)XGKmzcRmRRe5V9NRq4?ytPy_2;aQYA^2}fp1H$elS|XR z6^?sKv+jQ!l(qrJqdd=&k!@M(Oe{t)#y#w!F-lXU4U3;p#~O@D!$Iu~dxO(bINhuoFk=nONF<+^8Q*t{a-Ox-496*Y+Mr2ThzDWBxm9&pr zIrPKu!Ml#^O(8oxS@J~OL(tS+Z5;cW_;jWy3aSTBS%JZdv9uWK5RWwRK}-(1%m;7N z$eUl#*cpN1vKGG0=nt88K1e8KLDN{pb&io$J}gEW&*{#BG5frhoYp%IQP6C#c&Qi? zVdAjxNWASTwU8ISMkVy5x0YrEa-BNScnhhzd*c)t0uPzJ?3`e1+(HI)M58g` zi>P<*o@kpiS(E0pMOe0QHZc!QDLjIq7lVdLQ~ZBaesXIV>y02l`pRi5-<%L7{r`s) zS!=O!0>(Exk}tto+JBmC+g3Z6IazsSSR#vpwvWjU`wYo>!(5zp$Q+P(o#=-k&(_Jw z;SeO-mwmQITF}2KfNH=~iba6mASq^FoJK*jK!8f3ttIk2AacOcyj@&MZv-=B8qt}w z*|lOcu}!nJe`Xx02q&5`0hZZodM^ZTk`*UZVQ?|qoDRRxK*dpfE)Z z&BZ-bLY#hr{beXI2C6V9R+wN?0l}#6g6SCIoAEK)(IQOCM8{&@%n%TZry&yIvzCKB zEA2KgHG#9*NOH2YAa~#yuT%AX=1CsVDe*kggjiQkE95s%B1HW)2{;3^i?r!d9P1xv zzQI;yu=ND}*l@0IARjPpX(JfB&5IKj+%OBOkDCE_#3k)l3)T6|4M&*jCLPTQaN;?B zE(IGJ`D{Yj_zPND#C9bPIZH4{1DvIS4IdQLwz3T%Ozneg_{3OOYv*M=*VJn<(9#5t3jU(C<2QbJ*lx8G?JU@`X0ni?$>)#)tZWQ4{zdEk&FIvr`J#}r!`(+Mpk z6A6vZ?N|**kt#5#g^h%PlEr8|JGqwZ!4l5k-(t#=XuQN~4xOM&9{#1Ze@zCAo<+fy zvL)RhPAVYy8`9#iAS;76EnbWzn*cIUjyFB4O}3C{3Y6nG)^3bq+;qkjEAcZL<4sek zOuvO>VH^$$$DMOPm=9=Dhk)r)AUfF!A6nW@hSJjwQQOc8VwY0ZWQv?!+k<2!U1?g_ zhw9u8&oecaLJt)+6D6IiQ?0G?oW8ajmscT>GkU_IQah}83(3-j?Z>u0+K#QY-!WROyS{9)t%VWz=;q&>#;bq;>NW^DiK?dwxFY(GvjQ= z&X7Z`?4-7Rl^0p+VtQg{O#YiQm^O<44Y@chv~>|t%hGzBR*KY3r+P*-&NALgm9uS@ zLy(%*p3Ez2$eKZd?Hd^)S$Y_>4tvw45aol< zZp;{P(j$H*;`ADlC)}{GHJw3Ub}7;}Z=sOaX~WkogM?*_vO}<9TFO)jW+>An$DuLH zpnNl4WJf)i8}{oPGbCf6zQwXo%R^M{trV59Qs1note6MaNEvc|=C{8p+iBHyOlnmbnHF%&G;5!7=AB-A+fwG3)>y8_l3+KRSe7ts zE{<{FXh}!bXQq+?SB%=SbQ9Z&a&a>z@ODfWG=%=1-pD+}E~c)6;8Y&+f7 zx9gR1P~M(pMnvRfGt{H_s8fzSGyMnoeol>;yi^6zpI4(9LRzC2Ha-iXmqM8WhDNdwi)1>WoE2 zi4|Ys!RZK`d!RnTQbK{VYMjwYm=<7;Ek{_vPW0W54#`^=9c&lD4<~?G%g~j#D&Nu^ zDqB*zKu)7@Y3Q5;>nYTae+a!zquw=^<~-pNrqX;pLzuEy)&(EfZ9;<&7qT zIK_(+t1*N?Q==*HoNmG4a~7;V_f&JLFcvO2dn#Fbs^#seWbUct?y16Fv=**)X+{=X z3ZFxftR&+MidYv`9{z@U$-=KwH>uUK5{9ut3s4#_Wi)pvC{DG&hU8U<@+t-P%w7Z6 z{IXA0mE*uew3D|a)EWY2&jY11sKbgMjbgu?<+qtSVPYgr53&ViM=r-o7PcT8@fv+X zsaY>4HSN+%fa|U;AzaGpLL)7~NX#St7x76JdEha9+A8A>I3;Ii%Dv=6l*Qo0w35g#{XGO(o)*9T9fP#r{^CK}Yk%E9ywi&0 z!uOJ@vf#8?@wBSSJaWT!y+#G1ydSZ2TOB{fP-I&_OF?w&~K=r9@%^u_~d^ahq&$X4fSBS5Jbf=& z_Ft!!rax8oIyoGod<;tIGN7Me--hi5{u`6RS)*%mTPu$G07e^ED=geWFH`12Gz#2OmR>TJK0dyG;{5h zm4o@@!~sE!mVIJtr3V)Tos^t;!+YogB(eP^iFDg%tbaM~w3+MnGisd?30c<1xqFBS zkF^N9cn?JkOAi_wt;05vE2i0uJ17fVPf|-OD$<7IxtiYDE1h12v{Why@~gTT2R}D2 z{}@8Vn9_3m`7$wxF-)L@_ikI_wf=)${6e;I{_rdDY1|3J51dcor@p7~Bid6hNqL69 zA#dj5uLytqk>Gs%;rG7{exuyr*VD~m_?v@2{7Sdv$9xaR-x2sL#NUzlbN*cfWFh`m z5_2Lip zo?<(mfIqg+a{TchA=~7kjd{|{CmXjbFgg%XJN*k*e^WfAg+qYg?SyT(iM- zHX9mZFqUiFL$lDtvrTU4Y~!j!gAcvaRg6|&# zkFEj@SDBomtBtGlYUF*j$(_6!wD+UDkE8rgn7lPRP@f&h`_m?8^g7UZy)m(G7}wx8 zK+j#s`)<(t6VUPi;ynO59x$f&55_h0-^Pqipsc4s$J53&_B8x2nw+`=CU^J%^3HeV zj^(>tYv#Dj*gRKm=`k+%=J_sH?|fJ8ns>NzM&99ad5(AG#*TNHq7z*?gD1LNlP9`z z>rQgH$KK`2@hot;>K3?idl$IeMW-O2QxNwQm)o4`a+RLyGLxsf+@qy{WiI#R87?#W zUYC31Yne@5bYbsp^P3n$SxpIf9T(03NZiyWC}BeXhLW?TC9d%DLL*9=rx+4j{iBpm~QY zcQc^pQ{dI7T<+dagT7CL)@xm6&3}N-n_RAun_PL5Uw7qX`B0x!@j*Bs`~9XrhJDw^xg?Vam3u|hZco!dQjlsl*H zXt!(g(eB(qz#+g_kKgR8@I|g|I9|9aa z)}1qaoI9^{zS~S5kG$Urc%nOJ@+7wzI@#@>T!655yG>DvJ117+Hoc|zR_Zo`Wp39< znLE#%fv}ZsSLrIyw#w}qTMn7c&6gt2OWk>;n^8sxbcImgusg4}6*ROVP1Kz?7<0RZW1#JWZdXywG`@xKmQzK*bOyYnW$1NdWi z-sp(i6zv6_ci{V-?%dHk5$8^PyB9Rvi?W|X*mH=pILGB#oMVcX=eP%#=j4tq&oLus z<>ak7JIA&8?3}zYK(ivp#8&6z44wnHCMRc&H^*JNHpguC<+uiYIi~J?Ij-LK<(S?J zbMl5S&dD9S7de;M-<+t@Mj8tt8iT5a|&Nk zIO_&mev!iC6`rDSiNdoLu2op2@O*`v6@EZrQsGAxUZe0@g+Q|NKvOEw&KoapDx zr(0NBVqu-e8#>eao&4VOHA~l<(et9x@$w9M)@Z(UTK=$>Kd9wz*78TnY`Md*2_4xZ z4Z9zlE}swGZvBrdd`6-B$2R;Zg{LSiRd|lVdWB(yNrhJ`{ItR^E4*3ZZ3^#I_$!4^ zD|}gD(TJtvWQAo4*D7pK*s5@g!YdT+RCu$(5rvN^d|crHg|qh9@=jD(rqHLbUSUXK zm%=`U*DG||`|Nvcetv})Dr{5Oqp)A$XBFP4@cRn)DSTAnQwk3#%)8f?Ghg9p3eQsL zS9qzyh{7I)+ZBFU;Vla9Q}~3!XBFn&XUi*6_)dlIQMgiJrNRb72crm zn+kuR@IHmVQaGvbRfThZV(B?v;b{uX6rQKBQsG4k+Z84iUZL=l3csN6-xYpa;a-Ig zD121m9~AzN!oMiYzu(e#l)`r@e2>EO6mC%1pm3AIu);2dmn*zV;b#O5sVY$K@g&P&ND2yxon8NE6eo5ii6@FLY4;AiH_;ZC$e{uBF zi0Y{a75-Y`gu>?({^CcL{#VrB|5fXs{Zk9)Dm-4{=?Y5~u2Q&8;iX@(=^E7^R+v@V^yKDxAshqi(bG9R9F{$0|Hk;d>RXRamX?Vuh^=KdA5{3a?W58HHa|c$32K zE8M5>QH4(`JfJZ55lh$63QtyehQe}%0fq0>`UKVQ$irpoPb&Pd!fgsarSP)~zohU+ zg^qlDL;b@FZ&SEe;e85!rqGeQU#b7M3ZGEuw8u4Lww_;8_$P(=PuTFA)qjh^+Z5iZ z@P36qQ}`Q&Pb&Nug`ZdWyuz0iy0x4^^`AXt%YEo~7CxfTp*L2REB3{x!XbrbnGN5p zuvFooLMQz#6E@%73V*DyQt7ztY5P5i-Xg-&MF< z;cW`{D7;VMsKQ?>bnUZt8^*B=DI~9Ij>shY;YK0pWe%j%K`nwfw zQ+TbyA%#Cs=+O6&`X5vHgu-VPzNqjOh4cPs>AXkFov;3r6fRI$qHwuFr@Rg7Z%`Og z*rqV5(24&;_1~fJK7|h|d|2V*3Y~WNZ}tC4;R_0#d5)9+>%q!1tbD%J_}zbH{9SJn zKieiJjgQTY-)P(6_2~C3|Lf?l`zz!3YW!tiRyvNg^PM#c->c!9)!(b|91R~*|ER)$ z|N2eKUau~1CEVfHz_XSfXTBW!q+9e4_mrGC%+LA$qu<*2+#6x|DAo}f?Ud)sKhR?R;46U$mY^8<6t1KK*IDD>tKhHvEUVqC`wmluXi?sbYFVCja z!4pSMk8dur`H{&^9Ma|BCq8b!JNbJe)?bnphw=aU@1Gp_CkOt?fq!z~pB(rn2mZ-{ ze{$fT9QY>({&o%=xnRxal(+ZT{Mh^py%%~fz<;s)&F}GU4tqD3csG}MHy?wbP52b> zZY~7U=)K6-o3k*61hIv&g%|k+qc1;J6w7CF!Qsd8D0AeRV6Y;U4#4pUpK^;Rj+K_N(bF7Dy zF>JFF#y1q5z;+2tbm5)gu4Jnd8ndC(1G{Zty0W}y!+d*P@*#;US$N``e0`!iEw;ks@>AS~u6h3yW z4=43ddqsl5qcel~vIfE*ONTqhkx+Jj>|0h8|qrY2E@!F!4d_#c#8~vy+}yd1#Z~A?xi*3Ws-zFWub3;%&u`a#PNU7_H_&O4j@E-B-$nYr@-ueshLxR4I4S^b_8nvI|A{vj0$2K=Vj#+;yDLft* z9}gAt+obx00S6pUq&3vi5*G@3b6Ax`I4oITV|{oV_Y^;WzZdW1Ad^7}#S^hzeDI4Q zJ0*k2^-O{Ec))zpjaCoYeBM6 z$8WulIbOV?@8mM3Vf+CnCv059_zrWlwFQqdBdSb@He^~u|UI*UY;_VCx z5hLP>w%~;%e7Z+`sV@CEN-t%E-yU;35a{d%8)JAZg3Bm~G%gFcuSnVuJs(W) zC1%9jMV}+3!;WW0J$7rj!{ZU_Z{y=F%;X;RvzyXCs(!hn3;$#E+aIPns7sC6Z%IA^ zgs9_=7d4Ao9XBaKkv9Bv6<>-*qyrMt5e`e~y|b7*;@dX7CgY8TtcDwupadREk*3@! z-Wi>1$Ogunan-ZgR%@3NWJPJ%@!GGu9d9BgM2)B)ic5H+-n0T5)c{;udMun5tq`e|PgBfp7qVG%xh(r#hy(z0c zv-}b;ECD@uq{nh`x8t|!b|mA?D3^N}$iB`RkJ5vmgS5WK=;M#u#cacmiC;CDHELWq zNNsY0ofz^VSm+JGcBoT~mW%Lv;X$)R?uP}9EaK?P!)eKojMzK(`T`2jz%jC)J2eZS4!Q5QuYKlfX%;zNfmtFYLNIXJpzV6C3 zW8ca%xn}Y^bceo2cW^h|5phSw9sU6p?cH7G4j0~hG>^KB8>WPL$c0}rG`~R}BYT)) zc(3Gfhvac5QWQaF2hGl$q`4}$9XF(D;zThnT#;wrL&oF4HppC^XBFL!JbNoUXfKNf zn|gxg`+4vL%|m(YmUtsh9>hwRpUw)JpU+C)84a3$JEF;KFHD#p6iWZR??^mpV7@vZ zmlDN9;Lqq$D`O<7?b+C0#2QIvu0|i5jlP?x49o&)j~baU<7M%!&K$ zJP<2p)}0`DZ6N`lm;?U&T!=h?taHMU?`V&?V;0oUy|Zv- zGH5>YPRJ-e!u<=~A-KkUkl-k}2WC+M%)a9xmbr!o}CEtt!(>4 zd1l*TWCVo6d~-I8v1{iT_cR_pFdL65H9K5-9vtnxj@b==mf1mvh_Uy~Y`$^=tM9b} zl!{L%?>`V>Hbq!o#51?$C(Wbz@-r{y#sVu>A3scQ)SAJ=(tWSe6|Iy!{L=y^ISnX(N%MtMEj6v2#L_N;tu}+8O))|nwpb- z0M%?S0PD;^fu(Y&K$=*yy}1Bn*{=ULFq*PVd!;ZHN|M~68~dw`sNUNRDQSlm&##!ZIXMtt_LcG?|$ zCiCd^ZZ zn>_nWhIwKx`X;h5PtA>(|CuXHH&-0qVv(y42Zxaqe*7(DJbh=MBdv4o50fRfZ$6W1dH%p`FYVT>y7- zUp`#tljd_rplY8N%055ag?p%4|LYJw_-_(^Bi)gkkU9qnZ}$WM##t=lF#oYpGmrtli6{mnCgE?oxQ&rG&dARk}!UQ<~PuR z_Gg;RHwx`=^xZ=6a(g}-<2oFVbyM#?T-Xlw2c7%jLG#KxOrF!&gGE;Tf1${^a;&Tz zFLLy0?~!PH84IMC42k-}F=?W1MSw%p@G+LC+rYw+|78xtf02S;Vm>za z$BxOA^jpLm>YYQGxB@5RHO5O>F?vDE@Rf`)0v9FWa{sl*#?4ODaZJK{xAE)Hc5$zn z;|kgeeHRJG2ACvaesV0{Nx|C|_~9w@iQ`Njx$^w6B3&;XD+1AbT=;`2SjJZ!C%;wN zf_GG}MF~TnVXmX%4*rYa;`V-)`0!4;lb@qI^wl{o+(}R4$x&= z<0s7aP6qbgl@1(3;OJcp9J-q%2hIN;XFfgOxLYHXk%9T?Ur;q)oR3KR7vqwcGtL7G)Ba&Kyi!F z5*N^j7RDHVVzfbU&9DFWp6`8cojQH1r!j`cKi-+!b)S3Ad%o|Sd+vVjIfsVpy-L($ zSmCBatyJt%j_c4RPGRZL>Y+x)&}-{uNh$ms`j>ySN^~v$y}a zmv<~%34L|E{4iY*f68LEZ$lbe@r-4*aKT}yE-$jxi$8;bcKBQSIilcV8b`9i`=kf_ z!s0eA*jJY*ABXK1*oPPWI{X)|J1khe0k&SauO+(lI{a;1o{4U;prysI@-5lQ7usb; z^KDq!eh1Q{&v=%J8aXur-@Do0=v!J>+sl^M zH}|ToFE-XKu3ubN>#x~d9xONPXQ{7#K(V!Mv2SpxZ}EV-CB9_;T79j)=KkgO`o{j{ zdS9{DXK`EojsC^{fu?=4ytv+?^|g*_uPZhWZQdQR7xyt3Y;P+2RRdSA_GaB&a(4As{)*I}W)F3ion+WRl|*Vec9TIw4Z8fy0s z4Ak$^T36e)*Xl2p1_uYrA)R`k#V$4b8VA?b zH}+gQu+=vZreblR(ckE6?rG}&Itr@U*W9aAw2~Pr4-DA0C^q`5i)Lb@T(U zs@uk2>Z_Ip8~ZjbjbgLE*jPVQUte8ZSFY{Z+M`(Ov#Pm&)3$Q`ux7v6S>HOaVR@-r zb!C^q*QDAo=~LZ$j1^#f~rSdHm#A67f8z^VDd zzQWxK>kD7|T3=zvey^CZ?^W&hnDgvA*8cT{=UaQUV~ij4Kr4}C7_x%s;=DQoCzW*Yr z?@epyh-6-2;i&IotV4aPGkq}f8#D4dxXJZzr(P_5ynUdL8TuOaAERC@eJimabFgnc zi6HKEvQL(NFww^h{UYPvOubn8cA}3t_+N7S{rB?ntC6K2O7t;9-)8(ns258g`@6+f z#tePw!EXNu>c!HB!Z9Df(8nC~)-V>UkCC1%{i20ol72CeGxROSKaqN|^zA4u0GKOCRSK_G1qEhx)1ur6)_jWY3K-fuWBX`T^^(2Vt+L zUW|3vf7;3Z9y9by)}s#MzK?pb^ix={2|utObG-jwW%_vke~6tqV}67&_Wz$J`~Ohc z)Bd1^WB(V!UfBQn!L{tyBM$x_=lai3zeJXPV7(<|lk_n|UpUFbuBToseHjZjNgp%x z<&!<^2h@wDZ@4_u#~l2p{#N-c!H3GVwp=xc;4C`nbM*KH)DL z=Us0#&v5%E{)v~LSoRBv|1rb==9#X4s`O;()yEbXmc3F6wpPLe1 zGDd!GP4=fY?QgRWDMEcn{As|DP56O7F(W_qvpj4U^c!G8 zV!7WrKI{h}f1r;!=!bpP)zXutuVH~Q=wpVyHRAezp1Gdo-_t(^mr5{Z6F+)E@{ek!K?Jt%-wwGsrk@_O_V(H`h z0)5P|KRDt3Z=_x<{qD+daI5PdBRyIAA1C>bIo^NHGQDLbn_3Bf(-`~DPm}$pyv^;O zR`l`{%l-lORsa(i`HwlaKUwUye?!7QFwQ$34bFJl!++}b#j??K0}c78Lyd4>)fV82XrF|38%Yd%yd3`@hK;{-^gd#W_#= z9TpD%#j;;a>QBt@zx*uMe}sCm^!4?@{mlQEp>I9M^+y z7GXb*pQmq8{~+qc(l?Xq@t9%1{!+Jp0`+3)%jN?nFzlBBHi4mUQU5gACnFsG5B1w0 zo50Y=41MVp9(FeMV(A-+|1m?~ewFKAO}$upyWI&B81}{QviNvj@VOq(2d=R2F>3Mi zpd-5Zp~l#sewG{$im!Hm8WtY*C$jvhGfnvuGxF15{4Y>1mcE$iV}`y(eVcl*^tD7E zGxUS6asO|nUMzh%(Z>vZo%+3w^!$sZZ(zYD{A{s5F+*Q|ore{v7bCuHlENSsY{C!p zF$epXde~;!Cre*S^f5!*MtqdtLF?>~P1464pHJ$hkL!Q`{knM{{I9;n^%qkwmcE9C$p4r_`MuTkZ>D~UEd7$pv;2$y(c6 z#Sipx`Fz8|Z|89P|G0Nwc$?>86Hc#tY7LM`}%fG?9yHPNkSG9+&_BN%%Hnl>co>`7eFmeVaSV{TIvsrum3T z{);cP`0&4ag!_L9xk-K}dEiJ7{~&pg{3+vNNZJ2fn{b-H?^$@9zrTK9H!m3H?SGB0 zx$nQVaMUj`(%)e7r|1J1^(*GMd{g^}J*eCMk;bsUl$3An>u&!o77qJj+5dE6Kjzqe zGqLw*d+r{W$H~U9pFU3*{D#~AtcAnASoYtr-W>oV|KcB5{33nB&o2_**Pgq_;fE)T z^j7l!Xp0~F|0v@;|Chey{$F9?@L!DdH`sgw7Hq-~{Es=d|HZ`KDVw|PKf^e${2N}cv^!aT0 z22cCL77qW#vj5e41oN4F@i#0!jz{0;@#jYJ56RH4ZMB#iV{^7kBzANzZrah|{B+q{0e}SbJ+kb^|UjB=}^0W{53%4(peLL)gN%@a? zldV*LuN$csOOG)`G2CN7yJKIWB8w5f7R&!b+j**{hRC<9NQP)X7O=+{t=JI zg@-vWt@8N1uf>o3JH$9|`&Rezer{i7;h}z!<=-xMFDsvzS1O+?68m4F{q%XFwd)RP zpY?FJFP8l?6ZZ`~u^Ke7D#SW-SQuVnwemR@XsqcQBK+eiI0 zzl-+8vLEknD4&?I|EZtlYp54XzajBI=9T>acH;jJ>3{lss?C0$Cm!YHCzkz7_H_rq z@L&8qi;wNQH@D|Y$@{Hx`@Y8F$L0H8CS`c2e} z5d{4~He-@re4NF{_8C~^_Bh?*ca?{6-u_mkKR=;AV)^qicPH~F=9RX`evj$4e|KZp zPwyw&v|qPy+cX8S?8nDnlxNH<*>5EFKT7-Q`Ck38Kdj8{$^Ox0KiiiKJyGWP3U9M;>2AD1`m#~j-~ z><3EspE*UD_AResi5W z07m{}-eg>VxR>8=sTWIcpM{4>dhx!e6beNT3V$DvFygP2zY{HfoWG|U=ap}@?EYP6 z;TtSbG1A{)a}f(R;RpGPIkx|s#NOFY>bAej81~ciNByyG|ECrX`(oIG{X%rT0sAqB z@;%P={adIfOW#hmPt4F)Pjvk~sTWJX1Rrby!+y-r51r)t67^!~2ZFkzk2%<<{$$xF zOFxw8V}`!P_>k_^xVWhuO{r#oIkN2NFpPXNR8}$DL7LNKW&ivoQ zJpzaPM~wV8pX}xLR_evl+i;d)l0N2@{BK%%vHxGD|LOHj{ZzL5otL-=EIF~{J1fBpV=C5`&U^w%3mz|aeWKr@7W3U z8UDAazn*%r^u;JX^f5zU7cxn^!RGjW4f>d&Z#~oXg}>zfN0z>6X?FQjBwa5+KdSdeGy<282SeFHh#1pf5`}kzG*WiaGre|$2f#NiF&d0MTl*Z zz8I)uzfS!Q`A?R9DT)vKF~ffwKRKj*G4*2U%ZWZ_=$q7klzOrBL+d>OFzm++eR0<9 zx2P9OUrvtSF+)Ez@A@B5FP46BuWtJ>Ltn75qVe-v>c!FzxI8QWn4!1vrbF1>PxI|B zmcEwgV}`y?{YL7=(#Q6;z+RLd^o!I#mU^-D(qpDp$$X6OfB z?D}6&FGhUq|0SC-Ngs3YpZde>MKrD-YUE6x$>c!F*A+|~SVxW%wBJ~4L_3bBKt-ehCG1QBtUyAIZ{9=ax zrPsRuPoZ8ceJjz&9PcxnL?N_%M6BzoK zp&xp^>o28VEd3xBY{C!pF+<CNT6Z>c1ra$q0wOWHTl( z^f5zUc!S&j0rg_(2O+je`k0{~q<;NhdHoTuR=-I7y{Q+kR=-63Bd8ZkUk=`P{Er#_ zmoE4GpGLh{`hi3rGxTNZr>Pf9UrY2cL*JzS<>c!HR6Mf9k4^rQM2Dd+1`c|Tk8T#Uz-2Rc&i={6m`j~@#>K`xrWa*oUKIV}B zH@p3_s2?Cp-`K|!0B^BBF+<;cx9iWQUMzhfI^RJbbI`xn^%qG`mcEoce~TIVB|9M? z?%SvrOTUzy|6+!|eTC~kPrX?BczePBn4xdj3nj$8k$SQ80~Uq}41LVdH>v-v@=so^ zzQy>5KF#Z&c(wXA^$(?9yjuMd^-rN*yjp$XN-w_|>cy+o4^V$G^Yh9-^4;>KjvWnD%V$JpDcZFJkrM; z^jEunyYyt~>%n>_|1m?~V*KY)FP45V(Z>vZ@l$U9Rn&{6UrO{bLqG6o*T02&vGmPE zA9L`Z`YYu>InyWGuNg7)_0PHeZ&ELo{(*^o@h>g@k@hUQY2860?mka<9C5y1yv6>+jPfjg-plie)QhFBC;FJ7Z&1ITda?9Fi9TlN2fpC;FQi^9eL2y` z4E-SWms2m6ejw4u4E+%GS5Plrt-ebAwbYBHFDCY5hW$GAKcrr~T7851zQ6YRld;)d zP5o(6e;D=R)!JX8{-M;1rH_yQTWn>_$ba#RzWtv>y;%BcQhqUq@}qu^`Z`(qA{K1I z5A4SbedC|q{-xB55g+AOvKf=~F+<;`{_m+5OW#=Et&chQf34g9wEQPa-*S0oKW6BM zzUulm^m# zgWJE_!Z(-^vFyj?4gX_?|4r&|q+Trj02XY*5A-oZ-};W*UsrMaV#G)Ot2SejK4$34 z-*x>F)QhEG!a}5v8T!(Vu0M`?vGjG9XZB-;zDfPlsTWJ%O!P5BU;CchKaYB`^h1e0 zX6W10zlD0S^oz;;RLsHtzq$RZWuGj4Ez!peec^|$Z&NRpzMb3;#vJ^=+4cV=|H;zF z+iQ!hj2ZgYPhEdkD;U&YvGnC+|Bo5^fnT`(A=HbdFIg5bfnh&p=*!fP4Y_^sYV}p> z&!=82ec9|{0>ge8U=tYj8`NJsUzF7LRuwWB@pcnse$glTKS>^TI!Nc9hv!XGMXWvPVXSM%wf3C4`)CaLGhVod7 zu4my-%*apG3J7t(J?wfh)}cI$He&)qUj*0$hQ3by&BLx2BOLk~7Hq-~^f5y}(C_x| zHsX3Q;zQrG8I$zQKpp!n>Pys%rLSYbCh22_{h{@4|MAp|rEetV7jy7`Z`W^^|77Xg z!FtDj%+N0}{!6JBOTU=tV}`!IkK2C>^v*y z^Z)-@)_iF$V24Uk++fI z&q~)14U0cUU-9!{0q7`k0|F-rMtkKJ{Yh zL&dW+z+3PKGk=2qPh5Yo^knImqWI9q4E?};T>k;;#nKmpwT}Imp)XPY3F^ht$K?(C zF+*Rb{yWr*r7y2@2f)zB41Mj--2b0bFP1(oZ|Gx&eu?_KZ1wstmOl0u`k0|F+}G`I zpk6F}$=%PkU(C>#s6Uo^vGlRMJo{zp&!k=~eQXc6z)OzOqb@6LXc`Wp3O>33&;iTYPl zFJ7&_c!Y2N2K8d;cjteJ`cF|WUX6aG`;V_%dUi>gP2Vxb{YTm!zfAkjo%H%Ami-~7 z0LK0sGmamN)L%lqc(wY%kzRi9p0q6`k0{~ zyr293@6?M|t8Y>NE7>PY-|Tk>z$pKiVZVNq+rR5Gefx=}A98ti{)rj-CF<`_y;%Ci z#D2`d{zkX|XxS%AUrX%A4E?|+*AG%JUah`P{iy7drEetu#|-=B2fO{}QZJT%G4VfU z=-bp^Oubn8Mxu{7l;6>A|K0MREd5ZTj~V(U#{Vq!V(D90un9j~>`%mZ;!oywvOX|haH?d%o^f3qfk8u6I+r9oa$y;%CiL?1KsrN_Gc z%cvJiKal8ShQ3Vw2dNiJUrh8dLqA0Qm#7y@znJJ_hQ9DP_y0!f#jDjXQvWmR#nRWX zU=x0}*q@kTzj(acKWNJ9pBVAO^8+l{gdgae5kucT!Sx%c7bDtg_MhStT>mK9Cre*~ zaht%fA2aL^GX5a-V(H5e+a!HCkTdjk>c^=UuU6lp{#n$ErEf&`;D5}pUwfkGzfQe) zwffR2u74NxV(FWS{g`2YiTbOl7fT<%?+*S)$3y5BPj&lWrCuz3D~b<&%+Ob#>iU19 zUMzhx(Z>vZ>FKWjmGV!PzMkk~hQ3*G{eC-m{3T0YNY0-z2mP??50{=S{ZLZ=F+*P* zasAQMi&v|!QGW{cV(AAH`!U0Qi~0)n;??SlqwfDs`A?RqFyY0E4luP8Tx?*xBpt%CrcmiFR&jo z^u=>r|1s*t(igE{6MmqN8T#_MuK%X|CnG+}Z^>p%(#H&aX{YONrd}+4)#aH!X6P5G zKhOeD|Haam5`E0jx2P{sFP45V(Z>vZahLmlD)nON8+&*H;4Sti=3xIhuAh{Bvh-Ib z_Qe-ke7w)CuJV2C-&y?lc=7?`y!H?E=ej>nIor!qEPoage_}>{Y^>w3t>&l~OJ7X% zF+)E{{YBJ^r7vT_Cj6j0V}`!|Jh%UL`ALbv}l>c!IAXTxCv!+y*woezF&>BZacHsieQSAM?Rf90%iKe6n`$6wfw8U7Fc zjqBe^y;ypyHeLS541JUOE2tMszla5!@B{lXLqGH)xBn&T#fXpce~itTq!)k3;$wd} zdzJgcEfzm6&tDtomFFV;xopnMQ!IZ9$?-X6I~&ZwtryK#cU^Uwgef0ET}t zBY#Vmxc=+Zi>0sa*{zQm`s$^w|2g$y>6=)v2|utOGxVj)TwgrL{TCxX{9nX^P56O6 zX6RdQaQ&mH7b8CO_5JOSP145<{m{EzKSsS+`Z5+Geaz4=zQ^^?qFyZhVo-PN#|(Y> zy{>;f^a z&Q-x&LpaUM&3(7Hq-~^f5zUzuNUzQ!hq*Y~MjF*n}VG zV}`!{DcApidNJZdUtVv2Y?3}^=!>6oeg7`seq!nC$@ws5=o|m!`opOgOJBx9Y(HY? zm%ixwM^G=$^vUs|95M8zFT4IJ)QdAc7FMudZMl92_2Sj)8((q#%awn!^aF|gnBjl( zTGzjida?AyL?1Ks?XSB2Yt)OSuY2|j;4StiX6UP5bNx-qKUw;LL?1KsHO4>WSzdp{ z(l?{+1^Y2WU%t-mA5Fbj`XwybgdgZ*hQ9Po*Plkc81Yg6V}GHKIoPNEd9qKIzIInj z#3nHGF+<5;}b zKfROZr_;f9{lAmf|7VlWBfpGXBfo?EBJwB6b@F$}uO$D5{95v#oago~BR`tFNQVC_ zUC$0#{4r(5es>z-Ik^`()`$Sg;8{upcw@?Z>$OdgY&t_{e|5W=zt@41K-q`d?EomcELGNFOuwg~z%6 z?$7b0q6`k0}wQGfU6`t}z~Urh8dL%&Gc!F*v0xK^w%DJTp)Wnj_0OSRjQH4o?PULrIoKa`{TpSUEPcz;zyyZxHOTQG<9evEuw@!8YKcHSL{pO_n#QW8(ESNTaj;i_j>Uy59P9pzsmG@T@7Jtmr z(X_Lc|9q!#y8HWQ&-3~smcIi`0F3gA8TlQc{xQ#Uy%_Pay^1zt0z+Q}*aU{YME&UV zTrWmA^dDbue{2FnFMgKAFCu``#l|?l7kiAymG;;0ev2QM&sD~G&%c(Q=H;{f0{2hc zXLjLVTpsW*X5_DMrt2@HUMzjlqF@3;Uj*0$hQ3JsJE#{U9QJ>Gfc>!v488bDi(fJdY~xZwIDsTWIMOYFxCeQ~Gj|D1ZU^l^RMVk={YzC`^=)QeZEFH?Ue_2NvA1)J~_ z>_-gygS*`SY3jv@w!!9h^87L8;QtF=U|hSK^KIn9J)D0-E|d3r zfyW;r--BEuA3z%#V21+Za>k(Zy^so*?F%QdVZFk;(Tv1 z1`LJ2o5{^HoR1Zs>3k}=O&%fF&+_nRlN--)el2-$$obvkVdqbiTO-b27mqrBpFA+; z{0s6Bd7l@tK9lc39-Q#__ZM$$(NE#_FfL* zA0!v;y%zWy>FqfL_!YcT(Eiyei*q$K9yX5 zsfUj%oP0jH^a>AuGr9dL=MRyKuXg@2xk3Ina*O;+^5APc{(cv^zjg8vil?e^YzYWlG~R#ZznI2Yvj`99{wuw;G3M^My|fa`9spb)%o+}_S>AlOD=uX`8M*v z$DI#+iSNH9a?u#ar=`z(c!{j>=1(DO{P#(+#$$hx^xty*Wn_&v{vm~b+r$5vtns{m zMArD(cd_jXe>A@JeaVBjy8bw_#(N$jYy9Q&rN7PNzftjj>D(l1yx$wi8h^L&GPkes zbnivh__hxtYkb+KlQq8U`O@#*7wYrnWQ}k739`l;{T5l{hu%!qc%J*c-2JK9Lp$sr z4+A9{+l>#y4CdYrMe$+t09lH2&Xa zvc}^ZB$w;~BHY+P)_8X>AZz@&w~;j-+^3Dh`J3ateUsrDPwiJ^jc;~P-Tl${V@H!U z{@1BwjmI@b*7#VjAZxs;zb9+_sB6g@&*>Ip_^0uie#3B$hjhf>x<4A9=os;FULH>% zYy6-Qvc>~?w!%;H_^&5xyq@=wHU7>u#=)N_c>ET_H9pP{$Qo~EkBi+ujUV%;WR36g zI5Ed(86p=r{>DzS#{am8tnobFLDu*jA17lV6b2y&i8joR&;Tmt@#SGVY2_GP9{DaRjzQ!}SfvoWfe#ZFfZ~w4Yx{LR zssF953TJ;>FJQR($9faP)nC=8$OG)p=~l*9e@=IKE%VR*mL6mbf7HLxab)#ZbOu@d z4?UZ#{)ApbR{uU9Glu^Id;9yT8yK$scWx!CKb(W?x&`*tzs-YS^Xn?nXLW}+Qy-Nu>XL9T}L53ea~Mc>-+qN8za8H zw?Bof@8>7Th5NdHHFAl38M#cpf?OqkiCiOppWGn-7r9Bkn_cI@AAP^QiCp0Ky(f`N zuO`>X?;$tHSCjR<@%3bVKYRcS9|d{GF8j6;38(Cr;d zR(r}VWVMeRA*;RPPO{oBzKE>$gNx#qc=}fwqkPmJ@7rXxulrB3+M^w4*XbcX+nYU% ztoCB3lhyv~JhIwzT})Q{tPhga-m0beY(I4~S?!_j_C~j__D!3}YOizxS?!M|$Z9Wg zf#S10$mNR9_vu%W^?v+&WWDdcMe+ImdH+S02l;+vyN2yvLi|AHDA@k@f!W31q#G8zbxe+VjYIU-lNV-hX|DtoKaFlLyI9BdhwYk{py1~{)@u)eD>)ml{GDDN z8qf3qa*6uG$Yt`MiP=8p5oGnxemYtGvoDa0XWVI*yGFk13eoR(-q67ZU{ZV_Ojbyba zdJqEl84A;@)-FH@;34mxk|o>yp#M+a*g~6@{7n{A=ksHOqF;Yy8nU zviduH5n27eUQSm31Rs>1*Y}?#tN)v}_*B2Xy@jmryZ5pU2LIJx%i(18KTsm8KY^3T z`o8xWWPLCEEV918waem=zWSrF&k6#of16K|>+G+^n$?Ez=CJ$w1G2uyF0Au#_0MxK zS^ZU%$m;*%WU{{JA0exM0DH~q`DgzDFC**w{kN0VKf;ydLB{_wS>JnqkF4*ve@(6* z?fE%mJ?(9Bwq_^6zWPgf5?TGf43X8J%Pz9MmwyRa{asv6R{sI-C#ye{tH|n~;s&z% zTe*#_@5%Su!~IkLK=&o9f1Zbt)!)fqk=1|7Ib`)`atT@ed%TaV{z9%H>-+C-Dg5bP zUOytMf1clxHGbyZ_H=*S?0@_LhF7jtp4L)Mpl3D?<1?d^yj5# zd+7fltN+5ElhwX^|GikAJU(t9tN+YLk=6g@8DxzIQ6;N?+zZJXujF+K=ku{olGQ)# zx5?_?^e2kX@kb8a+x;8hcoavGH6F?1$m$>WOtSimJ&&yZM_)-U9N^pUeG31aA74MM z@KGLb#ao?!Ms9O_&%5vA{%O3-qsbai`0-?o$2cbD_zdTh>&)M)$qh2bIm7X=Mg9W0 zN=Co;2-o-~zakGZ{BCz)_*dQkjbx37aXeYyC!a;u_tNK+_5J$giqG%EKT6j3-d`o_ zd+nRa`hNPLeVLybFaM2XeV>0SS>uOq6W_z**U0J*`VzAG_kBBA{Vjijtp01iK~{gr zOJse|yPsXlhw~4=ciu?W_r@oaHNN_&!e8v=`#0pmdCr%SHJ;2ugDs&@ocije|s5Oy~q46yrN!ECcqhyW8_(HPA z2Yn-1<9mLbtnn&uAZz@)Uy=2F&He7`_VsnDCPlerm$cNO&ya zsf6bees;naCVWxC^@QJ=@ZTl;!Gy0&_^O0IoAB2X{+EPrO8B;f|8K&3+^u_m*gxTW zC;WhfADZy72|qsJzf5>2;pv3WP56R@FG~30gkP8Nn-YFk!hfIel?h*+@aGc#a>Cao zd_%%NPWaY@f0giE?%ut<4o~=)gdd&o2?;+j;in{gM#7T`&nEorgrA@A%MyNb!he_W zKPG%t!k=jZAo}F;b$d$LBcOd_*DsCp77ff{)dFGO!%sVzmV`(50u+WaD$Uu^S5HowH?m)iU?n_q78D{QXY{I@n=Y%{L6UupBJY<{)Pud(@c zHeYJ<>utWw<~P`Uxy^61dC}%K+5Bdk-(vGyZGM~0xK4kE&F{4NT{i!n&F{APJvP7B z=J(nBew!OM|Gmv0u=#^F|AWmRviZX{Ut#k{Y`)UwkJ|h(n?G(duK7P{bJOOlY`)s& zPucuwo3F9?Gd6$L=Fi#ud7Hmr^FP`AMVtTG<}ca&Wt&?zf5ql&ZT_mwU$gn^Hsc=R zI-9Sz`I|O>%jSQv`P(+%VDoou{;th!n{TxFdp7^8&EL2A-)#PY&Hrxm4{iQGHs56P zf7tvZoBz}1AKUyBn{jV)v(2~I{8O86wfQ!ie`d2y&Uw#xX<@lg|1 zwv7*uja$Oo&b8z!mC5P3@!9#x%*ZpxN9QXeyDFpAg}HHais3tVOqsMgV{yhNCnoaN z&(Bn6re?O9%}6u3BVTjQ`0U8coaNHv4o{gET~OIEzGGx^daQe;xwKHFmkJpf9^F1Z zJyz*TLo3IpheJWTnUTr)9m7?`99hWn)>+wcAzoLRSeUZn?oOfOn4(UPP0uV#bFMmT zn>H&h#vPr?3cjTwn0ay7Um{rrW4OcXHYA; zjEpT<-RN2~F}WkjnB?m zot#S)lXK%|FJL$5a(r?wXJbvyg~Avc&ngqkadK|C=aX~K8lRm>lARh}R?b+JoAs$l z3mDGd@F8q&I=51I*xcywbXr}e$9JaXi&eSSm)F6W>8W&s&!p9Fc`?|Uo*N5cd6m_Q zdF#~VL~5-^e&_PCIzK$O9m)47KLz(lG7HX4dZuTF=4W#2-nrwGTeqbpzjImP#q~vd z-~6uXcvfS_tVRq^kB-k(hR3oh*jc%?v-fnZ#8G%`ygI*4m9Y~#J3ci&+&Oy20Xt^S z$@aW-{jwB!M7N`U#g6u~W5e^qGL{om88MrGevD$o`#6>>c8(ZXn3(9CRV-(f;p$|? z4)*bpD6F>gWO|5?*W(;FA053AHacZz4BNTP-K=cG`szY_rogIDZWU|=d5g7E!?RnJ z0M2-mW8=wr&SRMkJNUMe?%4K|Zc4js!=G|N#EDQF+P}w7! zR`n~R+a{;RtduIYi)TqIaB_MgJM3!R%>1_T*-%Q$6!Y`5mGm$GS;&rEB#jP_Zp$`) z95B{1WU_ZimuE8J8$QmYLZ)YCcXZB8nf0Fj+NGNvJC#y(bkgej@Z4Nw*?QZftzv8& zAKhLVnVlTlI^I>sO&B6f*mYB7#LoU>td&v9QG{I{CpU0(IJ+k3N_A>-diz{;ymKm5 zsBIv-GNV(&wsq2E=W&Rz0NXCPL99czI|R=aXLdYXK+ep0jnwLJlE^uRV12UVU{$h5 zU{&5emaWf;pT7sqZL_EqUHV!rpQ&bNj3f*@_SE?F*3JPviE!@hRbmEUSgPjk8ihU8nvoPba2^w`PaWu8_HfD)yFK=d*|_IF`j($+2*dvpWR4FwZrV zUP)w$PEJoQca6LKinW+=cHrP=2UEKnSZ3Ic`19NBdVbg3{P>P#p{Q@mR?d!(&P-3| zB{qxwV=~7Ijt^E(!a;Y=ZohKN0FlC(WcShXwo}ZDxe`+{|&HjwbfNVhXq9xqc|63Lh4%7&&kMhQ;MOH?C{CZ!$ube3ji{bYJwC z-nN>1Iaiq--)a}_oeG|Ynnin@a{Tzj@WRymQx>MjPr)-8J9t+rBYr2Na5j6xT5!DwJX}gh@%S? zd#E)zi)R;jTy>6RVSFc!9TP!--|2ZP0K3(&i&XoautyzsRWV@)X>(~}Y7T)j)$!>K z$3ONde|7Sf$_Zzj_Lp0*Zq~|uLigVj_V~5LIuRm6lh*@as2=wj$K$9rkR@R?m##`QDC&>3}H3LIrrWV>YzHyb;MOhJcuUnYrS}Xr;!{(EoW7@A3``L4$PWooS z-!9X(!ZTz$DbBV9?5(ILVZpcJoZTRg&L>;nGHI8@g>d&_PK7JAxyh}=qkfY&H#Lrj zq$qLh-Tqr0My1zbq`My2Nn+IQh)3Z9mQlF)70*?zFl^5+I*T%Wo(ak%mlbA=hZ5~;$n?PUQ_>fHx+4SJe2(RwgylvOm z?C|D!drm&L86KH6OKo!@tgm#|Y#ROjy0RK4QXe*^D>m7#xMO(IHmmP_mC+IG81}e) z0(%4&wvA6!1C5Q3ENqRIqJSL>I~jnbEMV52b>hJV5*^(!W)*&}I%AJrVbk`Y%Dg}1 zw&U74;jm;+4$O^h!I$4}VTEm&x7`-zCvCfhJ#%v*{M-TCY17o?$lPZ86E?@D;rqMc znFkaqCq3=>)9v6m=@%-Mty422xFheZ_BA-uaIM`n+X3uZ??N>9uWe<5|ffr`|4_7ZgVpwn)9 zciQ>Gqt49QMeuy(T%3aMnBAMzWOnPE)e`%=CY1zsvpNzUmP}5ES9UBHJ8aF_vx?bS zoM}Tz;R-Vxg)<6o>;l=TJDmFi;Hkp6J-OLoHwX4`X2#x3btQ_c0t9hoFpgIivH3Z? z%`$5^lH8%2Wo%^Y=7RlMi;V)a*)}l<`z}ifs9i9us$flZc6?%T=N(!=cCgr7us>^2 zKrovXkbzaMs7j))SdrP|QhSDEdwX_Nvp2%1P7qj?f+$oguhv)_l;IL3RNyH7^0s8fGYgSFtlkM2}lpVM4$kUnKMA)T+ zl@k}%qM&3tE2(hG3XZY3umU^SjJQVu|h8HnB$+{t>dZk<^uk% z#WoFgxkXR2BB)wJkMO3!iiPY?GCSPax$HnVGdmt0afCOpojBor^c`M`p*542r9ZM? zs}iO4?sE0ER%z*~1s2-Gb;{4zc1jutuWjdsm-)V%c?7&1_gDYea&h}Xn3)WBg7 z{gc+YqTT?(dK*B=L=gcd4z{=7y-MB{N8`6|3I!bLM)>4(;6wog=ow-bJ? z750*B&FIVm8ggfm?3GUEzM49qD@!rr+ z8lia<-hhT%6MK!UMSF==z-!bsI|X)($L>#dPJUU00vZ;qnV%iw-G1Wyn}rp23{P7t z_BC@dHs9@LcI^;FDa_hk<62$%WVURQaB+arT%yIq+>Uf1Gy0<+2?4}5TVZXWkiJb>i+9o8Y{8eI*^w0!TBwO_Qw z7et7wyO%X8$(Ic)^6%Ss*c%Jt;)jY&c?^)Ka=$CoYI~$!_LDqe0_40kqGm$y6 zLLL;ynt+8S3i0cV@I6zdY8Nq~fq~a6&t!OwUzr?R>pW(D^vuH6x-V?1`=?knZgipL_0wQP_2pKm|4tX)o?8_TkjI*JN&C)lNPyy)e6 zXJ?LX3A^=tM9|$%ge&J~=Ive}ywCJCnN<7GTI}x2o#>H$If?DIMrS`-?%`m3c{epT zv35rz*^d2;4@V4Nc0AI0IG^qg=nRAnKgDlbEBvCiV>V&tLklq zx%|?uQ<`xFpRklePY~S2DS$w9xc%6Pi1Q*5&YIjdmKD?v?R)r>Tz2t=UeK*^V9c z8)O9)uyAMCFLM2e{kAWUb6k!6S9M#9{UY)$bEBvCicuIv6LPe&T$}e)vH93puOd;X z9KADC6uPy{l{f=|XKQEdOgS@Uuha5EqdPtc*6L+=m;HES z*#X@vRCrIHz8AkE-x!aL+qY5nodSN=;!xm*v$7f6u`}#i+^|4>J>1#cSZm+q@~h(R z_1M&*Jjc(m>!~OiKOEW{Sl7+6L!3~%kYM)Y-z%K0nhfnorz_`Jvni`--pn_AHI|9+ zlD`un21Qw@OfT#(k$I^`K$i3Z)@1D?PpgDgXeJbj!y24UO|99+aO?3FSqQ5-RW&JE z2FGRL+3@d1*DfQp-<=g-xk6?bA#g z`Z~0J1;@v%GdTNPP)!cQyAp4Yh-Qj8eO4)EWjO7QC8xKf9(~pz>F)1uJ0|sguCJM} zulmqkg7qE6+pefDCTm}AZHCc5mDOtd7Q!X|9iWGG_mQ!zbEfVNK*BdXb_AQ4vAx~X z3Y|51qs(Ll9!_>TXR&X^LsPs+isqd7+%Q&$2GaJ)w{;z4pC)xX=hl6lT?SfjfA&GK z{0KsZp&_;UkHRO*NG-Ik?j4C`iO(yU$lRoT7i;g$gRqktGnsAUIE&dzT=vVcip7|+ zE;_86m+tIjv2SO`JDoB`V>9bX%zO37?5Ti4pEB0D6(eBkOj|Hi$Kb zS)qf^-9=cY@9yF&%edFW)pX~Q7ss6L-BVa*V_DBFwv$wcw_csa&hPEa&i*sAcI^<= zey^|mT4mXK-vYDNYPqYQwamC5BgVY%l5Ahgg5!Fgt;9DizgssltM9Lc&A;Kab>Y#g zi=+GyXm;0Ojg`yp`^s5m$34HV?s-D3Ku0w_`Vtzoejcrd2jAe?*67ilku_2eoffJ4 zA|3TmgS$GTa$|n}n5%5JZZGgj%fjgV0=k;*>`eYX%8w_@oLITXC1k934_3YUslsMN z+qk$R$}HDNa>YPY{N426mF>y6rs53=w zS?`9g6LWk=bw2CvjdhKE^;x9!WE%Q$P0wsRtJq=IGoW*j^$nw57sFvHV*6NX#y&^R z3`bW=o3N}hh}VbnW~X<-Q>g_+2k9GZ%3=@4Ilezjy5$+0N2c zHLx}-^&WkTqU`fJ5be?DXtt?r=k3u)rG<3w@UaG;D0)WXwLQDdTy0mI$Z4<6U3cGS zYxpd3_t7$sahU9Mwi)#aro2U~mUR=>NhRsU83E|_vePMP*8A?A_x`8jVyB9R9=EL- zzV-92Zj0kff}CLMhymA1D!!Z;Nr#hpF*;Yk9lL&@r|7H~)SMWT)8PpYE@;Ef74DksNbMQu z*y-61wCz!f9c{;GZ6^)veCZ*ChuzRjT`|?4o%_%`M&}rflkLnjZs_j3dqCu4XBX(K zw3^eo>*JUL{)SM+YsF(d@+zk|ruzDnjOWrvwJ*1L>7XqcsEU>Bg=JhsQDAV#>#e@E)VfZ@SV3> z2Jbo*64%9c3GbgVdw%SCFkKZ+qusF}#1o{vsCnxVKfj}6B;Gq@_kEK0i~*B&#S!N% zT7^SXb`9LgIR(jm4SYd`*zei(+u zx^nQ0`5Nzqky*vFt2jz{*cHd<+KHJ!cVTv|%qasTDG!i8wyH)p>@umc&ARW&_A`X% z2B0=(Wi@7x@emUo@^)7;gm^{D3y~(RX0a+S47z+f%h$RM^x@IjB|7OZUoW4!YePrD zeB|bxzIKHv_jzGiK9(t#TSr{gEU$6$Y2~$@T8Q{vb)!(hDz9OzLOxE)o%t|{@qD7E z_Z--zYp;mc<&EVN?*NQzsp1i@b_=duz9wfd9rdo8XnPE3qK-vO zkoB#SH`0);?ln45&Ja3Q!TJ@+zJqA0<9T%zhFiJhfMp`z^jlFvZ0bSIfu8Sw19D*K3Qc(%V>8_9)8AFfoHGhn!WpaeE9wgsVq8F51;$&jGU%3%O(e zD4EXKS~mK{Mq6urYTbDcl97*{D@t35+mX@GVQ<%6PIpLhZ;!xmi(?JD(c`&2-NSp5 z&QL_%YVWn%4{jC`?pVS&AbiVW7k6EQeRRdiA1fr>f#i*CQVG7{A!}YJ0!PN}`EYnI zVm&@hS=Xw}fi}IYyNMpI@eU|EH*|@5j*b!@Yie{9JYPy}TD7;wyZOVX^coCCk6=B+ z*+p7@L3D1*!>A*7-sQsN(;c?HkmEbrM8|I0An}kDV|R_?(s^%Z z71%>C6vdsl2!nS~2_|P=G{_#cu9m#Rao&5_gR;;MxE%{R<1pEEC%dBeSh~2`WS5); z9}VozTMG2AQx4q;(HuHfE(^>%&EZLLTQso$2M%#_5@vJMmMjZZ|tQhS#0P zGPY^)MAtgi>I^e9Ww&>BgWYNS(Jj$oDy;2(;FLA**_e$Za_6lJSpju??Ua%NHCRa& zN4Z}X5Z-ykgIq0-VfS!og|V!WNji>^zZ~T5rNNC>vCWn_nXRze?E|9XXcY~9+KCX( z*x_wOcG8Ff`SC}1X5JaZFp3a*$7cTGLg+-ng>W2Vr&_CKS-8qITY;L1)+v6<@4Wu& zM97~1E!Xy{me%s%51>NA%T86qFg6%2F@E%kRoNp~wguhI$TVJ^LSi`s@MiTrjOV4X zxKyzDq1_{Og_K#76<>PK!h;!Vuf?JfmOSj}-eC-hhZt7++QqCmWGW}9+s`aQGIH6n z1d{OXRKg<>Guyp3OB)cyzuQ{(%q~sRH*EY zMX!@WRL&6eIH&}3bR}n7GX$*$;;Y^+4^$9Xne5AaFzVID_liwP3xTe%WY3wNv7sS? zE!?i#Q87E*^;(}P-0{>{8Z1^8#H1WBaD?YKFDOc=m2C-3woOk2aF!+ho{K7 z;&2+w&1nd+=da82sU0uAm$oZ5)?nr(j0fFy#!X}ReJciF&1zd3B{adXv1GD=NSB%M z7~z_xXDYZM;}NH49H!&Pr7Tv*9G^OHH_9Sp4s$C_kDu!oSS!Y`o0#lwy<>t&pn*V7 zZy5*UCnU$VPCDJL+5rrMXZiUTN1n{(Wfw46NH{?0aGbBr4qw?(00VN3{vll7(9zDG z?<=~la67Nqa{`y$vM>%#6?l535=*7Y`sB=#73A3P?75S7;-`11qn(1pb%%T3{gRIB zvI^Jpw$CG~oKjh`zE}C}eAu7=A)JNG%TCFe&t3IzSrtQsw0>coj>Q%h-&uw9!l2Cd zl74b*Y+*;$3f;!CQyGS%yT!86yRry4OIWMW;qBw$8CLdsKdiyF&DI1>#X6!5PbiSO zb@hxJD!dl7ue=uQh48HP8!u~cCmh$zmVefPH%gUZ8#pYqCfaoF@GfiRF>GHd@<0`r zN4zrG=xZ{Zuu!Tw32T!1xz{|RQaJQqdxQmu7uy+sbp%2}K@GbOA_Vx4a>A5?z zft!OcVv_d+5YD*v5TTP7UvFP$b$XqSLc9BVjsh}S+`DpKc-E_NULd-t?QEUf(-E&1 zd2X@V2PKwl=3r-w=49G?r0lqW{&bgh>6&?NDd%*ds$>F z-gQT?3n&|66Q9bOZuyJX7C*|OC+T`?-P5Y)SR$HCpMa$A}$su7&q&k|SWSX`dD z$X@QIk27yQjpgQk*?LPfuZy>=M7zSfbLrhLcjUWs3OzaHIkkMfZRWggxgw{c@Qzcs zpw1h;Q=M{WY4-3G`#bs;>UOe6Ur3QNIsFmERT9a@{rg19?tW>qu~9l|9Kqtwbvl_< zm5H{xy7*Y;KfC_uJ_;&!ewQa%w-&e&jfT$%T}Q+vgsv>|d&amE_Lvb0E%beX9xqnt zlOY7hJu>)43)0`ELkHff;k5cc)`!6Fw=00~2=;%+Xa9UW$mZz3)A#wdM}$|Pd}m`V zqwKcdF4}cFZilAbed5krzL3mnzF)V!?hgI3oF6m)kA9wPdHUb>{jFbluktI%+>gyV z&tG$blNNwEF>cq_eK~qO)v)>=8XTy)=S2Jce599?@PGGvJUlA2b~Se8fQ_IW^!`Fl zF|sGLx?td)l|C2qv#_u1eiC=PKQrr=|Id6-X1Vwsz8%Z?jtP${_z6Vb_bQ!FO_D<- z&W*iwp>bf>$27hs{+cG7vUdNy%?eiF`yaoc(MM?bpadn7eF?%TF*+?4C zL_%}=(9qf*hxBNN+pDc@PJ3DwliHWcq2Ilw>g{Rk=||Y^hL5-$+ihD(wf5;WQ?skL z?uKuCh1`k3c5{Dh7ijxY<#%lt=#75ac|Q-GBGQ@G_|t7vbfO)g1VBelL)o0+b9Q?OF!Rc~TZ((e z$otSj7f0FG0o`|Vat8Uz56Mm%tH^rR)Qnc69W7k8R~i{UcZAyA52j{`CW9@7JBQ@y|Lqvz zqPy$mDU5t!IS)OM1W=j9y`BAcdqLwi>iwvp(|(vyqk6YiJ+IJ{{9BP_4(pa6d~zl! z>M`4Tr){kNx3mYx>x2s0&)D-hdxpXnKH;^!A9ll=imuoA_^z+>(g%HaN0^E5Qf|Te z{_eau&DM0@HTtR*hd0mCws&!1&;H#;xJ{BtN0rUqLD`drRdulM>4n!Yx2v1;{|Cd3 Bv9kaG literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/bin/hydra_persist b/macx64/mpi/mpich/bin/hydra_persist new file mode 100755 index 0000000000000000000000000000000000000000..a137db452feaf6394f86f02a2059c9cc063e555d GIT binary patch literal 378824 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

)cp_qG#QT-H?; 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 SSN)Z{PUc4KvvxatWBUK}MvOfG literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/bin/hydra_pmi_proxy b/macx64/mpi/mpich/bin/hydra_pmi_proxy new file mode 100755 index 0000000000000000000000000000000000000000..bb6dd03bb1aa2f7113da585896ea3c8bff22a65c GIT binary patch literal 453388 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

`@F3*76mlDeWS*|Tl9wiLLs|gi*FTRkzS+sx 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%0A9rK`-6H#WOlJ$%RPAvOt2Cs65+^wOhTbO_9 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 SB6U~0@+(!}mg`?D{`-GOse5by literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/bin/mpicc b/macx64/mpi/mpich/bin/mpicc new file mode 100755 index 00000000..1ddee31b --- /dev/null +++ b/macx64/mpi/mpich/bin/mpicc @@ -0,0 +1,305 @@ +#! /bin/bash +# +# (C) 2006 by Argonne National Laboratory. +# See COPYRIGHT in top-level directory. +# +# mpicc +# Simple script to compile and/or link MPI programs. +# This script knows the default flags and libraries, and can handle +# alternative C compilers and the associated flags and libraries. +# The important terms are: +# includedir, libdir - Directories containing an *installed* mpich +# prefix, execprefix - Often used to define includedir and libdir +# CC - C compiler +# WRAPPER_CFLAGS - Any special flags needed to compile +# WRAPPER_LDFLAGS - Any special flags needed to link +# WRAPPER_LIBS - Any special libraries needed in order to link +# +# We assume that (a) the C compiler can both compile and link programs +# +# Handling of command-line options: +# This is a little tricky because some options may contain blanks. +# +# Special issues with shared libraries - todo +# +# -------------------------------------------------------------------------- +# Set the default values of all variables. +# +# Directory locations: Fixed for any MPI implementation. +# Set from the directory arguments to configure (e.g., --prefix=/usr/local) +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +exec_prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +sysconfdir=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/etc +includedir=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/include +libdir=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/lib + +# Default settings for compiler, flags, and libraries. +# Determined by a combination of environment variables and tests within +# configure (e.g., determining whehter -lsocket is needee) +CC="gcc" +MPICH_VERSION="3.3.1" + +enable_wrapper_rpath="yes" + +# How to pass a linker flag through the compiler. +wl="-Wl," + +# Static library suffix (normally "a"). +libext="a" + +# Shared library suffix (normally "so"). +shlibext="dylib" + +# Format of library name prefix. +libname_spec="lib\$name" + +# Library names that the linker finds when passed -lNAME. +library_names_spec="\$libname\$shrext" + +# Flag to hardcode $libdir into a binary during linking. +# This must work even if $libdir does not exist. +hardcode_libdir_flag_spec="" + +# Whether we need a single -rpath flag with a separated argument. +hardcode_libdir_separator="" + +# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the +# resulting binary. +hardcode_direct="no" + +# Set to yes if using the -LDIR flag during linking hardcodes DIR into the +# resulting binary. +hardcode_minus_L="no" + + +# Internal variables +# Show is set to echo to cause the compilation command to be echoed instead +# of executed. +Show= +# +# End of initialization of variables +#--------------------------------------------------------------------- +# Environment Variables. +# The environment variables MPICH_CC may be used to override the +# default choices. +# In addition, if there is a file $sysconfdir/mpicc-$CCname.conf, +# where CCname is the name of the compiler with all spaces replaced by hyphens +# (e.g., "cc -64" becomes "cc--64", that file is sources, allowing other +# changes to the compilation environment. See the variables used by the +# script (defined above) +# Added MPICH_CC_OLD, MPICH_CC can be used to prefix CC with external utility, +# e.g. setenv MPICH_CC 'eval linkcache $MPICH_CC_OLD' +if [ -n "$MPICH_CC" ] ; then + MPICH_CC_OLD="$CC" + CC="$MPICH_CC" + CCname=`echo $CC | sed 's/ /-/g'` + if [ -s $sysconfdir/mpicc-$CCname.conf ] ; then + . $sysconfdir/mpicc-$CCname.conf + fi +fi +# Allow a profiling option to be selected through an environment variable +if [ -n "$MPICC_PROFILE" ] ; then + profConf=$MPICC_PROFILE +fi +# +# ------------------------------------------------------------------------ +# Argument processing. +# This is somewhat awkward because of the handling of arguments within +# the shell. We want to handle arguments that include spaces without +# loosing the spacing (an alternative would be to use a more powerful +# scripting language that would allow us to retain the array of values, +# which the basic (rather than enhanced) Bourne shell does not. +# +# Look through the arguments for arguments that indicate compile only. +# If these are *not* found, add the library options + +linking=yes +allargs=("$@") +argno=0 +interlib_deps=yes +static_mpi=no +for arg in "$@" ; do + # Set addarg to no if this arg should be ignored by the C compiler + addarg=yes + case "$arg" in + # ---------------------------------------------------------------- + # Compiler options that affect whether we are linking or no + -c|-S|-E|-M|-MM) + # The compiler links by default + linking=no + ;; + # ---------------------------------------------------------------- + # Options that control how we use mpicc (e.g., -show, + # -cc=* -config=* + -static) + interlib_deps=no + ;; + -static-mpi) + interlib_deps=no + static_mpi=yes + addarg=no + ;; + -echo) + addarg=no + set -x + ;; + -cc=*) + CC=`echo A$arg | sed -e 's/A-cc=//g'` + addarg=no + ;; + -show) + addarg=no + Show=echo + ;; + -config=*) + addarg=no + CCname=`echo A$arg | sed -e 's/A-config=//g'` + if [ -s "$sysconfdir/mpicc-$CCname.conf" ] ; then + . "$sysconfdir/mpicc-$CCname.conf" + else + echo "Configuration file mpicc-$CCname.conf not found" + fi + ;; + -compile-info|-compile_info) + # -compile_info included for backward compatibility + Show=echo + addarg=no + ;; + -link-info|-link_info) + # -link_info included for backward compatibility + Show=echo + addarg=no + ;; + -v) + # Pass this argument to the compiler as well. + echo "mpicc for MPICH version $MPICH_VERSION" + # if there is only 1 argument, it must be -v. + if [ "$#" -eq "1" ] ; then + linking=no + fi + ;; + -profile=*) + # Pass the name of a profiling configuration. As + # a special case, lib.so or lib.la may be used + # if the library is in $libdir + profConf=`echo A$arg | sed -e 's/A-profile=//g'` + addarg=no + # Loading the profConf file is handled below + ;; + -nativelinking) + # Internal option to use native compiler for linking without MPI libraries + nativelinking=yes + addarg=no + ;; + -help) + NC=`echo "$CC" | sed 's%\/% %g' | awk '{print $NF}' -` + if [ -f "$sysconfdir/mpixxx_opts.conf" ] ; then + . $sysconfdir/mpixxx_opts.conf + echo " -cc=xxx - Reset the native compiler to xxx." + else + if [ -f "./mpixxx_opts.conf" ] ; then + . ./mpixxx_opts.conf + echo " -cc=xxx - Reset the native compiler to xxx." + fi + fi + exit 0 + ;; + *) + ;; + + esac + if [ $addarg = no ] ; then + unset allargs[$argno] + fi + # Some versions of bash do not accept ((argno++)) + argno=`expr $argno + 1` +done + +if [ $# -eq 0 ] ; then + echo "Error: Command line argument is needed!" + "$0" -help + exit 1 +fi + +# ----------------------------------------------------------------------- +# Derived variables. These are assembled from variables set from the +# default, environment, configuration file (if any) and command-line +# options (if any) + +PROFILE_FOO= +# Handle the case of a profile switch +if [ -n "$profConf" ] ; then + profConffile= + if [ -s "$libdir/lib$profConf.a" -o -s "$libdir/lib$profConf.so" ] ; then + PROFILE_FOO="-l$profConf" + elif [ -s "$sysconfdir/$profConf.conf" ] ; then + profConffile="$sysconfdir/$profConf.conf" + elif [ -s "$profConf.conf" ] ; then + profConffile="$profConf.conf" + else + echo "Profiling configuration file $profConf.conf not found in $sysconfdir" + fi + if [ -n "$profConffile" -a -s "$profConffile" ] ; then + . $profConffile + fi +fi + +final_cflags=" " +final_cppflags=" " +final_ldflags=" -Wl,-flat_namespace" +final_libs="" +if test "yes" = "no" -o "${interlib_deps}" = "no" ; then + final_ldflags="${final_ldflags} -Wl,-flat_namespace" + final_libs="${final_libs} -lm -lpthread " +fi + +# ----------------------------------------------------------------------- +# +# A temporary statement to invoke the compiler +# Place the -L before any args incase there are any mpi libraries in there. +# Eventually, we'll want to move this after any non-MPI implementation +# libraries. +# We use a single invocation of the compiler. This will be adequate until +# we run into a system that uses a separate linking command. With any luck, +# such archaic systems are no longer with us. This also lets us +# accept any argument; we don't need to know if we've seen a source +# file or an object file. Instead, we just check for an option that +# suppressing linking, such as -c or -M. +if [ "$linking" = yes ] ; then + # Attempt to encode rpath info into the executable if the user has not + # disabled rpath usage and some flavor of rpath makes sense on this + # platform. + # TODO configure and config.rpath are computing more sophisticated rpath + # schemes than this simple one. Consider updating this logic accordingly. + if test "X$enable_wrapper_rpath" = "Xyes" ; then + eval rpath_flags=\"${hardcode_libdir_flag_spec}\" + else + rpath_flags="" + fi + + if [ "$nativelinking" = yes ] ; then + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} ${final_ldflags} "${allargs[@]}" -I$includedir + rc=$? + else + if [ "$static_mpi" = no ] ; then + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $PROFILE_PRELIB $PROFILE_FOO $rpath_flags -lmpi -lpmpi $PROFILE_POSTLIB ${final_libs} + else + fabric_dep="" + if [ "" = yes ] ; then + fabric_dep=`pkg-config --static --libs $libdir/pkgconfig/libfabric.pc` + fabric_dep=`echo $fabric_dep | sed 's/-lfabric//'` + elif [ -f /lib/pkgconfig/libfabric.pc ] ; then + fabric_dep=`pkg-config --static --libs /lib/pkgconfig/libfabric.pc` + else + fabric_dep=`pkg-config --static --libs libfabric` + fi + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} ${final_ldflags} "${allargs[@]}" -I$includedir -L$libdir $PROFILE_PRELIB $PROFILE_FOO $rpath_flags $libdir/libmpi.a -lpmpi $PROFILE_POSTLIB ${final_libs} ${fabric_dep} + fi + rc=$? + fi +else + $Show $CC ${final_cppflags} $PROFILE_INCPATHS ${final_cflags} "${allargs[@]}" -I$includedir + rc=$? +fi + +exit $rc diff --git a/macx64/mpi/mpich/bin/mpichversion b/macx64/mpi/mpich/bin/mpichversion new file mode 100755 index 0000000000000000000000000000000000000000..4e4a539f1afe3fac4f48e2739bf6a314d63244f6 GIT binary patch literal 35020 zcmeI5d6ZmLoyRL7(SS|@sGzJtiGnd{lCa|do$gAyNGIJ?cS1n$SzYz2t4wXaSJj=C zQKKYE8zMO>M-XSo0aOewhzrJYzUmRXz zeu-O_3BN2yp=RfK2-fCP}wjO4g@Z$JMcwWh`H2eUL zIJ~D#cxy}m!jkXNr!9W@uo;wVqs9S;w{*6S-#bhp2)my|*s$=te7zRN8OY&no1??C z#UY%?KR0j{UaK}_K0sY!R(ZMKoztXUA1HR_a~#qy;Yh#Xe&oKF;u1R*{Z~qi zW~aJVhkg)tjRd1*{Dob;^?a-9*P3BhzFzRV%7t>6uaEh`L|4AiSkNq$gF+)0G$$5> zLB6ZnD9e>Eb(PU3bCpWhl7&kaE>dYj`e3zi(c*5_pz?YOJIJQC!PTg!r6)gP}1>%y*qhF|OH zUs$w~t~JQf7?ZZMPkPbnQAAwwo{7w&`ch*Y$1r=Q(1x`J@nmE!w$j4?4O_-gkXU zS-nbI^=YeLE32Ed)humwlD4`>S$$Dk?We7#YpWZT)h(&!Fz)pd?u>ig3m3T8R#-v! zH!ZwP3oq8fzi8o?w6Lg!yR~qe7M`m@-l1>$xVE}NTb(TKH_!Y$NHXY*^h0wtJ&JC4 z(aydP-Yr@9j_wP)FY110w|CK9bI#j2=lJxtd(%6l%=_+5-z4At`4<=ctosh>`tRMe z6?rPcdpBJgnLZhru8d5diAz{lEWqJ!j+ckuLn|99G_*qzM@#jSRb|d~+B)&?-^Ne^r5^oam zY$HB*YHCUc(iHLYa3x`%9*GMg{*@8GDH0EgSRyE{-x`URiuh(Do)L*p7V*_a{KuE< zE$54PqY*zGi4PTV)rcR9#Ir=a#)$8U#4kXy>ntPwN+kZBh>tVk&qv}%MSPGEZ;iwc ziueT-m?UQ+65lG~CsZwv(gndm^F*Ct*Nf#nT6BySeOg3c)1ujb$j>=?1I(#!ioeX% zJu6RpY0hO`2z>J<32idHWAi2{?8)>kn>R@%m`vZaS=E)v^cOd)dN-NAVY8}=lj-Xx zrTNa;^v`>yrk-4hf4km>U{T|5N51rJJ{8sDDBNh#&i=`#b{z?;Z_90WVeXLHIyG+_ z98Jx;R{g(T{g+BJHSY%Xf4lnsMf~sIa^&mq)jc#dPpa-#r2;q^z_X&YQyPs@!3BXXZ?zw3;nqg)6*S!uZje_j$(Ye8%9r0 z64$Ox@Ul}*NisQCNtm0#3@WJRn#fDz8d)sm%$Icf@^QaWo=Rsu5#MsjJXJnoM&}8= zc^dR12`QEO;o6znpy(g-Z;zSxzQW8`4>aG0neSuG_d@f1s`>uM#BSeR_T|979N3ow z`*L7k4(!W;eL1i%2lnN_z8u(>1N(AdUk?2L&Vhs8SUOKqc;?w2R!K6RStRj#dQ#^G z2X1BQ+O;W`VR55f*3%}67Eao2^a>7#t5%NMgnDI&#b%2fV%g8n<=1)n(mHRnl?w`T zI}sNAAZP$&&rt38dn4Gk#=_EuE3t^BKGU|QQb9@Qgty#pdf3B~%_z^VaBWQm4OqMP zDCWu)Y={QyA@|ppn_}KD4Nz=g*S=X4zErsCS3?AeWw53n)E1pA7F)$4c6X&9l9I0? zqPE&i^KkxQx>qeBct782`Z!yVlXxFf&6R5@Spvoa&$DuFLq66Z;yKe~M@+9D9imvT z5y|3@tR1BK9DFCq?!KT7<0;#-M- zO#Bq_--%z1MM^h4hZD~uKAm`oI7eI~mTf8bejg$JB=I)lFA?8HEIVj!_zx5RhWI(+ znb`kw{mTxZ%f}KgBtDyX1@SwG$A~{hd=>Fmh;Jjlhxn(&vcKo1=g-8lv*_B(uBOXJ z5icTML3|-`op=NBRm9tgWp~q!&v%J`LHr!?Z0x4G{*NR+f%q)qEOCywNxYf(YU1t0 zw-SGs_?N`HiC=+(MQ-}$5}!!iOT3o2Mf`8XHxu7Q`~>my#IM3(CpW%F5-%h^n>b6H zC%%|?EAe&2JBS}7{uS|Gh-c#blAE5xi5C*5iPsRXBmOY)HN;;fzL)q3;=dCgfumY( z{1+4V5uZm~BpxH4B))?92I3vW_Y*%#yo>m6#ItZf&Q0IZ#7l^~iB}T8i#R0SM0^eL zH;I2n{4DXoILPJ3|9Il%#KXkvh(AF5N#gCqJBfcvyo>ln;@6n{NUK1dM7)yNCw?FC z)x_T*{t@wSi2p`>2n*LmBe2rzKi%r#Lp1VGUs}2{=J3xY~n0&jd&yR zHN;;hzK{6l#LpAY##G3yug4OfNxX)*OuT{kQ^dCuKSul~;u!}e<98VGDa8H69`QKw z7UFA(Zy|n=__xF_5+8^OsGGk>5}!c4lz269llT(iYl-h5{vPq8#Jh=Sy(Ss|dBmp> zpF`{sZy>&!_#4DOBz}r``fHQ%JB0X5;vwR3;>(D)5r3QbG2*`xAN;yx{N@p#L3}Rp zDDfuZD~P{J{2=je;+a?gaqH(%#9hSQ#987I;*fYF@h6D45#LO_llc3@j}bpleDI;k z^v)+v6MMuB;!B9HApQdJt;7!!|DJd{4wAd&b2RZn;-$nF5LbvVCBBaMtHk#bKSBHq z@k_+B@gR$vo+F9p6ZaColX#5ya^f!$-$DE+@owUmhz~j}8ULe*mk{?5uO%)LUqZZ% z_)Ek)iT|DWS>o5?fe<(Uk0(Bd_(I}Q;ui5n;wy=7B))_Ahs4hi&%gq$8~p*yKTEtnPT;!veFSkA@!7;{iQi59LE=vl-%R`n@!yFLpPP*D0^+5_ z7Z3-;TZp$4f0y`a;u*&z<8vr+7jYl)JBS0~N#d)CZzjH*_y@$lB>p3@Jcu_f6@Ok! zJdbz@ahCX9#5LlN5Pz2Ve&Q#H|4cmXP09GrAwG(D0rA_3&mq2mcpdQs@fPCG5`UZc z5#pzbr-%2Z$dheu?iqPiGN4@U&OC|OESKP6VE3;i}-xv z_YiL+zM6Ok@sElBK)nBP$@tDAemn6w#6!dt;ui4-h_4{NhWH!AcN71J_;KPt6Q_<( zrgt{+QN&A#v&0^8g?OC!L&P5^{v7dlh#x23O}vNr)o)Fv_Xy(o#AgtnLwr8*C~-*q zG2(5+Um^ZB@k7MFB7T;5+WcgC4<%kid?s-}@rA@K;w{A25`T^OZsLcDcM(5N{K~f_ z({~8*eBy56^NCBu?@o$ND6Td(_ zt1FowhY}w{JfHX^;xzFvaglg}cq8%U#GfXs&)NPH6U8N|KBD~Pki=M#Ix72=TiL&THBpCtYa@%6-CBi>2;0P#GzJRz){2t;7;tvu}5`Ucd)5KpS{u=SOi0>r6 zpZH>e+*oBWq4Hd{16+R%@0=t;Mpy_q}4xqC814GJyvd>ct`+fpEos zz1Tt8sE1{F3x;*M5^qMU=baFToxl4ek7H5{tt8xtD6o=QD5 z4%Jg0VF^hq;DHTepQ%>;LK$xZkr$5{nPbfQVZAcuFT-0&hLL*XK%&F}iEOOwj~gc; z;^*b6cr9E?p0(-mGNE5981rCIAF=YRpC2>g^KxZ*FPx&@jMvk*B; XyAuoLf9}u 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 literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/bin/mpiexec b/macx64/mpi/mpich/bin/mpiexec new file mode 120000 index 00000000..482a6929 --- /dev/null +++ b/macx64/mpi/mpich/bin/mpiexec @@ -0,0 +1 @@ +mpiexec.hydra \ No newline at end of file diff --git a/macx64/mpi/mpich/bin/mpiexec.hydra b/macx64/mpi/mpich/bin/mpiexec.hydra new file mode 100755 index 0000000000000000000000000000000000000000..5ee32b320c712f94bb77fa8f66fdbd3ddf83fb2a GIT binary patch literal 549916 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

p z%g#}iPjRGv!(I7_ixwweGkAt>!`w0R&d&+&iX7-LTe6q@ex7`-c->;Jxt`c#z0r%3 zzJ+cNrS)}Z{%-~%{Hfu3OYA{9ukDNgP`!HXnB-x_bMALd>1#NT@oyzBe#a0?@7P@; zb4v5a1;x!~YqQ;>xYb=BZh6V?tx%Yj^vLpwE zvQk$VEj$gJOe#4O0~uZ{@?PS-_!94Bi9v{`dBERzGI#^De{l^O$kQg?Zvxx65-y!Aaanv&%EF zb(g1yY8Zk~A{8ibfb1WT2I<}&yVE{)du}kp_@uD!f&Ug$E++w+{uMKfhr?NQ1jw<-5gw*`i6 zYIXfE>FeQ>q?mqN{#Ndga`woSvzyGX?ARa*unibl(}&kyvgUhfFP93|{)Vd8d3C?= z8fNY?QZR-Gqv2REI<-yZFIRf*v9BY`<#A?6=f2QO`DT-VJ8ddA8)x`qhy_ANt8oU} z_se7AZ-%7YxkZZg&BzS7ci^8@n0!6_N@75!kf_;1$L{hJ77QhGz*=vk&U)ky;EQcZ zw%@vX>T79#su=yH{V0P8r}gOZgfd9KPxGrdHXn@*!peiOy_>UJ6ZJiB)cR!@Uxd$4 z4KF(CLU2f<#lB!DohElFP-}Dl#9vpnmHP;82EW`FsPA{0H)?@k!!D26 z!fVQ9PxD6ANKp7^$Qjjwya{}17=7#-QdK>&%UVW$jvtVc76u zQa8y_38mW=>y}@EN*NR&s1nIS^$8qSpC_vbNj2aRNhQLElWMzNoJloLfyQ)sfyV09eAm$?N((iOaDbUS=9Ns$W<`g_JOC-jhj#-gO6O$P3ns(AWnTgpWF%{_; zGZWL_CWhwbq`4&%(^X=Obj$=Nrahm|Cv-oZDr!7&`qOTt-5p|?qXgXO zgdN4}cxcmZgk2dyydO=R(*pbRLizl4hdss=zs)|d#brS4JD1)+%j&Ohi!{wJ3jPV- zvF&7o9rH;0qIMZ{HzIRvceu0V|L&*otsDW8>i99FQ}k!rA6D?yY+B1`kHjENL!fU#A=}K|yrRUS$kxq>*EHL)~6g0n-wQ(!v5y{ow(vQN;hp{hf zf8f$fyyhma$xOq^pp~0xF=D{grD-2%lgA~xt`v{$DW;j4t5v9Uu3w)e=GUkB%sUGM zmNK9+IBgIx@6&tPksU&#)s#UuFojM$c5H~Cs~CtWTz|gBB(9I+7CNp}DBf&F*1;A}KCviZ5HI=<;x`f$H_l0@n+bsuOF_MRc^ZT`ZYIj>OG&u*p^0c&=@ zJo`m_C?yKzY2DAnepFp1EJIZM_e5p!OY{eN9IxbT^+p42fzLY6FWl?rjgHQXY}@B8 zZ3*=am_KrBCppT3;z}tm1CtLP224NF<#ziy!gzty%?)WIy|2jJED*!lB*Uu(NGaKzh9@<)F9ye0J+5Rq%Q&pHS0a1_3?&nm^L7){Wr717{%og*Jpt#5|VBZn`C;X0f#~I&kw4&#aBeknpySMwi#K4=42LS~H-ztqKMEY1@2K{+$A5<( zHxLaL4XHHSDhKUTu(DnAoUuWHNHA`{S9 zTz+$?{ky?3J2_i{-WHi2D1?Y3nFc3iFXFAlqC7QTaXx&X{Y%nG6TL!Q>0QaU!d%F` z-8Kl&dIva>__HIwWyV9{d_av!))U*v%gbui`uk?_>9$w8nyOIUi-nqfQ1H{F0_u_R zdjw8$siGYSV`yJ}b244*Tv}6`J(Ng^Pz|pSXkA|O9?47kSTCoK(WE|9CQc8Xk?LgG zcZ_G6l%9{OkQ?lt;Gp5F5u`dkiG=O+kC$G;NED=U#x1JP@0r-?qn-pm*mETx0^iYB7;+#Iw{10wucrS;Teun9CR=n3&F zcE3wPvAsnbR6HKe3NTCV7b>uv5c9J)|tdtZqbm9aHD&#M;QLfUrAj0?}DD zFB_EFz7+Dk)&gk(W<>tBL@v;7v@SAP$B47&qOJ?8x_Vx`C~ulsMO+s{K}^>W;usd^ z8v>mT)8Ic6#fuBcNSd{uZGEVaPeS#L&r@aWw9n8n66Ez1E~o*Er$UNzl;M<{73DZSv%-f1`wX0*SrNpkGApWZ zE;TDI#hGYUOvJg`thgFyvRN@1=Q^|EI-Kcd#dMq-&59dw+-8MaHe0-rxo+2Ozw)kt zVB`tvsPF>Iy)+mtlARYyH@@%!)BUuJP12$~DAN$X3RCu6QshOa!*lewjC9>-U!rd7 z@-yl7qx+0CPqLY!z1C=Vp!C%lfACvR*(~^VO zloS7p!}6jdb9oY|fcf|i!Du}tT73|U17blLI!7Ug?9Li7rjOh0EzoutxmRjL>L3B> zKsHb#6Gx~#Dx%*UiKvH0G=yYA0Ei5YNSvQU6gU!5Ymq8iRR+;?jYu3pboSATmUASc zyELL2lIb42*Up=$<#CpioJ^{0RQlceSS^;4dqo*ndy|}qsvXP`gcz)qA4d>cX|;|w z=6JO@HKcf5qCl39g&ZMJ9iKaUeoDq^H@>jnl@jq~d#$OE!Ga;itK@t6u+M^@x~@ER zVpSD1my7IfW9>=!R{O`OcK!QsTPpesft+@cA%p@mjL4`VKLTYQk)K!&fwd*FO?|4k z&5l_bXuBuveL!;2YDtfkIDLh zi_8M%J8FvJ$=?OiIt-5gp#u&dZw<9BDU>e%=biGJuW-&&w<#AZO9olfKg?ptHT^>@ zMo`mVWp(5)QH401m(y!SvtC9QDz~p$)h<6t4*gwG zCqcx-B!*C1hsr0Rtxo6$9V(xMwmG4%=ur8z9^EE!2-ZR-O`Y-WBX9E91jX2Df8Jl1 zEss2V>dvA&>S%j%KUu6jzgbdJ1(D@~gUC6{u%QQ3E_Kabf5K9M^_yQ;n%{~fJl+~s zB1A8c(lH5goq^K;dXYW6>3xL!b)_O@jdaNFv`$)sXw0ezl>ybT=1C6Y&7u-MS?=gh zD^#Mm-0z5d@^wB1dVNDt4^Spq?6$|hgV1*PuPezLYn7GAWHLq?>;+t$BRsIw!00V~ zRhp6K?yg93iJpO$dZ9{wamHMhU6_u?=n>oaz+hup{7yV}XO&4cg-~o7Yt1gnvv-{= zIWJdytN&WChR#NxWQAkX7AIFj!}<1GfS|Au5S^w;1vE(jm-d7=Cq!7mB1(c=6dW-s z<4W^;q1u=-ZU`5u)gCAJ1=0R|MKox4tJQ0f*Qy+r7}138Dmh42$+-cmZkY6HueD^D zbPNGtPn>hG&kWngcl3^A>3;nwvxxa-&>XyjyXpEwZ)Ib-Oi9-H0dr2dVGY|6G;c0R zzE-+^=5a|*HuRE#Cq(1~D$m^-G^dwaGpAz&-w0mTf_p-Ppg`muHAc9l?-;b6F;Xtm zU!$7ma5A-!)lC0%D_PA2WrH#q4B|5W;_RQlTUQh9H4 z@?Peo?Vp`r|1^B}G(0y}h04{kQVIH|S zadRMAn=}S(LZ4@yw9~LS1Z|iTCu@&&^-jjk3iZW+clAz2Q~gB?ym}{NEMKDiDBT;z zZgwpV?~%7oJ#Q>+6U4@3JNt->49*dn!Huq4x!1H0;2 zC<0KtE>pvYr;kqtCKIjn4cS{FsrBeVBeHU{$YA+RrJ^auLMrKWqPF@js&dA}QJTi9d~a9$%ULsNxOP@ggLEl)fX9 zESTYmj^E`3!0Pquq>y&*)W@OO+2X zBSuMtv()f?+P@A3K0=oHW_A4GFQf!3rOO-E3*uDA>j+Ebul2tuJVm!Xf2~w$TE8i} zW4ToCR;qIy>vOXYLe@keP->{d-8rGoOv#}W5>pvcTM4(Xc$!GPB9_Uz(h2v$Iv>*f zqBqn<$$e!xCRUj8uTc_8WaV<%r59y+R%DwKIfO`O4Zw&*9%Av2T&8x&4%26+^ttFO z-$EWU%-y0+8d2b>S5{SAGEsj4^;Bv7N%$c$*{RUQ>Jpl|@UK3G61dG%cRe|IBTWqe z(JjR^ttp>BFH6UkY4(HdS|2@2=34G5YAJWek>>-}3c+hv(vsnY_z8+h&A_L1f+cnM9K3dpN+aLSwD->F_T)sFmvZJanAuCm3@4a@E3R3`7*zeJK z9Z_L1NloNkLP^g);`stDs&td*0Ll?==#gnjUwi>!uFV9T~R9(cT1Ew11|@7 zEyXJtdJ}r+wX1YX`oLL4d<>mTGxUPx2|3b54N9THp42+CAs_&&rHlxSR~d*2t;Wb| zYWW1wKJWQh9`m1D;w^ zdgb_^v=Yz{QFtFL!I7zMPiUkxwvOwh6@<@{M!%QtivKjiWw(4YV~O)#X59$zWQN~q zi`mlP2(I*CsX5MttL(^J2ki;>reZ+{4^lDmCBTh2(vw_MfXNeUE)L zdGi>Yr*1Z_m}f`==2lPL^Ds?Kqfg+;P$T0VZ+W_BjVX@#xTGZ7`*GG@Tno0yaIGg{ z@?)>X8Q;GthR6YH2ITN*a-~*%55@|v)EYSd4%NLw-nc0t=GOSllJEZf@Tu|!N_`HY zhV`IeFszHy;63Bp6?p|S@-Tdf9LS&XE7Eu#TEz`TGM4{lb=~{CXBX`~$4zT6-?e(( zeMYbQ<|BV3?+TUC4(|Vsl6V%1(HcZ~>ghw!GiIPwMN5wA>;eNvUgQpU=a9}wZ=R=4 z&PAe6j;xU80#T0%RCtVGttb)dU~s;(#z72}X5mZ_YC&XQw@s>8S_ny_(zpyyfX>N3 z-Tor0CmQBs5|OxhnJaOeJd&!IUjk{|VwRfUIeH+8qvIzU)@A%(p>UbU87-qHYU~e6 z3pUKNgXUZVJE7wZOI<+`Fc-*7WVEO+1!_hWsP&*~qOhgDfUcM*WP#4nDX=*GKn~Xk zP6qK5?X18p=o>RJXqFN!eT**yuYtE^UW^Q27;CQ|>6GW>>rSbTmvAW&!>Wymmvr8& ztsJTL4XPH(-LlXe>2=RsC8xwy3z9MK7t9VUJq^hU7i~EjbIV_gTk8lCL^{hjukob(2&9F{a2}dfr9VJJz6~rn zp;H3U`^6WCuGp-c=k?b^@?{r%CIpY^1M5P^1R`_#`Rjab+N~k%w2&=4TTTmfI|2B{0O+f}B zWz6-G_{22pTTHX;Qw!nU4Rm?FlW$Y?RR9OAA&fJgx_2l+rriWR{%x|%M*looYOOY_ z%>=BIie#NKTE-J*jhLjA?i8?I(0;m;Gn)|9NVMJiL+MVp_YRn>b}A+YB5UY9YIbVk z!3cBG#7c8mQ9Fvl_3@c9&se!ncS$!!r`(=;F>|FaN!tyY2WaJrZHKqe_*^dJq!{r* zUL{t7RFv`)HBmp&Wax=RVnp1ORRv;8j>;i>0s9(t(U)4ongwY%&Q+`6bbR|nuI zWw3OIr+$y>sQRv${+Z?>^3`53KbgRyB&DPHO5u|w&9@YWZo05hrB)g!pi1n$on^GX zw8$+I=3Ic}q?4{+E?^Ty)iCZUI45#me)tOZ(TfTrWeajbK_>8lCaVbaS&_24JIpvo zncQWlk^YjEe%QN)b=yF*J4bURw9p!Mk5Rg7#)m3rlvBJr{H{^DW5&Ie=H7U3NR;%l zK3DhYUxWO+g?(=GP<941S5@Ar>{X=8>l_kk-`*Viqk*F1>TP?vrdp=n05LmB3;Hp# zGDhi{m}beh<)`F|L2F^B*9tSM&*>96)M3V{>eU}T-j{8){{c1>t0@ShboY$yMx-S# zDeAnA_V2sMxHqSeAh*D%;0|^@!5D?OndiivNcD1emtQWE6<2oI#VvQ-62~3lxC6zl zgrETC-BwOZ`4A!9%Hsz1=s@u@kOm#s=eT8#%QUItCp)g{>KczVaXOdsF+Ispu-6_h zMU$a@HS=V^@~GADtu?3;P?@8zwo3t!D;nQNDylTUBMpk_Wm)=y1C{3XjQnRd2dwbp7AXvE3E`Z^WQ4n9Ps$w3R=Zp^FxeDWbb0y;&IkV+r3sNt~6ydo^gtn zmS-OCtTdX=R2}cifca5kf~s$1uyW5sEh#yARe9Z}Fel%758KZrvH6Qi^Y0F?7BT*G zMqw>2k5gjuvsz3J|2eyL!8UdO$LF4UxlR;1d|2WaZ-6=s8C8A(YuG01JfSTwdQCEN zFn>lR8at8TQO|fDYOZ@d%qhu&=l6;F=XERprPBOJ_~$|a^)`2)bs_Tlq=6&Hxx>A! z3-d;f%L^B9E1|FBwCTG4NoOg2C;YHCdOM~}+gT^SZoix-$ow&-tHgF;&}N@&TWA2< z9RTd#6D!(vvF-P_C63E3P&qwYLZtxKvHs{-RT%CbjK!a%!dWkRWgYUHm|BgjuG{RX ze~NG;n)}^e$#bpcUU)&N`?nsY=ku~~kz$M=Xn85dtbrp(yTf-_-n@~c^TIQHoMhk} zzQyw0ENhP3H9aRZ-DkeXMg8gHi{uw|7xMxT3ePgmc$Td}{fNcRCX4}$(zP=_@w#>= zhPH!Ou^w_R@Z2pu1(mlfm?A#>K6A5|^Fj*Es$l7t;SKBoER!B5cRzAeBINa%&1iJ3 zIqCI?;4^0pF)tq`YvbcMje$6an(Uf#iQ)Dt{Iw-=n?ULM@Pn879U0CG&&2>vh7s2uH8#|CmfE7w za|$6ePla}{uO(DTp=$jo-ES|WM5PJ0+4~c~K(tIFI6qfRQ^I**>!1c1*IxS!30prE zVP6y*SiMmEM80aTOIW*L6uJ~+?dNJnmyX}uj&(a?Q0Z;u%ge+0d z?6qGfG!T8vrYJ}pJ851TaRw(RCnj@>TuWC0Ba74+h_PkB3bK>M_Q|vsuUtSwGiPJb3aGG)31j^#VW`f% zf;e>ExahqK%gYRT?bHd37aWN*tA>d}$Bkucc?k^%TH=W=jy{sdvdrHPS3FF%1R}{? zPyO*Sw6xU6Kqf!6yPUl{phUvle-MgdAe9UJ#aTlurHNU3MLtr8b)wyF-UKHBD*=OA~y=B2d zMVW9uiLs!i<&F{FSA<>d`7af_lmh7;>H3(@+m_Jnybp4D(@~U3A5Z$dH79??L zLIIOO|I@Ki_m3WejL5bf#vo2QVVrtf&Ddx!5zV1#tG$*YR7S_J8FFDV@^MG*gAEK? z7uT;nk49tGQPAthKGYUT04aHf-x*IW_in?wbT>6z4yb%wfa{Y0-)`zyLY2q2o7rD~ z^^xt7KBj{V$>rFRSo z_qQ&dKJv2Z)LAm-E8RC^yJ#;)!MLFLS^QH*4_ss2ExWI@`-IkVp?HX4* z`|3+CiLCq=4044oHq3)5!FsedkJGp6fnDi|OV*1ZxmGq-^F=J23_k-V3U*Q7v4geC zeqook4c}_NvWM>9-QLPTr0t#9ZwZ<^(qyFDk8?hpQT!0Ii%8~nIbF=K7RR7UY3B~v zC%>Y+_F5=qRIC4BLFpdc2^x#k1m;Zq(&1e`>%Xu zmLM`*UEJo#&5MZ&n6FA#coRRnRxv_S**-c{5h=pFL*(rYG6MVu4J;bZHXWYH zeBT>tae`)8cKaT2H2#CtFkW3NVrt*C{KK#&<#-h&sc!I<5|g&+y^8d5N_K=vOIdqS zO_k>7@Phdq}-lqX~+Qomx;_?RTG zG{1_!LK?L{q$=l0-k)XfULp_Q4^#0G9WSLnJYM8+wSQt*zm<5IIe*TIM*EZDW9@et zcM%b}2v&tz4=9JF(@hX)SPw|9sZ`o8sT$I$RG0%ss&jR!)~r<8FR5-wr&3|o1Ii(l zOQ&kfN~QghYFIjz3bP(i4yj&;!|4Ttv;Ih*cM4i})fz2hYC$PuAvXvL@<>Z9y#kxo zwnV3(buRKQM!c|pPw1DG*56|SVjgtH3(gCNPRuBV#9r~+M4!xv;iz3xdZMq@Ud!Bm zJPszBCrp>oK8cY?_=QAgt&ccJ-j(Jo6qzHbaXo3@COy6Va^1=Q@cznhk1|V|-S42& zZ%xA(0PVkw$znrIN7&Dr)0|i(8>_z3PiLal8eL<)7c4Dn4Ru79Bt7LR8Ch1Nu$d^7 zy-{g4%_F_noHU)ja5;x8!&AJaAIubqx5lpfk$1)Ql)Mu!15XVog@(|m;&ohtTfr>3kto8ZLQu-j+cJ8(xC+_1f}v$}jSf(nVWFR4MjBWwbdH>9`Ygj<(f0(+ z8pCH!Rwbg5+Hv{?M}S2S$99pF;C;+A?^Rjc)8HUFQxI`KSUP=eI{nisJqIwd(>Fb= z(=T(XZAsP1(PePL>lIz%F7;`HJyLXUO3l z*VN{0K%uK%Z4X@}%~I_|rV@nTvis^#NuNp_UTt^Qp{ip!h{7-0J57Z_I!@y0lzu-$ zPjsbNJvRv|`;h}|q-(3^wdG7(C{W~kGNRSm@~(W#&EBa)OIAd7%#o+jN@POyZQ;@` zTPoC&8I9^@ffEf(6Up_dEAiOBJ1E(WV?yKnPeoyi5-~9A+XlS+S|YaNBXCE`8(nS_ zC&q=6i}o&bylR@U-`?*ccePMw*IO;ran(W{S1r_W)j}OtE!1(*%XOtmtC(c|8W)Y<@NsLW~#*T=P!0vNNmxo$0=DJb=puno|Py z8BlBXX_UU{R66}x>IbvL!jyo}({@XtawL%gO%%x%e~Y__0GaGQ`8#sv9<{&CnwOjM z?7$QvoD&R3!S}Cy{}JEskHEM8+W&~}y2J3X%ecds@|t1h7eQWSHo6!G+U>t&q0{4c zrmTJ1o_3B37jtgK136zmtH0TRt2^J*_j!B&1Gyl0XEAhfaGa=7pg)B<&RMkJ15po1esDIk_vC_!xuh=kd*S^gimTy6g z$sIh0pT|kvpM!iiN+#yCt&Yhl;piOOKK6B199ENzruH3m0@5UdtbH?nIpC2K>Mzm; z{Yxh<+iX`;B&AawjbYmA8QV#+1Cnh&;rL~}XqRgL5b>X>{Z-;WMf+>S-&^}-l$SwE zy@BB(>}c|koM%kcVWFMaovOpQSlP-IWOGM?B|7SZzp#-00{)1Ik?(D(E1Cy-U?lP* ziCm{6!=6Com7*AtIi9+20g&a^d%x7~t-sRlpy}HE!))yaT1CjID~gdyeztwL^lwEk681yLgZdc721 zizVm4nm-C_o`tQ7Zz6lWLske}dEPxd#OV(8AOmmm-S!l=2@jV1SuX@*6uYT_5M`KY z-?U0CWittw_ZuZc`%}dywf?Zj%ohf#S209RZ?X3*5$25^7_jawQY{1Zj`&4D2v|#s zL_EOM93x70v+EQHIFU5#R8-0@;PPW0`m9M-%#bh3=LPSvnXPX9ijLa0lrq0eF{RAs zWKFCaiBReZwQHi!#tVPHyo!v{t)~7p+4SXI1wk|OC}{rp6KI}nk0zqg+#zTN9|g_9 zr&832yr5@#q2}uLXv#F23PJPvPE{yR-RTmTkr-b72~<5m6+ehNF<`x-SZd!6hX01Y zM^>++R*>zz*I4?u2cZAZ3>HhfQTu->0LfSSklNG{2x%w+u^<~lI#wD&p#oxR3PQz{ z*u#&{&a}k-`~>=}v|(5Hm<%x}HR(Sm3TRMv(Oei8u!+D{M$Z|2Y>NRw53pI$iK%Rd z)zw4}xI$NnR8apeSpUe8hLYO5yD{#boPcd!iZiz(XcLL!L}~^WtR0ej~Bh?y0r?0 zs*2)L{Sypp;bO@HWty9tUnU35dGbwe4dRd+51kw}H(7uEM1GP~#=)cKr(-ku$v62e z6X*Y5evwhPXk=|J3^!c zmmuC{$Sbjjq65zUz9cRiaB7b_bhGSFXYDMjo#_iRJJS~&zB4^ojj8oBzu|*o(@PzBH7m6v;tR)jzR~(zBacX}!2vd{MvL|B!tK zf3H0Yw#d|Qk*E*N1p)`}`~MNVtrDg0e>hn{enG^u4MhB%2+rW2tW2*8K+Cqxf^DQs zbPKpXk~<#yedSWJ#!VkeD}^>uR4E0ep8JE=K(Fp{GvSK*zmLLdWSD0{aQbnbO32YU1<@WrgffwsN1Da}Y=9+seyV_FX*A zAi%SfyWO6;N(&h`1+_bXQAlJUk)7cxl4|@xY@2>!{o|>_P@m#$E>>{|&|J2TTj zDD0SoTf9X&$hYCy!w{y{n;l8FEjcG z$Lw0Pey+!aqhZRA{vzCFuYX((0^O{c1nsqdV@ctzDiN8J&Z^2S*1><#V5iuYouX6m z;M!WvgDY|47eKfmdF=P9*6Qy;_>AAnA6c4YpRY9J@fvl;l9`2!&ygW^#h1b}Z1{CUtLC)YP}T6_ zq~iqIGIp68*u7p#EeN2tG_N$b*#|`oFC7|)q77DeK}fprW@X=QaTtU26h<}z{hBm#8QQG4rPlk7+Kcfsh>jv z*+5Q@eLr9~Pg*t_PUbYSwL|(p^07TUBM3(NGd5nn#S+DiUSmciBuFwbZ za|x!0HLC512{GTo>UX)T(o=Uoi4teDh9<_p2hn0#M3^OzVepj`KNi>wa`Yqp#T)SkkWhpN^g z{ZpQSDbJ9Ur$l)oYx6MH3p3)$v!l`cow5UtzJ~qp^@cggP%3XCsy1kju&SoZA=WUIb0=GT zUgCI1e`8oxHL_Eb|60Ig@eygBj6pvJ+8pLlmjsA(kI9X{m6I~j33S+&_W1|RySQ!C zu+BE3avEVSbR@%Hrb?lPvQU-@)neC$)YDxGiU|jcn^bXSDN{4KQXf)qj>WnbNV|oS z1{|Rz)Q%GAZ$Fv8Btcan{Ql4RD?p%9`OCL+64$lhVLr%T#*F`C{*vUs%3lFy zgjq1h>sla=3}M4xU6rA{=HU#gIjpZ5Rv`3d}gk)N>2 zrT8Y|hWmLDfRgrQ+Ypp3#h5)?9czNfdttL2FzMmNeL9uH#N=4wQ|b zY>k_qTvz(mOfFg&S0i`JhYCxKv>c_MQu2DqcuJ|C{y=fiajaz~dq@oJxsaJA1TR)*8$ zQld&G8o$Y4?A5k_srTh%JhqOrPKcEKgA>!{j3IbB%s9bWpfX;%H<>j<7)~wsKd9sx z-h3w&cKIyKh;WrQ?;o%L5RMJxrSd z%*+wOPZd8?$7@9G;|(T(Y<$l726huBt7WK|)P47kHsr#jj%!g>yJTl%F~$i^U~?@w`713$(qP{_SRd}x8x~i>llE|S!lmTAS;B0a>^EYIvDNkegNFjzE`lG3i2jK zz~lcQXjRX{3XU5pISTd0Z{#Rc<>ICsxb!l}Q1fM9YQ2{Wt+}WA^2E;}S#Gpm@ly%p z=#+-GKYt&!Kx7S74x!7o@L@sRQ_7Ru$tkTiTZ^ojoVFLUUm{(GeQJMI_$6` zv|QU#>r;__Wry7ER3sC1?_a&1Hs(G}FV@7M`eIC3#H3peD#^*mJZ;h)8X-M^rJF27 zk56RX1|jXqY5SqxG;}#vb|Y<_E^KSG`l<$LliX;UZht9y<=$DV69l9BHK_F0bZgCu9(kgtY{d@E)CTo=&Ko zRKod$>61#Hd(drwSes>@lHo4>K^EueF#KRmb@Q*Xx_B=qUf#3Kj&A^=3<0V5+{5B! zP9vT-SfL`5p`1Ta`Mtv`HH|O+S0UeF4!UelU6SOY&#pU(n8?2Fo_cwrP58$4fE2$E zpA>(NB#bWTFOGG;IPvZ}NEi#savUHOOM_-{&>WIgxZ|?QpG^-SY5EI6cNF^N_(_KT zgvw-r)JayJQXAQRNrs%mAcDR3M=P%DeOcLQP`zAm&uZgb-y@? zB7tI(7pM{qg)T!_Qm&ztT&v3GIb`?3o-cv!f0O;?G=NNXw{oT}gpZHQVr<%CdmN~o zn)TGh2*Vsv(P63UD?}pVlE6duYUIsCA@bxV`(ZFT7gz)=eON4GW%wv?gvz`DCgqS? z?!!r|O4N~0LEO{+H>eUPWEvd!_u3^IzZ&-S@zJz_VA4}R7RCuwPYtC>RxQa>FQQ1Q z-(Q)Y-yhCuyx*pxM{4=t$O62Np6p>0~M*G)jR{3 z@F#)Dc{$;6T33hG&MW)k4Is-2pW}^`73JT?>BCowq(T#%CDx_}_VxEDU0p8(l2-cz z;=C;jVmPW&+uJH+>Qj}sO72fKtj8OGhKZiK2p**jOa|t!QK4x5e9`GHI#V5StaLm2 zt~WM=K^G z$Zc~DmWLnJ6_r-tXPS?uANxc3@Td^;GNL(mhEY&`0AFEFcm6cyFQKY>|xz%tY+`RZu+k5S33 zh7_TT#3PEac7%p*k^Xv=^oeSgrL=Mgk;&=El%Bf%V06aAqm=Ix$uH78Q8dTOYPWOz zDn#SM^d&)m6b4YA?aLoDI|t0F$yquwR4j_X2BDQ%;FN3vk4B&HTY!&}UHN~= zPbyM$VyXP(`@halfd4P~$+TGfq)g;nRcEe_&v{d9(DZthRgYZXhh6~N$mxF{_g@$s2h1`Ha$8?%R5@80uq8c~frrV|&nIwHqC; zE)z>e_UCe~SXW9gXh(L^^!OjS%l+eR44-2PBembzY#~o+TWCw-#Ps-Swk6(h z%9nDGUMOwW`d-R|!r;O}W6IjnUh{9`t%nO?mb*D|n!JaW9JC{{&pqojGlrrow{%Ho zp^;bJth&xZBMJw2P`z5rc~k#0eNyBZ!Oz_{W5E9=2V4_G6@8lIA8GkP;`9DL;&XpGe(!(8 zuk;b=^Y7+_7+MD-qK@mZ?AS%AyylxSn##D(GTfLldWd4Tb$K5vf4+MC!g8;YEvj~h zDWrbc_^Y(;GSu$*Qc14&R|EP|DOq}6d6!Jb;ddi*T603T`^>3rJ~O;gpB+pve?K8| zuez7k-#FIti3x(AT|adj71{9Wh(SH%(AwPg+WB5816h6_K&}O#D4nk#&ZNFt4 z!)s;^A30%T==k8ssjV}f@LA!FK5J^5zw|rL-Q#I32{)e`^~)bWp+6J(R%}7#>R$FD zCu}w=KU4k5Li1AM?0pIqAE~m1j<4S`_awF#HXG4OUKJ48%03N36J1oB7PT6^9wSMm zM#wZir~e;bKkW8a#(Y+B@fNm<=MGf@2&N3`e23j_uI2?Lrem`i#APe4JTG?&SpJyL z9I~A8S6;tvuN?GS;puW!F$f>Jhf6kUo~g$Sf$%JzvkX|cazO^wMDIs;&|xw>QZM&Z)JiL@}pH5%I#!i5%- z817k3bhN5B@I1EOu@n(aTKdIrg2ex%745-d76wu7~iO*cDwYbA5EUU*Oz? z%g|i~sLY>>blfi_uA>t-%!#{A#~mwiot?NoPTW)-*C9LI59>5ewM!NqJ|>ujbDI-q z=yY$+BaR(XMavrEyvkT!C^|($JSPyH9EksQQs?Tp?>4z~iKQg>IB|1z+8~9vRuG2dmW5`Xu%78bZA%nM&Q&NzIupN&WV?EX?1u zYHoDU>Gs@}6}Q2O!&+3*eJF9Mnt8#A+ot2zX2(53ocERP4n+$z#9sv>#i?2+_1|>d zBNCV5^VP&Lx=CRk)Y0`4ovQXxPEs!M$XV1ezkk_{p87k0TU6n4x0QAAEVxM$aV8=f zZhKiKTjBnBB$9=}A}+9K<|G8~GtW>^41#)A=4aqbJ|p z!};bleb{o498knW4!LJ^A-pi$(PxsZy@|N_W1o%qi@HJPlqI-^%Yg3t;(xP zv{89`2>x|=F#Wm*uHEhG^adcP&G;{oTfDD$KovioA}H3z zg9JtnxIGIF;GtUOT;IHd*I_x)5+6d)|D*0*;G?Rp#s8U*KzMnAf`*C`G-y&^prDL^ zW@JWYbOupD(2Ckp(Y7iSW_VP2=p?{lI+ojNOP}hkws^f3sv@8jCkZA25rZJ|P#)Ui z8OH~LB_PQBzH9GuW+nmbZSViy&;RE0$((ccd#}Cr+H0@9_FB39JL}D$pxk`iC@XNh zsQwk_z+e~Ey};_SVr2z|Ti-w)h*H?;asLanx!cqWR86AEgMIi8UK1aWfq2(ym0i4% z?uy5MlY7u|r3rYvZF=#JR z6BF@oRd`N`JR%3?p3f)$HC?lkF5p);6Rky2UlX|tcohqd8^)!^!I+bC=KbVM^mqW1uCRQm;Sx%{ zvFW8atStJQjLD|-BtP^rF2e}3wfMs@uGiBc1Q8!3J+CBLh>HBA-K<8FCK zqrk%+cS-asynJ6?UQp>GI^7*ky5CJ$xQasG1*OB;C!_DiQTwmxyrwmxXS6BJYDMIB$J3xE@Wj{`GI0oH6cf4h`Q zw9#BSFBu!;ye1S^o3K!@*6J9{B!e5QVEp#7Ky4b|xAlPyX?-Hq^>Kg(9A>FU*NJbS zJ+!{E-T5aV&S_Mtmaz-RhnKOlGpg6|kt>+|ck28XkslPgRz@O58YSa+ zOcG~Xq?Lz)4<2;69(PUYDy5L4CppqpZ0ZBGR&SvgD&`bo3MA$n9aH(|GbCHidC?1vZ4w%aps}cDXgUHy0%tyt+w*VnNwnXG#i;0LGMhGo0Ov1sc!LP`P_^LAC zr4AEU${RIeQL!1#$<%+6mi@?~lZ@)KpvAF6+*{ZT1(yQX^R%lCn6EreZJ6kst{$px z-7w{B+&{;tteHejJnqmBsaIOJ-zcf-j?Y!`#9na!Mf;6gk~D71bb+RBTvfJl^0w41 zjk|=#Np53#v6)yX9e*)UU?xOb&RaV(AqEm~Kzv7`u^bC9W@3)SEDvzLkeIJt$F^tT z*!H*pt1guItu%*GoJ76CJA?Fgk3Nm7@_q3dDcl!VCEIR;Gs~o`%rYrl+|XM8@r**< zDm}=dxPn6{uAri=%4(#vanXpOG%QNxHcHN&1`^|K+|^Jc?Qy01*@w8lC&B?o8Clwl z)s5EKuc#ATEW(Dcqr?cO5Zsl$Ra1lsNXUL-$(5v zXl|2PsJoH^RoP`^=ZX=#hXCDjnKEy}F{i{9s368Np3)E@(Ka4BNUDJ9;A%}TFeqd` ztHx$b65MdnYaU_|gU2rYXy%cJB{q`fA)`J#cJIhdm-Qe43%bvO(BJaPo^p-4AJ)o6~EM;nTC z17YwFvcJQ)$p%sC=>)zpu0AtelZ6l#C}s2HiNL4M5fS>*Bu44hqqto5~*rYy=5|$mh(h z-s>~Vq%`X!L>d6P1b*vBy6^5f>FR5{(f~n0NH21tgDgCssGxu`q839h zLHFulfg8^jT&~MvCIT&tTEa9=*66~KD51mB0=^}Oc zo`rSk^Yny;Raqg%xQWYb#t5;jz@lC;PD>YTGT?)7^@5mZXy+OTp5ry$36xjyj z`zM7qS*NVj^k9x6p{~ez(6+x#kxcAV1bY*bSGY@u%*kbk^dI2Idy~}gsHAPvSZhgO zQ?=Af2-d9SE8r8IKiS_m&RZlrJAZ-3d9wYsU+3Ge`4Trt@91A-;*UK}Qr4QoZsXCU zIqx@Q;BHEgMq9(BH;8w|>w$G2Rq{Sf5-KMf*kP!98Y5{&w|QJ;wU_w^Kwv&v)tV=d&6lrK z#OKQ3nQ90_@jpq$OaY^Mj?C-CJk=1fRcOv!A@afySD{GakIz(IkV+IP0ygo3)Rq3c zT1B>}$wj3%C6GPvTPUtNn?H<-I%|Vm~t_Ez-@L@BIDB#yjlT>FK z^-GDhN?w59i###TL`l&nRqK~Mf1K85sk7eiYkLV{WDVx)2z@5^Ms`~g+vR3Rqo;&0 zY$AqMwg}I90sTssS$AX$l{&9db+%ZS^K?L@3>(hO6S6(nVY>LPoJ4o z`VDI4sgkMIsOFNJLU>x@H;0t_%}BX80Os0q4OSNKZI0X-G;b|06U&JeLhAhH-%-H* zgg2K}Nkb%Uu^{rd(K~DxK}N)xNX;BcDdyCFO&;`@vC)~rWS=;AHk5uodl^n1YPOOt zHH|bt0{7q)(v$1rR~onK`x7x|nw+N0U`4fn03s!&3n! zHJ#+D{?m_B|9mR7>wjD7Z{a6c`9}T~1>_$CHpZuxDD!^t$i`yz9%)7v64_W{e=w;d z8%ymEPRi=A75H`(Z+;x9{GKu~7|7+N?yxi>PZ_c=KAZAz)5XCtHU&RP&35VqzokB$ z^2otew$ALgQ*T~?t~)OvTmLdSQ)C00ty`amQ$I%uy8LV#QlerZV5hifQj>K2(wh$p zZO6Jx`T636f%ib-VMWmsBL^`Y&>mRCvm|4`Ac&#JRLJ~;q-5H)7W!%ZBZr=-`O78) zR|xBZ=4MWWVn^N6Dy^wYo#_KbwZ{Hg1{9CfJRM9Ar0_+?#u&q_hrI`CSULi7E9K`ya0-930e6}&A^~eZh`*WE#tye5VmJ|SnL&9NzJunt zCM@Yl9zGNv>kLnkfzY`4l;QO@%AausWJwmpyNXfL>( zc|E#2+nk38XYE^v>=0CI=iemKp~2xKUh@_iHOgLHeB5GYGskt9(2(nU+<@dppD!L> z_kDLJy43R02Vur#RMaLHn;DW}G#Ne*o4dVZtfOdDl4NWiKisCjt?}={j~7v>&kR2q zFdr2)Fkw^Rw66v?Y!Q~SqqGO3q|X|v{#|>6l?@>=bglN=-UG=(oJGJcqUd8hv`$`T zJ_-KR@fI}K0w?B_e?@$b;1$>=B~cKVS2LXo<9@1EVh+Fgu{ZWtcj9WdS#v8fVJ%z>EV3oobXq%nM(z!n<69V#=JkW!;25XkA&(Q zY5;?*XYlADm#Cn#Y>*3MB0O2jmK#aNz^Ct)ZjVk{>z|d;;-Y3n-)DY@xw0|aNqc@w z{C^nLPlNhixNG{rk)zkFgQ0}ViZR}8L0oN{n|#KSJCj~Fhpd}@=9?IO&J6-*aB=^9 zWW8I={h|1fEyjiEXnQ066eS?Co8Ax6&;FqC%_Q9DjA7XN4{We}m^1yr9q3q(#AkoN z_~z^Tjj?Oe7ixMEGDS+r|#;qHSQJaj4H})Gh zHyIbMoqDmfWdyfQq_zi+sqHN(Y9mFxmA=d2hr*tNMvZjd$toQvxPOc^{uHP2>GJIP zrN}>|3-wMHRQu|seRe~nnbpRax1^cx(8fAr)N13xCSzWIYLV*Z%6glrm1{Wuq`SdW zYdrKK%v~@s%pFe%rg+_JyzaFK1d$pEf*21?CSJp5ztQbpm|RX2mI=C9CC{LCQqlKq zsAaIRk&uj64WHPx9z9>Ee<-fd%I4>w%F)jKk@5dE`mOY&2@8E(X~|P*S{T4sz)3iy zWDovj$df^y03wZb2RvIN-4F=t(8;jNSeym#8qp&uh}9K{aM#=t#Es=DijJHX@EnSq zjK;{4&2BPvr>HL}>Px7F*S$C7Nf|X$Xe#!SGcqBnuVyX@-0m~Rd?IlBEIr$4FZgd% z<7S!xDw3TX7vmuliGkxMu-!8^q|0Q67}bS3#hrO64s%NDHP?8@++eN$4+W(qzgD;} zL?^Y8L2xkSP;58IRx6c*At?s)6XwV0g);ueEp_{hZZ&d>rF9(oCma29KyQ}}#UjqZ z=W>yCG^P2?^0{hNV7@N)nzf1^dp(~UF_ByQ%_gSN`Y?Q(I^ePUH{4S`*QgO&$Ksx` zO3u|+xuP??iC%-bz_rb|a3k2*ouz;JsrFo`4FTnfw1-DzK>9jy*|foe@3f~>4j(1K zDMrOwnH}KaYZ?!yoCUt$=_Cw{! z6Bw*$uu$vlB>J-~Ch?-nRnu&#%cCN{PTaXAZ-K#NwGXkE`97@H8_pWRHC$E{L4p8Q zDcCJqPL6BpPQ0IDFy&#T{2|jcuk0 z2?fgd=%rYOh2=aL8a#6mdr0Z2QBy&t%!ATGb{aK%m|D=WMFC@pvXHNK20j1aW|_BG zB*NxL0+wK9ofj#ptXpF3idApE!slV}!iR;6e3Gb4lh;_X8e?iRlkVuL=()#cE_Ow~ zlahUdvmWGIt5@?e-fI=x&6B-}F5q>SweEV1?>7bAUAB1Rx2`I*qXz3Jn%NX^ciACC zF^FT;I#omDJg+X~Y@fNtSQ1XUIf3o+rF)B=ydgK7=Mf^jv2LOA9k97gcT@4GV55^E4P$%Q5dI3yt=HHJ$=*0-O8 zWNUrO{QYkQMisRMEOr@6`&slrg611)cXq#e&t%02Kj1rzQc%P&X~i@F8b=PV$oPk*Q;(XB;JFG20>nyRnOMRe+`-870A1hW{FV1 z8V>}S8qGLgTOt=TCA7&3OK5Cnvnw)LcK7!(Jk46!D~UMNx}0bw`}$Ny)jCgoW=tg9 zV!#Wwd{>A$Y87En9uBFeHg1!#?py@fDzWDOyR+L<>L|ykt%(qH)bE8C#eKoGyrkdB zA-|fht@(NOlL0ODQBuQ`P=CqEAfczW@XY@>U2E3s7jg2SU;o2kT2V0PVbbc>ErKO`VOG?lLbRO zs$Zg~>GO8XF?D_37ETVLe< zY+Zj&N87+(>Kj21*^FCv=vt<7V7jG0oT67d)d!M z&T!iCDSAC6xk@O9f4CPpw=C~=yf!zywN#K*#5 z992Q<1djO%fQT-c$V7_TAImlc~y1=$b6q^AD76xMvya9N61micB z_!EU4uZj1nOBAAA-K!2)IYbt#$YCYkME6cOmuOD(BC`7y_TRBuXz{w}E0nm<6}i+d z=|Z1*5Q>aS=Zz&O3&ac83Rx-Km+qnPMJiPpqHn5iCa>(+*P)~tcJB+jKM#9ajGC*3 zPD?{0-xX7A0wbG0#lG5WU>H8OOe}Il-UhN$icum$)Y)ru2Io(a*N_q(h@9Fg`c|xq zsQ5rENuyUsS9lLJxT8JN{k$zZ(-%2)NT4{^8zoh|6*x)N%EpCx2sBp7uh>qukUD9CI5Qn9y= z-;i0Q){5T=f*>GXA}?9p{wMgd;UNp5wx|1>-#WBz1<*so-4Uq6JF>d6g6vx*5#UJB zOs0fR9A`a4xW6WHs&!qqFk5SG0=OqD7mJ*E7-<>^*JSO4gAK)>kYvYsJn z=mHKRhe9T_m{SuND_AM)?I1kwU zjMx*ryjsSOb(R1@n5PV1Omz6gB+9;+8|o(~p|yWy8~CAhgr>`Rj7ljQVz8bZca%Xd zLgxEcif9g54&e2Na=pv(JEF+h;P}4#E)v%wDz7fW=}* zOC)XJuov`oPDXkHWJNPD#p(4lPN~3;jN8+M8E%yy-Xt-kj@OoEPIMCkUMrTqZDF$e z%`2ev`c63dbXlRkobmkWHwpo)Kk$^M=wX3WMBenX_hmIjJ`%sT3C|p7(B=oqORf7! zDsRQs4NSqAbi!>IeR4l>+MW2{c;!jD_KWW{o zA|zMel;i?Kom?MUb8@-fRLR9Q!r)wBQU&@r9y`Y_rgi=*I~1|(Flt@JGHAvb(#HIAc;ejO z$>&e8l`^#IPsmk0G$3B&Cz}Y~yAI(6jIR-o)g<}*O(cm>GSfgVJU3du{w3TH7Yody z9wdELG|u&T$-_hh%%XOLHWs=0l|Rfw6g(wb9|QZ*Z$#Sn{H%bj&tFqrC_lH_%K3zv znOs52Wbk)x%x__s2`rI{vE17AnNvHv;ys?_H!<054t$aq*^|YGl?oeL{SwKg-ET3X zWUCN{5(bLXSBxYcuu^nECbE<&&ig?7&#d*jUq%gwlM(>7g#P4qSprE#Mn1FF$g8KG zV@=f@e{;N;yE(?Zy?m|^Tj|E{n~d1|l0QDQlr|w9GOB;2dR|n_clu<_53#^hKoDrt z_gHc;Ry|E041a2kP)&=R#O^XZCd;3QHi#%BBDD6!tIFaKh?>4RRs`KW!Al9-9>(I-bg`G_A zVnbIF0drEs2PX`x`jO-%-UTE7#JvS;^Dof%6K*s%^kJQJ8z1ywrHrj=P7RnF;$H0i zl2q1^*wFDh=@OOHSak(Yr_@rx^Er}KxKY+4C91Bf5bPU4lc#)^#{bxrs^n_Yrk|A8 zuIEr-2EB(yEup1+33Q6p!(^UBz5k!uC>!=oejcPHPN3${t`Qqi4^%g=U{%1eFc}5rh?}?tw}To7*>RF!77KZGL`GFV1ivC7v#@R6icg?j9u^HGtimnFNYO&2W!(HEo27 z2rK4Tv6u62Lc`_~X#$tf;cTM6M1jWvF-kQKjAfe0$p#1Qtp}%pUTb>L3jVeZjor7% zk2pX3P^M;L=*?h&8ZWG7(w`@~IsGYb)1Qy>`cw7W*8MqZO?~8e{h3T?*!+X;&j%uE zr$2LZ{h6EXk5U54@*P?J0DS^EO}V;ExXp8b^23RIC`*&>)*yZsxxauot+hCQqPq%5 z$$+T-1w8J^?OftyxYtDY#fB~~Q4~NJFUr02m~zMKaz{Jm-oiLO4+6*-LdU0Fua^5+ zkZpx!DU*U?L%*#{RrERDb=Qw2y+;s2ntGouvcM_wPKvxESL82rk>^olF!8W-pw;>X zFRlDz(*gWrqdQYdjgS#EbYvsa4sYY$jtZi-_X|od$dz8KOMm01#~Y|Mgj$>a&6$>| zN;t_}<;R`R5SE!xsG&^(NXYY2sw{tVA)>N~@1YYaASx8rd~HD~5^zrM#CWC1qQJbX zkoz*JCc*QF8ira&k6M3}-hx5s)~;_zz|J(~?o?+LgTF8ba?Z-c+X z`Ew3m5FL^FfTY>^DM5pSiJ5M@ggw^xb@q-%%}XSdwfs5BKr!uAF~#Sno*=;H7xi+z zeT1}bpLHR5rAcqmB;244U+~?5u3-(nfr30|Jb03ph5EhgS1>Zr!KQBWN^QkS&r2y3S5ceVhr}8-u zQ2BLCs!tQp1MKwmv7s*#NUh^m z;J|}!Q-6P5f4rSqpc_D#+yWi`rJ7&0s&RY60+r9LISX0O1c!wVA5lq@5%b81k!3|FKB+jIc%WRaoQl5Kv!nrf zJ%#yxl=l$lht-#XrjC3FsPq-6^i@#ltD$1NC}4^HObMHk(pdreZq;2iJVuT9*OivV zhCbCrQG_Q|EIJJFrHXLH`}Q##hK``;%5=OMMQh1VgbgYzmv!qq2q|siFq%}% zz9-;(h1@qzCNO7s~s{%xf(Zk~C@o(oW4{R4zpZkytG;(r9-&INnA*4=S zi4g#{Qf*7MBQ%Tu4*gg5$9!?Mbl~P0I(k8D=u4edSAVa%+SS888Zsr$RoYFfQvBF$ zztF>-9)xlgnW5 z&r}HZ(${&QhZZP`{+D@D6U+G+Nq%bEr-Sz|&Xd~$|U3Yfs z?21l`cm0qj2)%^|d&`U2+$u3_F873m?yYPDx;LTE5%0P}Cx4np=5?Rv^J(u34SOL$ z)s00zAyobvixT!5feY+c>u-Ms;S)n|q77n9D0MyU$kI#YzwXtMWVUunVE})yXf!rf zl}U+NpA?N%RrdEFc_OL-De*i~rAT~Zm9R=Uy09+(u~2Bv!-NABprAnP;J?5_)rZC} z37F_WK=BSzZ9mw}T<--3Nx16-0XL2vru7uSdSg zVFXDE5lUmzOWe`Vkuzr^>0CkSoj@gh4I}dl8ZAvYNnpAv&ecWRH{Y@CcN*L{uL-)S z+C#M`DSL)aefx0g5pYHJ227R6wjQxCd*9HDzt}HJaAQ_PRa%~)#yWP#M}6k|nP#)TCOPA5>p7(3u|XrEJxR7$CySO_ zzag~ICH!XkQBxhDD!D~oQSWApawHR(UHS8qtN4elZ^hMNrSP=%Mx-Q1SJOy_CI!Hpwhhe{@QwXV)J?`p64ruJhNFgIKEEO9b){V=T} z8Xm$La_bm(YJd^()}dU-y_sFs(fQ8kIJ<#kX^8_LUGqAXLm-_-E-)`?gQ49xN?Y2x zv^MiEzx{J_rAYggy@kWl{&sooZ^~;wAUVe{+8O_i{+6 zan+X9wxSNm#J28If@i{-& zFzKI_-@lS<6({VUlK*+lH`KzmpSzac1Fw}uueA>M5Kfh~_d{9J5X^m(f)$|vxlvx` zG7ZFFA9}tP)66AO;EXjF_&8H7yM0kb?9gfTcsWrixqJY~+wPA?a+P}8L>d)4R5j%; zS|%#r|8a62q52LC5)E}nzt3+$6tBceL?jd8Oa=cvx;~p$U1GI|6_+8XB&7>#DpT}w zYj2G+{^`!v2kJvcSatK5e&p4GY?U##>uB94nZ3vKM;WFNiegpIwP{(#`rgw*;Z_SX z{5y{#TxVOiXWNj)iPps{F!!bq;dfwte1la^Mrfy~i4N4CC5pnbuckLh|I#aLUmzLl z$>m(ClGA_|E7ePgr|@4VAwB0{GJ2aF&ZSF~-8l3!t-HV)2rnfFKi@MY$M*Jqz&^$^ zs&A2{S=+Leo)liL+Ox}c4iY_AK4<(&IV=!4q^Jow^D`?S9m!B@2j);|_nJ&ue{v{3;;IFcNQ6e~;dIv79IHw|;q< z0>v_MG$%ZW!kMGi4GKatewP|T;%t4+`e)yFI8+7Azaf@glE#XO8m0km*N@1mbcd`; z=LKCx^*%^_G-Fz9Ql^t#9io{%FKZ#Dfe?)Wj%#i2SpE1D$!(RBl0(Wh$36i_b7@R z1xS3k=*`<#RYpv9Ad&|q8tbW()YLVqUm#H2XqBiwv5j7&Q-QX6+3=fIW~0|^NG(tW zWeTT-q_`-QAj>{Q&QptlNQtK3>WzwABK3th`WNzF)_>A2h!@P+u19BMM~J zXn0|$bnI}|rd#8=WQC2v7Uk@XIf8KsOAe~#OvXXfKemEqoz&zR88NNpCO?s zr@Wx1OaJYX11EU)WVweU8U|rSo5|8w&7m1jq|thG+8YVzw(3^49vOI&UUMAWR-IKn zYOy{xY(kL_acl4FR%z4k!Ax#AmVS%8)^EPym%9keLxs;q%|iMpCNssDq_qxQ(uj?q zL9Lfx9?D1T_DoZa*l&3xD;8$H<;o!NJ_t>^}>>zb5$pN#s7S zy6@Lw&FrtxePuBIXx`FrnVJMMexJUYj!d~$#3)z8(%J2g+^y+*7^lqmuWv<>!29x< z&cGe5{XE4RK%p{(Z<87u)fw(JI_d*ws`wmy`s=aZMn zfHlg1akMD%FmHUCTF{#=QiJva=6>~{fk}I;hc1>-)^pJ}kZLLzGP~W8D`CpA1eGCU zv*j?qnO*(2AH!o>x83gyLuxfUBWpzNdmG>Vx2K-tp~pk(r!@Na(jnKYXYgaa!!YAL z0C9k#K}o=C)>|DZ#4NQ6c;FO^tI~EJE;1G(UBnoy7CvN67CPnk-~OtUt&Cxtx5E0yQExmEgCZ=Llc)y>m+d|fw>Pv1dl#f8FT!C{p}kxX$F`0vQu zK?X%VVfy!3a+WjlfbmkT=g#!Y$b;!3&+l znn)mgHpl$jt;twb9p$r4&Uzpq>$E-4pVDO@ptvZO0&BDMz253QLxG@_2Oyv@HP|X2 z^Y|%5zD?=Jj^V%6c_bzbxkeK}7Db8wRX(--T4Nvsp}vFn7fz74LRGmrpN_Q@Fbfo z8=^+_6U0c7=8g=P78``7*X$rnx#{+?&|D#rQ*{BYTcXgZ znS?elp8$9OlLb}Hngs&HdTZk}1WfkN;H(_oQ(i0(8evVLU1XCk%Nx~|c3Q`U{jmG_7W%(pZt^^BydZcz+wp$ z*-3uNjuI#WoBY5|61Z0dN-yuu_VQphp$gNzbP=s{>p<1^;x>V*?Impj6+BAY1S)u_ zDWkxt%T&FrXp>U)QkJ3o+E0?US4p5z9j3WX`>TrGsiE?nD0-g9gn)5hlK18IJJ$&A zsoihPj_I*45=?N?)Z6c<`rgCUyV*aJ(IW3*Cmgj6C;e8^Y$MIDW$Xz*jh09`8+dop zXVb`7lAbF{v*R*aSn-$fp=f~=Uor-KovgnE`g{%0UjlZ%F4bQGZ@vU&$)~a>if++g z0%77F&|d;tzGmq!fhk{)>n{N&Uv>IRpvc#1{T1M$yeByPpR=D={sTmw{p(*SwgTA% zIvTbNsKt6p$w!c9PnhBm#yolUU6qRAaOBxz)#r)j*?KvZ6-LirwVqo0xKXDiDAr|# z`9~$$)!tbTj-UUzT>h4J|8)M1*5q9N<^M|li*xy>{d4)1{}GPs_FG3We`mws63Xy4 zwil^~tr(Ey2io>Omw#0*|9(dLpUE$l9<5oq{LlYW`L*o`>xx|dDJRY^EU_KaHV%VXWaEJf<4)^GQs#E&3`SVKDz&~i<-bMz*OdRfL_6hEurz>bWCV5j z-#AYBVtA!YCZPa@`(v}w|DPn~>|}X_qfGscuRM`UZoUeaI?FzvppY)B1P0{GoRaRO z;c*uA!4yi9M|rslwJ*8+rM{vPCq7dhwh2Hq7Uh_1is)eh( z00)2{kj#s>Jg+&tB;A>%-wG4L#zn56N<+2MZ*KoZcWBhjoZRWQ{G8-c$8g5RAD>l- zt&Xn*^43g=u%ULA7}23}6HhCsiP?4EW!H_h8V$#{CgzWmuDLBeKX9vz{Q$vH;^qNZpD4&#a_&d6pHB)X$y@~zW%mT ziiQKWDcF`2seOiXB6d7`Cu}}tq{LFEH#WP31#Om$Q=&&DbXtr?a@%3QHSkuUpvL?= zm(3gZ6WaS5N$)~po0q=-TWmP|HJ{8VOL0BQ z<;|#%Q&MQX$w&XUh%@GMf&-s5vkBu}%H9~#Hm|vD;bM36G`4Q=h_2xHH%K0emp6G= zRsjR#V%%3NGe>WVeh)X92!l{W{S6UZ)J1OcQ{MbFZvm;&i$pJ@=u~-Nid0Oij)u_& zaIbUC&CiX|1GkXYJOnU&Y%;LG0Pp~(`8&!;b)jWh`L!-_*@ddaJ^QW`>QWH;6` z6ouGAi7;9yN#BoQ<2*W5uUizkOq6sE>qbB}*VDxF5mZYZF)w#OT*-4z($6!5H{T@DbGwYrx{tH?&cy;ZDdGSn&v6K=1&>$ta27T^kI z<$6B`T^>ye^vy@vY|CfOk9k4Stc*78xj^Z)5g+1)Gjmb=eNQAdc*)%T(t!VR-zG=)~eq4Tk&+yTglFk>`PP?Ij$9I(yD zr_c1xd7!+*`9{rUjCT;4WNt}ZE5_ydbcwa025;@By}j-R?}nqn#H@^U7aDEawGwK$ z8$a|9o>@2*hfOn!eV~?*gnM*1jp}QpMAKjFH)lc-qO{=NCiKtL(&0<|AXEE6QLKKK z>}nD-^NbNlf4p;sh=P?MvvNPFw%kXp*D2cER{Le|+K;~B-uB@8NonKO$_;^yyMi4X z*gv_W+(46QQ$=%9wW;1dcWT2SG!aAQ0Mx_ScZHM2i|!%kN4s)+Qs~IK^vRsZS0{}} zYXv19OBOd37BS&yS$PMe8tx=Bq`g+|8d7A`?4(AiAs*g@25tXjYCQq{GuHLr&!dyt z>!5e=xWcJr0vVfD-U#Fv7EEuDM*!nB#}xt)mw;MBkh`Vtw_7C_Z>;AjQJ^J}kj(EX z%t(KSy8iaPW9kwyzIX8Lg;RS4Sqts@KA;3yJW%@>PF=TCR|j3yY@nlVRa=dBOD)6I znCKcr0Vz+U!Lk!owwG$;C@}SXe*E#vFvb*Jk#5M&$K3jgP=O|1b!-!lX`at+-et#a zULGW#rZ8!vv^{TX*v)88e~`a^>iX;GR(9EPhNBI5R#U8i=i=kmufenUt{ixdt@`cs z2W{rRI^Wat^Y6l#s3okO%NM^Gad_>n_FSXTb|8X{tAQjusy%ZJLn6CY-eV}Ed`FZW0 z_Bq+7mJfK|3^XQHG6Z^%yr2^h&5D&umrv>_M;LP3XIr-37OlY-qcDU zuH_37W1Eb@(s=Zo)bAuJ%W^IZ7=KAJ0mb6ab}uQk&qsga8oJP=yWmeeP~i5~X4?Bb zEmJ0P@Y@uM-$Eze!Q!`cLbq;zdU zzdBdeHGi`|F`R*cVk6z9an_qRDiQFvQhx#gH9Y8VgSR85T*fs~TJ$+x&JrmgQ8ZUL zTGq#O4;}o34t~@wKELRQDth`@*0P}I4KYWmEkVCTP4-&0LDn*u5EaB)hPC%i?m8AC z_v=_W^W*Yan|_fFAy(pq<5d=&bSF+PY(A^agm(CI_CJXcZfAHBquRS`zijV|ckp@Y zrhGSqLLl2d+Q zw@+H6+o+Huxbah`wJn>?+FbjBp0&C5?Wj4xefl+lmbYl+_CTMF(F&OaNwBAO^4qya zwlqsKPu9(BX>QxlEcUn3=W4zF|Mf69n_d6Es|n7D*8k-s{;#b6Y3z^+M9`f`T zp^LH>|5Xz@|KPjSiY!Eak6Mwp>57f&5J`pF`OUkIw-~(iogB4W(777BcmGMzHmM5X z0b|ag^P`5~&w^{+*#6-&^7lE1$|8H!1##q>R^^@O>Y`vA^t>0D%EcO7MX~LnA!eN= zi%;6)T@ZH7IdtA^%8#5Sna@a9NZS4J^cux3>c$)NCG{N;AxAKs^)kC&uqX8FGahP>2**UP;S1bkA#y({-T@r; zd3G6dKSr=2Hr%T}pfv38uZeU8!FRXE>$YdBarHKALVIgJA+2T1yHbP*3BQ}0>F{rI zc&9kGXX%Y7#^iBtzQMB#r*fhtxT3kYKLI+xVpLzjXsKg5?8NxY8JNg^(--gU_oTh* z(8!o49Af|EVEk?MM16dCF-GpgmD_^iC*z@C5f_FC#C9K1lEewdq@*vH_#x-HFzZ;` z$kdu^V{DRfL}J85>M#CB-!f|YlQA`tA3v5~Yd>x8P2A=dlC;;DhZQH6IgTE^r+YLL z{J%r@C_C1|0-Yt@v00#9(q#rY;`GG4Iopx_#yng(wCTb}*)DV-?!VrJn*ZL}bgPR|#_kD&GtwLYFgpbJ#FpAyQD^QT_Y4dS9x3u|q|;$X$I$ zcd6gK{1zU?(o6~0-U_2gDc-_|r+a5G5jt2BXxV1dV^Vn~DFWfzGQ7}7KMg|x8T&|| zu>19J<&J9;U9kBAv8|>}w2Hf*Bnx^rN58;KfY||U)>=!jDcYxHW1z84dcvvn#*esi zekI30yahJCAK>04wrO=Vu3rP%7MY4iqi1R{7V0_+BJ#ppNQm1v%fFg&TR`Z<#{~NEmW}3zyB-ndhbN=dK-9+TW9v> zJWoSG^&P;7tDOUM_j6DEl=Hobn+iP5#&C|H4quaa;Pc{G-BDj9ekQxWo$GPkZQ!c8 z(`Iz#5_@Y#JRe_L(GT?NR2wEn5 z<&cI=D3NjhBxC)297JxF;HE4hdwheZAl?yk2+khi*U~U1(F74V`OGPJUgNC&17ltR znVxIK3a}IADX`G-MYHXTG%_Ka?ZYl73Y73x(c>_Q-M` zC>M@f8Y4suGhAIN);T3l{{uD2S=>L)JmUZzP-*6VR>9!l+k36p;2{tLP3TCVE}O zL`a2pmj&9g)`)hqthLwO7{v5b{`Y)-~VK zcl>^=Fl^}Q^zkJYDk#tn>q6qN30Kg64R^5(|6$`1L?v^ETzlMcM^0MHgG4c(&MYBG4rFa*Wy@)ttZ~LMKpM_{)_x9b z?Bh23*e1IowAN?j{<)ZFN0Zl|xXT@sd!1JQ*0nQT(Amxc(PP(ssRP8cI7MKab|+K} zmE8e|JVe(=PNI zM_qkikI12(R zU22Z2g>zRh9x5-sreh&KdyhFI$^zTz&xzXCK;d84zIC);+IMxE_U*$us@c6fD}cRN zL77HEC^(T6PcLj_S>KbonSGAe%;V8x;m>Sj@OjQPV#9>EaTdcCN71Yv`3*j1f}LSE z_ihI_#Bqjf31gz?jU}?d;gWDq1Y)D%zdjFE)?$#59oSkT!)8-3w(H1*pmATFy#t$+ zzXN+ShIK%8VDMiDICpHte?23ePTX2INiE?Vo3LxSj8lyq|FvK7-}@E+y??22Wc$^A zWq-4JSNoOydwDP1k3q@oekBtr$59Za?PI^P^Z5IfM%k~_Mtb0CP}dhSyVr5X5%e@f zzmQoW`q45&WIW97oSwD8{?`0eYyLQz#~;f&^N;xBsW*VEnj1Pke|-Oq8lnDI`Qz6Z zpZ`<*G4k8&3~F#VYhT13)EiAc^pp@?LF5|LPEBD>bo5xNXlbYkgaPJ%ut%l+^ z(Q;h+I`HNAt0_3R*V^bLB&nValRxvthnJ8q$^pquCFv1(QfS!{?zvsQI7DpOf`o?X zsTc^lu9*EO+BKfSL(zVjI-h6XUGOk(!xGF<{D-^$t#8)^x9r-pwlRX`1{Q*`nR? zpaWZbs{(dx7Lu#$F{dfdGNPxRE`{MtK=hl<=3s0{ohw=?4PHBWug+OVvMH}fyD{S& z8`8`OWomsK;_OZTQ5C8I?d-n=zQD)udz$3T!GL|wXTV$o#!|@~-X|Gy(i>fC*T0WwcL{BLfJ{ya%`2cV^?K@A(Sws6( z5i3bQ^@Tuu1nIH#Fl0j}+6faKeow>XPt(6?tH0Pr{{u!Y+Ju^xaFV|GH~pT^{N|^A zV|a_=DG~SNm|(54b++QwZNYfsHTE*rS8dQ8#jW89-%uE$0pQ2$nPp?!8FTBUd5JFd*Cx8}3wSn6>4qS7e=q?z z=viw#^c1l+lN(F~fXLcF?MECg)R`M&AHdok;&9&@u&}Yc0d#Yo-cXFqys?cf_)H;&$pn-eyr( z5}yxV@gyN;)Zo=M*b%h_6TY6@=u!BKizaZ|HV;@ehY+*E6H>%PP2 z=G#HIZ)=&P=x3CS+E!*K>8Fy6+EFHH`iV_Zv8)^Yvs}mM^AF2p6pWhh$kEgf`H{gC z;75k~&BAhpwn!bClx38zkV9@{$vdi1UiA1-ZGolE*8@?Kr}RgD&)z9@GLR=4vE6{+ z#3NQu>^~Z@zbeF1BL@GX9g2z49cO&Sj6tfLpI{*NeNpjVMz&VmattC)+}MWBy6uy(&dl@?KQe}u@7463Zsi@ z4p&&v8BBEfO17-v*hi0TNvJ=Z&?~duuf08DbptU?i>%)9Kz3S%wdU|!*)i%AlPY41C zsufNDTlDJeNsT{pI&J>tOCBe?{Om11Mu5_ zE%4=f$v+}J9dp2+%4_QP{3ybgdXG0DoT)!c5>1W1Db(oducbydKP8l9;r|d-y0|q} zQtQosg)~`EF{ZUjf6RP-oyZf?rwMfB|8M)+ z9L-vdh1VWsGsF9Ea-_9tPL%;nbg8>GF3s^iC#@I=X9u@fkM+KjUk5 z=&<~bI*e?W_`TBIqphL|n%(^{>M1a)wFRgM_f<4=C=J(Sl(PYcddda(l*Nzur4t{g z?naz#Pb@qvzoElGZz>8ZpCP&a3}H&2}#(0hk(&-_(XoY9HL2Ziu~rWicbow*uOPVmM+07%A-pserLli$|J`vz9$0j z(i73+ucKd&{Ok0KjUyL#Mzf8)-0%6yZysg;_;w~$jh^v|S3hvc841!7o2Xu%qu|A-cBWkR*31;^Qsjj`#$n6IY? zG6gg}`0Ssf2X;mU(%Kz{VLi&ORpbEI=eMakJc8;w?z8S(7#`jESiKOzky$B4E5g%{lwv~O+O#}=gS;nm$~qG<@G1hk*{UXckKIyxP?1M zACwng){5|;&smnI&rmYRCOe8hwe=bN=DB_`&nAa?IE-S@(Or)nDV+QbR0?;2&PMDH z3=`Bll;Roq zbg83q6UUbu@cH3uF75x8@Q1h#Z?-5dU`FsT$H!j#W3PN1v_EibGk{`ACC6UkUwl*a zHMLIZQI)$y=#9nRN5b?Y_RDDG;xbN-&G(8QK#pj&gLiw`M$#7<0go>w5uDpr_)Anm4YkV@gEd6%we2=RJ+>eM{q{QUOeD{_U7K%)56Os)?!Oy>H*uJ+>bN3>zQU;`AAfHgsYXr2{?UsA<4-d;)_%}F^SXjR+KjW#6j^&99@=m) zkXak6Pl^+!55-Yu-vMqHZXnU5(V!AR`GJ_TPIu;ipncv>Q@WsIahB7cU>yJQ492_kv`NbbH||;quCuli!xZ3{ zU@iBGRByYadx(QEb>Pw2zC1>Wg>tGfE_KJ-nT(p>B5&`Y&NG_01>`k`Cx<7xySG!OiG6vrW#VE%6Otc*e zn?)X|E(N1sSn~jBXr>$ve2~6L?vu#%K9M2%@UZxoeK=A>z1+9gY^vOA?yFpj*1oTf z5`1;(L4Gd0oGlkh;v=MNna`BJ0p#lkOc+}!w{CJ;9}poR1;yR5=8QTDi8UR~B-3B$ zV}MUunwh8RJqj_>J99`W@Q9!0i;pRZpXB30xM!``eBEaZ-^NuYuey531;nIxP;I0e z3pg$114lemGOpg2=+ez!xz)2aS`-{#i)Cle8k}9VYzy~H2FGtCi1Uqrr*77@a*z=6 z_`tWs4VlQt#?O=KF*i}!aJ_4(F;1CB| zw?4K9S~mh(*OZl}({rJ9FcO1EqmU4vok-J*GZXyAXG!)cK4W6nR3H44@X}+iyb#X+ z8V8@DR^{v$Cf@p`5WC2iLhSDO5@I*;$ONyk{SZGB*<1{Ay)(i1;if_f+bv;VO4yMJ z#*r`iI&g4;v5EhQ^%7qz@hVRH(U*sgXQyNS-wkuj<)Ap0`z=l!U2r-XPCf$wPsg)@eeW#2;v9 zcE&=iXVB5^cF!rXZ#^bYc%~;9+dt+x(EeuEHpumr?uW7cU1C0!5Rx7F3^>B29pHTv zwN3oU&YI2gRv{sqB>6s)w~%x{N$Jd{S{TEo5xmg2Sxq6&daeMi7;XOrRys~sgD*L* zRf8`(epPd*r|D;W$UeD0xgj0uQy-|@Derw=57d5!2h}$NZuMP@bu;(jP#-P5^pwX^8-44h4xlt|W6oJHb zCD?Rgf!;byfEb1K85)w3U=MMgghTi9>GdD*d6Yv^x8)# zTXVOON2a#A!NVmYMyVjVYPVCp?TJ@=Khw_zEi}OebWzO0MX)Q-u=t z51IfMGx|(oY%@9i*$3R$Y)jRl>`ptLLl)Ngyxu?;X`;i@toqKtbpsnpnuJ|H8; z6tH@;5G&i-Vq(IoeMO!9CP8X6QbwL`-mtJhv2 zn#LCOE0QD8i%f;@Q5VkvRn{CCHPT~mH>02_v$*DVrfa%~^rkN@m+UGypl0#R#a7QsDv7NglsB22`5^YUj>cY9vnLRL zRhk&Nl)-vgj%agZ2t6Ir+iDb3-kC;ke6FMq##bpA#Oh1&bU*n$>$wVg-#FKqlguJ# zQW7dj1;7=6dyDvoA76a+|AvE z;llXo2sg$C;+K#$x;1@jD2`jF#~!EVV0^heB)m3k&I$w@uO7=cMP1@dHheO-3z}Dt zB}h_uV^^FM{UDr}fKi)X$`jA#aAK7dvQW=etA?woj9&ks*&F|CW8w8N+tVRrP73hA zBa5ma9KRA1Ib+k8wc6%z(`Gv@sWiekK2RdBhtw=wTtKBN~x^If~* z=uc8(W$j&fJHMh&fj63rygU3Fy)vpV0!q1o)i6Xw_RaTy%sms!lFKMyZCUMsegsnSl%79N$A;B z3zt7(q38O&EaAqB50n>pW_&TNqh|&xK+C8E4vmw6Qj~5cZ5WFUOEatenVmb#)J()3d zcLq5=vwn*Tiptqw)nV|QppbbO+eg+5XMw4*6brWm+|=!GxnhM8t9}K>j~`U8S9Xow zPryibG=fV}T>RW!5dD5^kUM&3Z2Cx7^mYX1f!GWJN5|*yB1gbXu*;<2HIZSV_~I=D zaYLvW=y8XHP1(SK^v@avKp2m^(b^-nBs6%LWSabL+K@>k&7OLb8cc!S%g<3>yr`Uu zg>pM=u)o=;`2#Q(!(pA{^?L7D*yF%I^*sSshDSkUwU=axRxvYOt=r*I_+;Ie%QjK6UF(!-RogMGtI10rm-HC_uv<6ENgsBCVD4Jp2B?>- z7|2k(YAh1%>8UFiRO|9S$G`8S?6+}C1EOh;Vzgqfs^tvpu9OQ;fLBdteG9}FJx-vA zNUCdj2`By_-15?D8 zuMz1>hUi^ja7AoJsXKCN`dd0}G?ZID#6R(*3PGs|CNDUx6CvQWtQXuUZ5*bkt)5-t znCA0ta0jR6GHd$WYI!kgLf~Vbw6QgP8|kOx;#7$%&wp32x%WoF{`souW}Pe{XQt#l zDG*cNw+m}Rq3$7b5XZMllsp-pYd1N5A#%;XV#UM0tj`8A}Ie+OY z>0QyD4b|$6*zSgBU!=nv%nxly7tpPE*9oQ4Zn;2s5Z&qrS4(%s)mvwrnLjzQ>tn3p zI1aS!ng68ThUL|^PAYOy;=UdKCHgGbyAw$3jbEXT)7_1u(@zWyDb=T(wyD1xkY=(&9*hR z*T`RvWjX!Hu{bv1ewqX1tr!Swc8aCOi5-ZK~6^o{w~_a4+dt*dWPQY5Fo zL3LBz%JRB3bKg;YGni7d{WTBOri$krs+v}TO`@kz%Y?eh z9Hrtq#oz4|RmMCpjQWc%pc%$;EMWBb5{5e45@JpxMpcXjc2#jFBleqIu`f%p$jznV z{dS5z#yqx5QtZfVv8T5wcCadzBu_Xme{w1kv=j)?Lk_c@_D}9hMIwcuA~~><6zz-{ z>xz?NucUZdr@&&LN`X3br(B9pC52qwCvK>_NSfI7T@F#{_I7y~z70cND!8atef#TF z*T1w&>uki-c22`QNonaJH0O{V-QI{Tp>TUh+zd(j45AO((H-;&mmPgF(VQ;Va_y7G zxZs0n%x$}*F-6~!hv6fRk6ZXqFA}O=#yKx9ZL&lD&3PH=;LAGatw&oc{$yADRo{>b6zfSYX7+ta<}vH9p`1d^YUHiMMptnyD^+y zLF@B)Uc~cy{-^N&82_vIe~`{AH}Eg?s~7)$`M;3=!-N%*<}9B7m;NuK z?Z2eWpMtdYwEtiEUq`;T`QPy`=Kqjt)~BqiVsA3aT!japvUCO47({@2NMiy{}sE z!-8nHs>>%!jIgx4_MSS3--1?!EV!!OAaA=iL4||7g)7M8nyl?C*sBQ)L62@iG(=jr z>|I5+-r=!Qgt~Cw(@%4|Uggzg4dP9UG@Wfb{3qMce#$SH+`GpSg6vjoM+~JsDU2QS z$<|G%vT65PY`oy_MqtAW8Z?@u0R(J~+80J3;m2^QKdGEIBu1~09ah~ZvbC6ghFm_g zijJ_6kNdZ9I8=CAu;txgpVeXW9CmuK)%~(U5!wGs`;>S-F@inz?t=lhm~kGLx|AL` z@!9hLdJvG4t3K9}9!@ir(;cpSw6;l-Zpv4f@2M^W*+NCF0ulvFj^M~gsRIu0QG z=H4*=@_t6V_-Qe!ZwHRzWkT5L)4AF%z!a?{2@!~;29pLbkI;=<)aYLR7?ctGyZ>$0M z?g73W?8jb`PzDRXD$Uk1A`vxik$KEt*jy!ZCv5&<7Y~fm zyIcjXS4r=(W=l$e%-pdgezmiN{XmK~>j@KU*slunX^m0o=H5*}F#eNCJQiGE;GI9J zyueuAae|lq7Qxe1aHshEsF-zJuCEO~~-?2_$M{Mbvc8&w-bk@L?1;8lwngwCHg$W|Lch7XHIVSWmLK5@{++fYTN=AMhz?g*nN2fp}$&Dwr5S zTWTXcFa_b(#IcSS?vc99<&Wer-yAOy6>MA-Q?R<_Wh%3{gCPEkWir_&7#GAOz z%}K&y_Oh7O2^m+T?EL>II}`Y*suUz{K9Zm z{6H3ls@{T5#r?r*y+RDk&Srl}@mow7&z(BGmk`fkYrz0?GBo*m zKNtKIgml&J!KfLDk@SRO7Ed_4n+qpCMhVQsLrz`0^)JSAP@C>-3Du>`Zq2pUKI}0y z*4*y=Us}w^t!-)=Z(duUJ{SMM71q=%kV36B_Y+R{hLfM4&8G6A^=*0%2rv4wUAS~P zE(?p+m-OsiW53C5Z>3A4i#N8xb?--ZBH9kJ=9Y9E*jRFgHFxPio=XQd)|^p{F?D(H ztBqhfDZQ=cGRa+Stf}hPY8pqpUDG&pjdq*Lxuqnt*igTS-?2?iwQGw;HP^n4IFh@1 zSV?(gql10k&#@WNzz-I_bKB!INxA))8hxN``K{x#_31Gsrg29(t}u0)0RxRScf=Y# zhOWg>NC-PDGrjBRxfg$366w&4Uq>56HeeSqwC*{AD>P_QD~bm;9?>Rz&w$E0x{c(^ zZK@jww3$N$sa?gf@+c93!^uyq^V2228+cDiX=BM@(d3G@1Di_PROOM6JA|L7&{u5A zmgPA$?+WxGlD;wrQzqmpM*SRw^zhCA0M0vF(!SaNgrd< z`O&K zTvyEX4_h*Acx=gDupgSg-;+}Yi*)54J522P;P-zyYRyr1o(8L#r^_zeSzJ`H0^OE7 zcVo!`Eyb~Rr=uNFBun)r0M}jnNo~WY6YyUP4KHa^G|;JeY{2tH)kQ@|t;lxq{rw3!?b?aIVl`+S4JS6V z4JUHNu~YeM6Z<)zZ7ItOiX1j8Apd&TE2ST25_)?|U!F{iHk@`Bs#`P=u`zg^oXO1t z$yo+%mzzNw>4iyo3FpO7tV1uiTa2)R8 z80zEjwE#SaW-APyFoW9H1fIspgt`OU0m6nG0K~@UXSz~WGFN4#EFR1oIVAMwM}{>| zE|@cFJa7-W0|8RR{>V>L?uZ?!)(VIAnjgA z{DFUrx#VT&qNx2Ht8gxrG20%uouMv@*jrUku3{w3A{UPzMzsU^5w@4HWAvhEwHmG| zkp})yZY78D#14C-(qj|0a`wU=F-MoyaG}S%cnyveD|qAff5?c(YG?~QcjB`2nWgda zu@`iwCR8fO2$YWwT#qg@61%q(7+tL+IFo~}f8l&6hUC)!)~mFoUtl|YMwBbDd% zj(uf{yUQ!?*r2!zkjsK0D(*5~;cBjn*he6DVw>05U)0%e)N$X}ExZfcT;1>`d_78Z z(=Z89T}Sh7)PC>IqX64I)F^=|zVFcoU&PhKVtpyxxI9u^KQG$rCGCNK$?9)T_0}e0 zUtIrItV0cW5KZe5u_aR!ImBJ1t9+?zW1JBO)7Ve5jotwwb=5nUqi zO1=H@q<{iVI%L1hMF?xUcvnEdYg}C#E+%O2&GVwguR;fRSdEs;?J0D8^tbiSZ4+>G zt6=hB1K=Cm%C9xQGiw0vk#4fq#M8^UsK zuAdr;aU8j#e@*4M^7#7f(S_Z2b)d-0P6HG*5YT_>oI4`5&JDeF>jdi^;@i3<7KHGAKxfc zM58Id_FKvd6xeuMs%eEY#$+qWOd7{#>!*ZDRiK zHZPra1dd7WXn)&*Of%PymFcL=O5H>G+4JegD^#R`!+YDXlvVQ}N$!yw! zYF>F>Dtf{~I<1(#6hEqTS-)|nz<5(b)gapY*xh@k%~b0XzuM*7CSHq*|; z#A$T&Ga)+lKE!^=3J46J{Sx+cY$DxdHeh%+POD3&M5eqHiE6vmo&Obs&=NCcX4ARx zFLd~kYnNboRNuF+tJk>xR&l7&y7QyO%c8xSqSs!?0gILPbdACjs+dj7&!8yU7AweN zCd_T?yK?hd_7vuQsVe}vhv?KILiamv5p7maP(y@e#2( zvp^FlvQq>2hN;PKYNh6JLQrUT)0bYiB$J$-Izm8nO-<@VxvSu#9uYHmlT0V--y-L; z0vmPq6FqnXH+A;2!dd4Sd{L*^9J6mw4@~sgq0A^*q>7X}r#Jb-^Tn%AsMRop5u`3% zwSBd&2mG?mF{QRtAl-9$Gz8YTFihc<897 zcm6=G=>GX(4Ch8#!^&f&;oS1t%C{AN>usxn+W~VXb9mc#;TMskTu#SU*oy|G>rUb> zH7{)%U8&Reo8tG*yrew7e>As@Yty2Y%f`Cl^f|>yPXeNOri{ws_ZzVd$q~nVxwr3< zCVNThD?5QSs>#bHGF8{wCnjs{>yjm5>*;k`**m5@#z$X?YAWCKTaA@E2uxVE>+S!- zUF+JmQZpzw(}6*kQZi36+yqrig1dPqO~{$8CdPpRqrVd@$291+UhuABm-R>=)FmHv z`Y3FJ8cGV*{qzg&EJ`x@v#-0We!vZAcYDr8_Dh&#IDgVOTCcOG8+pJQ!I;EEjx!k_ z@muR%-7febGsS|{vBtAm#YA&vjl%@H&BUX!C+J(h@9fB2tDUA=O_AKo=)7KdiC5$k z=fhy`d3~4}m+{Z9_qH(DnP9ibYE>0=A75k4;N>}ubp-np*lFixe}KZ?^- z7{u9|=%lhYBwx^kqImqV;pBjxW%2GX8@n#QGKTIe3Yp2)JGF|N*MqV8*>6<``0rMA ze2po=2uks$1a(N;t^6Jjn4;Zxg$h@q$g^Oo_p#6YAr!-I&`UMN+q18=H1<8`56O+A z>+RPuYnl1OcWCnjBh643Ll+fSyDGm0*<8DbVvBUv@>u(2y5D)Ps+X9!XhBDky}AO6^60h8*yhr(y?ysNcre!GG;Bjpn|PmSFD^)6O6UnpgAO;o z?QlnIrNCkeG_9t_imYcr`=Y0!p+%cj*~Z5-exNtK8(q-g+*`J{te?I0Ykq$Bt#PCe zP4Ww%R%DOtjN1I_X*%Q+5VrP>Q7W7aKXk|c0*=-Hyv&53S@Xi)6=>7NKnbJ*cU%UB zuBz#D)vU!7@CBIl>Le{w58wwT{p`{1^ISXAT%=0P{ECv?C(UoO&G$=wqx#Y2b9n%J z^SM3z@BTDBh0w3|e~G=vuV$}fS zgP|jmo<58(cjrmoSbG?oo;A)Bdc}$U1I81WbrIJoT92={rs&;*Gra8X&$b(`)cG3~ zIFy&{AYq1}b71u8j)ZHv*F>SQ2AEu!Ewi2AXXbC+eF8F}_>NZUG@hKaNU%#Yz4*b7 zo@RCMzYj_;@+s{=9VN|Vp5;S#%}AY^?){_1=aw$)0gdh}Tcxa=LS7W>OBY{8nkbsU zF^;Z0qe|zPYV_=vYPe2$Bt5VzUY+r8>g+zIlhpF+2DFj-3pm{&+k?GqfiFn+T)o%A z%xFNY4^ui~oK~(McO3H2R&)BnbxRPS`818O2|@s z)z-zuvF;$a-$OuY3jkmnbyKV)SCdMh2v~8yFXoQ+bY~jr$28I*hj>87{^*<$soW;m z`3dLtIl*&e@{*A%C%I@>e4SH!FUogpay#b`{tRX&NwKRLj4Qs(55~P0F&Jx`D|@zH z*6?!w;N_=Syce9Tmp|d9&x#q%H*Cxo&?uPGf$>K3ySSmi{RJvh;OZkSJKR*l9layz z&;#wI&4a3WTv2Ks`!^4gDi>wi1C^ZE(B{r=BIY@Wxhp_4SBUzGnCUgn&ChTNcAGnU zCg-cqD~jC<=*0o(B7vT!0yV!@QQY`FskA6o;lo=EYVYLf9^_f7JhjSmDzB0g8;h-9 z%L6pXajci)%WR(WwaU>)If|9Tqr_^MOD0NQZs4>jIq*fCM}Ava)B_&Kp8}981cKe5 z1sf|pl`<&+xs~(BX5S=0RPTWd4?u>fl#>ceIo<=Q3_z|^DO&X+6suu>@AYB9>&d)+ zApuKSCUyXP!6Q`c_(D93m!tsTmT9!S)bxObk;NN` z5W&q>XIJa!E_ax2W0qUFWBkV~YZ{&)2NwpW2k%nIq134&OXlchTz_I(sMT;TX{PEp z@S7RH51;$k#gKJPK-S+_K4nkKzdN0G=LGK->)m1bciKTZK6v*&@3iLo!u>6c+Wq&} zdA-Gaj!(s(ql-T;Ip4YS^a(l>^po?`!%v@3u-}f|-frvOLe7YDrY_UiDA>{Na8l?| zxe9aA_zr`dn$vr;J28ilHa*-hujWa9eq*9(*q_nu$jpC?3Sv&vjc;!Gc0#vvoW-9- zS*am(Y}zf|WAzf~LyB_9RcCT(qCJ|*GRI*uBYD+lB|EN**>0@uwT$=^OKR;;YJ0sI zPX54sy&ojkGN{=_{wd^bufYb;)AmjqUnX2 z)##qBUT^eS-8@ypjAl{IQ`HHXr*r3+ulD+kOm40gd~(T7d{^SHM+i#3?Za>{bExik zqEVqSAJNf0XiXFJw)gw2Y;I#RCYKD3DMUc+?gwARA&;2H(zk5~R|Ks{&|=49$?O=yM1fMo6h z(6mkejg|VN!SE@*6ZC(d=ljWCG_sZvqTXKaUiPI1X&3ETC0rQilV2sY&rj`Ww0nN! zaRONG_T6XzIl?4;FcYZesq=W$U$lAZEbmE=kL4eobNff_sg3*$JLmQe+fx&IY(BTQ z_+nll1{#(qjqXwk9-l*K0eg9%9!?#D{f>_DF7#XNYjW`s%sJZE)YyH(x!1CT(?8pp z{J#BdhbMQG#Ro-!;Pf8nb?e#>jx?*h>g-8=>M;!1?FVE0YG0Gwp)(iFZHf|ftz|_k z7Zl;aqFV#)QwZqPp2NCB+V`gqaMBX7`%CJbRa2Ngq;k16^%{xYc5Cc78)#-8;Y&P9 zm=$tGoM$zuL)&njbo-K7K2|jdIcm4ZDdNw0tzQp)^mpoX#%yP1clQq<`vmb3mZwC6S7H0?{tYADj zYtQlINa~|tJUMH$+mV#Q@#HLjJh`if`%Q*d&RK4TZ}`(1TXzIz-sN{8`kLL>+sTdn z8Edg!nKReS$l1uVhtA?wfd##&3HMu3!QAmMmL+(F^@`(tRy&LH;pM8ROdM4=9WX8Z zea;VgvxD(i9WrY*dF$@aD;8`lRob)RUArRN88q$H!qV{-?o$*bGI38_Va;tb zphvuOUHbN7?TROEFYaZf&Z7}#O9$|j7D~y>sfV*jIaV|t=fuLviEkCf*v-S?(`+(v zF_shh-ADPZaubus1p~Doxj%iKt+_g+uDKR$SW1@8&WR8RVD_Rh&08x0Sk@79YrF;4jZlkr2e8k*=~XTqRcUOE4(duJu3SgCLkN7i`+zTcxW#54%HjS`p^R`}1b^d6?28Ri$ zTSOL{^hox(roFHq5XMXppXDz1Br&UwTZ9`bnKy>*l1HMI>tY=fl_y%MnWRWEIjpg- z)>Zy6mJQ>S%0*=5nS-G>#e`~T!fM!$XGCzE;i^ARU3~t`ap<`+A*A~~`K-heNnig? zi_t0*gRlDHull?XP3kX=9m0KOgSr`!&Y8Li#jrM(Uj2zN;7$*c9euF4!z9kXLN63W zp5H`DcRd|NRj!ZpqT!_`2#UF{F`5kMfXnVQYwC%#7c_5HbFJ#aY!H9#J_|zJVQ1A> zZsc-zhHMnp7h>MdW7dBN)UKV;(m?JoT~~(mdG{XJ9W9M6St> zHxj?YIC)4E?p$g?97_UNrz>|_siT3*)EZeC4kGEHv+|Z3_b-QgR;BZJAL!c9#=7)* z)$}{{_Sa5IoTek2%@ul|fx$s+{)ynYAS2e;P{5@FYFcD-qB^ihyjkLaY(v2Hmc69pW)lCa_)4j zX{M393_|HVO=7AXIuxuVx6CIW#R)ia*BvHK&|;cg{S3<<1lieN$+(JkF@z>cNuZ(s zS?V#39T`c)303_!-#fQQt1;jMV0kg2oluY9<@SH^at!kD-oGmSbV5bJ`_upJckP+k zyz=2ZL{E6IZ>`HCI+$s-Hw;vN!dQ`#2*FCUO(*n^0P5dhRKHJ9pp1J6fc5sb*--}Y zA^=kX-~do(4>2z)d2v(l;#*S!tGDbC=B?It7X)vw@+tnEV8=?WIo<)YKi(2Q&5p5mNi&J{`3-g(EA z7fYTdTf;u0p8pJp{57>^58L#&X>|aR^v_B?V>Cm(1j#OM4J}-9#rmgKeqp-vZRa?3 zzbR$ocB`{rv~m|7QI+iYzk|Rkzp*!2=jsY2E^m^}FS(>+UFC;k*J`KHn@u86W2R$o zjJ8qNzQ3uID3yXg4)wDlvMpxO*Bg2U+I@dB(60GSi8FLY+~?j95kN6{X_RSUNMSYK>8LIuR*%yr4Jzeox=2OFakV_ z_I~64Q2_s;Nsk}NRCm8DuGt$ZvitFQB-h(6-q0BjWFqB^SRb|7u+n{Qd6!0izx9%f zy%<2gi%#jdK4Iq^yk*a?u*0Ps45(oH;%d(k;@i|J069Vecw z;7c@*P${_;emU8-1$jImJX1M9rMazpFoN{T3sdf(3j7GmnfI3Rj!UJbfPSN*#P>DQnPr&D7l!F~Sc@-g$Cws&A>>GCfbU z_?%e33)459+#7$aWeg>96EpT=vrvrB(YVB}<&|oh_yXXMeP+C9?8i77+0Akwfe5zh?2EZ)__S1*nsw^oGH zwZ%j+uE2Gxhvsx8=Qt4wldkM5T^cVk80N#1pmh+sGH_i}{&25RH)o-a!7hLqi$ud7Q>1af9IZxqeX%>2xQ#*e_>su^b7%-+r1 zlzt~dzvKQ43Gpg*k$F`+OKMI?Le8}226q)AnW^$i%to`&B$OmmZcPQu&xHA@)dJhR zEeeCFMHHcWpxQJWRG%Y%QSmQ0^pZbN^6P%`Q$g|@N}lH@%ZlnjFH`a#{p4vu@_&?k zkDvUPAbG8l$C>2V7_WfGlr+*yy3tE|R7v$-=F~5>4039jJ=Zp7uWDh%YyZymGqUHk zB+`gyWY6%x%~~mor?knN$R6z{OGa5PkTl8DTJlOCNZmu&wx$Uzc4PQIY;gbeju|4( z^C5GCD^wp?!5D)WXN|ueT`4PYRHL_^OqIhl-kH63kGPNm~fAV99$sCDz=KO)JbRtd%(n7)J9LD>dB#M z8XT3VTK5!ET?l;8_C8;$ws$WOO`*wr7ALFj61dfHB!$rk-o{@{RuHr59~?oaI7$C^ ziWxvLnH_MDsEPy#?ht}23lXFYf)fma9v*^j9)kJg1wm{t2sWvh_sN-=VGwK>lIP$s zz4?(h0S7$|f|r133N7Rl4qgT0SeK?XJ}W4$zy?Tek~JRM@- z)iie{!XnUNg`d#q&Lbg5E=@+Tt^?u`daQLK#lu%?|dr)2lT zc@;NK^)ygt26=w!b*7e{+v~5gcalX@|NNZR<^X0c%W3N7?A3{?UtWwDJxHTHk35Oc zCc{b~`&k^EvqKjE*AyDWC$g_rCa!L9LcixcLxJX?H{Vcz7Es@~Ii0w3LSqbw=TFl` z=Upc+n}OU~tP@M!!+|Vppuzl4@fjv>Tm*P<#+4F}^h>k}w~#iTAra0Uo1I{{!mD7} zGon__PWOAUVw*m~-Kz5>&Fv|T1~csG>LS6Noo`|7BOK;9X zZ|A~LItP1cw$I+v3EOvw`^lTAQ~wL%WejHT{)~e8%g%BC#Qkk~6`ccBAh7UB^S0XF zi63Zo*%kqtH>WOj=TlOlbZd6Er{?{a@K5LXqvjKo`uwXc17kYXRSHC$TBP&9Uy;t^ zl8$Xu(S4NDD^X5d=r2*#U$h#z{&g0Br-?>iu8%9>7%#z-YaOHoa&1e_rqK4mo?J70 z`*PJ|QS3zI`ie6y`2=ZrqCv3Ho`8@^!WgSNL9MzZ$m7RgRh(fnoq;YMnW zWYv7!OP~uGJo`#sva8~q_qKoOUQJmA>y^Ae*mg5c=v21n5_Xec5VH*R0Sp@M!y#Je z)+VA|;~|7BnQ$>7T%v|^7b;rsJlALj4Xj-g1&|IMi(1yD=TD$Bt4lvos<~PEq!USG zDzb?MS4$mF!~eR3$%rCC1tsScC}CzJxx*OU59^>#gcWYTH=a-lOLA}a+4@2bQKhLDQJf@kZ+t^D0_D4j+GMC(MS;2LDz={8h=MZa>kS3mu3A4e$d*8T zT4kfl+OFlI(+*c(HZU$V<(Boo2RI^6aZ*5E9?nyE=OJSrYBlVFT=}Z9U*m~IHrX$7 z(-UB3m=0HdI4)jm=e*4_?(zwOBuDN4M$#{K8zcERDWPZmQ+k0@vc1pNh^#37vaL>k(!O;1?FFsK=n2!aN2;piGgfvB z4=kGt# zoX3|J%ZqXZwZ65WW)qClz2J3UP}qF%Ao#Jv_>MTD)t&i-Xc_w-$b0~>YzhALh4Pv2 z$w#_!0q-TB5=ugFM#m+%ei!qCy_wu}PfYT^+f7V_G~MdSC$FuQ>#QmA&(60QX>GTU zjJAJ}o32R*J_*c}#j$^wfUIgs_4Y=Du7-iFpWk!^e_Nqu;EiH63}I^F1w$BpQ=@@U zbiY-Eb1i7kdq8K{!Ygu*eNA0Q1CM+5$Boota9#-PC;Hg6N=bLQ^>H`K(j()f?`4GqV8BQ$ z{50!K8mp>B{T&9>Z`>oHIMSS?O_)C(1*Sh97nuk1sIv4Y?WKUIGjp2xk09 z4RmG^d;Uo1kZ98Ld$dCKPc|}w#Lpr7C_{FI0b;3(7{3rvHgHjA1iPJ_e50+lkb5B| z=TDt|4iS%u2%vhlG_qFk-FJhZ1AMl73ozqHOW~VotSVf+150fP?3VbWctT}e73A?_ zepefsXAdK}-kB{~P}iuiSdX35f?(7%_U;B3#SZYa(r2&{O!dyq!^ji=ka?7;%gUvi z0U7bq>e_)hH*|)tYaCV(s%-hFX)R(J*iwp>dcqK&lIn42FE5u9Q9S8t3qj;BkY~=c zFz*!K=V+UsU1E}0Pue59@E7Elu`#F*s2=>7n#X*h%uSzWXbEMPk>)pFMOaY-D`>v% z!!H%iky_hZh_5x;G{&`roTf28>X+p;#*ZHrwtP#-H%7)GPIP|b4x*_?okxwH!pl)~ zYM$=XU9s0@)c-!{4Cs$KR~eN%&WFs~zY5^5Y7PHrUd}|LHia8~DuDm#Zt!`*0&gnX zz|$P_^yG}l^7WDKS7bOepi%}W^vKc{VOrRNTDiwxxRQA7dHZdCJ~SF}lks{#qa>$o zysVP#EyTp2bhjW*d);Mj0X@)nfE@MvVuAVG@&Vqt5S*bY!JdJ8Qvmz7LfDpR zkBX+ungH(J0FD4MxaHz*I1WeEi+jj`N2G4i`y?>Ap^cgO>MWFZvR=8dn%Bh)#_TUDw6m1a(-2Heiu)hvqxBR{U zw)bwZZwU690QTJgwxxlCkuJh$%N3oq*AA~;+@d;ahf<8fc6b2A7S5+le7a6E<{2e2g&1gt&a4GA*llDwAE0hh(TUIFl9YlfrW#>hliSNjl zGvrqNewP!33elAQ|LfGCBYvC z1`=$mBH5d9%04iOD`VPwU9IOd;R4mb)V0>z>vMz45n}JXCL1|Ex~xTx(3$49xR$aUiZ8z26a1d-eoE7_K@5N8KFsaviK>CZV&w58 z8&qz8IL^!Ck5aMYyaZ1k7eHPhk1}#Lh1&2bd1S+ZJht#y6zhjPUNebY;S9hMp1oG4 z8T{Z11aYSO^wL(fnmxHSgpr8@Ox~_ASw%}G|8URae3oroM&yH4aG8x+FSORDU@+AE z3rOYYI@@ine?~rL&f4tt9@z{8lGCZ@2)Ja1VCX`q#JGGN{0Y$s>eY(A%6@9iYEIPJj{X(?! zQxo6!xHFXaep3A4#P?;^)bW&M%_V%u<7=(tjr_1*!^x>~)A%>#Ixt`!DYy+huTq$w zQUKXn6>wTm02iY6QUOck6Y%}m)m)#EfHSPW$C1ohM-yJg(Oajpm)njPqW4gvJowqr zI(tOZ=eCJF|J2{SzsR6<8`=ALWYu^{M(X0pCC^I<2yjvyA( z8S$=c0k;RyZ+;>OZ0@pDgI1XXyF8K8oU&P*X@ zX4sXte=u*m%)+bMFP);9p2rSOy7ahGO;TH?pNbMq7fMJ^^a?uM1l# zdB(KFbeB^NuwjgjA)Fi1Q)6?C1B(3?9u?qZR_bxI__tVcF)o{h5@ZXt8O9u^Lm`zVfzoS=08SzjC<_^!I3f1o~Tt+aHzY>s>T`&c0L& zr=a?D94E_d?nKE-Yv<3YALGT4FT*Q}xwkR>jhiD)?qZ|Kd#E6FRd4S!)m7djka4mo z>%J(|&>5(MdkhG(-Q1HY-fo2HwMBEPE8Kz@147DWQL0Dh44GSF-E@{2rux0hK?FqI3vRQ$y`#^!9ma~k z+}*W>=?#hv0HcGkjb^)$@K-O#0k@g-aBgUMEyge|KF!5Wr3bhY8yr2rs@=pd{p|3iA7feW2?;lFSu|I zx#ysU)iFZZE;Zva+l&7BfM96u#MnN*lQnlUl;Y1d7N2;VHi>@a)N z_#AbnzQY?rso^MBa-MSp4r3p>_ZUq?yC%WdJzUY$)Uc8x!ML2;O)ZtF{D~c!`t6t$ z@08eK^y`hN_4wQ9S0^rDv*zwE{aP7+mu-zrsBcp{B%4x&M4W{1p63kjFC)0yHIK0j zj105)><>oiGY)$#7)MRpCqB+7pwD@H(r0JBs!)b0ePJX^cbi5d*RZPtOtRlh>1wK4 zq$$~KhIwxeJy@#8wnd}KEZ~dDoZo%;(EW0*G%@FX#y38kzMh4hsq0~js7}_DKaz86 zO6{hY6W?mRRzqWmmtNbk8a@J2ydMF}rY#>p-T7_Vr=I)S3!60Z&QG=f$M(!{R31NE ziks{o!oWWKUU*G+8>ug==AA6l;cgf617nn|B`tCi+cLlRyY3LlfcV$GWJqd58zaf= zJ^7N6xybCvsJ~eIEG2nO&ga>5uvY565{YYrd*^|&T|d*)-y)44k&$;*OAY(mIab4! zB!`{TYMon3l&>#Nf2as+JI3t&lG}I1hnmPV;mTLzFNe3D)3qeVxuTCE_9y41OJ=hJ zfFsWOO_5$`>^gI(Skr49Fj-Ix<;+@!IJwxP+KxLGM-Oi0y3zQHGk*aW!`Hzs=7q(S zZKd$;%Vi&7i#pniI{~I~zvn7vQeV6CeGS8@pvmRH3&u%Qj`R`G8mPTy4k+MWN+KyD`&3fE8f@e zFvaJA&;z=<98X5N;|U~sPMV7Ni%;4IB$#`V*A~SbP)b(o0V^@C= zaXPMQDNgvJkz{3AY?~A9o&HrZw~2+VI&Na`h#P|HXeC?Q9ZOqs6vEe}uP(0KQDfC@ zK!OT3y(|709Li6lWR*X@VaACh`>Xuw-Z-+>RIabF>OX2Jug*3jSI`+e>vaaWCU?2Q z#&~;aY0%mFGeBA-!^HVm5f$N~FK%}zHmZLb;6YPp$z-5^Wb#{UuXo!8(72E70X>J4 zIV$^ECQ6&F@=#X}$GUHFB*{aNB{@Jq#nDr$?(y}a(>^cVaki0|onAzu98zYlG76Gj z!I#sqk)T(v+G%xV)H|D?Pf{F>x(EGFi#Vpyy$qz2Z#&cUd8~v@_tvuc4pQ}4#;MpT z!D_i^LPtVPY>8OMFUlT9eG)I^jSR{c>98W7zQr20Xp43EB3~%5S?Gq)JQXg#oCB90 zF=!Ohe7@XgwznZ*0|aje5QWN3uO^8ja3usx6R(=gq!dd9KPd4k6?F{rI+vAFIBcz1 z%~!v>Da7xjohQ_STK7h58jHQmbk3kglM7vmGC zQABmTzbVHbLq&jBR82)oo1+AnsiXw=rGKa)DBp3oNHPdPYT@wv?}mKMDrOm_F&)$O zqh_qdx|hpzfh|TI39UXI>xn-#6~e5oYmF1>0h;s}$;?pRdX=4X>p>3Yzk#E0>i4~w z`gx^r5Vx$~!>#6iIk$_KuaEMn=7J37_R0&m@VEL10w6?=K{ZJ z{u^(qPQJ1m%)Dx^%lZ*s$yF-ZZvmPXViH)mUJMX&_gjjsqF5BDgn9WH5A92OS^$)J z<&BuqN^qXyw9<9~ug7N_w)zzU*JIWTa9=Lmi{Z=t51`WqY{}*RfB%osnQi0$M7q1f zQU2p-414uY;Y<#mf@U+^{vpCqrVe<=;TZVmYiNJxz=DoT&KQq4%)^DDWQB@r>ayJ>uY9ooN=@r=1jfuV_!HWkZNZ&=VNC{KC z1kXgT(gG9xNOCrXhVm&B{W*M#3pOG2SQO*zUs*4cxKcNsgu3w@>@U>d^+`a%Uon}U z7;(R)SYEjs`IekM6`J=IB&GG{!XDYzxhtRa_9mXgGj!o`;N>s-o0ideFZTY3gzJPp zdt8bNKAnfYwNzmeaQ9&Yf!TKN=F~E3U4>yKknvlg4MysBw7H>YLJ#~A;i{+RisoTV z{$aEp<(Q)Letpf<1>Ne`q`Q`b1TUs5NfJr(@1?4-@am&m0g5!<8M{ zaI6Hpj!)c--{p(d<|>u#gnAp|`zss*VWn$&4oCSXQeAx(ag62xa%cW(06j+*{6C-t zlH??Vzu|g#GamVOu^&5MzsP8v15o0~Jv)?{MA3KGm7ua`Q7 zR4992K1KP-$c%&FLD6}nCI#kq!YE56>e41eu-sPVRieJ<59Ckrl~R}zV>VGVN?KbQr*jG z_^DE1<&Tmh`ts;tQ}{8ey-sm*nMa)#tY)sCa{I(4Fo zve4Z?r%wBebZQ+CO`$jVq$#{6aI4`{73qYIdCcflo@4F^khf~T-#R4I815#2M$23c zN-)TnN^VYbKmjHc@t^r!!D}4TX(*DTdn&hz(nn3oY&K3+GnL)rc-EDW`50uKJk zY_XL#N!~KgG4c#sHO;np$`Z}06$LKl`w9J~RZyF&;j&I7gptKmUC%ohM+p2`ojb{1Ib zoT}#@k+f&(9d*BWLtFQ0%mA=~^KAt8TGELZ_Fot(a;Ni#QH~99^7qK2`#t5!3#Q?I zJ=ilVlqIjO=IodesL|LtAoY$8{rYq*CRj<4Knt`}nk@5MgqYtQc`%CGn+MorHn_ro z%v2#>9d*2eI?}En)pmlH)JaKeOp=uv!MHi67`qxd*el^vd}I$)ntnB#H%bc#_M3(Y z%SaP@3@E>eeSwyd{_0kKzCTT5 zz9A+yqUOxm;@C=VGDXZ39Of3ylXtndO5QB!NaHpOt3l?3aC#_V!M=hJRRGcJx7Ae6 zmaG(Tqemot8OJ2wj=ji7_O`@)Fl~b!$FTC%~tt_Qm7JCaSLO zj*M9rZ>Lx@;N8bAf;$$e2A$Kxe^lpmHh@i`zI@U-^-(UXVVhBsP~-3S+BwaYUBXGL zD&5a0!$jY6Os^wDm4}l%0d}>Gk4ny0zfcsvF;Vr#k(6ynDG@0f$Qh8*$&m645KW;c z`Gl0e2s}21KC*c4WQ>3e_j)pB&ri;)o_In zI-!lMJk4<}kF5N_k&tm^FeRDzk*!IB@MzLZD=6j=^id(LhRI!g>h=)bAc1K|a~W7q z4kMd8B^Brj110`SKZ_*K=omj56X7OFHhyT-d3F^Kk@Q`~QG335wEv}dnCtq>e)@96 zIS8|&)$lMSn+U5j)jZ8H=MQzn(z&8X_)KP{R%)PuFrBj25a|KSg~RRgm@?A;&Q`V5 zT2Ft;qq@iQ(gVIU5L=KDqL<^tY0{)VRJUM-mhlnl3d05dR44d6zVODrDRZ|V?4@o$ zuN3zrzJ1-z%#uyVUK8o{L69lGelnMlc3f-twCmQw2n_R3o`1lzWJyURxwwC%a!uSs z6zom}mbLlw?_U1R20%e5x5U5nRS-{i^^@#gt>UZRxs`=<)fbpd+!r5#92o4Y18o1D zS%k6hatv(c{c>zIM%ZjKe+jOV4K#haB$Z+N4W7(1LG6{})mAxta2((;FOi+O)RsZq z{WiZy(PU3vJU(VsERN8(ZLtnWtKW4WhZM@0t{;BMej%;s5UOiHWt|*4pRe1>NGPi{ z2`k2T$3EC)06(@^CoYN1IL|KG!Ev1W%C%#sWJ(|e*w9hDHgWjps{^B9Gk|jCL&>=I z1d1BX4{jw$uHU)EI&eiKJ!WUb-pqYwZ7`XK?Nu^`o2_`Joka`yFN*Y9Lx8*9#BQW~p`AyH>>~Tdd)qW6wNsr*+vIb$wpf-nU0tH+@pq=OsOVZ=Jk`a=xdW)mFuOfP7$zSDp`dgHhUA@&Yxf z=ev9if45w8UN_Tx4Vl^1y6huJv?|sG<@iPHv`+q9XiTx-`qZk}7?86Um<^y=XH|R* zjN$yPy^ylOqq&8xy}*cE3W3rdd|vl1r(3zBE7`4}e=OwG+4a!*~$*)$P zHG38>Y&BR!wqf=Mme$A&ppCztqx%+e00`*ZfO`)v^n-OXYUkoi@Y%(L% zc@LNo%B=EX^2%T0?!JOo+7`TfrlK0AhS89@gHDUfkwvj~qX^4dTx?eE7*MoKJK`Iy zdCcNHQ_gdu$`KATi&((kwfje?2xbv0W{9L)fM^O`>yb3lBk59)r04JuDp0=Zt(Vqh|7Q?S1J`kQ*C!{ky z07z7=>f+((lgF|17vT61fPjN`2FKq4YzqC6Plo+Rl*@|=y9bU2g9DY(EGIiGQFXI` zS?Iime~)3~VWGIQ5XIvUNk~zH;w%rvnaUNrE9#uxnuYIJ0~?!6jy%~b6IGr3;&06t ze};8mG_YoywP5Uk1nV)j& z6X(2Dj^S!4Ua0P01c9C!o71bm6<6a7+R+}`>jiE#bTIR@(2LVrRsHF=h&ACpnqq=! zQ7VIhH&JzLfax+}8c>MoT7#*B!L;ij!{85mfob!XM(;0bjj0QmGOKu%sCr#+hJiLJ z_A^Qf80ct<{TC2Tp}%^?{@E+`6tCDH7!g}f_)xOnu>eHLt|D`0KZD~J0ggw04vxu% zIA%?kkS;Jd26;HDJsfw_o9t0P*HL(8CEZw}s*AvA9=Ab6oU;y9VHMu9u<-Lu;olr6 z20rH#v#ME#QUClxJhDXZp}|?hK&G0dPNM2*0fMC*EIQZgX@n8j8>7MZ3@8GDz5k$? znQZXgCVa`NaUP=QDGbXjB?WV1MD=%rDc@E`C#u38HluZhr<;Xia3PNI21hr8<3QmE zcq;W!T>vU3<5$UdM^QHl5lVd2%~Hz991EPAd%!k%g>{LQ^W)r;nSuL@k;tjd@csAkYl&-W_{)p`zHne{h ziKYo&<=+#Z4p;D~bu!b=QhlYTuBSI9ahl3?08PiIv4k1SOX3U~y8s4{uKb*EXp1eO zIrXiNDf3HAA}v2#Kr*AdXw>r~X>M~TNyPSIqW6Wl1uH$6NXDgBQZqjj!hI_1I@O&a zj@#2BoiqDUKyt@HR>OUrrHxa|^X=$`QB>JXi>a$}v5ma)Yp2DxQdnmS%lr<|0)pS7LPTwHVo@34>Un9LSWpH@&T6<2(i2tR zSb3^?imLX7RGn<7dJBlA&`Lg`s!8Bh!%sb`y6uyyD>QGoi~N}qK#de$I7s*=2l$@3 z9*~Cs38b*#H=RIBehz4X zz*Hlqdh3f!pz2a<%D<>o!dY7lX91er(TO`@%mbCmMjGt=t5aTlpIt|>D=0Q#=j&-= zXF3o~p?mm5d{YH(HEcT2u=Bw^`(o!B(Rj9KTn=bBnFHZ(d7}LX2xCHcX(7V948ooU z;h`SFg9Q##R>Peh&KviMbE_sxFH=P3XMh&SC3SzGNFBY{vwnxds?ZLXWPSp8ayt}m z!DgGNdbBJrlGWEz;?o=};uESq;0vnG^{DE% zPpZBXRlg;F<_Lk>lhqw%%6SeaH|(O~I$0^4)#*|_@0in3db%eWZzAcm_7vFU(8`%j zjyZg}e}S;%c5Xx)K|$7Y-qCVry4S7jH_9%y=BAV_;_TNLZo>~{Hb2_(Lq(V$B^kS1 zY#%5-%ve-=4U|?uX;2v#{#ups-Tq?x3qE0c17EN`n7lN%v*^?IUK#zw_M_y_90O7tkb4#P1@1rUcLy0sRaCX({pQy`DX!WyHW(QQbN7CZkcJYPhf% zqV5|>Ib$g&AnIXqV*fNm_4SDA;}Nw?_8%wIc=x`Dx==)A$e(!_&_vaD9fU>`qY9zf zzYxtS2F*J_G=*N}lSzabMUz!amCJM~y&x8ZhwKw!go(Dc>*B)sLz(HxXb>zM11;$V zO|7-WeH=P;>rP71lbzjKfF16NLz!2RcDP68bu)^cU^qDzPOiKPPQu^|1UA}{z&aUD z+KQ88Rgu80h6glwJE2RlR_(nOFVaF`9{Dq)4Vq=8`Fh!QC2!v2O@OA@p!q8hO`$*V z37UrmZZ(|fq1hxqn7wvwQ<+z1cEPOIUvw-GPnL>lEgrwWa3{he0c*V5K2dekr4)1& z;UfxriX#hqitd?*K}P+z&$Ck@cJ?o1=ahRSwReD^{`rKRmjrG#sAEEEN9~iH`?O4$ zLjKGt9#33JT3o=>+*rVq`y4oB%T4_SfP7sCy?1eD6Um9Hx`5D0BPjbC$`0gi+amO* zhR~iKp+|XyK0{szosis@+%FQL?~*@5{|=hZ+QFb{c3p+$2i^o|eqzw90HP^0pHJlR zg21hYdJoM3`$SXsbE;SFCyA^PH9_LFCi`ah(<_W=Nz?s|Ltbn!WVuMrdTc}cf< zNo$mJwn_5L`vr51DJ0|0@6DxC2~*?#RKIKHbAA@U4hNRYa+xmbis>B(#RqbQ$bKzT zCSvVo4u!yiEJu?CtG-|SWK$2O_&TS5W&=N?$%zqa=y9V&XO-l||I5oEc?c2@#D51H z1a{~sAeur4^GWR#C#6?^pUYGdg8jkgjWx=;F6 z-9TY;$)6czKnEH6x_I`1*Q_S!wbUg8sb^{nvJR1z&kK$qjz;+Z5uJ z{iKp__LJWYk{3uolDSYS^s5K`VqR`ao)jcMt7LJiM?IAd7z*CT#(#d$tU>9Z(z#xpa&?qv!A?rb3XZaCI8sqF@HJk zjvn--O8(qW{wzqoNy)GK$_#*5GI5e+s7m)+a|T3Q znDlB0Gc?Ut$txwU{(kaPLGl+$KFUi@?XQJSb9<~A46y&%m1pa#A;7!=CqZwxJt4Lp z0ir4N0H4L4O^H&Al2vyrqZtc7!aHT}%-soE*?7-ZsotzRqpJZ628_+fk-;x)*Oq4< zZ~f}O-m54sHR>`EL#hhgiK_Mi&1Z<_ZiO`07@EJp-2?kKpH#&yV=WIZmxcIcC_S@OFO#05jxQ-Ll3-Or!MrNUus$>8nBg<^D}K=sOuy{RYvfmE zGEg3(6)KB+2*qP3f(IbUUp1ojHo1ULks|LQZmDD$7%< zwCoXj?@_TuFaZ^q-O=Q&?s-HC%)G-ZQ_w^X%gTrHf=PP2&3z_eM#8R{xd8-jqJlWl zhq&K^D9tlB2U~UHM5i(~<181sNXNGegzJ!VIjev!{g3fprX^ zBeCC$!Zvq_t9+q$xV&YwV?PoKIP0Jzk_Glz&uPovr0%KNEY2aFLV!y@>sd%VXD1s+ zl^!T^V>5#`NQ~t;9hJvNBb{1Z`lSC}B)9f{mt3r`CzKb5gzdc3FtotrGR6i7;B1b2 z8A8*WKkJQ>wz}u|Nk385noi;P`%t)_`pG9K+3Q1-6NVL!Kg5Ii0EF)TKFmL8h+gt} zYGB_Y5w*VGvF@$6zakc<=LzWbSH`IaUr~?Gz-H|`vf)_+x)GdHGQF0tJYkB%uf-&N zqon)2q=8=2ogYB&BoFEIrSbDPL!ya8HjMn)pVG4ldkN1)?mvNJLYwWG_ct}~=?b43 zOu?1Bh1k@hu=U{bKJPc+Imn6fT;^PL3EgXGUpS~)sXv(N^5?<*%~3l4Je%Q{lQ}t6 zx54i@F==ozwt1h=@>YDlfDfZPf1<>uJI2NOu=h#&n@O^!6G(*_sbT7nLiMU-w;Y0xuz)Muh z2KUoDLB)=Gvbi*~iZmQV15A(dyHM>2sH8Q}HJFjy2gxT2FEHgOxmw8+{p8b4QA{GQ zFlCt5po5O~_wIrVcI7fPUeOisYX*Izf-r(cfcX$Q(&DRUbQ&<9T?8Z{IC4&)R75+GuhE z*PVaocP6b1*7+#aB^}OZ7sxxV6QazV(9V=?H9XQ*b%@}n^YDLE4}-GbeJZu_J;W5_ z{>(|7x16skaOWW`qm&CJLAkF^q=(=X*>v;zxtp2bRc^OZR~>8w?5Xmz>IOOf&y0eg zIk|_7X0t`TWrBc=ATsAbX-h?`uJL9v)s8FF5UeCVV7#5>jDuOj-i_t~XXdMUK#JT- z&fwmJD;yJJTJ3&NOQkHV(2pO%h9}%2Xpw%~DQ0Mhs11k>M?2Ksnv38IAE^oWr=KP`0vA?@-=FlLmVaHX^1LpB_HZ+DbZ>?XUga+@m%c~R$SwV>u_F2b zq&*k?VlTV*qTjkT5Pq_s{c{oM821*pe0*MMFEc`d8c~Y`OJ?|#Mbf5$_+FP!n#^8@ zU>mPX`-2)g8_q3{R(@bjJsFy!%*w5)vjI$0jrf*+))zS)o0hXjv8ka@pmEJZjoE;QEWAoO1$<`wZL@Q zD9v&Sn5!?Vb_HExc-~2X&pSgpVAax9}RMG&=6JtbXTXJh}qxM^6zc_0wS0dviE%Vy6VP7mUmK#%?v92SWimZ-6ial7M5MGq|mXAc$FE&$Y%wxJx!*naZ=F8Ohvh?E~vMrXjS7AS3dt@mscz~y-!6y`El@{w1I z)dkQ^c?iFPedWwf%xg(LzG6))D4~I8-I(G{-kiw^YMG8pv_$NIT_eo{ zdypbNBkAfMgmy@2Y8SD~Bld3+dJ**PEkZ@y>NNhvKbi6f0yd#SpwX^@|!xwP!SHrkf{zVcnCnbOAXx)7x+ME1=N!!abLZ@qb z&}MBOOdUwyov7OQb)Ng~=fHg%QJm+#*I04?IuK2vWqiW@Vu54aGs+U`3I`nDTgWsQ z-?Jxm%~LbuOC?V_W}ogim!@Sl1vU4$k>WDjUm8n$P`B}!v6BCUJf_N-gP_;Y zj_<;!NW(DkJ`aX+;Gd90tf?Q86iyE4d4QFAi^oJ&kARnpYvJWI@CCe#_@#JhYk1lI zmEq+(zToA0iI@A|e_?om{M#8)J@Q}3lh1v9?o*VI=?`$C>N({!D)U7Rh+gGQfau#X zLi9TznnL#pkyxp+JzQUVM#uGLT$TGxxe+9FXI$`}LYIw`S0>9;F;R74fM<&ETwjRi zUW4ZpgXg#a&ru$psUDsQ`@r))O$Se(cPS#Tp6oi4Co__d8mB*oqB3hr4=N&2_0pGl zW`7(65$lyHuOaOX5wn443jK*sG~`i%a~Xg~!B#BmXb4j6`BzDGX$_;zq2^KgF&u_7 z2T4RjY_lVtn|crdJ)POB_NBwX<~Ku zC+<50kyV4KqvR;pR(j1P(*=!p(sKXF9B7pP>y3HVej?UFg{+-;tLkwz5KW=6qV{a9G=0^S>71X4dR4(cKr6zhofgKS7a!=w7)+<&QPx-{6&homc)kPC}!Q z{~5ja^53PG%G^fzUUTp}i1D|1)pkIvohmPm-Tr_8dyTLkSBU)rgZ9@E49w`Mbu2XrYFIy+FMf}M7CZNFY>e-(_^VK ztaG15eO4xaXk$INh-+cP=}U9zx(;pAC5g(H$lJcHiH2hhToJB(C0^*l^1R&Lx5=&Z39}`P{W=ph5eq}my$D!$;XNZ(x9!`9X&u@?Xr9X zyUb4g^ezX?r@if`d9A~X4Y$}&TVYzv!c}~^vq|&Yhl)^Ilz=Gtk>8A%VFX5wE%bG^OX{mpH<_i!5ViyL`c z7#aI(clwz|%OcH*O}x`zo|FBdFk&a?6(nu{!6Ys6lEjYtnU_?^+G;OJEGgOsS6XK1 z4@?)Kc=PU(;S$?AA|rX70zqeNGqiAqsIP)B^jXC0>Xa~fPlR}*157Bdq!!K%-CT7bbzKX2W zY(6t=zDt%EID!`sF7Ce=Cm7yRO2>GYOkZHaFCIWb9wx?lxl`S|0**Qh1&sc}6y&W9 z#@r|cJQ#?k(EfaSV^ByrtcG8B{>8&(M|XM`wuuR*P254)FWN+{Q_Fdtej6EhGCOFA zeHKNX`y^gYOL3bsq)4zu)`Ls?zZbhxq;iou35lwQH{>aM1@p7}G{gi=W6jS+*_}W% zg?`DWN7*lw!)kbgy$u@e5;hg~O4&z`6;jqH%C3SkL(t;V6-1Jv?=qC6-lL{Hfw!38 z)kAHDZfO$O{=lauLU(sk9TZHnsx_|IKZc(xjwI)Kz{YPSQMK^%JZGB+z}ed{6L7Y3 zv^e_{5KW3S$-|0jCEVjPrnK3eD!z z!}wR_uo}udjJvMh2eaKgjA+)sz!uC6FA##jX17}5L*C{?!-$_6wx&080%HXNscpc1 z@K+wxavC1dgOfJ1RbBhz69^C@IH?82S3N3dPy&R9l0Yy+W?)7pAti~@DosN&A*p#a zGs8nbgF}?lF)g>Xz1(VBdVjT-YhT!^7hjkFCWzMJqn4_z;Pa%hie3eLk^lF*_Bm(H zBonB=U;p>!184R*d+)W^UVH7e*Is+=y(v80QQRSExh3-i9KEZnH$&ea+n)FcNY~zMg@hI^$r*f!@i0w8}4#8 z?sXX3Z63V`a1+Q(B{I1J%_4DZPC5kntTd0-6H}YJ@#@Vu?vLNE=5R+N+NRFvdC)Rw zxj@T%^loGBH79VM-w`v>X4&+4@=nrxdh=z-hx=raEhgLw`rdsUuwkHQ?IVSr*dr4Uk;fym zu{`i_20}cy>>z$|+~5R|Y1{peZUPX4`0_~3hqIV`zn^qC??i}o?8ID>}O_ED&+?!s-yFdPLCor=nDaPpOr1aW@ zu}4XJNUQsi=;#QYsJPp=#lR>P-kN^WOcHSLF7yI=&pv%>u3x#M0Gr}er>&Yt4`>^%p z-dhFIUlRO2|6TCA2M?I_jeA$1`m^u?ShNvh*AfRgO!zrkd{|ASrEGHMJL1XkuCaSO z$z^}O4LN$BMI2BP^rVuiS^KUJ@bYEB82rN+oRp?&!58okHq5XVAD)c@H=#f_u3VD$ zIBIaL^-$kwI1C1cK1Bir)?`H(hv+Me8uE~CjJ_%u{~ZT=EX*Ck7o+?`GS=@p)u#je zpj(CY+fyRdr=x~27 zMP+PoufSGs{1Om@@kx(<6N5&FD_2*D7X<{cP(;Rb*{vBNbT)kK|Q$mfo0-?pD;0}XV;d81ox;%14NE)GEc?)-%tg_cT`VHn zNt)xJEW`&pHtd5@EV1Spj5qFtlmz7(F)=W7R06D@r#}4}0E|`g$=!Y@fMK0zpS4uB z3*Rwo?7J`lOx9-;DegiF7Hlrqo3}l1fn@DwTnl}`6`7BVnmfJm7TEsRWchHK0!~8l zcfFZz{FHJPEjDyK-jZ$uagWEOO%PbbIW@QYYC#yVV@`l9ibQKadbMZx&Y0IF!rRgmca z7nv+M&}V*z@hhN@Lg?yDhIn)Ph{segE4P!^f3M3hHZLc(uNZCkwJPkq@uxPqzBpfT z0`5QY>lORVI=c!{=ZBEn^C)_fvID;>HQxIm? z13ujzhOr7jAM3O@p~B39Q-p(Y-vMK-WO*4ZbuGFM7I?{##x!I>j!W@526HMu-E}=- z_W)3o_YxZS;9cR>_ce6SFI+>VYL2J>_n`GI3M(m{mrfZ!LQ)8NPhNNAEcTi_yz6_6 zHP_*1f`UPa%kUYHdf+h@oI8g$^L}F(zIh=`VtXezSjAcoPP!im^vjkjIEr`3$sN2# z<}o4RY5>6!rL+NLSY(4=U%u0%VCaD0*|<*@$${<$s9(p86=RuYuSv-qFb5q7b`nF- zWts>gT;~*zf?T`3`eD$r)5wubIF!eSUW(bZZ--aczz#SM`IvDdYHM+UlkF27Qt`v` z-cqDg{uu-7S68e*g(`{&8S$NRwinulx7s}$DMY1#{gz<$MWHoC)C{)P4nKm7Pj{F!&*B}Ls-p+-l zjx$u{NAIiMV%>tnBa*T}E0AiO?4$$(k$#_|Jn+xCbj=Z_>LQjM%WwilXLNV(1mY;N zaqMr=4Y3T2>uJXRE3`8NH3ZiqAA;Ekrojk`Ag~^LrV7qMFs_1_QH?|i@CRF%&EJ6j zwJe-?r%AYHA!P|_gLAKRUM)TQT^JY1;?2OOZQk&C>S{ZG+Mc#`Y17=BHX^m09>2VE z*L;SNG=qqvdUf4=$8ic>SXSK8wx)ktbZn1rA1dPNF6?*pjlv7UsO0Ppvy{=u`mHg; zaegfhiT?tQgvV4S?I7XcOa{Fhcwu0e{RBwMg6{sRkg)*CsUOe!3Nb%sOu?^c{OB;Z z!V8LwFxPhgcVVJ1InA-o(O;mrY{P)lh5=`@aV(S%LXgds#N-;4pHjZK#; zWk$clg7z!}V!RVR8y{tzpNB_@4efLQ!sq}c0?^~pEymalII0XIv~Md(Ga4t?j6gr= zqi8kO0S+q=#&7Q;u#fShYn?}@r@ZeAhkc?KpHRK{UgSiVG^;*!UL?lO zqS-M_1NrGLplixMT*n6ahj+n6#NQe4!GZYef6`z5k|q5xoKX7x1PODW$lDV+lVA$) z2HCg%8p=K~dvkyETgG+xj<(!i3OJVV8^N>#Pv#sbFFe(l~Z(^DBbmh@dR-K87>uqF(K|d2LL02^6U3du~Y)P4UIMEKCtchrjB%_Nb8vWJZ*-*L#Z@^oWBom&=;vFHa>|0 z0sSmMM|V?lR4<0$!^CG8dK>&YFtL*PNtNV}o`=m*v+!w>3r6Jv7s`*07XPLGJ$)k{ zc4aZox-{cDLZpEFwcye%jVBWFMQSg`qZJ@ucRH?q$UDfv0RnVi^edR<(VuTI4r+!L zbjFD(X^b4Gydo%z%;)_cC z@nu>5IQ~JG168X53}U<*^Ea%m^T+h(OUUy#jY3oryx@@M?-*0$TU4{<`FljmlIKE% zUa_!t%$@+K5I^W-#m`g2eZ}}4(qg|~^kQ(3M_;ro?t30T*V`iYZo)!eMti|^WA^*7 z;#p&fQkw67RmmkVPEIBn4~7!*eKjS2KD;`$ZM z3z_DC1K|t^GT>Y?T!I?LlhZK#nFG!i736?(w+eE=IcJ0`L+BCCvZy8UPs@h$uisW80 zq?|Y{dM4Uym_HuY2<8_^b?o5ToqfZ-`f-Z&K{upIfAhmw7GDC|`?H3=Kb7~%LYX>B zlq0HB!UZlGfQ-t5IvUVNqDkjURaR#0nun@WC%Kq-TB9u%M$dsOOmOn6xC}Gu_UntY zy3^1JFWE^-4UL}^Iczxwutizju6a%z2h4vrzP%5SJUUK!$E^QDzi!%9M%;}xacid2 zG2%)Q&%QR`PA>uI@S735P$mq%EeO7;f|%z(!x!mK43VxA*E8=x5aEjL{%YLow0x(j zpW}#{EH>EDPMm@^;*(^Cu5$^!uJj%I_Atvo$iV9 zBdDT`8wmT6g5iBQ^KBoFd+W$1*p3k{)Y3{bapZtBbC3ppw|@DN{Q#KeEn`OgM_=bp zPkSAHSa?r6r+dT~)%dJeh{jT|U`6^e)TR6~p*SDKg` zCDe)p%`=&60X_aBrijVB)fHI_16(N!jo&X->lnXAz>Ix%rr0E}6tvx&Z)X*&_xaO0 zgb?xXGj-kpqJKadZ7}+{M%KIEKY71@c!!jrn?I7Z&lh{N0U*Gd&hjJQj4$@1E+2z< zAmzQ#MnTGj3YTA?VKBbv5y97lws<-gF;wFe%|TFVp%)cG<=cUi{r^MkGNb)-ix1$? z25djtxR?FJq3EHsAF!!9jm0MXae&|VVYQ$aAy@| zc-&uDl!3qm1~6eL%ElOy%_0N(%_z2L4&G5hxG1<6s0o>jmL z^sIu)ncG>6J>!*E3Of?RK-#r9?S9EWf+3O;!+^e|Q0ZYJRZV?2Nq?a|36cm>WG6Ki z{ZB^jVo_DVudmObsDH~Ci!Z^vBhgW~0v8i$2o_k_U_nYdy0~NBDu3(`X~xF^l}XHx zWZ@6-0h4^_^@oc)CVuH#>1S{1gz?~jdlPMY{v)=I*456iC|}#7v4)oQ~N~=0aUK zCRK*53FgNWoL&yY2kK&%r(NA~{pD%JX>V`B+R&H4q?rCp#Kd_+CoPZI9(@3dN;t`X zbs=O&(CvE-4A~5jP@3b#J8}2AQ9t|twbeyyby(nf4=qA3+45^BL%Z-F(n9`o6~zkw zvwq(n0Ml)j_0NKD!Qs*m!H)CX{=08f5OOB#kN}VtYa~zZxDF#b%lAy zDc6n99A*)`{sNMrKWYbW5jUyEkXfmgTZgYCsYkKP-pr({d9HFnSKk7L2&Co zsxJZEc|aHQE?YhL102JZN`xhtC{&{Nym`jSRieN9|1p)QHsEgR0mAb>0zaqFg+4$< zEL~`V8MgH$3}mRVsRZ4x#@Ul9LC2;@Gag$aBX?mAS|yfQv@;$bF!&rSE)@(7i z#B%XiEEizR_7^(h6ZX`NZ*LU=He!;XfrMNgh0jCB_t&67c4bLs(L#;iF6R0Cu}2vJ zA6J=}z}Su%!%<@xP;nTgren~I7jLHJauR|8{mp>>y1yg+_in<&y`O=}dxQGxu({J* zPpd>%VG@A1F*`5;97fROK`a>Gjs@c_xQkseJLClx`(NG#jBs&9?i0oO5#t6xLL;>Q z3-bB(yE#9I`)&`wV%d@Yc%pm^-EU)l(#HJpirWQ5Q12y#$tHw6BH_E8#*(QBLJ)90 zxkr>&)WfwnzWzg8i3S=yM6;C-BX~y#=N!i0uVOVHmH7vJWH1L2N{ZJKROuF`iMi26 zu>Il6xm_sGCG)8V8KSts($k19T?QVD7q@w?G5i8>Zx#&)w}94|PfzG60_(HC6lJUJ zg)k2tgDV@Awy&u)G<~AiwXwHj>0sLzxs)%{B7f|77Ht2qJ@K2t~^ zRtxmuTER0|UuxU1#RbP|f!mC{T&NqKlVx$Yd0tH{jt`!h}`2a^HhgC0fF8E)iL z<(zNkxDz=N*ySd-9_J;-G~~fz-7K^e-**igom_)+2jKE2SZY`U&(OH|pcQN?uuyr> z%#ei)iiw614QiT-iPjU1?MUy9cQ7mrlKX6eJE$hkvf;%{c%5Ic;PL(@2U8Xj-ZG@e zT^kGsx_UDQ!34*B`B60A%dm|olFc{a)&Z`Zk{-XCtV;%)-9m>u*a^C+?_WEWE^XcH zXS`VXpzI)#t_LT%Qf5KVh5FkDOLrW$jJ!SWTZ)hf91)k%C8&RZY2Y>*BTQN79&m@J z@nxW8`cF6wEYuf_+kW#8%e(Dqs9k)-Y$*!$RQI)+7i+;OPOUgvUexUsSnoFK3IV>O zp!ibufcxv9M;PsybYP2)f%6*QVQISgawM7KNU}nbxZBSFh(t2?w}){F-9Bp_@}v_0 z*g=rrrSh|lAc7eIvkFF*572gy=cBsY8AT!F$n@7sh!>YW9XWQZ9O>P@HUfT5(%iq5 zxIZzPxJO2J%gK7KzRSTCi~s{XCdtG)v1=SqQoV{HAh9Q3aNOnqb(0OsMZBD#A_^40 z4+gbHfm-PRHPZ%l2)HDHnyf(a`(RKx3RJEFHJueSGFU+vhv?&k!xp8?Efj**|xvpJ3PB?hA=Gnz>(zE!AVZfeHKQ{WB2bv7LWco z76{$Hk)uDbaUF)FZTK9$sK?idBGDifo#rasE5=v7+&0n)WA!bFYm>X)Lz|1cQ5{L$pXHsc}2OA`)+a=n705y~BsN?MIhO%6Z{ zRVqdqO_E9)1jhkl97{@hxk|}s!;6%?mm`H;fkdA|1^zUV*r^JfO`uYNq$D@OLMIjY zXpEx*NlEThP^1FSNh-4fNvYaZDyhJ)B$Zi#p98(5l;2P(r2;Xe?A?SEF}do?h2tR6 z9B{b8^{5Vu@^$WC<;5s!8nvqp$O9Ss9X zCtTfbo`lGEtjMz@(%t?N`i_~v{q3jm;^Rii#}Vj}V;5B4lC9S~R*J)z@kt@Nm+TCO z()vSuWIr`L$39Sg#<-lQeG|T-QSN5f1;of|n87XoD+`Vn1N;G?0S6;v-(LQY_!5#+pZ*VEve}~UQ#we~@?AYnP9XZz!TKwsWl z(K|3oY{O?Bwck`bKSQz`s} z@mwMW-%S_?Rf+i$Rnf>}}S9hepVNDABllS=bmpNIP3>PK1m%N48yRF#3 zWH{A)3bfA@q!L3dU2n>zL`r0p7@v}fM_VJT`|7QHe)}@0ve?*Rmz_n0- zv6}+agR{`M>evnH;jLHsyNqE7rFmo(D(GH>y>vK6JH}IXxP=eBlyLfY%lyw1pYq&;oU3JD}5I zMwQ!Hy9FzsstfsJ^PYA^GWt97j<^1;FN3qLpCXO8v|8t2#MED6~)$_r zulhPxr{UT)oFwyfFz@gxEU9vXlVAV-8WwmZvcs#LVNd^FR6*4w{UFkJ2lEcCnh6*m zd2puB7Ei}&c-+eYbcPGrpmQLnN^&#CNyfLtNt`Bw-j( zg0QEZSW{;1!VCwMd<*@EpNt;tR*gL>v5~MuniP7=c*@1PW2>4%p}32$GSqQPDeg29 z8LUdedPO!4VT-r704QH@z?w>h=?Tfh4C6#lD}l&?;&Kp~t7`G@lVu~#oHf1^h!81l18jA#)kwG+`; z$%$Nvl8I{X7CaKe?G}GL9Ve|E1Cb)-rQ z8m`DpQm{szN8vJl6n>10Ai$M}XT}BWrz7sg^wM_fyc&&xmF14mLFcL;#GZKb_}z;R z`1|)`gZ;;l9T~9i;(9slA!2HZKX>~lFaQT3PGW~4rPtyLx{u8(==2w2Zw~jz`p1ON z!m({iTJk=+_N~a?+l9wt!n81eca+cXx6{;m+;e89KPErH$1-Z&H>ZDsNAQy@`Q&{} z{RSVKfUn+9G>MyT#%X4@Y>6wBxKcAtr3pSZN8-LNaVnTzk-cj(vYl!|4%4Yw$8Lq6xT}TUgp=<@l(@2k)tI+xnbHXN$TSv}@W#LETrz8k)v##+G<}I74rs*r0wS z;j>}sbN2cI{Y6f|e@orfjvLP=xUhXG9y9Mi>w}}iD@MsDpJ66>6TZjgds-SccCgMK zcw{-|LZ-bSay(loc;b_smV77?NZ0xPtDxvx=*@lC8i%lJ&W6UZ4QnrBFyPaf)%e}VpMkj@^SEy*0ObVm za{y46K?kI!(M*NIP3Jt)zl!+BVFd>pJbv^LN2YZXj2~Z4GF#qoTkwV<)H~4M zHTJgO+W#}+Sx&Ch@{Dmh+EIAyUeJ!44)o>Q*rL1f9eNfNF|3GRNXxKN!eFoqV*Piw&jDi%5P(?4+D;}vkJKl=9l%#Adj8MQ zuFy}4J2s4eXc)el>f?H(gkfqK_7k3E-tYt$zUWrt-v}aJytOUQ714n0T!k%-*0a9> ze9g7Xp8>%>=&>8N>D|Upo;=~0>PmYPn{T5sL;~fs@%i+3=BeCH$E) z7@@}^p$Co~F?@FY;~TciX-UlVUmsuw4Bu?##|cV$S3g#xJb8b>s`+-Dn}9(F;J#&p zn`?tRnhgp5OT-&95K8jbtMHVU`LVtMqKdQWhy{`#tbrvCT`ars*P0%m(BtDcAUCW| z_U&*__HBa?RVP1T6PTPFq40<4Vw+DwF%R z&p3zbD7YVE5jy2A{^&R-gi7@5*xtQsGwFnOGcFObL@onk&=>aS!pw{N^@FiPqi~Pd zsBi(cl!9*UWr&gEi&ZId*3rMB6ds1;iojWU{lpAo+NGk98kgd?cP(NAnBqa=VRqu5 z+@1S`t-tr&vJ4sw|NK3-lqQ0HGuU&>p~OcTrp=@W?D#rpMCL~x4`l|InZcf0jwC)B ziQpkSp5!$%k-BD(4aUEoTgV6e1AfO7@kgxq1)Ejmf;KY|*ViN%>&oa^KxRVL1sUph znEY(qU5Lq_KksRG`=@{dvPSaYxajYC6^k%q_T%R0u^Ikj2iYHbJSGH>2_a2E=#qx( z?~MMn$9EUnkYe#J2#VWbg4^ovD87SB46lG4;?cXXK86i1@!~r+e!M8u6pfx)&=d(Z zMBO;BfjKvRRNoW|L{@M7*b|M^A-396?3GxwG-5+dk^0D2keFg>S7TqOJbO+>IY=T3H=G*K3-5ZdzFvnYi(N|Js$!v!f_r^ns1?9fM@?}P)VfW>!6%sZla82UFT)S2NL2hC%kR>on}Qu1ZpZw$6cND=>=i?0 z!NHh&V2uo0g!$cg11uN!-J$!oq2{`8hays&O6QGl*d%EMhDEI3N|w9etBDh;Mzu~s z7KjQQ79`>&6?xkv$L+drFOCgzMP_Z>uo-B!wO+39ZA+CWXd(79L2M^f{I9d3aX)59 z%cjSNbB-$?)=_q$vlimbz3H2POx5FA&N=Y~1e(rd*xY^x7Im4$rEWDvs$wy8`tfbc z_Ou9`-2MW!nYmDZ>iKW|{zShlSNY>&u12rymo0T*#OX%tBG7J*acCl&p%3$a0_v+# z`U0~neX^V5hr2HbjV_Tas6(4k>uy*Uj#q5LDsZsFx6O+KDUGkA?*7<1C~9YUVz@eG zbRd3HhLL_T%QIThDzI@cnLL;$wR5-gR6m@coWpsMppC^R(f}Jw754bd zN*demrSf>p*oI$V7h9J_>jL@0y@{%`jo>@+@00b6|2Tsmh1DSY+HXag-rwPYy-LQN z5YwiwI~8H9nDt8oa0q#v=s{b(5(Sz0IZyQkb?m1>t$`pL7r0;!tcW3mxE8(N{HPGP z1PB0AY)2d0S72j;Q$NL7cT})r-of0LWc-GBJ%74!;6fmWkY;ov^u#YY^hB(lW7+ET z)3HGYIiM?cfnJubc-Zt0_EZ?7G(_SCHYhvkKR^&8*01@AWi3HnFls>~lf^$AbSh1K zK^p+NcJT=`V8}OGH2D7RA=~x}U5DXB;7;RHe8udD8?oJ+pj6>yuewwET_b|HV2Ak5 z_Q+kN0Osl?4N&_BscMRTlr`4$GxDO8i;$<+O*kFFiRr~1-iaB-2#pCK1ml48ZidGp z%)TAyxE}8O9pw|xD@I78L%~iKLxr$o_Dui{S>-A7EG_H5pXvMWXJC@i*PvY`|PjQe95doco6l!KqwYDy-jL#apcwBWk?F^AD$k4Bzb2R()5+1 zb}vCmQ?*+&#!{6RArfTnqjvbP9sga4*RdI`gMf?+CDpq|@0XbRm~k=Q!Q9Amv*eL& zpwTlhy&Iq{8#&04u;mE9bH0}=&M})v6!9+`_-^~dz-Ram=5`MKlVY~#zaxtWvs74& zaArqg2G~!_eKt|XmUzpd!lT`3kx}uvbJx5cy&NyYBBMPxf@1C(BYGZQ(<2$4`24wR z-j1G*w~R=mCw}GJmLrjn9~RnJ=R|+r{?-RkxqHqMg2lh+!RZ&i_()$IYv8kAK8>t_ z6GV(mRIUd@8xVp|top_H401#2d*Zlu`LFJO_uuwc4@9U(|D!(Kqo3Y4KJNcOKP~RZ zX@6rT#{Hk-n>U{A)2AsH!|OfE%{>=Zd)xD4(Vt^)*ZK6{2bJ=x7jM%meu*s>P|LG` z@Ox+4y_cG_U-z~3_=NR(MuL4Y@;$;If5(PLpjg}o#bPJM${pN$ek-(=c=3JuzAj^e zM_-t(Y}-eDzsri8*VUWle&D12KNzE68dDK^m*=@dp7_G_+-E(mL~ziKja{ zR)4zdoiQ8VJc9hAk9c+8U9rP}w-5(0M7MbKk~IJtJumk0$mm%G?MQ>`vW{PiGX&!x zQ6UWOlnSA}pvY7Hj^+DsC_Sbfogh@F>^tUh=0-InXxxXr@FzfSz+6;_+&0M4Blcs6V^bDD0!SyOf&1VcUJPJ9q$emx zdX@Hd=*Nz<%aOJMX)*8&PP-Fnfs`Y8Ba(;WKO%OqCx>nPI0M;QZ-$jNawE8cZv(jk zrwe2m%>?Az$#cBMfS_UzdhS*C14sJ1v0U$a-xFU17C3ek)X2cqSz?Lx=+{m_;l&** zr{EK&^%%Q4ny16F9>!QGBE`S#%f*T0K!ZsbWhJwc^!T=eWH^U+7!tcTT|q4aHf!L1 zwD6olEL9?QK&=dnH9@~lo|48Y+SWWesD$W1AT{MOm3GAnRe z%g{t7aabY0gUId&o+FKIYIgOFiM?HIq4DLj05;yZnFJSgjiMMP?~~&wqUm`YD+9B*d#iMY>H)(vpbI+7`;y~IuG))zf&*5!ScV^ zkN@5HkApgjvaz!&c4!#=L{$TL<DjU4XSv&d55(Baz0V+ErAGtCK1z4rawT!xuzk3DQw~Bn>kmW2HZcX0 z9WaKVkBg#UwVtIL2&wCdQ}H85yFhEMNq9t!06Rd1SPqtm?r`W|`o2krkS2Eg>uPw7 z7i!SYzsdspVN&`uEqYN`?>YTlxzEOZcO83AXFv{tIrbig!7cii$Kl>x6DhAA5`L1C zGjOoQdxFl3IKvI-U||**MZXh>Uj>c?qmH!Y_@?n_Bx;Lu6g%PEq<^5Aw-B!4s8P&^ znXWDL)1EXL3%V03zC)3K_8g0cVjm614%K)?TYRZTAC|o!g1)=$)eCZuwtYN|hhL^4 zkmhlFkLol3#~F@IOlry;M5%tzL4=&~52V^$=QcTRGB^(2!*C4693r;im#2ZgTimz& z5JUkJ;kM*0LLPHOK10JDj`*OqA4840kAec6A%bEHR=*+euo)+Nc4}m%uh<%G#%h@aJ#?jtzpL0FUo9AllFv0?(*q3Wm{@(0;p4=r8>;M zbT2MIM1!I$!$P%bH;Tu?C>k&6d^7#e`kvTp7jPhk%h+>&(+^JGC*!u>_1v582Ye46 zd*Q+t$eCXKo9X^|K=bLZFX&1CDQMI`Z&)O2UK*E|d|ULEaeZgeA6>!|`c55_k+X2c0G9F16sq2F9dhfs*^bsmgl zOu(3uC~x5WZjD~ihW($N>Qn>n#^sub@dl1*#Dor~96^1(074uqcH4K73Bl9xXs2y| z7em}wtQT#C-%vBqfn}tBPheyBX5i`1TfRN|7gBN4OW+PzQ;pjd-~&Crr|<>Pk`h*GUctFbTaA#MtNe=b`#&QE;k|$aaI*y)cH%JM4B)ys z2A@**re6Rm^nKg%HSr+RT-`B7!w%G)3*+mx3}Y0K01tcTHf|5+1&4<=C+OqLn>R5! z9^^%Jw!w4dfnq}h;~lp`xfK#RxsY0giWw_1acl4tzZ^3q2QUk$%ebD5N$8E0fQI2DAlRMrwzK6S=g*)WT zbz>7s#IgVTSU)!XQDX++nQU_D%b2PA?qCP#J1>C?$A48KJV%X-SST9op%)Y>+P^?K zewu@5&OSzAB`wf59?6BoZRpmjx2=*6u6o)hcPg;e01N%1Q+gZZ3%csnFh3SMXe0WF zlfLL(mt|q~1GFW_g0`1s7(e_sVQ|uRaWZY0-$CEwLf_+7@4M(%L_p|!I4=&fW*d#+Q%7@u32#=&AzG2)JscuVEh5756Yb34E@Tzz+KE{x3y{ul`Z! zOIocTXkQUq`M{WKrMgPGa=Prz&j(&1b2=DzeT*ca=K zH*Q-Ho3|ZQI?PrvMcggI5w943gWnxFS_t2X1WEYmFpnfiKJnnyaqorN!uYK1#*D4P z!Sv{=l78aJLte3>Dk@_rtg=B*8M|KD}aF z-fs7;??G}nSrkmDSk#ZLV2VXK)lw{)PTHE3S_Y0{NuAG0N$yQ=Nlp<0IA64QTY_RR zoWZbfKvf@gb;o%IhXOASSQ$tg2@FbP$tt34#?PE1?^^B2~FB73+U; z);D&QD>8Q%CS_LV&|fspLZKLA3^ytm&~H@*_dsxc>9-^DGY zJC%SDBWQ(x2|l~_X&danLH*AhMlinq*%OasPN8GnrtK)b7~KMXWF;6V-t)u`Ll^vL zc=!vs{e5Ll09fSMN+BPd{4{;;3tjQ=37aeihpZl^@6LM$&u8Lg2lDnKus=RL?*M)e zP_YD=JCW0$cOtsK7-w?;Pb_$KjJcU+GpuT4qz4dK+%YbYdo)pGd|qx|k9!d=CGDQ> z&wD@mZUAy64~ur#Jdat(mUugjmKS*#WQNbOF)hI%Zd}gmXkzmb+l%ct5r}|9 zQwhD`W5R_V>A&NS#Jyhthjrqv;CS#0)BUlobgWi8bGW>D7e+^V^Xfm1jNxK%tZOsHe*}Sl!+qf|7#K}{YX4G3dF*~ z6|Nr`1!8q$=C#F}cM0j!1p3JO6MMn_*517Rk=c++dBIT`xXL5$9W`Bl#%j`d#pb;7 zj4@Fz%(HWnhV8g2OWKDcG(X&-bmdO)4R8Kzk09Yg_|GXehUjCY<(6k51O3%_j0h=#YlNZX+QZhZ(7#lF#l|dI zOlrRvYZJYHg>9cTHroG1SY)fQ9)Z|~J6sV+ZqAXDJC3;@Y8nF99QIQIbx$@eEjc_mptV9O&`pi=RWrt zmK)-2NQIT~S#R^FaUUJE%-x#|(TVeC<16g^Fb5FCL6E^4U%Xy2VVkj?0{~y^ z1IeBM2=wVG12g^v8NXHJgHy$&z|A*Li)Oa1P1B%@r$um%{`mjsabo&SRm>Vd?EqA+ zd<{aAN@=U#bs%X6PR_sjDsc|I-A1M+-U zp3lqk1$iEn=Zo@uS)PBD=OKB%D$m#D`KCM#dHzkFZ_D!?c^;AH`||uio=4?*T%I4x z^HX`Akf#gm+&^iUJk#YlQl1&|%#`OCd7duMEP0+G&vEiRQ=Sv#d5%2KljoP@smb#q zc}|q)CGyOc=VkJoBG0MvoG#B9@|-2lE95yxp84{eC(rrvER^R0d3xo!P@aByUM5WSP@ zni(o#=q84|41JHGe1?9`&~%3GXXp}!_A+!HL(emG21Bngl)=yk44r^3Qa2pxdhZ7e zoyE}K7`l|9LkwNX&m=7`mUK zTN&zRXgxzOFx1M>8w}Mk^f5zUV`vm~iQaOC#xry^Lz5UPWQgl!y;m^Ab^qQe46S77 zB8J)+;#pphDfVAuOMPffsM>swHr>$Fyt>IXDXe8r3g=I%nVhe=8msD?T+=GTq1N!U z6|F1l@h?2h+gu%Ogy(U1T6J?xXj*+ueYm=LRj76CwCa|YoJd`LYfVd4Yh-OsxV3s3 z3gQ3ix@jw-^$j&DoHKLk%&EE47~j%3t!`~iYt^)Oz3o7+s@!YgLN|qM*{wq~DB!2m)+r@nWqO7*uIZAd%Kk zAC5Q^t^}$L&DB*6T3vHE(gft3u~juStg|C$RTzau*e;W`+N%17P)(-G{}pegLZPz0 zskV7)6fc!48=6;CHB7C(p{2RLDN@h^qrR8grlE_e74~o^_7}63os|l^D zuO>MQ^XYcQ+zbx5QYPUz)lT!KuT3ua#9qOl*)Wh;3#!Y zN@9O86SdU0gf!vuOc$tE9SVoF#;T^Om7!LxH57@qHj(1e3mU4TP1SYM4^+Ys+J9gk zm2`C#x*0kQS+}~mv85rz?w0BDt*MXTLro|QnJ}qlh}`Iy7BgkKN}`P`fJ<|&R$3g; z!0HWQv|6Z1TcLW0;utU^SoteUDwb-V($Zj{$WtCzQlgdnmKFy}Jmo&Gc5R^Cua*0K znr~U4Tq`SI8Yo#r7S^&=Uk3m*cuBKXT^BOh9_&Q6$4~RB`Wp6?vQSeE>s1tKZOADi z=a}^mg|(_M2!@^;29IXCN?S=uGhNk6h(D$VJ*q=m)r#g;bmMP^@l(m(S;>B#;MelH z`mh#R3t@-at_9RuNE~LbVsVgUjoRw^NS(H}ISR?p($av0q%U?|%3oB48 z;z{9YQ?1cL29c@N%}urctQyugg(GOlX=~>4M*YlAS%-AsimF!Ci`hAeMl>R$BRLduR_NJM z6{*W~O>@ZXZ(tnIfF!sd03kM|f7gU+v1cfvt*UAOuA9Mvg(Kwebd5q`9TJp?-yHMZL&I`OS$mgAy${E7rOiLye4anKCs8 z>IC$iss{Um60-JdQ?$_v6RK!aF6c)qn!_R2D!fBub5T*@$1tQ9=mwZMs20$ykI3la zs;{l84!Nihsqw+axhfiI&Z&lgY>KwHYO1P1A*oC9ce8?)Qk8=ig9H^JYh_3o*W6kY zYR#cY54%J!6BdYup%%GZ8vb%DTJt5 z8p5?&7;+usbrdRK3+VxlBiJ0YOe*m9Hw;f0Jun!l!JcZkb_2LB)Ib@TC|Sh8pb}eF zgfWamLo`b>dBBD~Fkp_75IB;uc_o#!6|Gg!a;b}Ey6RSgTrOtIF&PE%1EHw*#Q4mS zI2nv|S%IRo@YE3a)v2YMIDm~CARZe+)e-6Tm9RX$egrcUL%ycnX{-m(LC6dgdq_QPSEs2v!ab<~})X9(_)78j6o?J4SO$Gzh zLgceG8dj9~DuYXkJVF1Gvho4Kl$i($ULN)zzYVTf0zBGLUYI6P))a_>X7bZoi4BV$ zPF)BxZ*WEMQM5;^8j2dy8`-W(Mk18yx^7Y{)DcrUR#I4|fTm=p#DWB&1{Q06Gv()y znV=krz|C}->@sOmYra-$D#I+#5wkK8v$C}rBX+>+h;5NrOhJ;q*5zw{P*hFNOsNe` zN(vo}m6;%cl_}qc&S54<wsz_nN`!tg$MSL)74C ze9W{4uEDXUG|QBstTNI(IE6XZp%+%QRIXS%I03%52=ki5A5&P9X=?-=oXeVbSSipv zNfYoPbC?tKM0$*(LnlV0of7hM$b^W?R0HtfBqBdEt${gJJjQ8L{%B&cfyj-(bN zCVi`3vqs*{?p#|Hjub%j;2WkGMgCx5L1odxpl4B8LC%ty_*zs{fYxGQ*|LJBX31L( zbv=|rsa7xz2B~RHQ2~%ct0E-gKdas+w@MNvg{THhwH$AW*SDZz5d+tFf{S2`@FHRc zk_Ejg9fN@dWd+PxT59DD{F7QqVVkg?!bCHzzNxw)3L|6AKerGu+Byui|AR#}V|vw6 zMf31KyHW|tIm_@?F7^3JXx}UU|F1yMb6RV2V|}yLVBnDA(jb_n#8d1m0C_JJSz;+L z#mbsDlz`B*md1J|l7nL4qphiG6(lw1MX7U9s89-(bLy8+=Idz%OPSNkuyn{-$AFwx zh9cV-N2O3H`zedDGI$-<_W>}8apI2|Wad~&UB;d{4j#!;B+69t%fV@7+KBgJVAn9tT|G+%0x0BRc-Az1ie zlq5=K1WEyx*{}ju&nY}iQd~8tYQP+;W-X@^u(N)ptlU@Z3c!e05-9g!z7LB*eT^1v za%357`*GN-(5TAFM?KP-2btz48k!acmT~2Srb1UzvCFuh1DDpfbb{8Sy$s9;+~iFh|l2rTpz!3-&-aRz3ZCFR{$a?OAu&~m1=Igx`s z8(1$X^(+#@wxe)m1x?-V)m2SR&1#WDI8&=?sxfWQsWLd0J1o0hc~NO)iLdixuv8N-s_{^mC zFHO2go1ZfE3^TR;Yp0$%b!w(-kt|+Wnvs^>!euX63IkU-S~EO3U#7g8X6A5C-7UQe zDJV2@I6v3ck%c#C>x4HpB!me<&b+ItTIg$7}@ z8m2wsffSG>&0PN#JDgP?H9HrqO)g9Zq2iVK$5E}~(qgZs=xKEbSCGQmdUJLUT5utI zXiQAVJgb)^NTO*9g0tlv-Ni-3au8{?K&tMNl5K?cL-ZHGJ6U&04euoV1@KPRU9`{J zUjXl9-No#9L-rRZr)!$xZ(B|#v$vve)3ltXmXwl+xe6Zf zvkm34_P{R#{v7z325bD7j6R^o%n5!}YZlY&x$v4Kh$UoE#db0mkY{HA5fk=>>8 zt96>>OpZ4gvM7|y;x(@MRIjz#E1{-O18E{~+HulB;G32#d;P}&T7qJd5N{JWV3@pNoHbPmt^TX} zg`=TOID(J4q?HmEezf8nv6wWdeDE`uz=q6>2xW6)s@6ueaAiYbHduWIt(ql)lXwgR zmcs@;Feu;#^eqAvcuK)c0+IC66pC<&Q;o~jxdG!F)&r8#4}7u9YQrjlED9_iCf9NQ%K#Edn@K8(lKD%Gb(dZoL-zpN3g+ z4(y^8KB!Gtv;w!UfODTcjSIn~Yq1OZDKo};x8vLH_W$JhGfiF9KinPoCjKJyi<-l;jurJOM!GiOX4E&jL@VS)i=UcES7r+Hw8qm4z)zIOY<*fUqH(?KozJ_{)}*P4y{H9 zMVG0r!!)`YY9MRLx#Z^&4?^C={J>c?A(~TO05qqLPH`dqy$DhWG6(K2HCiKF-0I=O zszu;6tZY^_^|f%yq|=NoLlVUh-_Id#2BA9uzf*}D!S@>FfrqZj+Sr0=CM;vXyXpow z%+_MnKp07UdLWG~jEV0*Ag%`CX>lO)pHf^6nH%j3=}|Ixy2@Uu*v3NCEYO}C=4(N7 z$%1K7EtSxYm${=OQGzFu(kp%kJK|qcCkQ;&dRcXm<|h&ugMECmJMk@0XgPe z)0Wu~Am9>fY6s6_OF35=HT*50ZHQ(vMh=+LFrI%NI+jxH;<_}<XaR4MJ;MS*-p-$X`HU&Km(Q9qbIJ@2 z@PyxO%e_@klbIa&B;lWgJ&j~gaOrhzy2-BF0H-jBE@*~!C94{gfy2UuzoxTj;uG*8 zp~-+|oGTG2W}B*Y`SY6QTlN@7`b)7mj=5X zOrn>tMiRYeo`PO8KPSCro`PO8KPSCro`PO8KPSCroq}GoPC>6(r=ZuY&q=RYr>Nho z&so3Or>NiTQ`B$vDe5=-bJlP6De5=-^VP4Vx;}qiea(EEhaK_@I$usbb`>>Y7{iJa zXPTu&0Zh@kYfm^|J?y*)tZa#{BfRz2761b~NzQ)?{z;*aB|XUMhWKXmBajjU;$liofi} zDEypY$-*j%IrL9u{6pJwl08nW^!%-@Zw*Hx%~6oX{6m4&4cL4NlEG$U8lYfDt>Rug zB*s^yh9O9KNI1$TfTqxzWN=i7hJwe$gTc8>MC6AR&!0z=u%*%i9zPN}g@Ib$VG@%l z&iu0cjYZd0AqxufCq8Objm@y~4FSl6XKm56eL1k|kmRQ=@L&=)ImJ$o^%k6`;7qL+ z7u0vw0H!+CeqU*hV&c`L)dACl0e(eQ^$pl_r_zJu33of_qg7m0V3BrtP)4z=Qim1H zle%|^WgLE^)}NIh?&eNhY5r6m=mYGkIkFiFwq1wsxmg*WD1jpe2J#!%D`8`W8B6(b zn5sAkz(X5Wleg$=LDM2veXz0wQ?tG5mSg&c(0&V2!vtAVgY!0;>D3_nqmkBLphvZ& z3@o73HLr%Q&(m{~6JWgzV3K!Go3J%3!8GDv7eWUrSo`Mmg}9j=A%vBv9P$0YG-L=D z4=p=1b>&p7{Y2`f%QJV1*0{E{9xwGPrepW-fWMrCF9LvKs$#kwDE^S8^OooeFnHax zhUR86M7F9f4ftHC6nBIKT-*Nc^hH2(i3fu78|!A*3(bH<6Sfid@~JaBOtYzF?{{X! zTCHPe`N^Rqq?W3>ji2Qmzy(vww*ku+|F~y^BBX_1YH+1=+!d3!6)y|B%6GzcLv%Ju zj?-7d-b(<6qSFTnB`4c-1h63Plu#kdXIks;Fh#|hK7UpIz z8^W8ys)O>S$k!^Iy9Z9#uoW|9u40n67NcJ1cq$~xggaY%w;1DbG6hmuR?pC!~(K zo(o|@fkMMOo><3`zKpdyYr8rQm*m+sT8I1IqTQNgpH@XX;t82H{?2UBRFVhT+au=ew- zZ&YIj;Ag`tSyJxHCp-)Z7DUtgxC*PxrWccthBR?BmV4f~J-A4h)Wr*x9+^d?~C#fFqvQMI9wpD#1}X)^sSe0auND-Ki=Fv(8*0tJ*= zI><)@2Tnj8F!w0t%c*58jny@k*u7S1jt2j%1A9)sm6IpUp-_%V)-RF3(L_z*N(v_P zfCX?-6B-#!FFt*)BKO^~UrQ+v3WMi{bspBNai6M}|pPMTu1&4|KBWrbbU!aLJOz*bcS=C+gJW>^Gd$ zN6$tui7VVvg-u{46!8{!*+A8+0-?fku9d5{snP-IpSoXFoY5RxN$oTLQa4HEs$8^6 zbz@C|g%BKhEV{17VRED^PZguf33mHeV|#Js4WYHrT*H!0g)3!+K;xH6Nb(l!H3@+X zvcX3*Hi$_;!QRiZ(j_HjKCKQ-20Jg}FpjUm8AU9^%E`~QH9UN(1smEX)$k0mfzX_3 zO^=#P(v{7UC>RWej>LnIR>}w-X@-{v)UiYg9sr0sSUz+&tU@fnuw@YzpU6aF@n;Yi z`I;G<=|XM?yrd){RWakS*hpR5*)de;05zI zMMtD_*hx*Qm0GwOTc0r3l2%pcuS9Xc9cqaQ8+ey}OKPCr%=%y~z=$FxvMSPL&?6}U z$r93f4yKsyg6|z7RDTfhrlb!AGS{ul(auSAGYTj{V@;KS-z~vlN;~3W=OZGP6g2sh zO;XT|LxHLblGs#XJ#^v(_nJFid3Hw_o@6{#4Sa0&cl#_gaPk0=s|aR)9E7MHV^Qto zsGcmjLe?ZhqO*wbxv+txHB#WhfIbu%N!gQ?uSOed z<94c6wc=F&f$kXj2F|RCL|Q5RawtssYf8hM+7Q-3UF68wj z|GPuojHI&>h5OOnFxp^Hz*#qSP`IQ&5o-r2a?l+KjdV*y>Gd$^v=qZOaVH1#8#w`Km5HTRXS{aAwp_zk$>NsZ0IMCui(1Kb} zGOPr)VYNSio%x0k2OjyzrsTkean^Zgsf_|#xxQwNc42{*lj}eO2X;n7$Rr1MCQv|f z2MUTLPKu~6iXbjU9dHD3P;5kj!K%oc15y(rh8#c`m+8uuG}`4_?quqB5T7`ncV#0a z1Wy-)&+^bikQJ>4AxABp!jMCd>Ji`%Ihjd@7rbCNAa|gp5DG_E0G}aXs7NVh6^A4d z=n7V15OEgjNP&iHQH8a%sG>+L5%Ug0p{Le^3o)B*4U_jkUG_#>)t4bIg{bFu)r``4 z&7SN4OsO&#P^m-MhqlQ9$QV2-?Q#;mp4bU2`_mB6EHUZON)mXRV#5Ze-W`yXJe=!b zHIuERJK9|@cdn)5*H#nH>_bPS z_qa^FdmL|zzG8Zc~_iUPRVI{9^QlEmzkO0tzskqrvE$v*0x@Tg|e zpqX@pFiwp2YB)1`ie?@jtrb9RM=EnFRbR=|j-iFNR?=3hjyiT(8=I0Wiq?_aHU`PU zN*n6fWOI0R9I6~zB^rZ@sD(j?q$*uBPzAG5L|>G{xs&LqK3Nrqj;@YUev3Jz2OxHUK<#!*$JSlPH?c_YjtD(of{D+0T(eHaV)xUvNY z&;GBC>D4Qe#&e6ESU1eOoU?erTk5Z@!rLpkiWW-D- zbY|s5`!kE=M;2yR8ki|bMwAnj5u)4rJ$GZ6%{d?m_8do|*k|HMp^oi_%z_0FinS$3 z6iI~)iN1v6CsDlEp14yhv*2_8xlWlQ(^UW~-2#u-K4P86tuI-qEh+KwXV6LPIJ|}i zDqoq(St@L!Ev+ai!LdY|r(A?QVaoCBMN7OeiIVI1sVM04NV1AjZKN3wFLEx0t8<@b+h>o6U4HpBNkF0g_Rz|an zMZ=NOlDFpef(p7}qN|A;ctZo%J)L8qIm}{ZR2Jy1%w#a(dU6gnv~kHWft-W;%gS*Y z6epabS5hgK)5Rx+r$C!ai<9X-ULq0s!AWewRBbz znjJy32n0yT(g}#Ncc;6Pv~;J7?hdP1-AQ+nmQK3qg(QxnC1?|IHW=dD|BI*Wea5B+|>d6Ta5KKH%no^$v8 zUR+f&C1$8(F(8KtJGX;pdgKgm!|~^0AfxRp{K2ke+)5c#!4Z>kGWSYuUZM)RF)MiW zr-;)cE=Ym7%o>9-&1ldgPhWL422uz5uEr7mn{gr++#5kdQ1q28(PW?kE5WoNEA@~z z;1~+HRwAq$a~5Y(WP5wQO-?Gza84@dPcxeEa*c@PsckTog^GE-e_vh zsPf>{)iHRho1vtjG0b$g7~b?u4lHV@18$z>T`$qsl^no}ycEso(C60b^8?WgIL;fP zX7_D(tPHS_;Ov!fL?(Ww(aac(@P~wy#4e{-qkv)T!7Y-Nh#{|#Ao{(*nx89HXT?h3 zv|w(wjT~dfX|t{YHhj_#^?l}W9hE7@=o^Yr4s7B64;i6sNNiFnquH3#fzY6QiwbN+ zT{J$*nJZrtyI{A`NLxC@<+V)$hY6Q@xx zK^ta`!Gb{MDaw9+qS0FxE*v_MA)KYd7$KJbQ!$&v!(yqy=^NMPWB>;voj3eR+UhxI z5QR;>;^b8xERLj2yO}3Uj^nT;o>}tr#GF(Qt3|B;Ma&`KOp}T2A!4rZ*mujdf@1>L z46d;xnS)s(%nqDmq6>P92r|Fq8Z=2@h)qSrTE5^cEJ2zSZT0j#<#o(#f7FavSTpSWv`UR z&1MdVZrwfXEYxsfflRkyr3Me`pW2BJvT|l<%hdQ7&xK&9sbh>P^pbP_ngPkWfnI)* zfL1f?lTb^X6&_uJ!1A6ISN)qf!R8tJms2wnY&D?$h?Q>fT@GKg=tT82xt9q6 zMz+q1C8RCy+pj3~4XCJfv6*hk07wqGtL|lARC|mj5r@BM5g{Svc0G~nP%Az%E#llC zY|gi8sm_N_5ii}5yldUUx?^6FwekWbF`EN6ua1BBdieKfyh4(fbQ!&upf06}%KjVr zDAO{l!_wzzjZxn_SnUbowSF_6E>J-Dug&<}?N=<+!^L~kUla^K#43c@j@1lL4B}|-j!~@36oZRUtnAjQ2d!46YVjkHwjiZ` zda@jYj4`S1wyUFoP)1jOFFLCjP-yGu=+oE_69_gch&UALtShl*%a0_6c2LGqs${s( zT%w*|&{UGayr8~dxhN$fl7`HPa!p>8qGTwio;H=;4<{~JI<w^5?YQq?- z21VTthnP^i?7`|Y$M=Q|QMV>Fn)CJA?7m`a1*;;rpnSjHZNrKgv_<4bQl@^6CDk3H zRd26u1|RciPL%t@qvJu)M5$6Opbnfuo2ITR$7b2x4s;7;A!u_lFp(Rb;1W2zBaG`; z+ttHW2Ex(a8kv;S4C9kjSjy3rmF88Wow^sawT&S$%`!PA7FJ|+A(~(iB>Wau7B!4!c8S}YmYbh)p8=LVK5jkpz2A>Q=p&jlk zLlCK$qFb%3rNl$9bj=_{V-RtmH`|N*7w96;I$Y+#v-Ume!DM29I(zt8zmYE&ofJO+ zMJC3d&XyN^hQgCl<)@)|X9G}fO2)C+yqrxkiK-|ANgJ=km12@-dEAfn1?p{T3=OlT zfih4Aoa)y^V5g2<5)nFz{B*!6%KbDDgFjJFiEIh5oV+sF(A~K}YaR;;gv^#5=@uS1DI_XY3M3u>eh9vEVLdC((0ObAGA1?j@KAts~%7I!yT-)Ux9^zzdd5d z?i>{IHM^+k?`FZQK644Y!Rro&=-tVwL-^ryArvI?~xog3i2FP&gn z>cOIfYr}EOFpF;1%P6Y%T(ES{s-=7Ui@y7Und2x!sKO>kaA%@FL&=S;@q6O&;y3H# z#h)sJ7g@aQ#`KsUyqFc;2oDprqC3akm~Pp|i@D-ArMofRJdGD~#c#)UW4a9)FZSg* z-dSG?;vRD?^SawMZ))Gz*=L1iZ|?vnTe7_4l4b+BEmK=Zeb)BnQ*;ff-18oNMYi*9 zn~OQ#Z5?;k8~R2)(gI7h{RUqea+6v0IfM7FADRcYymg*^I3$PnduMR$=`J~GHG?&E zem;*ks_~4p9Op?QuURr{92XMNQV2^GTyGXguM#JCPBVp}2W36Wuz_IZX>cDq@;8P@ zP$nU$(LTD~$;F-yGeo#b)Zr>owCs45sI#j?anC2xn%whQj~a9MX{z=Qm?d-wezp{AN zDqzHq^=M|3`$B;sS^AYj{pww=-Akwy3Bwo2gxi^$irIWAf0(>X4b`if0|(T zlRPMryi)L2aM*N|&!ZjO7;N7%G(5KVLcf<;ip09Nq#w=YN`G>{$jUcShrMULf5Q(m zSRq|s$-*K{c2m`J2G#+}WaXb?d2BrAqX{otURT>oqi%?@dY#VZA7>CaJi`{@7GG!w zlWSq^9=Cl1uLrNs!(lKAV>3~uAg8vnH?s07hiltc?&6sMGFa_aUa@~O3hl96Ti=F$ z$L47KbKB;D-u1W-jOJZfrGfhnd%JV%XW2f4TokIz5e8i|qKB8!tFaN!Zdo@{U#{yH zbU+{9$^-P(I1j92g{i6e2Y=L8B zZE6QbLeSB$jKnbh6BQ4ZeHaA|nMPwA#&S4!2Dbz6l$FuyBkZfTJIQHB$3jt)%8tpU zQx`^SuF)r+!rg|uxUySE=F~Aag+uS_5iiIJP6X4~%;ZiBBBs2jYu4g`Wlg9N0&C?; zwvA*Yt6tdnQ$TRwIzGudSnb`SgxCa*QS2O^=5WEDz0x<1<{!`pcKzL(`+9P1?d`Ha z%cJ(}X2}Wq5wJg(MbaE->%Yv*dN*y#4P2e=jBsCP4h2b1+kl$*kuY(vLx;t@>m6PF zl1%#t+6FfFo9!<28@twR9>B^|HQLbG+rzbE3cK5|0<^1FQBP-2sG{C#s2?|N!sx!a zya}WFy%1%ZZsJl?``CL$XJ3174|AJWF5A{O&=n|w6{^_KpKHe~ytmMgRjw!}dwOt# z;zm;yD=<6z`g$PMY;j3uBgUqKz<@!S>&$j__ij)YF@bJ@39`8_3B2el+afhBhH}t< zU2ngMjf}&X(a1!h(r><$813DZV>qe!=l8DbGC%s#S-$4FvYZZ4OBf?;>yE5h9K@7} zi~}Vivp@+7kK7^%zA=uXZwwiq07c)PwyPv121Y)7HsaFC^g8^RGMm1=qdgS`V)~`&uzs8N>1K%iz%I%iLMlUc2Htx)`&5X!dKb z1EaWLg5ijWUbeFCT4V-EW>0OYSJc=meW`ja@)Tc|@29J`?A>{Z5ZI|JB%i5;e}QQ4 zj9a>D`P5QQNZ@4{FD!Dc;GCi{zjkuB^94bJ{6QmU`l}}| zzKAn^oF<&Q*!e&H2HztK3xkuBPWheJFGjSXfVpCU(avGRti-Mwuc-E#k~6lFcxT>HkZ zZkc1!G7SpH%8oyE`q*D1geBH9b$3hFkR=i_KJF8`Hc1<~{5)<$Drrn`e>R@9Tp7y& zNIUi9?_&|yUL*Rt+i;XiU?6?50HdBWgvLilF5BBT5ShS%OEJsq3&(K2H)v}g=(?goHXA-|nDO-A(PqfS-A6Mg6we#K zJG#t4R_oZf)7$48BjU=swt@DIuC42;Tu;}g%LX>~Vf{tF$D8_iKeoJQ{fAtC=Rgh( z$M(zmyRPZv7d1!E)moW#!=B9pomXkwvu@hQsm{yxGwyHiMQgTht-m|##rL#zgTXgv z{kw#jf9=`aJ4-jI^OLdQmB!Y{rbRQtrXGm(QqbB{@$LQn{zmV<&DjAu+_CN|L_klL?NGs; z>o#wI6|{HTx)G|q;tBC+j;&CzbYhPcBa01W!p&VBomXHZme}-&sndVrq&UsrEm*TB{OojngSZSM9- z1g8v1P{<}3evud77bEJ)_V$W1{cSzj?#}gnotM*Af7=zEfsYBJ#xFl_Y(o$;;q{{X zL<4Arq~r677)1ROejVtr&I!@go7!{e8z4t*>O@%qqj&=xCQRFs1^JoaO3wNbNCpn_ zD9zB3VY$H9o~$Nl*^?E%M-e_S(AkqU$GO34J$C-t*c2VX4mK$y@yb3?PWn~Ze#xh< zZy>j!?{e3Vbs9JdD=T9qS9f)GBlZ+s)!mP9%_7c%>INe|e{Qwv{wis;+P}V`$%)xW ztjw?#`LcKxee5ijx4F&@y(lvKkc=79-TmuwoSj8^ff@mHD=*qw^|b5C9!JQQ@mae&#r*8Cal#)mPNs zUKD2JWA0W7@+uF(SPnspnx)TW*Y!*7FKqQhkEIfSZi#*tm3*Ry7xqi^?Y-;Tx(8k;Cg7zcwto?=LT(J)r|dCB>CW%$ILPni@i+KJfLdF@Z_p3 zGuyZz9CqRSEOz$~`9Gi43-JihMGRO?Ip(G?1+;bAH~NNm?s@tboXTGL)$)rZ5e}bW zO(S;WU?UN(u;%8m;Ou#eP25VbRgU6AqR4PYeHTy39K~7j{s@_Y9Q|Yypt)_sPL36t za%RL7!g*w!VGoV#Tm8c6ce+=foTrNzqzTWIfn}u2x)m&&^Gp3jmr+^HzbhwN1{r`e z$Lz5V@X!iLOAs`J5v?dN3<>!&T;(e~igvpft0d5njiO2lFV#R%4~MV}g{ zy%F&|O=iDvlk~7(NK2C8#kW4WV5_La1x}@dt8(19>`Rx}n!%I-v&WxH6nJeA3I3%a z8tREgbq>AnKVs7((it`lu=&R`=%41av}I;HRx2Z~`xp2lehSSYv9m+y^`vc_Td*?r zEO0osX9#=DxYWciTFpeaC>!pe4w*5eR@_0)42olU^kQSf8^*XSG+cWMVLTLmzlX*d zEQPrXOz9=t4O$9n(6all+8_h!^*sQVgDK|he-l`C=hk(Zv8S%#o?6ds&YKHKA2 zGMQ_6jE%JB87|1rJnaVCt#GjfJcOqcd-P=T9IH~)0@IEhBDd_q46DQOk*9A>)y(K> zza(sCbOx!%DthegzL5nvBAknna2Dv!iItb2Am-%(K_T0?37NXjOkDDt5++Dn194qjnTj4WHw{qb;Q`FTMhU0NIJe|{F zgX@UH;M@2vx2YFJr$4gPZNq`yFkipkjpHPn7Pn^Yb62(C-x_^egEuUJsE@E0XBAWKF6=`^ z?p~f5fV10BPmS-Uv+LU~M@(_wJQ?swwvb?+Ypa}MAS+R^XJxPKK1WVkj=XRs@2tTo zL#*v_cGbAQJ;gKPbWm<=%Pfg&z67gpCb><1>QcJW3t5x9ak72}rzouu7bZ=;kcNxiko1tBM;TlS`Av9Vo4B)+bb6HMX+ly;D zAbe<=<_Op28UA@+?B=coc*6{jz2Z{=^YVYA1_9 zFW)ua^Stxa5JR#98#@QOupdJBAV>PENMus)V&f~jIMRv%X zl|5}KE@7HL@J=H=@!v8hohllLjo3#YP`Zs1QH1UUPd@QA3D)#Y4(;{pu4d325xoXB zcJ=$aRdO7Qy%J;4=zGh=M!y@d+w8ZDY~@)JBReOi_pXSRub#S~ZX=q5Wq7lH#0bxB z{sSz_9jcsBZQv0fU7^Q5p%!7`z6rXx9vr2G{Ns8?(NNfcD_+R=nb~BE>xE{%I zmm8nLD#LMHKY;}t+{L_YXp0+`O+qMz(E#VcN+=7V7>@rC#jtk?7g%g{TfD=ZqSjaJ zc&fiSIriSQtXX@`xz9Q8xz9V_b)#@ZGH_m9yy6h(_Ab?LBb?D!7`k<`vsdqga-gmk z%B>%Q`&c8_(bMK|Tc2wmU#Y=5J_*2gq%5!wja|HSOr*)yEf3sfn2A~EHmq|4>tHSX z0%d3&raZl4?@An#GQJgEBb28w+l`cWG0wJII>o(T<}yn_k3A>w^%pN)wRYQvb*mAm z$O^+3FKsy&yRll<`kz%xTh{DZ8knC8v~>)^#3FZ8LkDn@1NY?qxbAsI%A$XlLK zM55l_gCcwT1p2bWBYTi|^d+-2^PFLahMExkj*ShwxU(n^P%!8gz6|z@!mk^6;!*Xu0udeZRy7A#EHXP56+LhIp)HPXO>+KxEVdqoa zR4bPZ*6n+D?1Cw>B4olt3e2J@Aytn}s}mV=WRkn_Bx^kq)iqJ7 z>S9etx7mk86k%aK&Wh)_kA#HzXxrEjZXj7Ywg)Y>197ad-TjEN`d~RvL_kf3QU{G? zoc`7xoG}Z3%TgDfW@=&wmrmh^zs^0VrX<}VfDdF1YiDrUFb~t%mWg{X>~)}nixCtY zinze7=MH3P(35FIdOX9k3E(kFp$$Aixgah3VZmpd6m3T8xu} zNV6!d*RHN(bn0;UR2>^}nAJbx6?6zV0*T{-Su+nZ_7F3N&F;Ano6=PX1I5}3WUx`>fN7Lo zGdwb6M0XSK8rh9wD$sg{+fkCI;UDbM>s`geIrtTQtJ< z`gOi6~xt?hn8DBX}geaC?C46G#6Z)y|f^xHk_0cg2P_*WcdX<&K9K_PQ=C z2TqbQyMF(J>7*-qI`>Ste(aQBo6j!zMbi`)Z}cHqyY(F%UEt|)UHu)K+?C^# zW5erlxJb6Ey=Mcuwpb=Ox(;0h1S^|H?kb2rr-K<59g)3GE_T~FGCVqT1+GjR4{#gG zz;QQ#Ud_ag@m+hJV6+W+2~M30D)+z#JnW-K4hx1FZQ4xhtiSe*Zk-%&$4>cOBV+nC z+uqaOWmY%Mpi!eA+Hvs8x(M;0Tr{urTmQ(;(E-+@IDiKgMZI-c_bAMQreZ&i%)*Z2 z?9e2V>ByMZoc%@p(1V8S7@CS$Db&AnXmXmu(NNsE6ZcZ{rU7*I5t42In^PvSlB1ms z(v9QO*|C}JuD^qVaMD0e&t}&zR~u#_ZUWs*h`elM@0M}8)`0_Xr_n5&%wi6s2c^S^ z>)$$rt0#834Jh5H4C0A9B04bEiYV=8wu0bu(BC>2f8d)Q#VM(6V-q`uT$bfTw%zq~ zWiid@`wVE@t{9#zGZSmL*DiGAYhTwdb(Ej_rP1|8n*ZL zI~;7ijvF5&ti%R-j0lBYQ|OUTVw$&aJ=)tdBS_6Sj9}g5_|WhcCaLGOtX;Kc$dfIO z(#LqLR@d5IcxW2e9**Lg!fDr!{EPQ#B;Q?IC-+W>=lVytqdHXmnU3qPZ8(K}jDryH zRu@m^ua65j>BPGW7wIVmE0^xc*g*#Vg}>`Csem>!ZZAVHqCF4|fn2b3ICGZV>;s9& zhfn7+X7=G%ONX!F7mX8~FssL(*2@z13vz7N`x1xyBM^GgPW-4@!GasZ7sDec>5*PX zhEb{bb{-oib@!~?LTKQ$`JrL7%iyL@{a1}3u?3Av9NmNFiL8IcY4-?9h9TPGkbpzC z+i|iz`%kR4f)Nhi#KcErA>-BW~nGE#Y_Lp=4i+v5Tln%;wM=Pa{Dl-!^SbyHQuovv*e4BTY4jf{+WNjSe42e3km-IEvrTEVJ`Ej(WF zi8ePzFJ$x#$xg<5uuZXke!}t~N@j`Ti*c7RMuuz(GN2m)VyGYBwB!!wvr(lErw*r*y8AM!SA4!BL>=s5P{Bs^^_Ebx*~ zPQh3uZqS;=n{d58Z%QeBDNOk+g6{D{DID@aY{>aJ1jX`Os~W z-cv){Khi}{f{`{V96D3FHna0G{c>=YS>3#HcW?*?}+m35_N|Y;+dArL3jtyc*Kb*$d^%+ z%cR*9?l&Joy@#=NTG=wX9fO}Jj@1~QhW+9h?F|lMuukB)YuU}RE<+}G(RRZzsGN+O zg%9I+5~I2Rq^@jsGiCq|Bu0|M6w7aPcp=MceVF#O=>5Z(>IL{=$%?FFlmty0G!~G0 zg;Ppg%LRw2F{kYgsqW6vJt&!M@`;ry4@~w`QK*OHzHH97oBn9{u>FGEG~}x%ubw3L zA(YgZ`a<2eg$FcCLBZl7vt|KDj3vh4hsn_`Ja*Y~F4_T z50wzODnTHrR%V`9W8o%Qv~;6>BTF+jh5~MbVc)c z2+{^l2_rQ0CQ!me8vlPJe|q-_#v7r4q~S9!IJ6?F`u`hMq#pC>1OdO*Qoa}mrGG=( z_OZ5qum*0`g9QC#oM^#f&@X$5irm9+#o{4Mwec7cp|hyx{bVl8BFrBxw|jIL`I`w) z8}LlUl7J7wiryEyQD`?K0j(V0wo*>2g$o#(_k&AO0-{MnNY!~mU(uShO~cZ^UJrC& zT?;zE(!q=7LU0!5(kU%4IG7D28nD<{IWl*O4UQzPe{i{QDyPXe zJ8nnzm^trUUqUp-edkpY_w1)~`LE*u11DLS*EF9oL2E;m{d@H5*keVjfNKU&USZ8l z=90`>pYkz$ zdz#t~ZqctVK=WIYuD477F%A1!FX*OIQrn~{Bb_}|;yXprabBZ=ERpdejp{cHe_&jt z-hIo^A7}-R?6gUASzYD>f)kl5qsuW?L}MWmmLup+FhCj>O(`E!lXW+(=+RG6#?N3R z$}bz$CJLDvgM?iVHoX}JroWWo;BB-iEn{>ZR7l+tBAt`3Y7UW_V9;~-mQXEHjN0>E zX>lGwGLAJzhslY1%T{VF6S&c}y7v!pfYt-<8`rGb1Led6@_tZVEC>Pz4k=!mMxFs_ zpdH6J^+=qKY9g--l*Ko`l{k)i(&`bP;$x9xO@YQ# zAO*4SsUoI**C*;+NLh_iL0X}bK-nPsBIH&0GGE zPmMPYrXoSca>8uf78HlU9`#=>HAXr}Pa!N~Eb3!kvmAwmbi6Nu_eHb0!5*mBO(Qed zn1&e)tpCuJ9V_bNYaBU5_ESL`1y(xOE7y9vLZmR0`uNqb2#SkFW~+$*Xa^dq?mxm6 z3qtP~Noql<$4;cAx<;*I))=sd(T0S6H_%)ir9R!ZHgktm9H&>93#}&MJ6;yGVom z61c+YIyog#6qi+gI+lZDcCj*^S7t!sZ0q_@(0=D zjQdGxGh(D;W`topYf_Dp(f*0mKCQJzCXRl>&I-6v~h#cg_XnR1l565n;Mt2Dd)UFhB;rDEwNqlQzs(&LtiAO=cI6LfcEjVHU# zNGKS(8&R(w%wp7ikLw^A)6cB(#*0I^*f~49#a~2lI`K}>?H;!l2D>Z(>KP* zri`sLMl0599!WXXGoE@NPHWN%XD}eR24|MwY$vSu>f|8BjcYn=_yo&$#&C_bTaA&H z)w0#kU34j|WZXrkcJ#LM*b=-(nL%^m#Y+D-{!Au9bDVP*we)U;cqM5l-7b3&Y7(^6XldCdV3xQP*ERQghu)xNM>tzzU1?XeT zf>r5GV6D8kt%D9ei{L_N1lC$)<=q-?Q3$PB)v`p^o^WXB;w3oHW##jhTzbiZdbnCh zW&FMlxzgkkT)xHx6=#n$s84{rQ zMTnlkAU(r}=@|^vGZ?C8NU$Q7uz5=z@^7nwOcNO~#!3@uRrqx9NBBnuc+F4Zo3$%x zMvp9kG;Y1vI;Ldl%rM%H-0;xet;Da)8{k-9xPGdA2FpBlaxa9og7D^7{X`CAG1AAz zaF?vu_l}yGG>#gLyr9r>J4UcD(YP6xpG>JXe*dN)a_Q$F>+le^UhP8UtU?XUh5V>+ ziFT3h#0V_9BCGJeO51Ls5hgBi6`1c0G}zrXv~zT9FNYt88_aj213cDX!l^L1WgQ}Q zf_bXJg1_qq=cn`XwotgLE2o(%Cs$5sXyR?XD6vTnMUB=})nUI$4jtu;@hq}vJk=nH z;icE_$XK*se{D{L{RKM_^q1)fY!Jy&?p57uat*!V2Cqv0c2)PQ558=8JTiix@U#`M+uCH?|R^@z|t?QW|PJ1Eo}J&84Yv4vYAe{ zANd7^D@D_loRg``V6oBQD3;@4z8Zxzo40;r%KqVGcAyZgh3m2|$Y2|wak9q^IJ*F0 z=IC>N8V1~cPI!M( zTehA?w__2m^4pAPqZgu7sVcbec`A59b9=YX#C&(Ir5%5r_T5vO@$u&QSFLLEc>mwO z`|26{7Opz#68n>Yu>X8bL{-#q-y!Cw>p()e45 zzxnu^i$A(UcNgJrG5(Ik-%gsC_+}NtG3ORdqqpr0}$B%yH1-n1}GRnZ;i#tGbjdto` zNOLO4hhff#alj{ozZU$p;%^XtdHliOPci(Ti9g2Ax%lHl$~eK3_~KPfiJ?R)ajHuu z5(tc=7N!$5L{K+A^6x7nj8*^c*MU%SX9YZt>Wm$+07A>Di_C_1_jCfZzbaGi7IbuL*#tTcDHWF9%7*y+*}>*3CNB)u+&we_y4d>OuXBZ>APOnO|Z zc@xyx1ioJ9D!ndQ&O-j>kas!E`&_c6AK}&SlGy?03IlL=GvsWB{VQCedJXKq0B&CA zT=hDath^AsImjA>+k-CIJOr6TF4?-px%?KF%5H_OTR}%aM_j6P8{FOox3>dthaYyp z-VVqZh0dccReTY2dXa0I7=vHN5GFfezSA`gjzhN_pu-I=(fm=@RQm*U`84d8U7~b1 z@VzckJ3Eo8u1q9rs}fC>wTa}!xrs#P+C*yNIz;0gz@JW}%AZcS+NTqV{C^~x^8cAg zR{k@QDBPV$RqjqCT0e`F@wr6W-IquW-j{GC(9->hrj|+~Rjee^#V;lj6W@f4hrs_m z*x8q8s{RmWKS`wXKL!8eiKfnr)yYK54d9tdrb@dZ=Ou9GrEuq^$z<`R$wdC|lCJm`@cn%<-SYNiD*yJRtG*rh z)?_mK&&hP@pOcBqCz9#vCz7u9lgUK&F4(&p?%$hq`FoS;*3ZIEpG~^V=aT7(&q43| zlgYyUNmsic`hNj_t|XJ0FGJp!lj;1Ild0wh;LZcE`#>_~zLsE~wp68>2KT0t*}qJsnqQVm*7D$g1!Vqp z%9U?QC2FrpB?n)dO5|Uca;4Wn*Fq}U@&H?q|1t32o@%Pyo=UWS8h-pVWRz2>mOEkZu2iyocPcgbU#WEA9)$5d z@Y}u6u~$)sdVk@aOWX>|5hrM zt-`%3+^MG0?qQfc3>`qTpn1>&Xc@HfFv98)e19aBY6Z=L=0OXf zn|8%{=~Q+;YLx})RCz%tRCspUWi#n?Et7T=r>0Z+C22Q!S~}f)2ELz_cIC6u zP32|jMCI&sa&SeuskkzotgcGC=GEy$b#1z-c1}9c{2cIHoNjWLq+RBcbYk$*w98+b zPL$f<&boA>WqlfDcRJD94SU_-?}piEx~cj4bi&P~lcgERy%F~JK$pERds(_^Fc13r zbW`ga(uw@vLeB!ezcHO|eG}}w3E$od9o`DrWtf#==htah_%&#vDdmz)>DFXZq9xtb zRBCE+m8Pbq?3^YyF{dd}o!^vn3qcn(p=@eG+0>M%9F2PKn5IPegeF%zp(#;2qp2yg ztO?~4-k;Otn$K%O0lNRw`jR=0AIhhsgcgtYbbp%%H~IXICgK08(yG!QDE)=f-z%Lr z>g^w`^qES}P}-vO0;L^FHz~bJ=@zA9N^ey9lAYfDzgAjM`u9rnYVWm5->meVN^ezq zo6Ccq@R_UDUy?>gOo}~12rK^-aPw6_P-Ab=e zI;iwTN~e{+ROwAh-=y>(l>U>_lG0Bq{fyH4l|HES5v4y;`b(v5%==@3(qolAOX*ok z*DAe8>3XGErPnAOR=P{+9;L5P`Zr47qO_>={YpQg^wUc3QTipN4=H_AX-(;Gl%_RZ zFIIY@(j`h)C_PVUtJ3Ey9Z>p0r8|^PDz)7IFE{#dGkp9HJ+{K-6vga6@mZoc>7hGQ zaY}KEVwC9eoFBvM6tjQE=d#%Me#O4k@7xPwctkP#eSCJszTc>r{S7`Zi{YCTvyaH< zjj``5G(3D4kNeTj^gY zeT7nUxAwlIFaMQJ82z9(uYAta(nFr+tDY9sUTvSp=H3^_yARJF zQ0d)DzoPVqN}p1C%x~4dN>?krNa^KDhm~6RKA!a9JtyVq@k&oudY;ntN(Yo~RXVNo zRZ8Ei^u0*fl=_N`pQ+l=1VWqp2zD((BmA+Z&yOq9Q>Bp4brSuC*A5ywc>2H9YfBvP+^dm|?qx1o# zKT!IV(xVo7`Ad|pQhJfn^-BAdjwroR>C2VAUg$lE(c>9dqBQ~DgGmniL4x>@NKrQ=Fpru1)>zEf#Q=^aWxr}XPef2j0Hr3)8( zy?(6zIYF_dhtm|VP0?Ck4yDsdU##>MO8-WwrMovNev8t# zDYf``@3XxAWu*(B?eXbK?@{xL(g&4RmF`noQ~GPAN#*}n#UEGNtmY>ueU{P>==Uck zeSUZ>l>SPox%W!NzgL=E=JmDjixi)t zbfwbgD*d?nGpBe|>9o=hS~w_vv(lo{4=KGv=>tkl{$q-Nq4al37cKXC9;5U`r7cRo zr*h9#e1XzSly)i2Dm8iA6;CMrOQo+=`Z}d%|Er3>qx4awKT!H(rB5ogcu1V>^D=8uong*Q+~K?#-8(_eONxt_N2B?f z2e7~T0QR4&=I#p5KXIj}7pZwc@!(b7e1n=771uDKOu3h-dF!!5k*-nf?3J zyo@=`(EI^&XO}lGVXl+kA2oLrmnXdW<7!@0T)V-WC-(Ss*gWa6oAUGsHE&hiGVRTe zR`UtPtux;Iqyv~g^8n^c)O=9+TX%bR&OCtmYBN`REqlEEb~Vo`Zr$t6yUf1g?2Enm zfSOMzp7;xIK6(K2od+;~xtbT1zwi?8&N~la{z)}2tG&UOdi!^)c|mdhW!}7E?kLW_ z+?!{w@bw|0y5Zp(h0tL4r+mDY-sbsUp}6pNkN;Y6^E*9$t>VmkJuWD&l|6okV)tJj ze?W2da~|KWxKi=BFQ#X9Z=>FQpYi%tzv=C7QCxi3;}o4&1&d;Ajp zUO5J`K?%VgTJ=5E_crEPo_MdeC`wz$L=RY~S{XNmTmM`<#hj@`*UzKmU|Q`_<=p`zr%G zwEw@)|AxT-hQR-SL*S?-&Hd{KU(%L8e%{21SGQf=b|wBz%o{wrZE&P*aAn)znzq5? zV00Zm^|uWkiI>f7*L3DnXH9@%;;f0Y2JcFA3?4@Bz!(u}nI*b;tF&?K3nEWdO(wj_$j+@3d#M@C_Lv#Z%{0S&LQJQ2;c)0()7#AWCN*v}EvRYa-)%VL zf==J!KTKn99!|EUNzt3!7vtrRe1iW1!4qM(yR2DQnzK!4>1)~HN z0)`a9g9L~VY#t%33fzI^zeM{IN8{tzhLLIA^UyIx<67L93$9`QL}YHeC%QaCK56bm zAC%>$B*jBGVjtHOjEMV%2E%EbJWSVbQB$1E0#uBU>UygfjPKfo^WbQqM2wT0))L%K zfbCyfZ$v6W*m#J$d;snt*d_`CiH7!x|pr9zJR0VFsB`!N?cb`Bg?t?|p*px6n zA%Kg|Pw!~!yAqeXc3w5mzlmJ=6a|h?O0v31fKMp=SnzmeTB73?L0q2BZ$(8C0Jj<# z-8M8lJSiHK#B6G0M4Z0eBb=ptdKa%#$H_`?q%5X5Qg{~+h@;6pVj|a55mpG{r>(nv z0#S&Z$FEg|J8)#_mc6p$2d4W1Q!}fnS)kt&YBaGOXZ(OIpZ20AJiN&uZe1`}3TlSS zMy@xrThxpxV|?2%4)KOtMH=G7qUqc&>`S7_tu(nFw+f-32v{QI-9#!t8J{|RTu>c_HtL_*v#B!O^`VoeAYg_7_dB)DOU2YJKUDiOCV5$qG7DY#}J z=Eo=0+`>OUhc1k4=g~lP8BavPe7|VwHyy4_l zY%AXCJy|m&pXi=2=)dOY(u>oRTc;*`a#4&TPC`UsR8-xf2G}CY??r{k^^w3^BQr0e zq!{N&ON`&HcnS#%=efg`vYB`t?lCy+vx&m#abI#oP!e0U4s&9CUt}O|*CIIMOV9v| zL4F=XU@wk{^5J@uVP8}i>abog-9kgFL5c*p_Se@Zw-WJoQ!RZ;f^qyNGn#)ATsWV~ z?L<=p2@hE(w*v_oRrK8TYjWF0^&u zg&XCE$Wi*1xbbaq<2&R)z&x2i(Qtb*jYYpl!25rdbZOb%`AJLhnoDc-Z=E6t5IL+4!n$StmVg=V+YO;eLN2cH2rLhgZ8!pJKN%;Yp}3-qTy!Mc-=E^<54k(j)9yn@$jLDN z6uB=Qf#TIYcm(Z28TsO#Ji;F#S2ub2qOI=7i^hiB>lgEQgPgnhD3_cV#bF$Bew+Jd z8d1-Z+Wq<{#M<{6;(8!M&OMpN#?{=EFEk!nOg%o@gbj;`jhD|IcCVg0>b^f0ihpFD zgy#eEP}v|@=kp{7_vMA^8+X&mF1ckC?NBm)wTb0vP7bcoz;xf?`e}$p?8tBaQL2%1 zKW%bvJK81TDsE`?0q_214wRLK;=7K{7Bf@5wo`{U00Pcq8nT`_MeOK1t$24E`I7y9*8?uCW9Ou}-sqkHT8X?NRvxvj{(e4$TQ z-(RR(#oZ4VMhWxDh0Gc_pFHPYenb=rADFKvX1RYj0y^AB=~06E{Cvg*_Iu(SR(BtK zq(Sj;#Pl98Rl$U)y}@EqJ*A+`1k_o^bLM0eN%Lj-~2;-&woo;zAb?) zM^;joDU_T_Ei=G?BO(vKkmtUtR`%gbNxoF%w6QYd2+jb zMLV0PxLEGGV==hkRjKKu3H1efSCd?dOz?v5i-?74f6L>&-_(J5&eQpq+D%A2~XWHhIq7jxtaVZy0emHT&x54G4h3|Dh|D z+sMOm_k+zl5d1ki03qkTc9Ltd$o^roFaCekY)D^I_96e3^h0*UpXBe=>R zrHJasDZ*TOeZ=tJOhBK&x0HSR)KNSEyfN4xi0nT``=6wXW&itce9zy(-{Pl4lK;Jv z@1?ut>%H>(d1@ePz5Zx6T_i$pW(DvCelL89zqPOOxB4~yR=$P6MIoVCc;7SKq9OO2 zqqn(#J%)|b`;Xb`zH-cz`^7Ob{&L5$WA4slce&plJMA7gZrnY5{HS~L343r_)$2~& zJux_>zay8M88 zPr83QX4L)jv52M-ch527J9F+Guv-41sQwtOjJxj~GdAg-Iv$ntUiaf;q&?yO>qL0% z$M~MMl={|VeP#TQ$0Fsu|2QP$vC(aN-G9*HPsHE9;BV=1ItnE|b}UXRac{-v%5UWJ zll*}GCMv>X5moL3C!$($kKkRs_0Ho^`RMyERoZ)x1OIQyIkIQkz2>;_Y4=7rnSVud z0!>#|y|=(d@s-UC_*e0_^jFQWopT>P&V2z6`c~w<$Kimx+zc=1b-!jAf~2koPLKrg%@am$m_eia;S=P_-C>*x{1_aleweNn zKEmIM{1!gS_wvX1Tl+YFOP}Cx_0Hx5w%ohFLfDr+FJB+vZ~i;-``suu{s|VU-=$&s zdy(P4!Laas8dmYk$f=y@euU`XHp(>e=!wxq!0rk1KT4~$ef+KbfWP?~+0d> zr9Wx;C(pnqRHp9nXE5PWc;P7sPi=8GpR^TY7@s(a2m0agOoZXT!vUVptaX?B;7R7p zhff0c%Z~zg^>zHszk$ECzZH`Le+zGvcl^2(o3MIV@-I*F15dv_X=s?;@mH{2_fBCb z^0)RLFeK~Ek$*Uu&5=)|g06guPN8wV1=W_j`(%G&a!z_H|6|R2_fFU>{@u}VV>^d_ zCf&DAW^(y1#8hF7k8j~`8NaLmQD@Wr*E~}j)C6CK6Sa3AZB3M0DEqy%ZpFX5?U^F= zcFKAmohyBUzqLfi~mLUR3=Ab*->$CK1KZ$nUqd}Gxw0A ze9zIS(a@L2sNVZwn!jHh|03LRwbN=Vim8_Tv#U+TL_XPEnp;d|%h=AD$l!lrZl*XV zlTY#;|7(efT4Ip@lbK4QwUW-(@So`ms5o!%5%yKON*+D3kwSu z7Zz6+R2Ed{)l#)Z)kTn%DkQ7WzW9v7xs`O`y!@*Z(5|J>luu_TD(Ti*GM_Fau>Tu= z8_edD#Y8nRkxzoTsg^9vEzBz?ONm-4KNs)m^4xqH`V`Z}R6d!B7H2A{ zVglYSE-uW^ryxF6NmLT$MXl9zX%T#o$tPg9k}M^Q$>wshIH#C~wM1n({9S%V`M6?J z3HHH(zv6rtW~(bR&6$=W0&Fnb(o%ay9wGd!a-yZBctW<2DuOMM2g(+kNU#;SoZ?F% zC4c3))kQ^kt~wWCH#k^LHa8a*R8skQm2`7{PJxoJ^)-`UoXHEe<2*4&EdD>PLX!--P5wYZpi zlu{X3f`?KNmCUqcv)NX0r@+W=DJM$Dlq@C6bHJS}FeJ-~^4yjT zf^M+2xjBQUl$OB_@gpuvYvpCg3W9Iax>|xEYhF0{%fxhH;B3$zL zS8k$Ayp)hXN{PV=M3)iegM~Q|(wr$mW*+eYg<2sP-bz62`Q`aY8|lHpY&M@LB&*=g zHz5xckOIreayEiA*0OgWh;r3VY?iDIfXKc~`^$z$Jceo-0GUpTp( zgq(Ec$P)ZgKGUPWWEVWDOo)^f3o}0 zSOVv4q;c~n_E&@EuS~gPLErpd>?;S|gZkL+5u>sHO;F^Q66P-Ifz%)A@e>kH<9^y^-2{HKx zv5(bw zAMhFIy;fd2N8G0S!~D@F9-iNa{bBnE`WP_7^VhNPY*GKb@EJZl4by4*Cy(YNA7X|_ zh#4L@(?q_#SosYbe^nRC7=MV#U%+`N{Px$%Z`k;Y_{PWhi-J5Re+$l0;kSP<{S_O( zd<^(QEc};v{tp?yV&iWPb-;HizhUDq@&ykG z`9n;8TR(ii@*Ado#$OhHe2hQDA z>zbc5|0_2Bsz|TvA7b*`dgys4`Sfep_%kv75Q}_WKYfz&*AyFnD3AJwSmbZ;x}9P2 z6&rsjkNhDP`D*{UCO^hsh^3zpli${5w<*8j!7EkZ`b%UUVOwKV)8RVlDta!4I6(I-}n$y z|0)31(UDX_%pPO$M`dX>ijsHNxr??`D*_*lON*`<&i(c)Zg`a z`S+N7#U{TNlOJO8+dBD&l;5!NPsI2`O#VS#SO2*38#ew>9`z3~`E5P^{F8nDH*EZa zG5H}TzpdY2qWp%9Ka@9{d|UT_p7I+u{!kwILrnR$?!Q<04IBRiU+|ESKg8s>{Q_4h zzhT;E`JcfbA7b)n2=EY--}V=5Q+~tzPW}r1_z;sn#N@Yq2{$OeVdHNlGaln_6;zjR z`xsuX{DzG`8*4v=nDTA^!)uh^aKs{T~(OH*EZ&yxHV4LDTLx zO@GD4AIc+th$%m#_J64ShK)bZ7d#~74>9>|f6C94-!SbTPWmqodAEPB{DzJHQ2w|5 zE(@RO%OAtW-wHkW5L5qF0zAaj-}c9xqWp&Wo%$b2zU`}7t^9_KzZGuqA)ZaX?W)Q;4>9>|pUzh0H*EZe^1toxxnB7V8-J@vugecH z<=cLsJ<4y`_zxxD_7S~G`3)O?C~vm#w|z%{r~HPE|4{O6|IxdZ->~twqJF@>_I&+l=xXHvUi^!!N{? zk7)x5;#VoZVdJmF^bfJw_UAmy=U>CdAIh6ezU@~$PWcTRe<*J@`L@4tnerPpeu+4Q z0WtYQO#N+N9>|Uu0JK4b%SNv_EV=<*4!-HvUi^^$#)S+dj)z zE5BjmFY*Ns3Hd`ze%qhNL`_w;_H=BIh&-nq<|D}!LSA!dTOn!(d-}ZriQuz&= z{ETqd`9n9>e zO#Y1W|7}L)D>nW-`1lxqUXaJ+FRK0bXFR`QGnEc`VMLd2_f&DPPR{=AAe-n#e+c*6oeCK?S zVZ2KEukr;C$tL`SnEtbU)}K1n^Bbmp=AV2LKX{1AA7b*`zU;eB_56lupZv|S@Ch;b zZ6Ei2%5T{CD`=PUA*TEgli&7zf9+H+-!SbTj(poEzEAlL8-F!T>2>)brhMC1{-p97 zHvU?SKg8s(RJ_{@mw5dR8-JNEf&37Yzwjl`f1L6gHvTZYH^DH(w5ZRW{Eqbh#7lj8uPAmeJG}J&1K1DK|F40W{(luK|Ep(v{db?P>0dGR zg^{bp(r<|Af7~S@etU!R8#exGj6cNWFP-oC-=_SAjXxZ3VfclZ{MCy+|Hn;##m4_A zU+|ESKg0(sKRyfhhK1Ard<~f47oY#HTNBIrYKD_LT*j~aX;tw$SUBBnQQ~3=W ze>3K#_!xhP$=|%w^WU%hhK;{7*~lN_gT>#^;9eMi$uoTXJsC^?gX3QQ%klkm2sLc- zn=!7Z z@nbqy9%Ax`_+a5T=gh|NI}(`b|Ch1wE2+F!<2%F8u*q+U$qzC0uPXmLl;5!N7h>@r zV)9RX+57(!%5T{CU5r1(!vBEh|ElpTHvVi({}7YEtoCclZ`k-JV*DW{f6G_B{AR4H zV)z+0{%lPD5R*UupyxkZ`3)O?YfOHKMStbrp!{XU#=nIxct|$kC&UL!Ki9#%F#qiY zX8QR>Ed8{6!|VSem2cSO{~{(o#G(AT%NpgqIEG&VO!@KtZOcPm{%`SJ!e6n;FNp8! z{tvN)pV~hL>%hogj`6p|_(M$on%ZBc{Dw__CB`3Ok&hjwwA*3w6&rsx#vfwxH-Fpn zzfk!N8-F#%A7as8`NvIv#l}Av;}0?Uv)}RZU#0wpjX%_P6YU4?k-wb z9%Ax`Soo`6{=1D|vGEtd!pHcFf;=XF>%*S^Bg${s_^W|^$`3L5GiVUf?q`+Xu<=jC z_(M$og7SYy`3)PtI1V?6DL=%*|6MP?X8ekcKWy)jKg8tE|G@LlJKLv!!^U5Ym0uwy z|KMYu|77JiZ2VXzD-Q|fhd9jttH2+YH^mr!A29QOy!~7Gv6r7&;q^Cc^27CFlpkWz z|7V{69OWNWZ2ZmXM*Txf{)u0D{!ZmLZ2YZ!!9zm%AtrwbcdGGQzw#TV+3ENz;g1h7 z`9n)3my{cQwlKs<8bdE$)n0|m}cb9#KI%Q*!c5&Q8x02nEb6rdH#*c zZ`k-ld9%rHJ=*hMZTyOjzg48y{U2h=&#V0%%5T{CvoZb}Kg#QYy(hJRK0zoGnwjlaSdJS5aV#N;nM+spr{@*Ado=D(Zq$H(|X9Qyxv;19!p za&04i2{8Ttvsn0NQJ~Q6C-9yAH*E5=BE2p@#MHm2{PWN8{DzJHhcW&Thx#u8f2jYP zWBBdB)IZ*zDV*x{KlWTN->}Kg#L`cQCH&9w{AVbCNwM)4(%u8ajK2_*zjdYOKVSI` z8-JcJcu2?}V)B<)dH&0k-!Sbn{%d@}Lqh%#lfTsB`L8wo71RFV@Z%0yaeGYp4I6)j z!toGOeuyc5;vCQaD&;qPxcsf>dj7X5zhUDq&k^yF{18*VyU_FBru>GDztyux{2?ZP ztMcD%@)aBZV66TPG5L!Zd->m1e#6FJis>I>@@G3df9g3t{TeoYI4ckFCj1ya9`-q2 zKJNhI<4f^9%ujEN;r9SDKgGwl3aZa3=V^XYZ2A;p`h=MN$zZ^ecAu;KhK)ZH;}0?U zTa~{@`3)O?KE@wn@|Tr=NcjyLe`}0C#N>DDz5dh6Z`k-te8EGq2|pnwe`$l~f4%Y> zrhVqeEMM@DkUzvCzsvLggUMHH{4Fv55R<><`JVqn%5T{CGco=UlRtZz=f6|=4I6*6 zXkXVq#N;1T{x2)PVdHP*3m%e9_z5xji``!SKIJz|`wYLMWBrp5hxN(tz#pdn@#i+; z8-Zu556it?{!j3o^`T*tpNW+RA*TM-%RT>7%5T{C^L)WWLjQ-D{Db|T|H$Wg`G#qq z{;%PWkMSEm4fZqg#s8cG%<`f60OdnFzK7xSZ!vriFvBN4|C1f?`fWJh>u1>X%O2jd_#O59*C~HdvGG^=g2(tnO#b}!o_|XD4I6((xa<5O7WvBmdXul%_-{YLJ7Dq+ zzZ3S)Sb+38?AI@S2-w^v$7lE*;eDcp_x*}92MGU%@jVRxD=uinTYwq}aq~8hk5fFTIHS0zxCJ;PF8iNLW0>;7{MU=` zq5nP`!`}d&E&pX+>HYVDi@g5~oB!Sv%YPw0nEVO27wYp;V9Jm8N6LTY<^Nvg8#ehL z(l8+2gr5)}O#bl~H_BfLJe&N9zxMJ!hVP7D!zTZ(nEVhQO#T;R^8ZKW$NK}VulDk% zF7fgWoBaQb$q(_tF9h4Vd!d^Fzhgc>jM7-%p27!zTY7X|Dh=)1To~ zTVwt_E{4yF;R|Cp0rw83e=qD0d(rZHHSlcux4yya{{X&If5Ui{`U}%F@{myf5Qp;r zr>#-m=(MsPrsRhm;V&LQ@&x!I~{)+{P7{C{0spe;#K%*RsIv(Re#0&PX0~! z<3mjT5Fbqc7PuFNUl%a-kB`q6RNhxqzG0L9<>N(sB;WAQVW0KS>000XUh!E6sDI+& zJHMk*zvF5^yRZ4ePA}iE$)6XK zAL4__AAozq%1g2ZnEsECU)w#@kEndZCO`Bq(?^I8CO^5pQT`&}+2ohs=hOFV@txss z*yJyb`9H)5lmEV${M%H1Jp5}afAt10->}KQIVRt5H|%Hh8_7@%|3wVby@Tm{Gwg@) z^)_IJS6tu1tvCd>K9m_A~yI{PO$3^w|LWp+1)b&!$iL174r| zR3F21|8)Fq7HReJCBz4l|Kpha->Lj~{>|t;=P&K@;bGY1qu7v#nBfuPgUNpv+zb8x z0pQvEKcVu^e!iD)*yOjwvQW)QKygqCuSz6rGIXF7mxkz0cEKU8j>9(79p0v482D z{#Vu0Z&h`5b#-@jRm{uf&o>hLKcoHhe5+mK_P3tm_QkS)R$@QqrjPfBq$HL?Kc?^$7i(Fgb@tLylar|CyTy}gquJ!z>TEhXy zN38gLG|8Wsm&>1;?Ju@}k}>S3$7i1QKTG>!*^kdR@1Y9?y4@Pg&vd{h)=9^Y;tJ zrTKfE=g-r-Jbv?J#cy4bKQS+tKj+#0V*4*LhW+&Zp?baB-|cB`Uo896*sujZ$e);T zd}nWP{UfOtBm6aft0Nwtu)W?5Fp$o!{~NxQh10vLDyKupjes_P>%lDTpMILBUo89a`3?Iq<9IGmKSsS+dK^k(lpZ6yAKeB}VDcU>gnQmV!`*C?GD?hW;pGLh{`h$|=7xQxY zx6$?&=il>;%kpo5_IEwQ<1d!|xc!0n$Gn{VN80{k`%f^2{j|MUyUCB==V@Oo`*HmX z`!TOEp8vkC->{YS823x1#%-)`YipPtG3bpJD*yH{AhKGwp=={w#S=}X%a(?9h1 zebW3H$Kbli)9~izye18#Jt?`eZK84PXFb`NPl|0 ztm$K?@a7}Y6<(Dw14W~x_zq%+;&i%sUcboa6e2W#oDmHAv57HNNZ2!UCMSCw#_;tp} z-}L&iaGTrj=wbelVK1CpN&BM`ame3ax&8p@$?E!~VkUZhyAN?TZm?CFx(J{u=7V+tPo+OTVCE5pR`Q69D_iN|&`!M6O@>}_%r~j?ykMl>2&5-_`d?#S!Uq{5qzm9wQyzQT$ zUM&4*uwe^+ppSXE^Y6wa{9 z{_WI@5gztyJJ~;5q>nk+-^cYIlYO%E)u7JxF+)Gc@blD*rLXMlJCOaDgML4^|1Igs z(#Q7Jn`6w-FEIR1sTWKCoW#C(rwv{oww9<5?{EHbdAKa$D~)kJ-jwv;nYIBzVEgz% zFArkHXItmv4E4{ZUMzi_{<8d-qkc2>V(DuZH!NW2YXDoo$j{0V9{)?J7sCtXX$~8< z;0OAcp`UxS>)#^#WQ2#l+g2>ncL&PtSC4f4N2nJ|-xY<2{g`3DMg6tZi>2RI{!dYV zGxcKWrxN=y!+zx`kN+R37fU~v=wlA~NBskuUVi4t(pM9G%+N0|{L$2lrH}J#y*b7V zedp00|C6W}OFx^~k2%<<{%qMNOJBu?E%<@`n4zy6>-NW}7sCtXCw_hceaz5L|BdTk zNWED4Iok&oF!XZ(TfoqFJ;wEKpk54r*st1(1q^)^U<(-f7WE&ZUJUAQFI9e`m!X6P55;Py|aUMzhrX-~xreRZAdH&QQ_erD&Q{g|PjJK6Owpk6F}hs(44 zj~V)T>My5WEd5lXj~V)|Q{4Uss258g+goprF+<-?{b#8cOJ7Uu#|-@p_1~smyi)xF z^_7iYe#FwxC-!58{n@8_`uC$=EWLG~3JVzNj~V(}m+OzCUMziga{OZs>9=`{5cVAE zXUNjGuwe^+U_WN)JD%nG3#k_)JkI}4Td_zVbBI6nGm1Ys(3;S)QhFB z1?#!}n4zDg{wC_h(pQuGiy8X)Ubp{y>c!H}VZ#>uthawLLqFZ``u&Hz{D=`A`8Q=N z7U`z~IYZykaQzdg7fU~j4O^s-8Tz>a*PlndSo&&E=lYnTU!eZA)QeZDuWWGpAE90> z{bFK2X4qe({yOT#($6RQm_zyp-TtD|PtNq%umwNs?caRF&`+Q1`dx;3{KyD~<2P+9 z7BKWNLtowK`U9vJOW%bJTkr#Y%+R-nT>m)g#Rw1kRa>!up|1jL0Yg7c{b`Cn8UE0B z+KL4Xeaz6$G5kjA#nN{Lb*_&Y`i^0b|4XPBuTnOJ7UkA2Z^= zNc|1ei>2>K^f5zU8S(W0f_ky^Q;9xi=%=XPYsAZ+So*m{A2al|QMZ2#^vZN6YQMn0m4F^NBuY=ohGeH}zuaI}?4(!Txz}|6186OFx(BV-D$O z_?wjeL_d3P-vRcw-u}f5{nQ0+|5wzDWxo<#@1T!4=r45r9-}<|Wa>=UFjBKRf06 zM^G=8elfZJ#SHz-C9Ypjy;%DAcp?5VL*IId>j$V8OW)zym(@QpLqA3R3zUBHO7+tW z|7PmNE7i|Xf3?zoC+*KN{B_ieS89Kb`rD`%uT(!z{k|tN&d%-{9mO0vDAxK zs_(eekADyKV(H`Kjq(#S>{qFOA@ySEJF#I4exQ#T`mUF{{kKssMtEHRW^KhHeaz5T zUgr7_Q7@LhmYjbvLtlG^>%T(1So%3^*n%I#KjvWnm9GDx?31Mr!bl%;(7(#{n0Euu zb1P)&r_Biq81`d^ewyKTJkRxF>AQkD*T)R~0`(7~UM&4$qK_H+`B!`V52ju${am7t zImG`pu7AAZPtNqo@tcbn`mW1de-8Cx=^vTc7hh!IA8ya87oT~rkhd=<*UoT$3wXCm z@nSzhzKr~J@*Byp7eC)mpXc6Y;rkhv@H6JmbHA57&z)j={=xiF9>hvdmHPm% zw|_AsKW3=EntCz9<9w>wiUkaP4PXlx`UUFesTac^`e|FSfT52W`qmp*o~aj0-wm-X z(su{S?ax!c%ebdsEPX8sUl#w4%iaFNs25A$k?3Pa{HxR-N4~~Q=Oucxe`WE#sqF%gG{WSG6)QeZDpQZk4>c!H>^*@eZ%t-&j6@L7_O1)V6R+4`) zhx~h^>wiOi7g_o$Hf+HU?8gj!>rJjdV8Y9v7~xU=J8i`xeaz6$P=6HlV(DjhEb3zp z@qeq^e+upw@mSo&#~XZo0-pL)OR z7nFXo^mBw^+=pG?pk6HfLUKPCbBO;ZTz|3RPnJGDUhB;wrSA;tTpu&^mCw2U7V5<-)pt_A!)8DJV(Dv%{g`3DMg6|i zi>0q5$1mof|ANQ=Q0d9iw-Wm?L%+cACsQw${%^5i3x3wyKk=}IM|*E(h3&b^EPQ|1 zlmC00G3vALCiPkEi=Lj7w(xu+D?W=+dlvDD8R_YqcYP1_V(F`l0~q?4q3@!86ZK+* z$N4yg4O{R7eaz6$f5q*;fqF5*LqBIL7U|~#IYU4FRo8!rda?A=*sw+Vn4zzJ-SyW} zFP45b$-kIG{I7HUqT)}Mej!-T?Z*uL?DekS(>k7`Jua4hCeg)QhE`OYFxC{nWSI{@K)vr9U>&i_f?47~iFH)bEF04c@g4%`v^-Hh&y1vC=!6 zq&H^dSL@rJUq7Q>EPZ@@%8u6p_4l~I?PqLualXtX_G1pm>pO1${?t#AWq&Hs#|(Yt zM%O=zda?AiL?1KsHR{(w^9QEf=FP1*Gw;uMQ{e}2{*Ww{=?LZrJqjpF+<<_p2zjZ|cPezmodC^9Qa!f_ky^UD&V% zKd>J&>`(pB^(Rv=MtInt!iFvQfj(yFEC1>GKI+BrT8Vz@N3Op>_Q}#uW5X8wz<$iI z-*JoUUroIj;bA`xU#6e=vFqPQy;%Bg+Xogf^xXhkz_4HWiR(Y1^poKQ`!!p!fT6De zYym@GWB9L8FNQz#9kyZtLmxBrUDW@Oda?9Xh;5O+8Ys8lqW+iEi=}Tx;bA{!*k7Q2 zhYKyf5lbHoNA_b5`ddB!_LZJ2{USCZeaz6$|IGDAQ!kdj8q`atf06npQ7@K0&TphY zX4tR%m)q~7UMzhrX)nbLeeLJ2e-8Cx>Erx{{g|PjrT!Jvi=~g_3w_Mc&r$zQ>c!G` zCixdL^o!Jgih8m1vAr_;m0x)Jzel}T`q&=yF~fc*^}nZHEd93Z*Qnp~A}_yU>0^6k z_FL5dHT7cYw`G5d`o~i*mVR6IXQ@Afda?A|vOh=tdDM%g-R(E|So&?*uiWOx z|LxR^rQeqQPU=5Jy;%Bf*{@N51NCC*w`IRY{eMv}mVR6Ir>NiQxnBOn(r?TDEcFkj zUc6HM0`*5yFP45=@n59=MC!#W(Jy!ZahC0`pLGv@`i#r^<5zy^c!H}RD6;Bm=XW! zUwQh^nsWPM>CHJT(#H&a$FE&KWFEMFi&v_jrvACqi>04So&&3EPZ#y z7jRkr&r*NYl*eBz{Y+v%=3xJJxBp4%yU5a;b68|QX6WY`{u}0j{1dNK-}Ohge>3%B z>1UJp#|-=8hM;eX;a276c0z`8NZw1q}TR_4{7zdNKS_{%38)0){?j=(~1s z`<)lNUX1W7Ie%uUKZSa+^z+!T1wXJKGwe_8==KLLcKc$4hyB`)_RkhD^f5y}w~Om9 zy4dw%gol0(8@AvF`j~_L`?wzSsN?ugkr5vHxV;K}%+R;)>-zUy?0T{E-L?-bVCcI6 zwt%6Zr~bTec4@VAzit`mPSw@Ay2oFP44=Vq2u2 z36#fwk@^Fv7fas}g@^r^VZXAc+dqbSvGmnMA2ak->QAFyEd5NPj~V(o>IbM7uT3ZRFH*mTda?9#iT#*ifA%46{{-sA(#P++L;QF29l{^_?gL$aCiP-twxFP6TtL!Ms5Kjxr6%=K4F zPnN#hcuP7FHnEG;!l=-DzP6k z>~|mG@xT8Iy!?x$@4$vF_*rlNVurr;XxDdAFGl!-Y+bMwi}VYDqVxYq*B?)P7g_qa zy#)I)!+zx$*Pl(jSo-m#{KUN6{mTWmzkbFQKbIJny+4`y8@GSx3qAkDvfs&lfD!+g z5&v20PoQ2beaJY|N*{C3KgR9%OHY=*BT0YE(9a#``WI3!mVP>kf6UN#JL)h<9FP1*eZ|Gx&{mK(ue+Ttq>F4ih zVQc|IA2amx>s-Izi~RVDrH{`S=wpU{;mNLl0`+3)tJtswKhVbvedPq#pF_PEUdX>i zTd_zVGxUqpZ=zl-eaq#UK4$2!0u0$U*^b6E~lX|iA zvpe|?!0YW_%)$P8kN?kPpDg{=iGA@dFZTDbpIhPk*tHfuu1}6OF6;l$b*jhbI`hZ< zh*SebUrqEeL*LQm_V>8N?Te+aVZ#>uAU|V&ZvTNV@%$6Zeq8^;e$0q}$1`1j2=!v=TOsy&{9}fGiu&WI7fU~b4O{R7`!Pdb zJ=5)6R(i7Z|CW>|@o5%5^mk|fc7$K9e4K6JFw)aS{gKp*;g92Euff9thF*NUg|E6-`2V-Y=$~>u`==oMa_QS_;p6nZ%oyoQ z`=ib?e#gGd(Rv^C%+Pn9>-y(VFP44|8@AvF z`4cnriyK}4HtNL)kND4E!xsENA2amR!><1%^{eyIkP?#}IzG^K>u%~*@^{>^wj{ifRVlh>aV9>4F8qrt1tEZ`4#nI>8rLMEMVBL0&D@pevSG) zU*Yi=!yoqJ_8s&wL%(PbAQ1Kt>c!G`W5X8wKp!*oU9WQe3Dk=b9`?JiVGDksj~V)z zSG#^A^_$T#4En?^w-|YJ9s268?Y}kUIGW(q~uKzjp;+5)KZ*l!z(-vP7iKXwr zhAsGk{g@H|skgfR2ct2Ty*YiV-3f3ozQL7nSk4)z&-QuY&l$C17R*^e3e+Ri(LxV?gUvFsm;4O^ra zzuUrBgOC54GsgAl7+#;g1>Vil&-VYX$X_Sl?^W)9J^4}O1@b!b&E!7vt>ovE7s+oW z-$wo<`8Q<5f4S@Be^~hbC_T3u<9eC)k8bVa`E}K+y}XIBe;n^c?nC(%GxEFp-md=w z^9{E3OD;DWvhQ6!A^;6V~rEg&)(#H(_ z+@7w#oO-eJvxz=t=v#Za{)0+CS^BA9J&%9P&@VFlm#G&^UrY2cL*IFSxBnCB#nLZg z!xsFkw|_B1U){&`yS>)Sj~L-sQvN&kb$uuGV(F)0+!iqG#|-;3)IXhivGi4lZIQkj z$Qk-M>Nim@mVPP<5Bo7gUweSZ|8nZZ(pM9G%+PmJKS#Y-`c~3jiy8X)2fO{7s259L z#fB~TLHuKee(@o$zvt`x_=yo7$8RAye`5~z4{-fK)X$TppSOKr0mFXG(9cv|eFBAg@xMRQvW6D#VgfUPIUXi+K_V}NSQ=E?`V8JUC(eno;*uFi#&6>`;U_=&vbqcxpju~rQ~VyYsuYby8qkAGvuqt zi)Xq2)#TdQ&YvaEKHK>^a^)Q7ACMQxw~;&Q?th2EcRTO#X3vi*c^~pjkNZEAJV#zj zp6zx2Cy*D(r;!)>-2Ys1)hjhj5%LG zu8cdsf?OlNf!sOa{_h~S$RAYrN%#K@xtsiD`EPdr@5rBg8@Y3f`|mm9>Fpvvm|WZH z{*NGclaE#S^WFccD^3Tc#!j@)ahZCU+n2ypiE6r#Ww?f5))%6$(G<{84i2Qs*C#7r*4ZgB@4c>z;SUaR$$lk0LLS zpH6Ol&BKq1zv286@*Me{fIg;mL0xcYV+O-%g$(|Fd|({Xb8x-Q@f|a`pSpw~?pGJN=`_fBFaR zzn?MAzo{QPchbN6r_N6z&;QK%nezX+^B}qPE9Xt**;dloL~>Wv`84tjd5AoHp!;7W{lU(!B-ajgzLGq*#`&KVzSH^Bv;r!p^ z+M}KC^G;7se|Jmd&n*hv;X=Q{wO}>O&eX{$%nOq}(fILV347qZ= zhyN~l_5|mj%Ks_OcaS?za^CA*EMF%(A4KjZA4{G&#r@Zl=T3D#hrIAK=Mm{obABGV z>lx0Mk!PCD?1n;lxszObvGXb9 zj!T?3lIO{nkY`@v{%@E5<<8fTtM)(v$M5U%C*Mk*Chz(l#^>!G{t)ss`HAEiaxZy~ z{9N)P`Hj-Q!}s^E3jZGG?~$ulIajWteewb18S=5@dGZ0KZ&gQ><7u3pZ*eKln>1}|0eotzW1xint%OU z(sO?EUz0Vz`5y1{_-MZIwPelzy`GE**f`#!d&!!wcAl*HWB;41`CRvWzsFDW zv+ie%_KN01T}Re@rKgEG-)K|eIiKjoWX%V9x%_|c>ARY&`8vNu*8H1#zM}awe@K7L zkNG>Y=9_%r2bh2N^zUVlBx`=hXNq@m{|U0@OMD?&^B=xhyt{}0XR_w^yOyl^`WDEV zfA3fF-^ca${wL30&5yU2ame5O-2dV9*Zg&llmDaL|CwaXhc-yo{AMpCYre88$eRD_ zy=2Yj^>O(h?fd^GS@Uh(Le~6OJAKgOulcMVYK-`6eyS(ZU-M6GpugsinkH*LsJAh^ z=6AY=tofS0&hVOl=(l9eC$!IpJU*J==V-F#n>ouE@zeY-my$If%9RX1H|XiVhW?tr z7R+b)O;Tc)b@HBR@6%>zl|L&-LSE zjn8@$S>vtVLDu-C5C0dBkH#Z?vN85w`;f<{kNz4j^ttrc_?>SdYdp@cGQ7sOyqT== zChzkR?w{j59!S>sjYp9+9^Qb`Cn|dQz<3(LX*7#5VYK-_Va6F~&(qH2n z{gJHkiuS$6!)yGZN02q1&^ofl2RetW@qW%HS2!Nb>&Ttt_mFGkPm){YZ;_|SKPS(U z@B2}YpT?(oI9cP(Jds@CcqHeLJINE|8u?Oki#$V~BL6damOM|^_$WUhYrK&_bEwcKnzmlx}=kHZ`_9y>$vigVroUH!d_qFGA zh`;)8Ka5;q|K)XL^`Grlc=nHdj>5Bl;opk2NcQ_OJSi^z1)%8(ICIcK@WuNBx-&Cab^F6Upjt zR41$d(8Xl+2l@xH`uBX6to}MbCaeF=?w?|Quz$>>$?6|-I$8Z)Hj~wVR<9bvighc^l7G-{UaVqR{x6Q$?7lhY-7|1>Yp$vJ^K&5fvo-m?-BF;{g=pk|9%r$ z@6-Q4*8B1OKI8Gz`|d-@dVhT!S?{AyCF}ii4_WVvC&_yMJEib^pZij>-p^hM-U;u2 z{r&1cku|@^XXVfDp}tJk``RCY?_=$Qe%Jq+JlAmE`LpidG2r|VayR*}$us1m$r?|$ z%Xoj=|J-@5A0RK1FD6&V-2ZjtF7gM-Q{*p_XURV#FOYw0y!)=!J{|Y{-Rs|+Yg-wA zau@jshmtE7xxK^5Rq{IW!Q?Z@o#b=L$B-`~KbHJza*ccyc^&yP(`wJfbZt^3^gXG7NTjZybr^wGHUqT)uzl{7s@-+EP&Xu#FOb)gZziuJ-%37*yhv_l?DGX}A^+wg=NFMH zod11>ybJk#|07xRGyN-B^E2H**8EJrC2M^D zgTCbH)%fL)C2RchXOcC3`2<F@9pRDf*zCzab1UpnJl|8IIFl`-7?WeLYxq7hkUyTf2`(EksCJM6!|Z|<;6LH=ky=uR=e7dw%x@7?fi2Eyz6 zz30fE?el4}#xs5sS>qLdfLuAs)AL2L<_oablwtpxKfzuT2G;mq_q78G`xTDgSS4%x z$YaF^`u)twWQ~v1P1bmao5>o#%U)B2{cAj~w~#eH&WFhwZ|7@djbHN%vc_|~*FBjY zju-g=vc@}nBzcPC89kn?@r<5D*7%k~(sy|JUZU_EPtK-M3h~!?Sl5s>zSdWye~{~K z81WEZ<6qrDUf_6Qd+q4{9SnakS>q+yZFJCU{39DiA+W|HY>7GE;>*YyZ}1<8kTt&L zE6Ex!5Z|eyJZk*Ge`9H$LKbfrYEv=hnu-AQx zpFhLo8P4DHJhJAqc|Ezs`C>jq)_gf%CTsqs|0HXErJZ+nd-~q+p=5nOxQ?vxzq`o# zK5~FOeYnT>LbAr6e=S+#$G@Mf`P4p7*8CFRA#1+BpUeLW-~R)4@%UE0>wF|x^8=hn z)_i}1WX-?#e6r^AyMkP~(f9XHWX-qm4YJ1X|0!AXLF{~QkIxk68{CgP$NcCNvpzhP zJadNI8zF1H`InNX|Hl3Qo~-%IKPKkp|TldSQdey#8vU+Mn4@_3%$=fk7O8t>>Nvc@0U zD1N+$e-T;ZTfK{1Il|-n39(g#xUAej)_f|rk~KfZ9c0Z{vhRI8ewzPbExE?>@)WYh z!)cH;KG2KE8n5TAWShmbYj?o;JI;PF3?toeXnN1n0^8`3*V z)_mt*AWzf(KgkQ+-+lIQ`@OzQnBQ+BPxpI#KBw@qPo6)| z{eMrMJ==M2Yifn-!v)T3#3Rn9ku@Ls`DD!x{~EI9JO3zI^OrA>r>$Xt{Q3=fj=ayF zZeR1gA4Q&F{7)n6dvttvjri*O?yJZhoPYi^&rkU8oU`L|MZ)h&`27iAlkle#{zAfEOZeLf-<0qz z2`?u6n}jR(FCLGb6W%T10~7x1ggX;HI^oA9ye{FVC46SW8xkH%`22*Qm+++tzaim& zO!xx{Uz6~s5}r@^#)N;8@NEg-k?_uY7mv>#3Gb8e{s})k;WY^#o$%umesaR6B>aqo z&q{b>!sjKtIpG&4{ECFHO!y-Se=^}OB#dz^;`;Tvgl|mv2MOPn@a+lTYoFr&_el5w z2_Ks9kqJK`;ZqVmE#b2h-jMJ}!kZF)LBi7sUzYGp!tYG@{Rv-_@TU@3lvd$umvdXuf+x78lCR(@#f zf7pul)?eBBYg>O~>u+uS zovru|`46_khWw)7Bkr-O1K_*}Ai>_qG-7*j;VCudTb;y1T7= z*xF(1p0?i4*1c@KzpZ=Qx{s~<+WG)nA86}?Y<;k;53zMWTlcs109&iJ9%$=BZGD)n z2if{pwm#g}zqa*YTMx1I5wH?}^;*2mgj}1=XzNpKJ;~OSZ9T3Wq$F}Zb;r>!K{%@6yYNh_vu2brLV~w7PM!nTDF*wpQ+;GRn z$fm=4M@NTp>K~o#9g2LLBNMsjSkK6Y$ZvdN%>4#O$0zE|@%qqcUk~@ynw+qmySIfK z>1nlc=xc4wV7x((%@fVOjqYrliecES_w@BeKK1_Qz(CB+ktSp5!6!zQjQa3ky|Jay zXR)adHhTIS7URLq7SDRUIWpcDo2ZZWp4;e~sP}HI_q8U+8@3<%Zy6pkX=~KNxV?7w ziP6^R(C7wBOyt)bF4t^ojP;I=TlRU_o*|1x0qVnz;ojy*f6>vRG}&S-<->{+@{*87uLs_nOV49<31ZIgahRT_buY2L|%1ilwaH(`weOvX5(`;A|J* zw2F`2aq*mpYA^Wp4cQgLPA-dXmbbyZH5p$i;1u$$j-#O1!gZ);Y=d@yD_*m|kzD6I zl-aP$U$}s$aY(L82yafKV_U5)G1eHF7%v_&_>c4=!fkmEFJydrl;PeQvumiwH@e3hJA~`W=8Qx#EPh?Ut(u2sC#@N{CSeDJ(XdbkAduAx_kxVQ4^}fO8P`~9; z-A?gr*Ya$R3}n@=+(st`8)G4t+7uHLWA(HefGi}(T3>xVeS_J-k3IUA^l2{bQ;3;N z_<@fTDW8$ivElsMlv!UgzSbtRx>I{<^);=m_l%F%+uZGpwt_L(=-XKD9c%V)XcWr0 z2}6JZYd6(FX{8B1kJ3!VlW2AcQ=%l-y zKowygc3eumScdF$2r*Zfu|{Y>j*feYlykU9l++<`Pfi>-C1(Vj%FeOOy(E1388kj< zLF;PzS}7m3Q9{@zN&IkP4>d+M^hx=M$2BUe5=gc3?}}?%D%Xlp;4=CmfVMYm)b+#AkFs5>(Thu5vvpI z=BO=l3{Yk>_gcar4h?P}Ha9{QX~m#z_i>PsQOm(4!k`5()UX>YD}~z(v)qmfm;Njp z5RHMMo();`S@0R3Y~gGvjeHhxnTTa!mWx=Zj(w0QFQ@=6w_Il(PZakMQ z#jF~JQTbVAYIg%|hONe*7_|2M*71qPaGNj6Tbtupqi=L%q-Aut~nEE~A&{KihqJvq72t|{JRge19>-C-0PJ*Ky#=CK^Fk2N+}qdhO+sjpeA z)a&aS13i;N6HlKUX`F(GJyv%D$IP}lXUULUrbnlTFlU%Oh^^B$|vEh_?{y)IPy zAY;E#%+Ri#8v*r!o~G5#b!#8UWy568m>p#}*<+nCyLgAq(aDLhIbly`HX}Lp`lh0l zp59Pl*fS-&)u>qM?isW5r)Of+?n3Ql&MyeT}EA zv&tyu(2xrbT|+$+1J)MGgJdoYG-@fbI?c{F?1SVFyh3w7xQ;j6rcPITU~zb*Zco&j zV|c!SM_QXKnT;)Y@HIf)K;OuOWs=>FSVPu+2kdc(wLAvQn%No{8i(g-t1)uWx+gsS zjHj%xKl#jOoVFfrV|Hu?bdNq@&+aVQc7uZ|#P50Vzd2wnS~QRc#v2U?>{v`3^py3d zu6r_Wkp?F0h}$iU9rOWS*UfO>X4{AThKGUni${gMTm1r$3{0~ zA;&G-GCW(5fVolfPh@BuKR^?Xe8|}%CjoVho(}srS-H^xLTC3scqIeEk zZh0{czkWk$4x!8s+w(JX9_`07$KlD5fXKy49slh(<$2I*;`YlP3R+ILM#r05u-l%Y z<^~I_?6uq5aAPuT&m_0tj?1#L=r%b*S33@aJr*}TOtoLj{`1B|`L*W}mP3A!@V^id zbMWNZX^rbM0&YO52^)S)$L*H7Zz3rRmSk&0SHk^@MJ=@L#+w^@`uw(Ve5irvwa99bquKEwpu$Z`CN$6J;|<`5pt*)NN*ZCU#<_*l`(^&=8y zd$Kr=;QqrD+Lvtxwx_}TwVXD`iP4R9`M6?YbTZ$-*4A;mP}%tTRYrpV(lAT+dFADlD>WD5o?ZEbJ$w=w}#gaZtWlI zSv#q46$_5zyr%EZYk4`FGHK`Ca8DD5D;$h^U$50=R`^haPkh!oD^p{ZP&+qq+Y5)u zX0txr+7ha>aDK|U5XOR74$vvv^%~odyreVM=;p72OJH%!9~GpZm|0&dx9S-xO(5@7@nhqT(ByvG1RILm{-`yXoFRt z!8vRcoWo;ODBu;K;5{-r(#Vtn3f@*vWWLzWJcq5Z=R)7gJWz#aHZ#b)Tdk3>L;U8B zW24#bEGNQt()iYKggp|^yz>=rn4XbWbquq=CNgdydY1-52DFd`4^Hg(GaTW!-8 zICaYcZ?=jy#4>DT&OENL!_CY~hYr87W0r|+$ITqF!=~+6se@*Ig=042MaO=!&_g|T zRmL+V#4Lk$Z&Vt^Fu^4Y=&zNwgdp0^JjaIpz~MJ@3^zQ@-k{KS=7}bjodm&C+nFcc zSlLq%#MrK%!8_#Z#?~lK`S6Cs5*`BdrHT zdter%zcD=NmV7Jo;LE?Tb8Tmys1Sos*vOnigCX2}p_zxPh24NzmXx_?B5OnS`C02* znFp>`tbnnT2(utPlXgJ*>^b|0Jzhbef>=JL+`j$Npuxser3ODNZyB#iiYpjfq zueE=z;Wa%6$F@fg@hf&~xX&KE4ma%qft}WtQCqArjw^iZVeR1aEu)LhctmPX{jDmr zJC%Z0x$ERex%<%Q=tew4E9_#>n#ee|1xM<=y%8m*zUi>l%uAR@b`Ff#OQ*51W@sn{ zv{rxkwbn)W9dGq)wv*EWDkG9vu!nu9m!3H)jj*nkkvb*Z0ckObkkvWjzQ+lo3M%MGGHNF4`1DEJzUuuYFEp| zb4PpqX}x9G#!ch6y9zmlZRIhx2O9PUGs$tU_f%eO2f-oB_7FNasXQhbYpp(<9vdvL z(I!MbAHI!zKHS3LHq)x3vBr6(Vzfi_)`b6T1n0Tlx0=<08IS6PCL0|{cAv$5(w^;G zslmMgPs?T<_fU8WVd)5ulEYij%-8A^uR4^zzTQn3)<3(O!hlmI&LX@n?56*bE4F$HX23w`vEm|*RGQG~5Y)m##Z*HeXS}62uL#D2+ zgrDtM7g}mpKg7DHxpUaPdbO+ckr%vRGTOf2)x}Fq>tN0WOJo zkwjUsEVIX5*003Q_N-R3?&oN5L13XFifRFL?~96uvMPx&}JuBJU6BQvhpZP!EW?XI;I|6Pp(P0QJ_&MS1(EZa3RLZ3XVsr`2~ zGJ}@0%;@iH;B~kcRlBTNF-b4B{f!~3x3_1#>31`hPuy6IjFRarr@|$R?*>D5!NHrW zy#3m~WeIOgEr;y?s$>uB=6Pcjsu{eA^2~vYy}s~1Lb;RrO5`s7-Z^K!@y{KQ&-Mn^%A?%qS6J@X9$0qWN z12P>wF3<+Frzo5I?ZM0VpjW)x^*jk(U#$>?-&H9FZaFIm;o`?jp2aGnHwHss>x6wmH@+6{xYkzie>IM2u*)O*49lpNef$wVi?b{yd$*>X3ysN4 zgO~GGVUCV9LKg<~(%$a574UV6{s)yh#?FXpTF=S*`~UuB_JPM*i^n&&hsufffs zgTJ3<9snKYvwjgg6f%PYg5w!~X$a%Z@Km(_&wF%A`gwTiw$DUSm-e(m$CFC$xOLe_ zELP*lE9tiLm$12rE z{*)Vsax%QTTcs?b@i>p%sq|f9i0y#i8-!XNwZdfGT)Yb*F52#7U5@j{Xzt{}f@u4` zfz)GtnJy+c+%w^|-|AeM?6Yj^jMp<{PXxKe+w0XR6loNcQ%}KB^v8ep*-X!-@G$|d z^YpL>-`QifWFKrk+znErm?%-6CO*sXD;_UyDAZOgtiPk(=Y~z|%~(M<|5a;8>^ZYA8u9&wG>?esX(x*GKf%qoSf z_>hY63Eb;_ek6T-zH&aMi8ID&=u*zdgd)`KdTo#)l@yY?PQ) zx|5Eq$B~Wd7@{(x5Q*(M{-5lRreTXLT6S$NFq~XLp|9 zzHj#H>tF3OX7N}$i3(B)z42D(c3r09SVmP7z0-P0&i1={HBxRoj=bGhDpJeVMHZ^< zjQXGdpfBsksT~nz)Ry1C(3RMN}^hc9J7+O3YV_3Xe=3fMHJtKmUOx;aa>~` zo7-!z(o0(Cs=G!Xa)u09rIQAk(0;pfFl(QHc|P z_huny(@;r5bRbrv#1vzg#bmi;D9|dsPP4}bw|p92;>b@we-ep$)K_?as|tsGF7uJ9I7zR?|@oK~w}L&1K0u&hF7IV$Vousz=x zhXFC{yBds;u^Lr@8_x2ke|Sqcwb+&gY6LucWg5BKpcNb$ujroTXJeDKry_w@hxXdl zb@p+pK4*SL9cHp8|K3Z`oSLEE^GMx3#ScSo<)bHs_eT)nC4Uw`u9J0qaNlPmtn{m& znuVQ&OV))q*tA{_=*brE#K$MWNM);bFv2)#`9qlybwnut96ZU|$)G4nhL2>ndI_QZ zxNuF{Xjd3sZJER{KzvlT?+MvExnV{fYKzfsg5u1YRoa>`Df?RM9S%$C}?l5u*qidME4{jYidK(zJfqDFA?ybAzU@twE;vq76SHT zF4n;%IN87&qeIpuQsaK*6?zxk-(~=q>~H z={SbgwRr~kcq1COpEZTeWnfni`$obj`PN>-!3WA9!c| z!~rh>@`1c<%+Sy`H^mkbpi*zVHIyPaH);1e$qkP**62@t>!J)Sf+t`#g(06@&vKP}6 zw27AcP-v3-fxrb7LLCtNfh|nfW&L#}9WG%JCb%~+x(GtJ__truPTdFlsf(sKD zxG}$ejN7O=jTRbolYJADn3gO*nf$%4*C%a}SblVVBy8!~4wjnJ0EZrZP~%C9vNDKW zF6)Vczm3@*vNIWvHq2UEstTv+a)D$l31gWb<~Fg`nvM2lU4CtpMjQw0ri|KU9HUC2 zpvo{BYjvA^r4Mazud?lw%nw1fdmG@>?hh==<~?RLyj^%FM=U#RpV7oSJhDDzOCGW@ z+?v4P;XW^58YsP(hB?2|D;uvWR?T_>bPcjWXEj4lsHP&ecJ8PRQ;`{tT1soMtq8^L z;kud6M3c0n);OELeWz!mjE?tgkDL3u+PKW3h}#6u`|Nx#oEzE6QYad5&2oK-d8m;0 zc6zt%ZHf7*vO{Gj?-KJFnNRVAk2Uyo-4hbKE;+^0N~dK)O2Y{Mb}rbCvuhIEw>`fX zhBRD3uq?*9VPd6v=cbg%_ma%`2M-Lom``Ap&D3`Hz5mIhm>1D7_ON~KVsnDp-G7+k zE^ZQ(cw;c@XhO@95LVa5lM|JN$Xmd8l7(4GQd&a-gWl${p2oh9cC zv{OR6kB(#Hn(qT=Pg;er+6|wBD5T~-@klQnBCn%yv9+Pu?S}5|dj>>t%uj*b(MnE! z*T?y1{Y|{G*RscEZ&ONf#kbL^lNoC5PTt05vdL+h;~1?OLqV|!NdtnU@^DGD;O%`?prKF?D7JMcCj_# zeRvB$U>NW{al)CLI6;UfNU1x5mboK*`J{MIEbX)H`74(U0h89^h|?B1p=!$7z?(39*%b_hY$#Ecxg)$?>6V@4G)@StD?EmJk7phYr=Jb1pHIr@EVv@&LP31|og@dI8D6WBoxJ)-5~F;9u&2(wOC8zdgo7 zNKD>VEM)NUf>h=sOX%1?=W|LyLIQ?WGU3Z|np?Tl-|PpL2S z%hJ)NXt$2ADp_9Q6sP4~^HPZLg|bnp!^uk+i;&N$eRr-VG534)^q!M|7tV^a?J1yGvjD#Os=gEzvG9`L*Vf;zih}vbX#5ynWzK@qE;bjXya^?n3By zXJ!`<`&lA-Zli4GZIr*#`NH$sSb53mzn91u&F{TL4CGy&QA^D*zwEs9HpEuhtn}u* z)J*mz)2&+x>&3_Cg#(97S!y4BL)mjYW{kO%X5orwuy2lIMA;+`Hh;!>_T_f!YA;r7 zrl!99-3lYow1+)?LzDJ8EK#&giEi&&k|5^NJ~e&&T2~k>F;Jv@8!3GiW)K zIF*K7V!C>?E3IC%*5O#&zUY@&D4i!>y9rqqWyU z`ohF)g}a=hPjYV$&v1)lubDBCjXmANdy;(G`l8xrZ}fA-d_o&M%o)wMEY`RyOblHJ zQ$DYBxC1Gh2fH5PhKHj};pY2_J_-|};laLlr>?P5LPLv3Y`8`}efD|UEWkzF*h-Gw`8Oye1znPZ+gp88uyCI%aL z%;##RFV2K~A7}{2K6a_KVwU;0@00BTzvSm_(M*wNNV|5aVre}O{udNT#4<06nDV@y zJobteT(z3hiLL_(cYx@BpgOx zE8TY2QS>`}X+Qdu#+H6%QO&)I@l@QbscR|CLn%H>`4{&R9*LOQqHCr_VaHQ!bXt%N z9WNQ8X}ly<&}F=m>r=TU9@x}Ud}uuL?c6DLt3$ECtxR|~v*bk~%4Z0cs8oVEMy2Ff z(+9l<;#O}V2FeIHCg(B>tQV=qSnud~V@=XSpx~FBIU}PsrDL##+jV;jlhtNRxn~NG zcxo*57Apy27K0__UL4jaxa94bnYY?i2oAOM*k#@m@V}#e%cGlDbV@;1uHqMMnI}&h zdmxrw#ZtfGNtyYEb9MWk&fh5$?KKRiV)6^F}UX-b2SJ%4Rar%t^1 zUfNo0EWu0*9{3fnxM>K#ZymHb*0a)<1_@m-Y;Yf&zls--@(`g-vt$_Dkg>*DGK^bF zL*=RBQwN?#?YrSo8fk3y2G+76?BRKKx1O8eE^yzI#v@BL!(d*Wq;AXiQ;cf3&?q*j zd9rk+TySi&SNTCxM|V=Z@4((|$bZ~W;kBTBEi`E_gvY{1 zUS4e@I-y=OTmD%G-YD6pUslzjH_@8SJzK4pM~{79lnb)r5<4ab-JY;vh7+HHD13|r z6*?%}*J}0=RI@(Z+7eP@j`olV?;NZ%YnTwvCs9U>adT-^?m%;cJ&Li8F*d>+QafpL z6xswRK6gzv>3P`5XamN?z`X5Yqu?A~Rmm$r!P_S4@k!O83{dd43O3s>wlhzk-w*rs zt;_=>h-5Z1$h=#vk+4Jj=8j{dXco8!wP5$e}HmKL0}0a1FvmN^V(T z8y`6slm`N*ZdqXKvfLIpb;|-{D#;Mbu#q|QxWW!MGcO%F{Kk%1CYnd_xamk?Z`zKP zI%wusIA$ZQ5HtJ9Li-2v7=+pOl|j3Am_4%)Cb(n)y@Qo~;vAxcI$%p~1Ve_x1HYLf z)Zb0}g4sN@oq6KTJ)TFxQ`?!Rz1c>04fwG`K-li{Pe-j*x6{iKUhbIfMZv9%ppypn zmN>Nq#W&Y+IB*)snxAnPU>3x`yv81UEA!y(SrBSF^F&n@e8NWN>>o?w_@V)f2esCl z&30Ypo{4<&EClnd%ma_U?N;54hn+;21?icz1ER^Tv5SI37EB`up%MEWTt^HwGre5_0*|+P zHp?g24b#sDuWaYJlkYd@@NKf4NqzRln3F+U9uz02H>06|nZuvQ^k9|y?lyz^UU{3A-EfbUHscM@E9A1B!6q`eYpd}nG z;#RHam0vO`w&z%=An(3YM0+H+HD~haXe*&nVV_)tLVkM42s`io|C}_~b0wKPmsz#a zNn|}ZZo2&5hWQrm!b0z!Y$jEP{J%V}XsBF5Oa1@L2{mzqpAnkscFJUvU!dt8n&_cu z(BJBdyxl}MzoSl-?&=+N^ZmPPz8BmF7p6`OL2XDbpNNpA1LvYVjNjL&QIWfI_&W4) zz+sDb(>Ai5r#_g-#(%<1zJ30l5AqbeU5dI!LlFeolUigkw>_6kBB2r_-{qrLI$uLx)`~m94Ny`T zivhxwx{krZ6bm()Epee0nVp(h%G#Vu2BX*Bg4fceKlUz0^-d3-UShF5agn{!Gb&EJ zjkR2MTs3%io@2Jte3_xh`F?V<5iB0#N-;iem$A|1kqYo*+Ut&Q;k!fp>OX zJwH-mNWQx=j-3yQ_9u@aI5VSr1#|EeJL7Mn7!tJ$<5|ugFv#aP!o02i6 z!n^(d8{$l@9Qc*Q_fq1`o)dcCSQ6q+4I5FS$D<#6gA#hOE@S4;Gx|e` z{Xcb}2fTyk5FFuov}fhgLoXK8F zJf7$1RoY$ruDs*}YJ1RbAK1rVX}e4OnRd8j#X*8Y9D*AE@V3MX;{KOUv(-rgUn(O< zvQNx;Sp6Gj)L7*{(v*FEEmfHxbhrgk@yYG9yCUrJA7T4*Afy2{6&COL{2>c`3gw~X z(`$@8_vw__jOoq6W>eZGMEqj*s~l6My;O1ZN&TsEI!-$v+PX z=UjM~>v?`xKREH;YXu$ob;u=2OQhVF>Wp0| zH`Xt(XQFQqJ$XZ2Z5_tEgHqlj&HBk%mzGV3)dy{`j?nYex-*Sh-r?b6)-i0;VGMWp zHo_gwsUV8;PgwSCw2p|1dzLTuv_2m6t?V0Owqo;4MVSxH!0>UJc8Q!V_sQyw6=c3O zsd4&PyRuLnl<$~FpxjeuXB<=HD7zMV@$~1r-X}VAK*?Ud<~i?&B{>}IV3xlhtE10{ zci`m9hwwT&Gn2e}#<^j}!@E`+t^*U}L8ZiNtf!A3`)CbQXZLpBbh1EqK051YtN_U5;%G{%Sdz~+9dSVG}I_XC^#X%shk_FT@?>=tczZ8|SeN851N*2NVcNLV?s=}_=3 zg>PDy^cBoWZ?}TUoYmp}J$Z$ACngFlzIQ54wo)Goopo980@xk9eU`D+#?)xqTju&H z$0~90VAp@@AlR(OmVO|Ze?H2fQQeH*4_Q?hxwB)o;+y%zLuQd2PQ7kCf+7{R1Zq?R_;L@LuN{c1W=X;iW&;8EO*YCe)d6`${ zp7Z{mefyqs&)xp?&kqkA>hY8f^?166cs!n?@f!=lFpn2DkLPRn1@W`2THoTpMS;2+ zlDhxO+*pz*p55?hSq*^;8r)t)_-SsLM=`SE8Loch!?H55H5szWKOWyFBTyJPjX6=e z6Ax2KC3O(-Wf|l#^c+o;=4{& z8Zp(o{a2K~XgZUMCt8&U9^abNW&Vbvob*R*{<-3YgJoqCtK*4gE1qac3U;?g_f#2Q zw~BLb!JlF((&o& zsDDs+{YUkGng*Db)tWTANl|>G5uWllR)rzv@lABa*B<$I`J1TXo2J^8*o=?LdzLG{ zXfly@a>&cOV!F)VCKVsCs~;P2k=3%A(oQcXcGutNnKC}FijTsW@fl)rGRA#4RJ|nN z59u+xK(%W(`NH1AvbfYSSztJ#8FYtISAXa~E3p}1psHm}ikEaa* zsjpF++#5i9LLTlyn7JO$VUX40M}JhW^rQHWp&!9P{zk0vc$SuMI}$Q4euv{XHJeUN zZI3riZSHDs2Gify@uPfP*1P%9M~|8N*n_uy_Lti(D;qHbGB19jj7N_0c<>{;$imRy zmYoSZrzN|MXOUGMep(B{J!$ z(PVRMYP>m~jwV;dQe9J{ot=|2ZShodXC#&Bnw(BWr*?G4=@)IA8b{xXw6{;4Ic4UQ z>7r~XADpI4pD_icj5i@M@%MisADtyKLiw1DpRSLxf4+zAS?072@?77Q&cr&VEHq0% z;Vv-3$(BJl>3M26-js@r}~r|;v-!` z?bwZe=!JQP;yb{sDdFS|h+9)3nowlU^!~?2{k7|hQa2ET=6QZ%af%3Yr9VS8Fz zHatDN3tg=&G`OQ`&c|z?4EB$^0$nlKe_r86L>la$`2=*1r!btd1mVAi8^TYJGZO9_ z2_HE?VH%a;wcPGt@Ak15`!4Za>buNmUAisYKkG!q8tVTBGSWK^ezpd4uNLlu?@<4d z!TkJNAbT9-d5lU{xD(d@B%7##$A#>f6Fi4^&WY0D)b> z{1*Q|1_ukzAx!_xWJS8wD&39Kh;wfh&O$1^!lS4B`VTSs1JmEzu%mAhoV$_sj=p)Y z(WK?iy&ud!Tsuh7+)U2Fe10~JaK0}rjJ#I}`xd~c4d(lT%A^Ru8*BFu4%QduBR8lR zufP9ca-b|cOQPJi!EOFIpJpmhh|eZaA!eg~^0UT~JwIj>s@|XbyDzu9&;{>3TPXJT zP}uT5s-FIbDG!g5QWyEWxfWP>3A&_jYx%m3K{ga;T7rB1)#8;)SSp&k?DCO&~!q?eP_HU%rdiEbW!V@mPVJTXsXaBHa zWdD}1Be}!N*L@e6>Dgaa26^9|u!r+w?i%m$47>$9>#sa>d(lcx=BAX+-2AXBb3x&2 z-jk?U%AK$00A=s$vtgmUU40QOGGkvyCIK>MX8^+aBSulqVz7(x1J|(>xE_`fRLFIo zASmE4g1*lH2=f-wADAw~UjsYbhf^)A8z&PugrIMy^c*M8!=%I4M3g^~Q3gbmKbF3_ z$k&^&_v{xLsOi}+)2~Iyp8YcUWg^KjE6DGS(moXSp8YcQtA$sY_*v4K>T{q~$Yt82 zgk2_msPuDy{8S425u*{^o{Lb#tq|^63d=KO2|m`1tOfJqE`%92dw*p<$>K882wws0M5^PjAZ$nXry|QPMIDCL(26>PJ`6=|p|2=Ky$dn)Z=qaBl~jnK1(d2A zt-Aj3>CooA`$np+Kl5bj8pEK6DO*YpLqA8*%X{}}J$$LCdV^EQf{kO(q2kDVywnz~>i8eBc@QY|)Dh z2)_d%JjtFBY7mflbHYuDV^*Dc*?`mo-8asCQCakb!3Uc zaxqyhdW^zis`|(aBlj_S&yA3WbK44c-~>!6oLAw7hCdtyFH}Ps%I)r+za2sh$^i_@ zIE5gcV=Ryspb@BxIQpkTG=kPYm!VZj|MYI5K7#0n|3NhTlcC%;z;6MFa<^JFgmQlb zebT#yIvBdg?}Kpbo1I^>vZ!R|`ReH9>joO>rf&G#QRo&$>#?@s z2q)HKr>GdDKDgtbXr`$M(tk5q`>^EQcrPqhjYoF7FkGO2ups&#eDrQ1AD*kv8n^~$ z_gEb!;ruu>kz5^8d9QK2m0y1ed_jZkM4)hf%Pttxx7z)6N8fq~x)FFsUpGYy{gLb2 z4qI-AOM#F#QnAoOP$1+L3gjUn?E4K2QWTrXEJU%kqA3RIK?Fj!hao>M^)UJC5U6!r zBf1#W!vfKB#X9a+h@oFZ?(Y|o`up>gM&C16PYv{Kz52`mY!zZ2xL4$0)+-3CdP^aV z(0fi*Q+^qpTC~s?9Wp+3Wp;=?-q&+di!L=6qx?ujy_6)>bJ6g-u=EuVL<{o z1$h;fxfM>R%3)S=i(i`{Unei6^Y{(1LOad@Ys-iQ&t zj*`mvt%X5-bB!{o4`E3_y%hcQQSADlpbJz#)iZcS66)2N!M{ZlPX7enPiOs4Qdag1 zejCa|z1iQth0^x*42qMLb72uv_hqo4#OSNH!vM&s`##yAmm8#oSJD-!6&kv!`8d(iH&e}JbwF+}waSuTO) zMzYkyavNFBS3P#z6jX^kTX-Jw!n>Gm#KLXXIC4;3_B)Vv&mRSeI$QW9{L1c1^R>Ib zW<{0j`T7@Fa+T_@?_(6GxgebTXE^tls@x~_g}F$`>95pt&|g*8w7czpqT6DYrY=|* zg835}LEZ2~-!k z4+`^;Fj5E(Zo^=u^n-J@t-V7R^-SUVale=v2e+QrcL#iwU$r?B8gk78$_q|1__Fsu8vbziSA%al!i*SF{?r?s14*hZ9PT^M$ z#s^{d&)K*3oPnR((##oZ4(PktjA@08$uDD?MWf>kN+z89yx@o1o@P7ISuU?f!0Tg( z$rIf1B+eMHrlAGfN(wUF4l+arQTcoWeXcmjZ20m0MpSD4%3XzLuv+rx-bMv`sr|(M zoKwYOJ=e2?_KJE34_Q4r7{zpR#64mWFzm@oX%T!rl;Ne@wEm&fVpgE2f3)ERP!l`jDR)X8HO75ON9|FqxUlB{FJn%GW9dzeQx2gK2?T_BU z5xTzKhf)jT+)vc+O-R69zs~+~&)!=RaVYnBDEB1>(i3QKwdJ{^FNiq1MY0cvVbzP< ze4ZRgYhlNAH%4uLUOLY@1Vf&B)%)af67t=}*=pOf#k zKNK6zw152_IG~WP(jw8dOF?yD>YhvB(d>_^fA#F3iMn@iWcjr;Owk;)ryPtPzByR- zqa$%jRetA_<=0#fA3X=8rnrWD=f}N+_E0;D8F_kLe#6U% zPoH6bDeO`)94ms1c?2~(Fx80aTw#~{d9*PnPm0UejTipMy>2IQ)y6&LNOK5uwoLP? z>(mMQ)p|ctbaJ&Fd6y{Hm|9Bj36T#utM3r({8 zgNojp`+`*8M(p}@&;KE05RQ2qzA;Q*Mr;2sMs zN=9yrfY*C)4YwLZlWg6fj)_iT+%eog( z4*=PCuS*b}ux~B(5So^7-3QgTwGcoOn3^!5Y{k^{KDGSss1}u1O5^v}>% zFTj1z<%nALJz6;cNNbj_dryL#{zT6;(|H34%PEl3`8K8V12dhMs4%#~FclRp(^?BZ z$j0Wvmv9=`W_S+vH*PM_9Vi3$m{KavDw&Kb&KN}Dp20+fS$Nu$)I}84@C_LbGaqH| zU38!l;pS7gb6w#Mk>UQUd~|>UzRm(}DiaBc-Fi7^Qk~#BT|o{hH2y9WK~A6(4JBmi zpWYo$^$s4PJKKGtN2|_uBGSVwFj#RSmXCuKCyAq198VF)3F3H~I8GGDGsSU|I8G7A zY2r9T9M2ZVbHs7BIMOP2uwtG#enT7=h~q+W^o!#naSV#%`QjKB$7*q`6~{VpY!Js~ z;&_2LUL=l}h~s7AxI!G8#Iac%TX3Wm_&91%U;SXkaF`p~NI38}beJ|8_yez#?KHAI zPqw*a+ex;iWP6-!tH|~c+33uD;6AcFOtw47M#E;{7P5Uxw(H1tBpP_&8nR6!+ZwV3 z$(A4+T?rXzCL3KV8MugSw~>u@lG`33+aj|4k!%|=ut0Jki_hPRK@4a-Cr=rP0ok#mYo- zb;2u?^)}&#MY;vDGVH6bw@~VafU<`J%K~974_&0iwSl_IKy?GfDZ>Oqi-XG%tggye zw?v1nSH5=SiZB0N+EeX>^lHH`~Vub~9`L|hK`=13-z>FSKlt!_k9 zDwnyo#j9&l`}5L}^(+h2Ev%^zHC$*l)(7gWg}!?(=pj!m1s58Lm~#> zhJ$FY=41>m6d>E#nM}dV;D$OcsfKhW*{PzHO&dv&$EKKfbt;~L5-=UfB_dRtk|v=t zk}ckjSVuCYb4Q*qwlZ-vAQZjw>5@jEvXva&KDGw_MRRKzZh?b{98?0SNTOATXhXK! zV=RdBC*5S%Y|w$zv9!4NO~mcSWLP|RLqWX~0|fNoxwFR1iPTSqJtk4miwZBK*k--M9yI_lux zc#T7=x1xIpecP;Zq!fZXm`LSIYue-SY@81%!$gJq0D*8T%^oeWnQGr zW@RRnscZG2Gh{m3l=-|e-&E!Y%KV2ihn^|@>+lm4Pf_N%%JeI<3Z1o~+EXm3h80Bg)Jw^EzeTrA!^)&sF@7D)T92?o#Gol=+!5 zN2v6VQ|4*PoT1Fd$ueJYWnQh!?HJ??T@S z+zR)N1r|NR9*M5BqHQa!)@&rz>{*%`y+O*GW2sc9M*}vN2CBXwRhiTwZ<|UaMgf3)gHtX_NRpV1*P4^!|@2dqO>!%=PB~G(yp}8B_i*1 z+#wRV(-E&Jc2bdcm${wfuAPO4d6Q8}bbV>}mQ*Z8&KsDsuB}@gc?>DJGIK{MH*7Of zeD^wTxaMNF$tFik+nGkQY<66zB3ub=E#an$y^}fdV(%*Lu8X~!IqPD-&E#rd(~81F zMpRhgAU<@=pKy2D9j2PuSLA@rV#vFP=mx~LyePida)--$a>3|IbmD~$nHCygqREul z9&|0(O(ln0$)QDhCcZ;*HX}O1y@FJ;ZxTSe(xOnC2|MgQvy~99k%)GP9PU)ujty)? zyGvmr+SvtGe`OZl&2Wg-(PqWg#G=_u4DYmv(BQ7=@YL5*0X!|ywpes!y?8wZT?M?S z3I#{o#-x}m+-=oPjJzBXr<>$x;6%%Y0t(o zy71-s(-6-Pc@a-YZ!NR01A2apU|WyHrsvl2IP5wdhquqgW@#mQ+A_LM=1U_xo?T_N zZo!*F5M(yqcpxrlH6+Q?wL{cpC5hJ!S>^f85U4k?yDLiOc^AR%IFC{~4~axP_rP6V zY>;7ohn(U3Q)3)NV2=O=X6xt6S=6Pn0c-4SMzsKPP#on26f9n&)n-o)p zmt#Y3*D=x^hTsLGB-0i$xlbD}d79#_xD|)?0lz7DG>($%1$#Vn&pWwC6)(W%H8I^7 zK=Ivy{1WFB>-VwTpm-Oaza#e_D}H-|?0ORG1={5~B{&kFh z#P~tRe_;F`<1ZNF?lD(-V;GNTd^Y1M#uqbgW1MB&!}xl}KVWuG7vnb> zf5do@@zJ~{wd>!7;k0#9OKs+?`6D?@yJ8mmc0Zo+nT+Q!4l}-(ae{Fl^7~jJ9e#Sc) zzr(ofFn4;#GoH+t?iV%lw}kPXk?}7WKhF3MjNf4VA>(0(yYoMm@o9`_ zFb*)jfbr#w*D*t&(Py{65}O|n;Bop_$J2pGNxB&*BO7ocr>n6nB_f_v7d1x<2J@u zFutDg4;eqe_*us9GaiO}FU|ZO!}xT@-(%i#u>&pGQN}X-$*76^!RIu3_B5crD}aG2X)X9mbxM-T6D3@#&1e z$#^;A6yqBh|B~@@j0YHh$@th)-1(i%cmd<(j1!Ez8Gn!QPZ>YNcst|g8UK~>KNycX z)m@&kjL&5pU|i3*o$>!*{0qiA8Na~z9maoWJjnRS3GVXH%VWzt&fg@)a~Yq{_+rL! z##b`Fnei_f?_~Ts-V3=`GD>{%&G?ALHLJexC71j7OaAj(j5jlWn(-@)2N?f@@u8F4PoMwC#;~eAf zGyXZ_XBiJL{*3X^$?ozU!}wIjGZ-&qyp-_@#tFt(Fus}bJ&b?N_-V#}X8b0~Mp3Ul;@llM&GWIf_ z$apH_S&Zi~UdVU}<2uF{GG4*Bg>jnk6^wI?H!!}9@tur+#`rPDI~c#f_%+4_#-A}R zo8@l5QH;kip2c_p<0Xvi7+=IV!nl+18php>*E8P0`1_21#P~tRk1^iH_!-8#7{9^z zJ;r+({}7+K7(dJSEyf=+KEU|!bKT`X zmGQZZmoSbnUd#Bqj2~dUmGLu-pJV)I#_uxznDG~k4=^4!+g<)KjK?!Rjqy~*vl!1~ z9AaF+5Uhch0- z_$0=sF`mNs9L5V62N^GAd@7}jDN~_6XVT{e~rycdL8dR z{PyElHUv++;789L(2Ev_<97&thvGK^zmfQj!tXHr4#)2Z{Eo!09KX@{9fjY~_#K1a zvG|R_?>PMExrGz(`w#rC#P2@*eum#K@Oucqr|}yx6mj8q6n+)>;cvlJkY9~oH-7)O z=GE)5#Dh`l{ekodq7oR7Gf9bf&`DbD$Dgbc4_o0GG1ntj^gJ1R*oj2!aVI?bg(s~n zyd*Ls9?8VJ^W-B*QsjQfNy>}|qohE*bIg9SNz2UVo0QD`NR(Cd@R#NDhiXEWA1|s) z#X7}PWFA9C&rVtNQB%AkvQ;}Q!eeb#3yL7aF2-}6Oh!;=4_`y;_*1)XjQf+)5@boc}usU zXw7(3PkOgP9UZaeI38Q0PmL;>VXcd$lkKZwi}21g@pzn!l(NJlBH5~VY_*Cbjr>`W z4!k(jL(kGyTA_3-(X8yXsbrIu*Ttf%lz4e0osj>mq7oFTFZ~1{U!zie;j0LWpNR zl}JAwtB`uIQ(*KG<&XMHgjXL4QU6i2Nit>0ZYUB8bwI3|)sKFKx68?f1-M*Hhm=um zP7gtdwBb-?2Cp)LSJzvW^66Mv5-<%%m3>e+nOsRDLu3$Kn{8^3r`sGsW1`a~sx^vG zo7ELjS5ymjuk~AGHTy$d>|1yVD*6--sbrVchCHYQwG(wGmmKY`y}(*r>2;k>UW|&V zBfFV)z0(QF>T)u|)fa`MCxz{yXDyE>Nxf@MVtSY}p3n~Feq zkpby2ydSsAiqhC!Ba>G0<`^_+jJZ@M+uJSsDSFB%^fA5tfMQXx3KrcJ(JL8Eono4d z2(@V{8ab~DM+(#wNynpB8m|_`Q`?zX3J>hhoS|Y_66?a84y}x_uFIfgT2F;6OgPz2 z)GxxKw{^&-CYy?c<}1;RloeA(&0@&ZC$%l#!jST%C6$$2aKQykvIr-evUYT!MLZCe z3oY?hD1GJ;ujDKe#a6{tM-N##LTC|sp|DIvcTFSzx~JJ9tYB!qworR`{RD+`N$hT7 zOXaipE{{S~ zs54e2us353W{wVs+S^+rnKrz(fbwRroJEBIOSi1*Ac8YVt@Io;ybEWn$YgvpBGq8W zBq+xff(bE3k|A3dN#R}QIwK3C5!<(1{h+I9b&ppni^;^$*;*90XPi2#a+wcF)n8a$ zY1P)%;9b@A^(tG!rLqRE^!9~AK1}GrK;;tC%^z6gYYaD74MBQuxFuhsEsG?=2C98{ z)3mjy!3qf!LS=!s1uojamPn19`^K7pv zyuL+toH%-zDej0sD=`_pGp0zGZi}~If-t<&THT@-JG-Q$+^_(Nb(RogZLGVOP{&Q# zI2MI+&>_!KV~bU2QIsnCIKz@JFi9QEM{6pn)=)Y|Rd71#v(`<%L&6tq~#tG6heqy{l}JyHv~~j>0$4<*ysIrZbUpzv-sm3=@Lr8CDx~n zb(SA07_ArSY_k%vcxxNpHHFZ05^Gj|Nnb|o(FBHbSt}~uqyIG zj_{_HlDqlfRXeyE(2yJ5!;m`76j+mvMzn?utbra+V>#leGA&x8me0tI^wbrPwafLC z6gBIvL|Z}~9rTuc)7jo4s8dS^nqH!7)))#zRpBDF5U?U?to!u~s$^p>HkSkv^aQ^c zRaVqtNQeb}2TGK-)|g$1Txhsb`Z#lk;=x3rM+-U9S6-~RF2Z8bHI3C$oh3zVev`s~ z(}lSQqxUYh7iH9a&GkMdrWb6&&FGoT#c5f`!94pkqB6RM?N_LKF??ca3;RfV0ifE( z_UD|k84;$i!iDk^J8G&C^^9l-bk6N4AgOzImzFZIc`8OAma6oX1g(HdI@_xf<%;ss z){m=dDJ9z1Lhf+(T*}QpyV4npt%jN%CDHI(>QCRExDpFW>Zo2L_u-- zS1KmyRyvgo9MiO=Ctk*vE>0+$VCe_N$0nrWk^?}sZwRB(wd{5TdYqBOweTi^x$?Hz z4B=XPhnid~>JYx+V=LNFliZDQ)`6jzsiH#e>`Agy(gTl9xZEC#T}lRW6~qi991b2t zpH_qtElEloul$o5O9uyT1wnYA0ab_sNhy8CZiwOvIJIWu7-D9GHq}x83+?x z7Ru4pGetP3V+s_@Afr7ntCiBtG~2ngb;#b0C_XuG+&W^ZR@Z^-15?3Ow+8rjWY3Uxzb@ls>V($!e%U6m_Oz2OXd3Vs@n>`9TA$ zHk+!3YexvAYHSv(t&I5OjO=LSRCEdkp{t{Tx&DI4X>YpLQFO{xOYamldYxdgRb>k0 zCb+7)x|*s`jkv<1=U7^&xE$+^3D|Tr&*|#~7~7V0*k7h|e%wZ^Q9dzMB1ud%_zbUAm3Ai?_D2@Cah5h7-!T zgfqqpt_V144Y5)vxozf>#}cdfI;a6_WaBai6^vR5+qmttF`~L9glVM_?OxMhiI=M$ zJaeWqAFC>Gan?m35@V0eJw@0-O3U4^Rdv^gh*WzxNLIvhu2e95fUAVKMD5~?N?xE9 zCz1_%Zy!|(D;iJNB~ijPk&%aV(!Gt)Al@=e)0Pe=1Xd-kg}FBv8FZ0#1Z|s}lZzt|pYn3rl|0H5A03+`an*zr(?xUouA(Y`D+oxs&S* z&2~gaq(o z$@Xobs|o7jcAW*XH@X`wdsCn#i_?93KdRA~b8!AgXJs_osD0H�TB%TnD3`wknpQ z&)tbTL7*uvaL$OC3NkJ%&_x8}?gc_)X{l~ZP>D*iXJ3gpv68!d67BrEuYM?!x0WDp zlI2FOXeKGpS4Sk#fN*XIF=V2X(N__vb{)CvE*h5$HZbIDBG<-FkXC!A+L6VzW^_c( zEjO-cwb;D8?F3>~L8ZyisG>$wH=a12<&7|Q?9P=q=|wOthKwRBne65+Z(`Y0%C`ewi>x+esyPK1U^;iY zZ>IQQ(U)pE8LqhPT=IiNSi1FONO$w8FA7K{g-a0jd_iY@vKIM<0PZ(ZE_9QS^i!v{ z48=@=y9}kY-mbF-t5#eq#RXCMmEwBogPjAYvkGzJCg~aOOs5bf13LPU1)=xZi^4HE zEsC9}=!}7MpDP+IG@~Gyx#qXyHXNME2WgU=hOYML{`P~)nIqJfoKSMtmaRT9QD5Is z;l#?G=i3$<`4+NL`8FNQd<(gmZz0ep5yt*GGUjqBibPE7y7ba3ebiT$K%NXZKr0$W zdUZ;dt)!^2dU*g}k#4|uoJD9_-IzHcc9JKuHj~=H4@fUe*NhU8PLXv9^tlG%vKk-66&f&X!7B5stYV>M`@%_1CfS_C&3PzO zEqb`I{t>(Nq&w7{Q_@+NmmKv9N!pv~oDn@*lCy29S+AHht8Fb8V)s)r-9>*ZpOGZr(36M7U)r;bEi2z5|4pTlbD;|SzR&S5zl7);l1%>=OR zLBm??I0|oSigHgn!ez0#C}jY&nQ*LUoTHEy{Y4oXOu3yd<$ z>mGDN675Rvj|~dB5##&^opZA8*5Q}9DV zobN&}i%PW6a1L8|Rg!uG#bf&VUZQB}YbA1;GzSC0s>%bVg>Z4rZ`#|KumdMX^ z36cClm$ZuSbHSRy7S(FH=wVr_SSp$JRaR3nnZfKrcel%1qF~08x_o4nQ?azsm(8Vz zbT*BX7OXAEL9Fgz%_MO%AC7TxL@%WKy%0HVXWCXwaUD&`cFY&_4IYoUFO05rVF8Bq z4c&%JHk1z^ED~0Ai6Yv*IF|8?8#+UNgf>~M)rFuIS26L?^$y32Em5BE^lXPPu$uu}Qax}W7E>yBw60Ql!W=TggELkvMv>W=xWl1E#nKW@WKadzn84iu zFx5TQEl3+Fx3s6pQJ(oB!{{UWYfrGyXP$&XK4k;QK}*MY3vN)M6(pXAp|hVB)Kz9e zsJg}2@m$iVWkJY^G;d@Bo#CJ81CnD`=b!S*IP@gzzF;jgE-Gsd+s9B$^tfMD}U-V+~~o zTV1Uv2A$QTGWD{qQ?93llGBeiz}1w>t2QnXN+53xrOH6zv?Drdv(=PJMw;cC$R)R{ z+a-0!E+R-HqcnNA{H+#x(-w(o#_@tHSY`-01hi*Sd&Py5Vt4vdM#IsGTgvp>*%c{G z4F`!>IF*Q8$Wect`YcpOn2xohy=lzhQ7&N-qXYtsF>%^J17F+K$nR8R>RWhd2c2KG zEgfAwf&}g2K0mTy=)sUz_T@Sy)ggLd8dqeSEp<~>QF66EmWBcr&rs4meD+t~rqB+h OOo2b^=s1aoR{u8$PTX(+ literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/bin/parkill b/macx64/mpi/mpich/bin/parkill new file mode 100755 index 00000000..8789c6de --- /dev/null +++ b/macx64/mpi/mpich/bin/parkill @@ -0,0 +1,127 @@ +#! /usr/bin/perl +# -*- Mode: perl; -*- +# +# Kill all processes running a specified command +# +# Many systems also have the "killall" command; this should be used instead +# if it is available. +# +# This script relies on the ps command; where possible, it uses the +# /proc//cmdline interface to more reliably access the commandline +# (to avoid matching command line parameters as if they were functions). +# +$user = $ENV{'LOGNAME'}; +$progname = ""; +$noaddresses = 1; +$debug = 0; +$verbose = 0; +$testing = 0; +foreach $_ (@ARGV) { + if (/-debug/) { + $debug = 1; + } + elsif (/-verbose/) { + $verbose = 1; + } + elsif (/-user=(.*)/) { + $user = $1; + } + elsif (/-help/ || /-usage/) { + print STDOUT "$0 [ -debug ] [ -verbose ] [ -user=name ] program\n"; + print STDOUT "Kill all processes running \"program\". To use the -user option +you must have superuser privilege.\n"; + exit(1); + } + $progname = $_; +} + +if ( $progname eq "" ) { + print STDERR "You must specify a program name\n"; + exit(1); +} + +print "user is $user\n" if $debug; +# +# Get pids +$remoteps = "ps"; +$sysname=`uname -s`; +chop $sysname; +# Try to get nicer behavior from GNU ps. +$ENV{'COLUMNS'} = 200; +$ENV{'PS_PERSONALITY'} = "linux"; +if ($sysname eq "Linux") { + print "linux style ps\n" if $debug; + # The -width option can cause trouble, even with GNU ps, if the ps + # program either doesn't support it or + #$psopts = "-width 200 -lfu"; # LINUX + $psopts = "-lfu"; # LINUX + $pidloc = 3; # 4 sometimes? +} +elsif ($sysname eq "SunOS" || $sysname eq "IRIX64") { + print "solaris style ps\n" if $debug; + $psopts = "-fu"; # Solaris + $pidloc = 2; +} +elsif ($sysname eq "OSF1" ) { + $psopts = "-fu"; + $pidloc = 1; +} +elsif ($sysname eq "Darwin") { + $psopts = "-aux -U"; + $pidloc = 1; +} +else { + print STDERR "Unsupported system \"$sysname\"\n"; + exit(1); +} + +open( FD, "$remoteps $psopts $user |" ) || die "Cannot execute ps\n"; + +while () { + print $_ if $verbose; + # Skip lines that may match this command + if (/tcsh/) { next; } + if (/grep/) { next; } + if (/perl/) { next; } + if (/\/bin\/sh /) { next; } + if ($progname ne "mpiexec" && /mpiexec/) { next; } + print $_ if $debug; + + my @items = split(/\s+/); + my $pid = $items[$pidloc]; + print "PID for this job is $pid\n" if $debug; + my $procfile = "/proc/$pid/cmdline"; + print "Looking for $procfile\n" if $debug; + # We *CANNOT USE* -s with a file in /proc because -s filename returns + # false alwyas ! (BUG BUG BUG). Instead, we try to open and read from it + $rc = open PFD, "<$procfile"; + if ($rc) { + my $cmdline = ; + $cmdline =~ s/\r?\n//; + print "Cmdline in /proc/$pid is $cmdline\n" if $debug; + if ($cmdline =~ /^$progname/ || $cmdline =~ /^\.\/$progname/) { + print "Found $progname in /proc/$pid/cmdline\n" if $debug; + $pids[$#pids+1] = @items[$pidloc]; + } + close PFD; + } + else { + # Just try to match the commandline to the entire ps output. + if (/$progname/) { + $pids[$#pids+1] = @items[$pidloc]; + } + } +} +close FD; + +if ($#pids >= 0) { + print "Processes to kill are " . join(',',@pids) . "\n" if $debug; + if ($testing) { exit 0; } + foreach my $sig ("INT","QUIT","KILL") { + my $cnt = kill $sig, @pids; + print "Signaled (SIG$sig) $cnt processes\n" if ($debug || $verbose); + } +} +else { + print "No processes matched $progname for user $user\n" if $verbose; +} diff --git a/macx64/mpi/mpich/include/mpi.h b/macx64/mpi/mpich/include/mpi.h new file mode 100644 index 00000000..a29e1046 --- /dev/null +++ b/macx64/mpi/mpich/include/mpi.h @@ -0,0 +1,2296 @@ +/* -*- Mode: C; c-basic-offset:4 ; -*- */ +/* + * (C) 2001 by Argonne National Laboratory. + * See COPYRIGHT in top-level directory. + */ +/* src/include/mpi.h. Generated from mpi.h.in by configure. */ +#ifndef MPI_INCLUDED +#define MPI_INCLUDED + +/* user include file for MPI programs */ + +#if defined(HAVE_VISIBILITY) +#define MPICH_API_PUBLIC __attribute__((visibility ("default"))) +#else +#define MPICH_API_PUBLIC +#endif + +/* Keep C++ compilers from getting confused */ +#if defined(__cplusplus) +extern "C" { +#endif + +#define NO_TAGS_WITH_MODIFIERS 1 +#undef MPICH_DEFINE_ATTR_TYPE_TYPES +#if defined(__has_attribute) +# if __has_attribute(pointer_with_type_tag) && \ + __has_attribute(type_tag_for_datatype) && \ + !defined(NO_TAGS_WITH_MODIFIERS) &&\ + !defined(MPICH_NO_ATTR_TYPE_TAGS) +# define MPICH_DEFINE_ATTR_TYPE_TYPES 1 +# define MPICH_ATTR_POINTER_WITH_TYPE_TAG(buffer_idx, type_idx) __attribute__((pointer_with_type_tag(MPI,buffer_idx,type_idx))) +# define MPICH_ATTR_TYPE_TAG(type) __attribute__((type_tag_for_datatype(MPI,type))) +# define MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(type) __attribute__((type_tag_for_datatype(MPI,type,layout_compatible))) +# define MPICH_ATTR_TYPE_TAG_MUST_BE_NULL() __attribute__((type_tag_for_datatype(MPI,void,must_be_null))) +# include +# endif +#endif + +#if !defined(MPICH_ATTR_POINTER_WITH_TYPE_TAG) +# define MPICH_ATTR_POINTER_WITH_TYPE_TAG(buffer_idx, type_idx) +# define MPICH_ATTR_TYPE_TAG(type) +# define MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(type) +# define MPICH_ATTR_TYPE_TAG_MUST_BE_NULL() +#endif + +#if !defined(INT8_C) +/* stdint.h was not included, see if we can get it */ +# if defined(__cplusplus) +# if __cplusplus >= 201103 +# include +# endif +# endif +#endif + +#if !defined(INT8_C) +/* stdint.h was not included, see if we can get it */ +# if defined(__STDC_VERSION__) +# if __STDC_VERSION__ >= 199901 +# include +# endif +# endif +#endif + +#if defined(INT8_C) +/* stdint.h was included, so we can annotate these types */ +# define MPICH_ATTR_TYPE_TAG_STDINT(type) MPICH_ATTR_TYPE_TAG(type) +#else +# define MPICH_ATTR_TYPE_TAG_STDINT(type) +#endif + +#ifdef __STDC_VERSION__ +#if __STDC_VERSION__ >= 199901 +# define MPICH_ATTR_TYPE_TAG_C99(type) MPICH_ATTR_TYPE_TAG(type) +#else +# define MPICH_ATTR_TYPE_TAG_C99(type) +#endif +#else +# define MPICH_ATTR_TYPE_TAG_C99(type) +#endif + +#if defined(__cplusplus) +# define MPICH_ATTR_TYPE_TAG_CXX(type) MPICH_ATTR_TYPE_TAG(type) +#else +# define MPICH_ATTR_TYPE_TAG_CXX(type) +#endif + + +/* Define some null objects */ +#define MPI_COMM_NULL ((MPI_Comm)0x04000000) +#define MPI_OP_NULL ((MPI_Op)0x18000000) +#define MPI_GROUP_NULL ((MPI_Group)0x08000000) +#define MPI_DATATYPE_NULL ((MPI_Datatype)0x0c000000) +#define MPI_REQUEST_NULL ((MPI_Request)0x2c000000) +#define MPI_ERRHANDLER_NULL ((MPI_Errhandler)0x14000000) +#define MPI_MESSAGE_NULL ((MPI_Message)0x2c000000) +#define MPI_MESSAGE_NO_PROC ((MPI_Message)0x6c000000) + +/* Results of the compare operations. */ +#define MPI_IDENT 0 +#define MPI_CONGRUENT 1 +#define MPI_SIMILAR 2 +#define MPI_UNEQUAL 3 + +typedef int MPI_Datatype; +#define MPI_CHAR ((MPI_Datatype)0x4c000101) +#define MPI_SIGNED_CHAR ((MPI_Datatype)0x4c000118) +#define MPI_UNSIGNED_CHAR ((MPI_Datatype)0x4c000102) +#define MPI_BYTE ((MPI_Datatype)0x4c00010d) +#define MPI_WCHAR ((MPI_Datatype)0x4c00040e) +#define MPI_SHORT ((MPI_Datatype)0x4c000203) +#define MPI_UNSIGNED_SHORT ((MPI_Datatype)0x4c000204) +#define MPI_INT ((MPI_Datatype)0x4c000405) +#define MPI_UNSIGNED ((MPI_Datatype)0x4c000406) +#define MPI_LONG ((MPI_Datatype)0x4c000807) +#define MPI_UNSIGNED_LONG ((MPI_Datatype)0x4c000808) +#define MPI_FLOAT ((MPI_Datatype)0x4c00040a) +#define MPI_DOUBLE ((MPI_Datatype)0x4c00080b) +#define MPI_LONG_DOUBLE ((MPI_Datatype)0x4c00100c) +#define MPI_LONG_LONG_INT ((MPI_Datatype)0x4c000809) +#define MPI_UNSIGNED_LONG_LONG ((MPI_Datatype)0x4c000819) +#define MPI_LONG_LONG MPI_LONG_LONG_INT + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_char MPICH_ATTR_TYPE_TAG(char) = MPI_CHAR; +static const MPI_Datatype mpich_mpi_signed_char MPICH_ATTR_TYPE_TAG(signed char) = MPI_SIGNED_CHAR; +static const MPI_Datatype mpich_mpi_unsigned_char MPICH_ATTR_TYPE_TAG(unsigned char) = MPI_UNSIGNED_CHAR; +/*static const MPI_Datatype mpich_mpi_byte MPICH_ATTR_TYPE_TAG(char) = MPI_BYTE;*/ +static const MPI_Datatype mpich_mpi_wchar MPICH_ATTR_TYPE_TAG(wchar_t) = MPI_WCHAR; +static const MPI_Datatype mpich_mpi_short MPICH_ATTR_TYPE_TAG(short) = MPI_SHORT; +static const MPI_Datatype mpich_mpi_unsigned_short MPICH_ATTR_TYPE_TAG(unsigned short) = MPI_UNSIGNED_SHORT; +static const MPI_Datatype mpich_mpi_int MPICH_ATTR_TYPE_TAG(int) = MPI_INT; +static const MPI_Datatype mpich_mpi_unsigned MPICH_ATTR_TYPE_TAG(unsigned) = MPI_UNSIGNED; +static const MPI_Datatype mpich_mpi_long MPICH_ATTR_TYPE_TAG(long) = MPI_LONG; +static const MPI_Datatype mpich_mpi_unsigned_long MPICH_ATTR_TYPE_TAG(unsigned long) = MPI_UNSIGNED_LONG; +static const MPI_Datatype mpich_mpi_float MPICH_ATTR_TYPE_TAG(float) = MPI_FLOAT; +static const MPI_Datatype mpich_mpi_double MPICH_ATTR_TYPE_TAG(double) = MPI_DOUBLE; +#if 0x4c00100c != 0x0c000000 +static const MPI_Datatype mpich_mpi_long_double MPICH_ATTR_TYPE_TAG(long double) = MPI_LONG_DOUBLE; +#endif +static const MPI_Datatype mpich_mpi_long_long_int MPICH_ATTR_TYPE_TAG(long long int) = MPI_LONG_LONG_INT; +static const MPI_Datatype mpich_mpi_unsigned_long_long MPICH_ATTR_TYPE_TAG(unsigned long long) = MPI_UNSIGNED_LONG_LONG; +#endif + +#define MPI_PACKED ((MPI_Datatype)0x4c00010f) +#define MPI_LB ((MPI_Datatype)0x4c000010) +#define MPI_UB ((MPI_Datatype)0x4c000011) + +/* + The layouts for the types MPI_DOUBLE_INT etc are simply + struct { + double var; + int loc; + } + This is documented in the man pages on the various datatypes. + */ +#define MPI_FLOAT_INT ((MPI_Datatype)0x8c000000) +#define MPI_DOUBLE_INT ((MPI_Datatype)0x8c000001) +#define MPI_LONG_INT ((MPI_Datatype)0x8c000002) +#define MPI_SHORT_INT ((MPI_Datatype)0x8c000003) +#define MPI_2INT ((MPI_Datatype)0x4c000816) +#define MPI_LONG_DOUBLE_INT ((MPI_Datatype)0x8c000004) + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +struct mpich_struct_mpi_float_int { float f; int i; }; +struct mpich_struct_mpi_double_int { double d; int i; }; +struct mpich_struct_mpi_long_int { long l; int i; }; +struct mpich_struct_mpi_short_int { short s; int i; }; +struct mpich_struct_mpi_2int { int i1; int i2; }; +#if 0x8c000004 != 0x0c000000 +struct mpich_struct_mpi_long_double_int { long double ld; int i; }; +#endif + +static const MPI_Datatype mpich_mpi_float_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_float_int) = MPI_FLOAT_INT; +static const MPI_Datatype mpich_mpi_double_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_double_int) = MPI_DOUBLE_INT; +static const MPI_Datatype mpich_mpi_long_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_long_int) = MPI_LONG_INT; +static const MPI_Datatype mpich_mpi_short_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_short_int) = MPI_SHORT_INT; + +/* + * The MPI_2INT line is commented out because currently Clang 3.3 flags + * struct {int i1; int i2;} as different from int[2]. But actually these + * two types are of the same layout. Clang gives a type mismatch warning + * for a definitely correct code like the following: + * int in[2], out[2]; + * MPI_Reduce(in, out, 1, MPI_2INT, MPI_MAXLOC, 0, MPI_COMM_WORLD); + * + * So, we disable type checking for MPI_2INT until Clang fixes this bug. + */ + +/* static const MPI_Datatype mpich_mpi_2int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_2int) = MPI_2INT + */ + +#if 0x8c000004 != 0x0c000000 +static const MPI_Datatype mpich_mpi_long_double_int MPICH_ATTR_TYPE_TAG_LAYOUT_COMPATIBLE(struct mpich_struct_mpi_long_double_int) = MPI_LONG_DOUBLE_INT; +#endif +#endif + +/* Fortran types */ +#define MPI_COMPLEX ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_DOUBLE_COMPLEX ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_LOGICAL ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_REAL ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_DOUBLE_PRECISION ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_INTEGER ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_2INTEGER ((MPI_Datatype)MPI_DATATYPE_NULL) +/* + * MPI_2COMPLEX and MPI_2DOUBLE_COMPLEX were defined by accident in + * MPI 1.0 and removed in MPI 1.1. + * + * This definition provides backward compatibility. These definitions + * will be removed in a subsequent MPICH release + */ +#ifdef MPICH_DEFINE_2COMPLEX +#define MPI_2COMPLEX ((MPI_Datatype)) +#define MPI_2DOUBLE_COMPLEX ((MPI_Datatype)) +#endif +#define MPI_2REAL ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_2DOUBLE_PRECISION ((MPI_Datatype)MPI_DATATYPE_NULL) +#define MPI_CHARACTER ((MPI_Datatype)MPI_DATATYPE_NULL) + +/* Size-specific types (see MPI-2, 10.2.5) */ +#define MPI_REAL4 ((MPI_Datatype)0x4c000427) +#define MPI_REAL8 ((MPI_Datatype)0x4c000829) +#define MPI_REAL16 ((MPI_Datatype)0x4c00102b) +#define MPI_COMPLEX8 ((MPI_Datatype)0x4c000828) +#define MPI_COMPLEX16 ((MPI_Datatype)0x4c00102a) +#define MPI_COMPLEX32 ((MPI_Datatype)0x4c00202c) +#define MPI_INTEGER1 ((MPI_Datatype)0x4c00012d) +#define MPI_INTEGER2 ((MPI_Datatype)0x4c00022f) +#define MPI_INTEGER4 ((MPI_Datatype)0x4c000430) +#define MPI_INTEGER8 ((MPI_Datatype)0x4c000831) +#define MPI_INTEGER16 ((MPI_Datatype)MPI_DATATYPE_NULL) + +/* C99 fixed-width datatypes */ +#define MPI_INT8_T ((MPI_Datatype)0x4c000137) +#define MPI_INT16_T ((MPI_Datatype)0x4c000238) +#define MPI_INT32_T ((MPI_Datatype)0x4c000439) +#define MPI_INT64_T ((MPI_Datatype)0x4c00083a) +#define MPI_UINT8_T ((MPI_Datatype)0x4c00013b) +#define MPI_UINT16_T ((MPI_Datatype)0x4c00023c) +#define MPI_UINT32_T ((MPI_Datatype)0x4c00043d) +#define MPI_UINT64_T ((MPI_Datatype)0x4c00083e) + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_int8_t MPICH_ATTR_TYPE_TAG_STDINT(int8_t) = MPI_INT8_T; +static const MPI_Datatype mpich_mpi_int16_t MPICH_ATTR_TYPE_TAG_STDINT(int16_t) = MPI_INT16_T; +static const MPI_Datatype mpich_mpi_int32_t MPICH_ATTR_TYPE_TAG_STDINT(int32_t) = MPI_INT32_T; +static const MPI_Datatype mpich_mpi_int64_t MPICH_ATTR_TYPE_TAG_STDINT(int64_t) = MPI_INT64_T; +static const MPI_Datatype mpich_mpi_uint8_t MPICH_ATTR_TYPE_TAG_STDINT(uint8_t) = MPI_UINT8_T; +static const MPI_Datatype mpich_mpi_uint16_t MPICH_ATTR_TYPE_TAG_STDINT(uint16_t) = MPI_UINT16_T; +static const MPI_Datatype mpich_mpi_uint32_t MPICH_ATTR_TYPE_TAG_STDINT(uint32_t) = MPI_UINT32_T; +static const MPI_Datatype mpich_mpi_uint64_t MPICH_ATTR_TYPE_TAG_STDINT(uint64_t) = MPI_UINT64_T; +#endif + +/* other C99 types */ +#define MPI_C_BOOL ((MPI_Datatype)0x4c00013f) +#define MPI_C_FLOAT_COMPLEX ((MPI_Datatype)0x4c000840) +#define MPI_C_COMPLEX MPI_C_FLOAT_COMPLEX +#define MPI_C_DOUBLE_COMPLEX ((MPI_Datatype)0x4c001041) +#define MPI_C_LONG_DOUBLE_COMPLEX ((MPI_Datatype)0x4c002042) + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_c_bool MPICH_ATTR_TYPE_TAG_C99(_Bool) = MPI_C_BOOL; +static const MPI_Datatype mpich_mpi_c_float_complex MPICH_ATTR_TYPE_TAG_C99(float _Complex) = MPI_C_FLOAT_COMPLEX; +static const MPI_Datatype mpich_mpi_c_double_complex MPICH_ATTR_TYPE_TAG_C99(double _Complex) = MPI_C_DOUBLE_COMPLEX; +#if 0x4c002042 != 0x0c000000 +static const MPI_Datatype mpich_mpi_c_long_double_complex MPICH_ATTR_TYPE_TAG_C99(long double _Complex) = MPI_C_LONG_DOUBLE_COMPLEX; +#endif +#endif + +/* address/offset types */ +#define MPI_AINT ((MPI_Datatype)0x4c000843) +#define MPI_OFFSET ((MPI_Datatype)0x4c000844) +#define MPI_COUNT ((MPI_Datatype)0x4c000845) + +/* MPI-3 C++ types */ +#define MPI_CXX_BOOL ((MPI_Datatype)0x0c000000) +#define MPI_CXX_FLOAT_COMPLEX ((MPI_Datatype)0x0c000000) +#define MPI_CXX_DOUBLE_COMPLEX ((MPI_Datatype)0x0c000000) +#define MPI_CXX_LONG_DOUBLE_COMPLEX ((MPI_Datatype)0x0c000000) + +/* typeclasses */ +#define MPI_TYPECLASS_REAL 1 +#define MPI_TYPECLASS_INTEGER 2 +#define MPI_TYPECLASS_COMPLEX 3 + +/* Communicators */ +typedef int MPI_Comm; +#define MPI_COMM_WORLD ((MPI_Comm)0x44000000) +#define MPI_COMM_SELF ((MPI_Comm)0x44000001) + +/* Groups */ +typedef int MPI_Group; +#define MPI_GROUP_EMPTY ((MPI_Group)0x48000000) + +/* RMA and Windows */ +typedef int MPI_Win; +#define MPI_WIN_NULL ((MPI_Win)0x20000000) + +/* File and IO */ +/* This define lets ROMIO know that MPI_File has been defined */ +#define MPI_FILE_DEFINED +/* ROMIO uses a pointer for MPI_File objects. This must be the same definition + as in src/mpi/romio/include/mpio.h.in */ +typedef struct ADIOI_FileD *MPI_File; +#define MPI_FILE_NULL ((MPI_File)0) + +/* Collective operations */ +typedef int MPI_Op; + +#define MPI_MAX (MPI_Op)(0x58000001) +#define MPI_MIN (MPI_Op)(0x58000002) +#define MPI_SUM (MPI_Op)(0x58000003) +#define MPI_PROD (MPI_Op)(0x58000004) +#define MPI_LAND (MPI_Op)(0x58000005) +#define MPI_BAND (MPI_Op)(0x58000006) +#define MPI_LOR (MPI_Op)(0x58000007) +#define MPI_BOR (MPI_Op)(0x58000008) +#define MPI_LXOR (MPI_Op)(0x58000009) +#define MPI_BXOR (MPI_Op)(0x5800000a) +#define MPI_MINLOC (MPI_Op)(0x5800000b) +#define MPI_MAXLOC (MPI_Op)(0x5800000c) +#define MPI_REPLACE (MPI_Op)(0x5800000d) +#define MPI_NO_OP (MPI_Op)(0x5800000e) + +/* Permanent key values */ +/* C Versions (return pointer to value), + Fortran Versions (return integer value). + Handled directly by the attribute value routine + + DO NOT CHANGE THESE. The values encode: + builtin kind (0x1 in bit 30-31) + Keyval object (0x9 in bits 26-29) + for communicator (0x1 in bits 22-25) + + Fortran versions of the attributes are formed by adding one to + the C version. + */ +#define MPI_TAG_UB 0x64400001 +#define MPI_HOST 0x64400003 +#define MPI_IO 0x64400005 +#define MPI_WTIME_IS_GLOBAL 0x64400007 +#define MPI_UNIVERSE_SIZE 0x64400009 +#define MPI_LASTUSEDCODE 0x6440000b +#define MPI_APPNUM 0x6440000d + +/* In addition, there are 5 predefined window attributes that are + defined for every window */ +#define MPI_WIN_BASE 0x66000001 +#define MPI_WIN_SIZE 0x66000003 +#define MPI_WIN_DISP_UNIT 0x66000005 +#define MPI_WIN_CREATE_FLAVOR 0x66000007 +#define MPI_WIN_MODEL 0x66000009 + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_datatype_null MPICH_ATTR_TYPE_TAG_MUST_BE_NULL() = MPI_DATATYPE_NULL; +#endif + +/* These are only guesses; make sure you change them in mpif.h as well */ +#define MPI_MAX_PROCESSOR_NAME 128 +#define MPI_MAX_LIBRARY_VERSION_STRING 8192 +#define MPI_MAX_ERROR_STRING 512 +#define MPI_MAX_PORT_NAME 256 +#define MPI_MAX_OBJECT_NAME 128 + +/* Pre-defined constants */ +#define MPI_UNDEFINED (-32766) +#define MPI_KEYVAL_INVALID 0x24000000 + +/* MPI-3 window flavors */ +typedef enum MPIR_Win_flavor { + MPI_WIN_FLAVOR_CREATE = 1, + MPI_WIN_FLAVOR_ALLOCATE = 2, + MPI_WIN_FLAVOR_DYNAMIC = 3, + MPI_WIN_FLAVOR_SHARED = 4 +} MPIR_Win_flavor_t; + +/* MPI-3 window consistency models */ +typedef enum MPIR_Win_model { + MPI_WIN_SEPARATE = 1, + MPI_WIN_UNIFIED = 2 +} MPIR_Win_model_t; + +/* Upper bound on the overhead in bsend for each message buffer */ +#define MPI_BSEND_OVERHEAD 96 + +/* Topology types */ +typedef enum MPIR_Topo_type { MPI_GRAPH=1, MPI_CART=2, MPI_DIST_GRAPH=3 } MPIR_Topo_type; + +#define MPI_BOTTOM (void *)0 +extern int * const MPI_UNWEIGHTED MPICH_API_PUBLIC; +extern int * const MPI_WEIGHTS_EMPTY MPICH_API_PUBLIC; + +#define MPI_PROC_NULL (-1) +#define MPI_ANY_SOURCE (-2) +#define MPI_ROOT (-3) +#define MPI_ANY_TAG (-1) + +#define MPI_LOCK_EXCLUSIVE 234 +#define MPI_LOCK_SHARED 235 + +/* C functions */ +typedef void (MPI_Handler_function) ( MPI_Comm *, int *, ... ); +typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *, void *, + void *, int *); +typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *); +typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *, void *, + void *, int *); +typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int, void *, void *); +typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *, void *, void *, + int *); +typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *); +/* added in MPI-2.2 */ +typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...); +typedef void (MPI_File_errhandler_function)(MPI_File *, int *, ...); +typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...); +/* names that were added in MPI-2.0 and deprecated in MPI-2.2 */ +typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn; +typedef MPI_File_errhandler_function MPI_File_errhandler_fn; +typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn; + +/* Built in (0x1 in 30-31), errhandler (0x5 in bits 26-29, allkind (0 + in 22-25), index in the low bits */ +#define MPI_ERRORS_ARE_FATAL ((MPI_Errhandler)0x54000000) +#define MPI_ERRORS_RETURN ((MPI_Errhandler)0x54000001) +/* MPIR_ERRORS_THROW_EXCEPTIONS is not part of the MPI standard, it is here to + facilitate the c++ binding which has MPI::ERRORS_THROW_EXCEPTIONS. + Using the MPIR prefix preserved the MPI_ names for objects defined by + the standard. */ +#define MPIR_ERRORS_THROW_EXCEPTIONS ((MPI_Errhandler)0x54000002) +typedef int MPI_Errhandler; + +/* Make the C names for the dup function mixed case. + This is required for systems that use all uppercase names for Fortran + externals. */ +/* MPI 1 names */ +#define MPI_NULL_COPY_FN ((MPI_Copy_function *)0) +#define MPI_NULL_DELETE_FN ((MPI_Delete_function *)0) +#define MPI_DUP_FN MPIR_Dup_fn +/* MPI 2 names */ +#define MPI_COMM_NULL_COPY_FN ((MPI_Comm_copy_attr_function*)0) +#define MPI_COMM_NULL_DELETE_FN ((MPI_Comm_delete_attr_function*)0) +#define MPI_COMM_DUP_FN ((MPI_Comm_copy_attr_function *)MPI_DUP_FN) +#define MPI_WIN_NULL_COPY_FN ((MPI_Win_copy_attr_function*)0) +#define MPI_WIN_NULL_DELETE_FN ((MPI_Win_delete_attr_function*)0) +#define MPI_WIN_DUP_FN ((MPI_Win_copy_attr_function*)MPI_DUP_FN) +#define MPI_TYPE_NULL_COPY_FN ((MPI_Type_copy_attr_function*)0) +#define MPI_TYPE_NULL_DELETE_FN ((MPI_Type_delete_attr_function*)0) +#define MPI_TYPE_DUP_FN ((MPI_Type_copy_attr_function*)MPI_DUP_FN) + +/* MPI request opjects */ +typedef int MPI_Request; + +/* MPI message objects for Mprobe and related functions */ +typedef int MPI_Message; + +/* User combination function */ +typedef void (MPI_User_function) ( void *, void *, int *, MPI_Datatype * ); + +/* MPI Attribute copy and delete functions */ +typedef int (MPI_Copy_function) ( MPI_Comm, int, void *, void *, void *, int * ); +typedef int (MPI_Delete_function) ( MPI_Comm, int, void *, void * ); + +#define MPI_VERSION 3 +#define MPI_SUBVERSION 1 +#define MPICH_NAME 3 +#define MPICH 1 +#define MPICH_HAS_C2F 1 + + +/* MPICH_VERSION is the version string. MPICH_NUMVERSION is the + * numeric version that can be used in numeric comparisons. + * + * MPICH_VERSION uses the following format: + * Version: [MAJ].[MIN].[REV][EXT][EXT_NUMBER] + * Example: 1.0.7rc1 has + * MAJ = 1 + * MIN = 0 + * REV = 7 + * EXT = rc + * EXT_NUMBER = 1 + * + * MPICH_NUMVERSION will convert EXT to a format number: + * ALPHA (a) = 0 + * BETA (b) = 1 + * RC (rc) = 2 + * PATCH (p) = 3 + * Regular releases are treated as patch 0 + * + * Numeric version will have 1 digit for MAJ, 2 digits for MIN, 2 + * digits for REV, 1 digit for EXT and 2 digits for EXT_NUMBER. So, + * 1.0.7rc1 will have the numeric version 10007201. + */ +#define MPICH_VERSION "3.3.1" +#define MPICH_NUMVERSION 30301300 + +#define MPICH_RELEASE_TYPE_ALPHA 0 +#define MPICH_RELEASE_TYPE_BETA 1 +#define MPICH_RELEASE_TYPE_RC 2 +#define MPICH_RELEASE_TYPE_PATCH 3 + +#define MPICH_CALC_VERSION(MAJOR, MINOR, REVISION, TYPE, PATCH) \ + (((MAJOR) * 10000000) + ((MINOR) * 100000) + ((REVISION) * 1000) + ((TYPE) * 100) + (PATCH)) + +/* for the datatype decoders */ +enum MPIR_Combiner_enum { + MPI_COMBINER_NAMED = 1, + MPI_COMBINER_DUP = 2, + MPI_COMBINER_CONTIGUOUS = 3, + MPI_COMBINER_VECTOR = 4, + MPI_COMBINER_HVECTOR_INTEGER = 5, + MPI_COMBINER_HVECTOR = 6, + MPI_COMBINER_INDEXED = 7, + MPI_COMBINER_HINDEXED_INTEGER = 8, + MPI_COMBINER_HINDEXED = 9, + MPI_COMBINER_INDEXED_BLOCK = 10, + MPI_COMBINER_STRUCT_INTEGER = 11, + MPI_COMBINER_STRUCT = 12, + MPI_COMBINER_SUBARRAY = 13, + MPI_COMBINER_DARRAY = 14, + MPI_COMBINER_F90_REAL = 15, + MPI_COMBINER_F90_COMPLEX = 16, + MPI_COMBINER_F90_INTEGER = 17, + MPI_COMBINER_RESIZED = 18, + MPI_COMBINER_HINDEXED_BLOCK = 19 +}; + +/* for info */ +typedef int MPI_Info; +#define MPI_INFO_NULL ((MPI_Info)0x1c000000) +#define MPI_INFO_ENV ((MPI_Info)0x5c000001) +#define MPI_MAX_INFO_KEY 255 +#define MPI_MAX_INFO_VAL 1024 + +/* for subarray and darray constructors */ +#define MPI_ORDER_C 56 +#define MPI_ORDER_FORTRAN 57 +#define MPI_DISTRIBUTE_BLOCK 121 +#define MPI_DISTRIBUTE_CYCLIC 122 +#define MPI_DISTRIBUTE_NONE 123 +#define MPI_DISTRIBUTE_DFLT_DARG -49767 + +#define MPI_IN_PLACE (void *) -1 + +/* asserts for one-sided communication */ +#define MPI_MODE_NOCHECK 1024 +#define MPI_MODE_NOSTORE 2048 +#define MPI_MODE_NOPUT 4096 +#define MPI_MODE_NOPRECEDE 8192 +#define MPI_MODE_NOSUCCEED 16384 + +/* predefined types for MPI_Comm_split_type */ +#define MPI_COMM_TYPE_SHARED 1 + +/* MPICH-specific types */ +#define MPIX_COMM_TYPE_NEIGHBORHOOD 2 + +/* Definitions that are determined by configure. */ +typedef long MPI_Aint; +typedef int MPI_Fint; +typedef long long MPI_Count; + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_aint MPICH_ATTR_TYPE_TAG(MPI_Aint) = MPI_AINT; +#endif + +/* FIXME: The following two definition are not defined by MPI and must not be + included in the mpi.h file, as the MPI namespace is reserved to the MPI + standard */ +#define MPI_AINT_FMT_DEC_SPEC "%ld" +#define MPI_AINT_FMT_HEX_SPEC "%lx" + +/* Let ROMIO know that MPI_Offset is already defined */ +#define HAVE_MPI_OFFSET +/* MPI_OFFSET_TYPEDEF is set in configure and is + typedef $MPI_OFFSET MPI_Offset; + where $MPI_OFFSET is the correct C type */ +typedef long long MPI_Offset; + +#ifdef MPICH_DEFINE_ATTR_TYPE_TYPES +static const MPI_Datatype mpich_mpi_offset MPICH_ATTR_TYPE_TAG(MPI_Offset) = MPI_OFFSET; +#endif + +/* The order of these elements must match that in mpif.h, mpi_f08_types.f90, + and mpi_c_interface_types.f90 */ +typedef struct MPI_Status { + int count_lo; + int count_hi_and_cancelled; + int MPI_SOURCE; + int MPI_TAG; + int MPI_ERROR; +} MPI_Status; + +/* types for the MPI_T_ interface */ +struct MPIR_T_enum_s; +struct MPIR_T_cvar_handle_s; +struct MPIR_T_pvar_handle_s; +struct MPIR_T_pvar_session_s; + +typedef struct MPIR_T_enum_s * MPI_T_enum; +typedef struct MPIR_T_cvar_handle_s * MPI_T_cvar_handle; +typedef struct MPIR_T_pvar_handle_s * MPI_T_pvar_handle; +typedef struct MPIR_T_pvar_session_s * MPI_T_pvar_session; + +/* extra const at front would be safer, but is incompatible with MPI_T_ prototypes */ +extern struct MPIR_T_pvar_handle_s * const MPI_T_PVAR_ALL_HANDLES MPICH_API_PUBLIC; + +#define MPI_T_ENUM_NULL ((MPI_T_enum)NULL) +#define MPI_T_CVAR_HANDLE_NULL ((MPI_T_cvar_handle)NULL) +#define MPI_T_PVAR_HANDLE_NULL ((MPI_T_pvar_handle)NULL) +#define MPI_T_PVAR_SESSION_NULL ((MPI_T_pvar_session)NULL) + +/* the MPI_T_ interface requires that these VERBOSITY constants occur in this + * relative order with increasing values */ +typedef enum MPIR_T_verbosity_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_VERBOSITY_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPI_T_VERBOSITY_USER_BASIC = 221, + MPI_T_VERBOSITY_USER_DETAIL, + MPI_T_VERBOSITY_USER_ALL, + + MPI_T_VERBOSITY_TUNER_BASIC, + MPI_T_VERBOSITY_TUNER_DETAIL, + MPI_T_VERBOSITY_TUNER_ALL, + + MPI_T_VERBOSITY_MPIDEV_BASIC, + MPI_T_VERBOSITY_MPIDEV_DETAIL, + MPI_T_VERBOSITY_MPIDEV_ALL +} MPIR_T_verbosity_t; + +typedef enum MPIR_T_bind_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_BIND_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPI_T_BIND_NO_OBJECT = 9700, + MPI_T_BIND_MPI_COMM, + MPI_T_BIND_MPI_DATATYPE, + MPI_T_BIND_MPI_ERRHANDLER, + MPI_T_BIND_MPI_FILE, + MPI_T_BIND_MPI_GROUP, + MPI_T_BIND_MPI_OP, + MPI_T_BIND_MPI_REQUEST, + MPI_T_BIND_MPI_WIN, + MPI_T_BIND_MPI_MESSAGE, + MPI_T_BIND_MPI_INFO +} MPIR_T_bind_t; + +typedef enum MPIR_T_scope_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_SCOPE_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPI_T_SCOPE_CONSTANT = 60438, + MPI_T_SCOPE_READONLY, + MPI_T_SCOPE_LOCAL, + MPI_T_SCOPE_GROUP, + MPI_T_SCOPE_GROUP_EQ, + MPI_T_SCOPE_ALL, + MPI_T_SCOPE_ALL_EQ +} MPIR_T_scope_t; + +typedef enum MPIR_T_pvar_class_t { + /* don't name-shift this if/when MPI_T_ is accepted, this is an MPICH-only + * extension */ + MPIX_T_PVAR_CLASS_INVALID = 0, + + /* arbitrarily shift values to aid debugging and reduce accidental errors */ + MPIR_T_PVAR_CLASS_FIRST = 240, + MPI_T_PVAR_CLASS_STATE = MPIR_T_PVAR_CLASS_FIRST, + MPI_T_PVAR_CLASS_LEVEL, + MPI_T_PVAR_CLASS_SIZE, + MPI_T_PVAR_CLASS_PERCENTAGE, + MPI_T_PVAR_CLASS_HIGHWATERMARK, + MPI_T_PVAR_CLASS_LOWWATERMARK, + MPI_T_PVAR_CLASS_COUNTER, + MPI_T_PVAR_CLASS_AGGREGATE, + MPI_T_PVAR_CLASS_TIMER, + MPI_T_PVAR_CLASS_GENERIC, + MPIR_T_PVAR_CLASS_LAST, + MPIR_T_PVAR_CLASS_NUMBER = MPIR_T_PVAR_CLASS_LAST - MPIR_T_PVAR_CLASS_FIRST +} MPIR_T_pvar_class_t; + +/* Handle conversion types/functions */ + +/* Programs that need to convert types used in MPICH should use these */ +#define MPI_Comm_c2f(comm) (MPI_Fint)(comm) +#define MPI_Comm_f2c(comm) (MPI_Comm)(comm) +#define MPI_Type_c2f(datatype) (MPI_Fint)(datatype) +#define MPI_Type_f2c(datatype) (MPI_Datatype)(datatype) +#define MPI_Group_c2f(group) (MPI_Fint)(group) +#define MPI_Group_f2c(group) (MPI_Group)(group) +#define MPI_Info_c2f(info) (MPI_Fint)(info) +#define MPI_Info_f2c(info) (MPI_Info)(info) +#define MPI_Request_f2c(request) (MPI_Request)(request) +#define MPI_Request_c2f(request) (MPI_Fint)(request) +#define MPI_Op_c2f(op) (MPI_Fint)(op) +#define MPI_Op_f2c(op) (MPI_Op)(op) +#define MPI_Errhandler_c2f(errhandler) (MPI_Fint)(errhandler) +#define MPI_Errhandler_f2c(errhandler) (MPI_Errhandler)(errhandler) +#define MPI_Win_c2f(win) (MPI_Fint)(win) +#define MPI_Win_f2c(win) (MPI_Win)(win) +#define MPI_Message_c2f(msg) ((MPI_Fint)(msg)) +#define MPI_Message_f2c(msg) ((MPI_Message)(msg)) + +/* PMPI versions of the handle transfer functions. See section 4.17 */ +#define PMPI_Comm_c2f(comm) (MPI_Fint)(comm) +#define PMPI_Comm_f2c(comm) (MPI_Comm)(comm) +#define PMPI_Type_c2f(datatype) (MPI_Fint)(datatype) +#define PMPI_Type_f2c(datatype) (MPI_Datatype)(datatype) +#define PMPI_Group_c2f(group) (MPI_Fint)(group) +#define PMPI_Group_f2c(group) (MPI_Group)(group) +#define PMPI_Info_c2f(info) (MPI_Fint)(info) +#define PMPI_Info_f2c(info) (MPI_Info)(info) +#define PMPI_Request_f2c(request) (MPI_Request)(request) +#define PMPI_Request_c2f(request) (MPI_Fint)(request) +#define PMPI_Op_c2f(op) (MPI_Fint)(op) +#define PMPI_Op_f2c(op) (MPI_Op)(op) +#define PMPI_Errhandler_c2f(errhandler) (MPI_Fint)(errhandler) +#define PMPI_Errhandler_f2c(errhandler) (MPI_Errhandler)(errhandler) +#define PMPI_Win_c2f(win) (MPI_Fint)(win) +#define PMPI_Win_f2c(win) (MPI_Win)(win) +#define PMPI_Message_c2f(msg) ((MPI_Fint)(msg)) +#define PMPI_Message_f2c(msg) ((MPI_Message)(msg)) + +#define MPI_STATUS_IGNORE (MPI_Status *)1 +#define MPI_STATUSES_IGNORE (MPI_Status *)1 +#define MPI_ERRCODES_IGNORE (int *)0 + +/* See 4.12.5 for MPI_F_STATUS(ES)_IGNORE */ +#define MPIU_DLL_SPEC +extern MPIU_DLL_SPEC MPI_Fint * MPI_F_STATUS_IGNORE MPICH_API_PUBLIC; +extern MPIU_DLL_SPEC MPI_Fint * MPI_F_STATUSES_IGNORE MPICH_API_PUBLIC; +/* The annotation MPIU_DLL_SPEC to the extern statements is used + as a hook for systems that require C extensions to correctly construct + DLLs, and is defined as an empty string otherwise + */ + +/* The MPI standard requires that the ARGV_NULL values be the same as + NULL (see 5.3.2) */ +#define MPI_ARGV_NULL (char **)0 +#define MPI_ARGVS_NULL (char ***)0 + +/* C type for MPI_STATUS in F08. + The field order should match that in mpi_f08_types.f90, and mpi_c_interface_types.f90. + */ +typedef struct { + MPI_Fint count_lo; + MPI_Fint count_hi_and_cancelled; + MPI_Fint MPI_SOURCE; + MPI_Fint MPI_TAG; + MPI_Fint MPI_ERROR; +} MPI_F08_status; + +extern MPI_F08_status MPIR_F08_MPI_STATUS_IGNORE_OBJ MPICH_API_PUBLIC; +extern MPI_F08_status MPIR_F08_MPI_STATUSES_IGNORE_OBJ[1] MPICH_API_PUBLIC; +extern int MPIR_F08_MPI_IN_PLACE MPICH_API_PUBLIC; +extern int MPIR_F08_MPI_BOTTOM MPICH_API_PUBLIC; + +/* Pointers to above objects */ +extern MPI_F08_status *MPI_F08_STATUS_IGNORE MPICH_API_PUBLIC; +extern MPI_F08_status *MPI_F08_STATUSES_IGNORE MPICH_API_PUBLIC; + +/* For supported thread levels */ +#define MPI_THREAD_SINGLE 0 +#define MPI_THREAD_FUNNELED 1 +#define MPI_THREAD_SERIALIZED 2 +#define MPI_THREAD_MULTIPLE 3 + +/* Typedefs for generalized requests */ +typedef int (MPI_Grequest_cancel_function)(void *, int); +typedef int (MPI_Grequest_free_function)(void *); +typedef int (MPI_Grequest_query_function)(void *, MPI_Status *); +typedef int (MPIX_Grequest_poll_function)(void *, MPI_Status *); +typedef int (MPIX_Grequest_wait_function)(int, void **, double, MPI_Status *); + +/* MPI's error classes */ +#define MPI_SUCCESS 0 /* Successful return code */ +/* Communication argument parameters */ +#define MPI_ERR_BUFFER 1 /* Invalid buffer pointer */ +#define MPI_ERR_COUNT 2 /* Invalid count argument */ +#define MPI_ERR_TYPE 3 /* Invalid datatype argument */ +#define MPI_ERR_TAG 4 /* Invalid tag argument */ +#define MPI_ERR_COMM 5 /* Invalid communicator */ +#define MPI_ERR_RANK 6 /* Invalid rank */ +#define MPI_ERR_ROOT 7 /* Invalid root */ +#define MPI_ERR_TRUNCATE 14 /* Message truncated on receive */ + +/* MPI Objects (other than COMM) */ +#define MPI_ERR_GROUP 8 /* Invalid group */ +#define MPI_ERR_OP 9 /* Invalid operation */ +#define MPI_ERR_REQUEST 19 /* Invalid mpi_request handle */ + +/* Special topology argument parameters */ +#define MPI_ERR_TOPOLOGY 10 /* Invalid topology */ +#define MPI_ERR_DIMS 11 /* Invalid dimension argument */ + +/* All other arguments. This is a class with many kinds */ +#define MPI_ERR_ARG 12 /* Invalid argument */ + +/* Other errors that are not simply an invalid argument */ +#define MPI_ERR_OTHER 15 /* Other error; use Error_string */ + +#define MPI_ERR_UNKNOWN 13 /* Unknown error */ +#define MPI_ERR_INTERN 16 /* Internal error code */ + +/* Multiple completion has three special error classes */ +#define MPI_ERR_IN_STATUS 17 /* Look in status for error value */ +#define MPI_ERR_PENDING 18 /* Pending request */ + +/* New MPI-2 Error classes */ +#define MPI_ERR_ACCESS 20 /* */ +#define MPI_ERR_AMODE 21 /* */ +#define MPI_ERR_BAD_FILE 22 /* */ +#define MPI_ERR_CONVERSION 23 /* */ +#define MPI_ERR_DUP_DATAREP 24 /* */ +#define MPI_ERR_FILE_EXISTS 25 /* */ +#define MPI_ERR_FILE_IN_USE 26 /* */ +#define MPI_ERR_FILE 27 /* */ +#define MPI_ERR_IO 32 /* */ +#define MPI_ERR_NO_SPACE 36 /* */ +#define MPI_ERR_NO_SUCH_FILE 37 /* */ +#define MPI_ERR_READ_ONLY 40 /* */ +#define MPI_ERR_UNSUPPORTED_DATAREP 43 /* */ + +/* MPI_ERR_INFO is NOT defined in the MPI-2 standard. I believe that + this is an oversight */ +#define MPI_ERR_INFO 28 /* */ +#define MPI_ERR_INFO_KEY 29 /* */ +#define MPI_ERR_INFO_VALUE 30 /* */ +#define MPI_ERR_INFO_NOKEY 31 /* */ + +#define MPI_ERR_NAME 33 /* */ +#define MPI_ERR_NO_MEM 34 /* Alloc_mem could not allocate memory */ +#define MPI_ERR_NOT_SAME 35 /* */ +#define MPI_ERR_PORT 38 /* */ +#define MPI_ERR_QUOTA 39 /* */ +#define MPI_ERR_SERVICE 41 /* */ +#define MPI_ERR_SPAWN 42 /* */ +#define MPI_ERR_UNSUPPORTED_OPERATION 44 /* */ +#define MPI_ERR_WIN 45 /* */ + +#define MPI_ERR_BASE 46 /* */ +#define MPI_ERR_LOCKTYPE 47 /* */ +#define MPI_ERR_KEYVAL 48 /* Erroneous attribute key */ +#define MPI_ERR_RMA_CONFLICT 49 /* */ +#define MPI_ERR_RMA_SYNC 50 /* */ +#define MPI_ERR_SIZE 51 /* */ +#define MPI_ERR_DISP 52 /* */ +#define MPI_ERR_ASSERT 53 /* */ + +#define MPI_ERR_RMA_RANGE 55 /* */ +#define MPI_ERR_RMA_ATTACH 56 /* */ +#define MPI_ERR_RMA_SHARED 57 /* */ +#define MPI_ERR_RMA_FLAVOR 58 /* */ + +/* Return codes for functions in the MPI Tool Information Interface */ +#define MPI_T_ERR_MEMORY 59 /* Out of memory */ +#define MPI_T_ERR_NOT_INITIALIZED 60 /* Interface not initialized */ +#define MPI_T_ERR_CANNOT_INIT 61 /* Interface not in the state to + be initialized */ +#define MPI_T_ERR_INVALID_INDEX 62 /* The index is invalid or + has been deleted */ +#define MPI_T_ERR_INVALID_ITEM 63 /* Item index queried is out of range */ +#define MPI_T_ERR_INVALID_HANDLE 64 /* The handle is invalid */ +#define MPI_T_ERR_OUT_OF_HANDLES 65 /* No more handles available */ +#define MPI_T_ERR_OUT_OF_SESSIONS 66 /* No more sessions available */ +#define MPI_T_ERR_INVALID_SESSION 67 /* Session argument is not valid */ +#define MPI_T_ERR_CVAR_SET_NOT_NOW 68 /* Cvar can't be set at this moment */ +#define MPI_T_ERR_CVAR_SET_NEVER 69 /* Cvar can't be set until + end of execution */ +#define MPI_T_ERR_PVAR_NO_STARTSTOP 70 /* Pvar can't be started or stopped */ +#define MPI_T_ERR_PVAR_NO_WRITE 71 /* Pvar can't be written or reset */ +#define MPI_T_ERR_PVAR_NO_ATOMIC 72 /* Pvar can't be R/W atomically */ +#define MPI_T_ERR_INVALID_NAME 73 /* Name doesn't match */ +#define MPI_T_ERR_INVALID 74 /* Generic error code for MPI_T added in MPI-3.1 */ + + +#define MPI_ERR_LASTCODE 0x3fffffff /* Last valid error code for a + predefined error class */ +#define MPICH_ERR_LAST_CLASS 74 /* It is also helpful to know the + last valid class */ + +#define MPICH_ERR_FIRST_MPIX 100 /* Define a gap here because sock is + * already using some of the values in this + * range. All MPIX error codes will be + * above this value to be ABI complaint. */ + +#define MPIX_ERR_PROC_FAILED MPICH_ERR_FIRST_MPIX+1 /* Process failure */ +#define MPIX_ERR_PROC_FAILED_PENDING MPICH_ERR_FIRST_MPIX+2 /* A failure has caused this request + * to be pending */ +#define MPIX_ERR_REVOKED MPICH_ERR_FIRST_MPIX+3 /* The communciation object has been revoked */ +#define MPIX_ERR_EAGAIN MPICH_ERR_FIRST_MPIX+4 /* Operation could not be issued */ +#define MPIX_ERR_NOREQ MPICH_ERR_FIRST_MPIX+5 /* Cannot allocate request */ + +#define MPICH_ERR_LAST_MPIX MPICH_ERR_FIRST_MPIX+5 + + +/* End of MPI's error classes */ + +/* Function type defs */ +typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, int, + void *, MPI_Offset, void *); +typedef int (MPI_Datarep_extent_function)(MPI_Datatype datatype, MPI_Aint *, + void *); +#define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function *)0) + +/* + For systems that may need to add additional definitions to support + different declaration styles and options (e.g., different calling + conventions or DLL import/export controls). +*/ +/* --Insert Additional Definitions Here-- */ + +/* + * Normally, we provide prototypes for all MPI routines. In a few weird + * cases, we need to suppress the prototypes. + */ +#ifndef MPICH_SUPPRESS_PROTOTYPES +/* We require that the C compiler support prototypes */ +/* Begin Prototypes */ +int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Buffer_attach(void *buffer, int size) MPICH_API_PUBLIC; +int MPI_Buffer_detach(void *buffer_addr, int *size) MPICH_API_PUBLIC; +int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Wait(MPI_Request *request, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Request_free(MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Testany(int count, MPI_Request array_of_requests[], int *indx, int *flag, + MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Waitsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Cancel(MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Test_cancelled(const MPI_Status *status, int *flag) MPICH_API_PUBLIC; +int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Start(MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Startall(int count, MPI_Request array_of_requests[]) MPICH_API_PUBLIC; +int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, + int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int source, int recvtag, MPI_Comm comm, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(6,8) MPICH_API_PUBLIC; +int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, + int sendtag, int source, int recvtag, MPI_Comm comm, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_indexed(int count, const int *array_of_blocklengths, + const int *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_hindexed(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_struct(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, + MPI_Datatype *array_of_types, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Address(void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent) MPICH_API_PUBLIC; +int MPI_Type_size(MPI_Datatype datatype, int *size) MPICH_API_PUBLIC; +int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int MPI_Type_commit(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int MPI_Type_free(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int MPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, + int outsize, int *position, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Unpack(const void *inbuf, int insize, int *position, void *outbuf, int outcount, + MPI_Datatype datatype, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int MPI_Barrier(MPI_Comm comm) MPICH_API_PUBLIC; +int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, int root, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Alltoallv(const void *sendbuf, const int *sendcounts, const int *sdispls, + MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, + const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) MPICH_API_PUBLIC; +int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op) MPICH_API_PUBLIC; +int MPI_Op_free(MPI_Op *op) MPICH_API_PUBLIC; +int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Group_size(MPI_Group group, int *size) MPICH_API_PUBLIC; +int MPI_Group_rank(MPI_Group group, int *rank) MPICH_API_PUBLIC; +int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], MPI_Group group2, + int ranks2[]) MPICH_API_PUBLIC; +int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) MPICH_API_PUBLIC; +int MPI_Comm_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int MPI_Group_free(MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Comm_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int MPI_Comm_rank(MPI_Comm comm, int *rank) MPICH_API_PUBLIC; +int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result) MPICH_API_PUBLIC; +int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_free(MPI_Comm *comm) MPICH_API_PUBLIC; +int MPI_Comm_test_inter(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; +int MPI_Comm_remote_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, + int remote_leader, int tag, MPI_Comm *newintercomm) MPICH_API_PUBLIC; +int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm *newintracomm) MPICH_API_PUBLIC; +int MPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) MPICH_API_PUBLIC; +int MPI_Keyval_free(int *keyval) MPICH_API_PUBLIC; +int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Attr_delete(MPI_Comm comm, int keyval) MPICH_API_PUBLIC; +int MPI_Topo_test(MPI_Comm comm, int *status) MPICH_API_PUBLIC; +int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], + int reorder, MPI_Comm *comm_cart) MPICH_API_PUBLIC; +int MPI_Dims_create(int nnodes, int ndims, int dims[]) MPICH_API_PUBLIC; +int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], const int edges[], + int reorder, MPI_Comm *comm_graph) MPICH_API_PUBLIC; +int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges) MPICH_API_PUBLIC; +int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]) MPICH_API_PUBLIC; +int MPI_Cartdim_get(MPI_Comm comm, int *ndims) MPICH_API_PUBLIC; +int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[]) MPICH_API_PUBLIC; +int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank) MPICH_API_PUBLIC; +int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]) MPICH_API_PUBLIC; +int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors) MPICH_API_PUBLIC; +int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]) MPICH_API_PUBLIC; +int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest) MPICH_API_PUBLIC; +int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank) MPICH_API_PUBLIC; +int MPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank) MPICH_API_PUBLIC; +int MPI_Get_processor_name(char *name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Get_version(int *version, int *subversion) MPICH_API_PUBLIC; +int MPI_Get_library_version(char *version, int *resultlen) MPICH_API_PUBLIC; +int MPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Errhandler_free(MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Error_string(int errorcode, char *string, int *resultlen) MPICH_API_PUBLIC; +int MPI_Error_class(int errorcode, int *errorclass) MPICH_API_PUBLIC; +double MPI_Wtime(void) MPICH_API_PUBLIC; +double MPI_Wtick(void) MPICH_API_PUBLIC; +int MPI_Init(int *argc, char ***argv) MPICH_API_PUBLIC; +int MPI_Finalize(void) MPICH_API_PUBLIC; +int MPI_Initialized(int *flag) MPICH_API_PUBLIC; +int MPI_Abort(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; + +/* Note that we may need to define a @PCONTROL_LIST@ depending on whether + stdargs are supported */ +int MPI_Pcontrol(const int level, ...) MPICH_API_PUBLIC; +int MPI_DUP_FN(MPI_Comm oldcomm, int keyval, void *extra_state, void *attribute_val_in, + void *attribute_val_out, int *flag) MPICH_API_PUBLIC; + +/* Process Creation and Management */ +int MPI_Close_port(const char *port_name) MPICH_API_PUBLIC; +int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPI_Comm_disconnect(MPI_Comm *comm) MPICH_API_PUBLIC; +int MPI_Comm_get_parent(MPI_Comm *parent) MPICH_API_PUBLIC; +int MPI_Comm_join(int fd, MPI_Comm *intercomm) MPICH_API_PUBLIC; +int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int MPI_Open_port(MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int MPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info) MPICH_API_PUBLIC; +int MPI_Comm_get_info(MPI_Comm comm, MPI_Info *info) MPICH_API_PUBLIC; + +/* One-Sided Communications */ +int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Win_complete(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_fence(int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_free(MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_get_group(MPI_Win win, MPI_Group *group) MPICH_API_PUBLIC; +int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_post(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_start(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_test(MPI_Win win, int *flag) MPICH_API_PUBLIC; +int MPI_Win_unlock(int rank, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_wait(MPI_Win win) MPICH_API_PUBLIC; + +/* MPI-3 One-Sided Communication Routines */ +int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, + MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + void *baseptr, MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr) MPICH_API_PUBLIC; +int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win) MPICH_API_PUBLIC; +int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size) MPICH_API_PUBLIC; +int MPI_Win_detach(MPI_Win win, const void *base) MPICH_API_PUBLIC; +int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used) MPICH_API_PUBLIC; +int MPI_Win_set_info(MPI_Win win, MPI_Info info) MPICH_API_PUBLIC; +int MPI_Get_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, + MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, + MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,4) MPICH_API_PUBLIC; +int MPI_Rput(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rget(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Raccumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Rget_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Win_lock_all(int assert, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_unlock_all(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush(int rank, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush_all(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush_local(int rank, MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_flush_local_all(MPI_Win win) MPICH_API_PUBLIC; +int MPI_Win_sync(MPI_Win win) MPICH_API_PUBLIC; + +/* External Interfaces */ +int MPI_Add_error_class(int *errorclass) MPICH_API_PUBLIC; +int MPI_Add_error_code(int errorclass, int *errorcode) MPICH_API_PUBLIC; +int MPI_Add_error_string(int errorcode, const char *string) MPICH_API_PUBLIC; +int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; +int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, + void *extra_state) MPICH_API_PUBLIC; +int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval) MPICH_API_PUBLIC; +int MPI_Comm_free_keyval(int *comm_keyval) MPICH_API_PUBLIC; +int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name) MPICH_API_PUBLIC; +int MPI_File_call_errhandler(MPI_File fh, int errorcode) MPICH_API_PUBLIC; +int MPI_Grequest_complete(MPI_Request request) MPICH_API_PUBLIC; +int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Init_thread(int *argc, char ***argv, int required, int *provided) MPICH_API_PUBLIC; +int MPI_Is_thread_main(int *flag) MPICH_API_PUBLIC; +int MPI_Query_thread(int *provided) MPICH_API_PUBLIC; +int MPI_Status_set_cancelled(MPI_Status *status, int flag) MPICH_API_PUBLIC; +int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count) MPICH_API_PUBLIC; +int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state) MPICH_API_PUBLIC; +int MPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval) MPICH_API_PUBLIC; +int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_free_keyval(int *type_keyval) MPICH_API_PUBLIC; +int MPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, + int max_datatypes, int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) MPICH_API_PUBLIC; +int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, + int *num_datatypes, int *combiner) MPICH_API_PUBLIC; +int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name) MPICH_API_PUBLIC; +int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *datatype) MPICH_API_PUBLIC; +int MPI_Win_call_errhandler(MPI_Win win, int errorcode) MPICH_API_PUBLIC; +int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, + void *extra_state) MPICH_API_PUBLIC; +int MPI_Win_delete_attr(MPI_Win win, int win_keyval) MPICH_API_PUBLIC; +int MPI_Win_free_keyval(int *win_keyval) MPICH_API_PUBLIC; +int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen) MPICH_API_PUBLIC; +int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val) MPICH_API_PUBLIC; +int MPI_Win_set_name(MPI_Win win, const char *win_name) MPICH_API_PUBLIC; + +int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) MPICH_API_PUBLIC; +int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *comm_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int MPI_File_create_errhandler(MPI_File_errhandler_function *file_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int MPI_Finalized(int *flag) MPICH_API_PUBLIC; +int MPI_Free_mem(void *base) MPICH_API_PUBLIC; +int MPI_Get_address(const void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int MPI_Info_create(MPI_Info *info) MPICH_API_PUBLIC; +int MPI_Info_delete(MPI_Info info, const char *key) MPICH_API_PUBLIC; +int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo) MPICH_API_PUBLIC; +int MPI_Info_free(MPI_Info *info) MPICH_API_PUBLIC; +int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) MPICH_API_PUBLIC; +int MPI_Info_get_nkeys(MPI_Info info, int *nkeys) MPICH_API_PUBLIC; +int MPI_Info_get_nthkey(MPI_Info info, int n, char *key) MPICH_API_PUBLIC; +int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) MPICH_API_PUBLIC; +int MPI_Info_set(MPI_Info info, const char *key, const char *value) MPICH_API_PUBLIC; +int MPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, + MPI_Aint *size) MPICH_API_PUBLIC; +int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status) MPICH_API_PUBLIC; +int MPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status) MPICH_API_PUBLIC; +int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], + const int array_of_distribs[], const int array_of_dargs[], + const int array_of_psizes[], int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_struct(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], + const int array_of_subsizes[], const int array_of_starts[], + int order, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent) MPICH_API_PUBLIC; +int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent) MPICH_API_PUBLIC; +int MPI_Unpack_external(const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int MPI_Win_create_errhandler(MPI_Win_errhandler_function *win_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler) MPICH_API_PUBLIC; + +/* Fortran 90-related functions. These routines are available only if + Fortran 90 support is enabled +*/ +int MPI_Type_create_f90_integer(int range, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_f90_real(int precision, int range, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int MPI_Type_create_f90_complex(int precision, int range, MPI_Datatype *newtype) MPICH_API_PUBLIC; + +int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, + MPI_Op op) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Op_commutative(MPI_Op op, int *commute) MPICH_API_PUBLIC; +int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, int indegree, const int sources[], + const int sourceweights[], int outdegree, + const int destinations[], const int destweights[], + MPI_Info info, int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], const int degrees[], + const int destinations[], const int weights[], MPI_Info info, + int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted) MPICH_API_PUBLIC; +int MPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, int sources[], int sourceweights[], + int maxoutdegree, int destinations[], int destweights[]) MPICH_API_PUBLIC; + +/* Matched probe functionality */ +int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, + MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message *message, MPI_Status *status) MPICH_API_PUBLIC; +int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; + +/* Nonblocking collectives */ +int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; + +/* Neighborhood collectives */ +int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], + const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], + const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) MPICH_API_PUBLIC; + +/* Shared memory */ +int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* MPI-3 "large count" routines */ +int MPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count) MPICH_API_PUBLIC; +int MPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, MPI_Count count) MPICH_API_PUBLIC; +int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size) MPICH_API_PUBLIC; + +/* Noncollective communicator creation */ +int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* MPI_Aint addressing arithmetic */ +MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp) MPICH_API_PUBLIC; +MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2) MPICH_API_PUBLIC; + +/* MPI_T interface */ +/* The MPI_T routines are available only in C bindings - tell tools that they + can skip these prototypes */ +/* Begin Skip Prototypes */ +int MPI_T_init_thread(int required, int *provided) MPICH_API_PUBLIC; +int MPI_T_finalize(void) MPICH_API_PUBLIC; +int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len) MPICH_API_PUBLIC; +int MPI_T_enum_get_item(MPI_T_enum enumtype, int indx, int *value, char *name, int *name_len) MPICH_API_PUBLIC; +int MPI_T_cvar_get_num(int *num_cvar) MPICH_API_PUBLIC; +int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosity, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *scope) MPICH_API_PUBLIC; +int MPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle *handle, + int *count) MPICH_API_PUBLIC; +int MPI_T_cvar_handle_free(MPI_T_cvar_handle *handle) MPICH_API_PUBLIC; +int MPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf) MPICH_API_PUBLIC; +int MPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int MPI_T_pvar_get_num(int *num_pvar) MPICH_API_PUBLIC; +int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, int *var_class, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *readonly, int *continuous, int *atomic) MPICH_API_PUBLIC; +int MPI_T_pvar_session_create(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int MPI_T_pvar_session_free(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, void *obj_handle, + MPI_T_pvar_handle *handle, int *count) MPICH_API_PUBLIC; +int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle) MPICH_API_PUBLIC; +int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int MPI_T_category_get_num(int *num_cat) MPICH_API_PUBLIC; +int MPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, int *desc_len, + int *num_cvars, int *num_pvars, int *num_categories) MPICH_API_PUBLIC; +int MPI_T_category_get_cvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int MPI_T_category_get_pvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int MPI_T_category_get_categories(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int MPI_T_category_changed(int *stamp) MPICH_API_PUBLIC; +int MPI_T_cvar_get_index(const char *name, int *cvar_index) MPICH_API_PUBLIC; +int MPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index) MPICH_API_PUBLIC; +int MPI_T_category_get_index(const char *name, int *cat_index) MPICH_API_PUBLIC; +/* End Skip Prototypes */ + + +/* Non-standard but public extensions to MPI */ +/* Fault Tolerance Extensions */ +int MPIX_Comm_failure_ack(MPI_Comm comm) MPICH_API_PUBLIC; +int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group *failedgrp) MPICH_API_PUBLIC; +int MPIX_Comm_revoke(MPI_Comm comm) MPICH_API_PUBLIC; +int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int MPIX_Comm_agree(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; + + +/* End Prototypes */ +#endif /* MPICH_SUPPRESS_PROTOTYPES */ + + +/* Here are the bindings of the profiling routines */ +#if !defined(MPI_BUILD_PROFILING) +int PMPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int PMPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Buffer_attach(void *buffer, int size) MPICH_API_PUBLIC; +int PMPI_Buffer_detach(void *buffer_addr, int *size) MPICH_API_PUBLIC; +int PMPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Wait(MPI_Request *request, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Request_free(MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Testany(int count, MPI_Request array_of_requests[], int *indx, int *flag, + MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Waitsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) MPICH_API_PUBLIC; +int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Cancel(MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Test_cancelled(const MPI_Status *status, int *flag) MPICH_API_PUBLIC; +int PMPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Start(MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Startall(int count, MPI_Request array_of_requests[]) MPICH_API_PUBLIC; +int PMPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, + int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int source, int recvtag, MPI_Comm comm, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(6,8) MPICH_API_PUBLIC; +int PMPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, + int sendtag, int source, int recvtag, MPI_Comm comm, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_indexed(int count, const int *array_of_blocklengths, + const int *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_hindexed(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_struct(int count, int *array_of_blocklengths, + MPI_Aint *array_of_displacements, + MPI_Datatype *array_of_types, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Address(void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int PMPI_Type_extent(MPI_Datatype datatype, MPI_Aint *extent) MPICH_API_PUBLIC; +int PMPI_Type_size(MPI_Datatype datatype, int *size) MPICH_API_PUBLIC; +int PMPI_Type_lb(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int PMPI_Type_ub(MPI_Datatype datatype, MPI_Aint *displacement) MPICH_API_PUBLIC; +int PMPI_Type_commit(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int PMPI_Type_free(MPI_Datatype *datatype) MPICH_API_PUBLIC; +int PMPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count) MPICH_API_PUBLIC; +int PMPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, + int outsize, int *position, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Unpack(const void *inbuf, int insize, int *position, void *outbuf, int outcount, + MPI_Datatype datatype, MPI_Comm comm) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int PMPI_Barrier(MPI_Comm comm) MPICH_API_PUBLIC; +int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, int root, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *displs, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Alltoallv(const void *sendbuf, const int *sendcounts, const int *sdispls, + MPI_Datatype sendtype, void *recvbuf, const int *recvcounts, + const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) MPICH_API_PUBLIC; +int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Op_create(MPI_User_function *user_fn, int commute, MPI_Op *op) MPICH_API_PUBLIC; +int PMPI_Op_free(MPI_Op *op) MPICH_API_PUBLIC; +int PMPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Group_size(MPI_Group group, int *size) MPICH_API_PUBLIC; +int PMPI_Group_rank(MPI_Group group, int *rank) MPICH_API_PUBLIC; +int PMPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], MPI_Group group2, + int ranks2[]) MPICH_API_PUBLIC; +int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) MPICH_API_PUBLIC; +int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup) MPICH_API_PUBLIC; +int PMPI_Group_free(MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Comm_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int PMPI_Comm_rank(MPI_Comm comm, int *rank) MPICH_API_PUBLIC; +int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result) MPICH_API_PUBLIC; +int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_free(MPI_Comm *comm) MPICH_API_PUBLIC; +int PMPI_Comm_test_inter(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; +int PMPI_Comm_remote_size(MPI_Comm comm, int *size) MPICH_API_PUBLIC; +int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, + int remote_leader, int tag, MPI_Comm *newintercomm) MPICH_API_PUBLIC; +int PMPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm *newintracomm) MPICH_API_PUBLIC; +int PMPI_Keyval_create(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) MPICH_API_PUBLIC; +int PMPI_Keyval_free(int *keyval) MPICH_API_PUBLIC; +int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Attr_delete(MPI_Comm comm, int keyval) MPICH_API_PUBLIC; +int PMPI_Topo_test(MPI_Comm comm, int *status) MPICH_API_PUBLIC; +int PMPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[], const int periods[], + int reorder, MPI_Comm *comm_cart) MPICH_API_PUBLIC; +int PMPI_Dims_create(int nnodes, int ndims, int dims[]) MPICH_API_PUBLIC; +int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], const int edges[], + int reorder, MPI_Comm *comm_graph) MPICH_API_PUBLIC; +int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges) MPICH_API_PUBLIC; +int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]) MPICH_API_PUBLIC; +int PMPI_Cartdim_get(MPI_Comm comm, int *ndims) MPICH_API_PUBLIC; +int PMPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[]) MPICH_API_PUBLIC; +int PMPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank) MPICH_API_PUBLIC; +int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]) MPICH_API_PUBLIC; +int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors) MPICH_API_PUBLIC; +int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]) MPICH_API_PUBLIC; +int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest) MPICH_API_PUBLIC; +int PMPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank) MPICH_API_PUBLIC; +int PMPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank) MPICH_API_PUBLIC; +int PMPI_Get_processor_name(char *name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Get_version(int *version, int *subversion) MPICH_API_PUBLIC; +int PMPI_Get_library_version(char *version, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Errhandler_create(MPI_Handler_function *function, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Errhandler_free(MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Error_string(int errorcode, char *string, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Error_class(int errorcode, int *errorclass) MPICH_API_PUBLIC; +double PMPI_Wtime(void) MPICH_API_PUBLIC; +double PMPI_Wtick(void) MPICH_API_PUBLIC; +int PMPI_Init(int *argc, char ***argv) MPICH_API_PUBLIC; +int PMPI_Finalize(void) MPICH_API_PUBLIC; +int PMPI_Initialized(int *flag) MPICH_API_PUBLIC; +int PMPI_Abort(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; + +/* Note that we may need to define a @PCONTROL_LIST@ depending on whether + stdargs are supported */ +int PMPI_Pcontrol(const int level, ...) MPICH_API_PUBLIC; + +/* Process Creation and Management */ +int PMPI_Close_port(const char *port_name) MPICH_API_PUBLIC; +int PMPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPI_Comm_disconnect(MPI_Comm *comm) MPICH_API_PUBLIC; +int PMPI_Comm_get_parent(MPI_Comm *parent) MPICH_API_PUBLIC; +int PMPI_Comm_join(int fd, MPI_Comm *intercomm) MPICH_API_PUBLIC; +int PMPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int PMPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, int array_of_errcodes[]) MPICH_API_PUBLIC; +int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int PMPI_Open_port(MPI_Info info, char *port_name) MPICH_API_PUBLIC; +int PMPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int PMPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name) MPICH_API_PUBLIC; +int PMPI_Comm_set_info(MPI_Comm comm, MPI_Info info) MPICH_API_PUBLIC; +int PMPI_Comm_get_info(MPI_Comm comm, MPI_Info *info) MPICH_API_PUBLIC; + +/* One-Sided Communications */ +int PMPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Get(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Win_complete(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_fence(int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_free(MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_get_group(MPI_Win win, MPI_Group *group) MPICH_API_PUBLIC; +int PMPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_test(MPI_Win win, int *flag) MPICH_API_PUBLIC; +int PMPI_Win_unlock(int rank, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_wait(MPI_Win win) MPICH_API_PUBLIC; + +/* MPI-3 One-Sided Communication Routines */ +int PMPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *baseptr, + MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + void *baseptr, MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr) MPICH_API_PUBLIC; +int PMPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win) MPICH_API_PUBLIC; +int PMPI_Win_attach(MPI_Win win, void *base, MPI_Aint size) MPICH_API_PUBLIC; +int PMPI_Win_detach(MPI_Win win, const void *base) MPICH_API_PUBLIC; +int PMPI_Win_get_info(MPI_Win win, MPI_Info *info_used) MPICH_API_PUBLIC; +int PMPI_Win_set_info(MPI_Win win, MPI_Info info) MPICH_API_PUBLIC; +int PMPI_Get_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Fetch_and_op(const void *origin_addr, void *result_addr, + MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, + MPI_Op op, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,4) MPICH_API_PUBLIC; +int PMPI_Rput(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rget(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Raccumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Rget_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Win_lock_all(int assert, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_unlock_all(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush(int rank, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush_all(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush_local(int rank, MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_flush_local_all(MPI_Win win) MPICH_API_PUBLIC; +int PMPI_Win_sync(MPI_Win win) MPICH_API_PUBLIC; + +/* External Interfaces */ +int PMPI_Add_error_class(int *errorclass) MPICH_API_PUBLIC; +int PMPI_Add_error_code(int errorclass, int *errorcode) MPICH_API_PUBLIC; +int PMPI_Add_error_string(int errorcode, const char *string) MPICH_API_PUBLIC; +int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode) MPICH_API_PUBLIC; +int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, int *comm_keyval, + void *extra_state) MPICH_API_PUBLIC; +int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval) MPICH_API_PUBLIC; +int PMPI_Comm_free_keyval(int *comm_keyval) MPICH_API_PUBLIC; +int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Comm_set_name(MPI_Comm comm, const char *comm_name) MPICH_API_PUBLIC; +int PMPI_File_call_errhandler(MPI_File fh, int errorcode) MPICH_API_PUBLIC; +int PMPI_Grequest_complete(MPI_Request request) MPICH_API_PUBLIC; +int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Init_thread(int *argc, char ***argv, int required, int *provided) MPICH_API_PUBLIC; +int PMPI_Is_thread_main(int *flag) MPICH_API_PUBLIC; +int PMPI_Query_thread(int *provided) MPICH_API_PUBLIC; +int PMPI_Status_set_cancelled(MPI_Status *status, int flag) MPICH_API_PUBLIC; +int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count) MPICH_API_PUBLIC; +int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state) MPICH_API_PUBLIC; +int PMPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval) MPICH_API_PUBLIC; +int PMPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_free_keyval(int *type_keyval) MPICH_API_PUBLIC; +int PMPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Type_get_contents(MPI_Datatype datatype, int max_integers, int max_addresses, + int max_datatypes, int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) MPICH_API_PUBLIC; +int PMPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, + int *num_datatypes, int *combiner) MPICH_API_PUBLIC; +int PMPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Type_set_name(MPI_Datatype datatype, const char *type_name) MPICH_API_PUBLIC; +int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *datatype) MPICH_API_PUBLIC; +int PMPI_Win_call_errhandler(MPI_Win win, int errorcode) MPICH_API_PUBLIC; +int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, int *win_keyval, + void *extra_state) MPICH_API_PUBLIC; +int PMPI_Win_delete_attr(MPI_Win win, int win_keyval) MPICH_API_PUBLIC; +int PMPI_Win_free_keyval(int *win_keyval) MPICH_API_PUBLIC; +int PMPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag) MPICH_API_PUBLIC; +int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen) MPICH_API_PUBLIC; +int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val) MPICH_API_PUBLIC; +int PMPI_Win_set_name(MPI_Win win, const char *win_name) MPICH_API_PUBLIC; + +int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) MPICH_API_PUBLIC; +int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_function *comm_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int PMPI_File_create_errhandler(MPI_File_errhandler_function *file_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) MPICH_API_PUBLIC; +int PMPI_Finalized(int *flag) MPICH_API_PUBLIC; +int PMPI_Free_mem(void *base) MPICH_API_PUBLIC; +int PMPI_Get_address(const void *location, MPI_Aint *address) MPICH_API_PUBLIC; +int PMPI_Info_create(MPI_Info *info) MPICH_API_PUBLIC; +int PMPI_Info_delete(MPI_Info info, const char *key) MPICH_API_PUBLIC; +int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo) MPICH_API_PUBLIC; +int PMPI_Info_free(MPI_Info *info) MPICH_API_PUBLIC; +int PMPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) MPICH_API_PUBLIC; +int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys) MPICH_API_PUBLIC; +int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key) MPICH_API_PUBLIC; +int PMPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) MPICH_API_PUBLIC; +int PMPI_Info_set(MPI_Info info, const char *key, const char *value) MPICH_API_PUBLIC; +int PMPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Pack_external_size(const char datarep[], int incount, MPI_Datatype datatype, + MPI_Aint *size) MPICH_API_PUBLIC; +int PMPI_Request_get_status(MPI_Request request, int *flag, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status) MPICH_API_PUBLIC; +int PMPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status) MPICH_API_PUBLIC; +int PMPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], + const int array_of_distribs[], const int array_of_dargs[], + const int array_of_psizes[], int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_indexed_block(int count, int blocklength, const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, + MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_struct(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_subarray(int ndims, const int array_of_sizes[], + const int array_of_subsizes[], const int array_of_starts[], + int order, MPI_Datatype oldtype, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent) MPICH_API_PUBLIC; +int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent) MPICH_API_PUBLIC; +int PMPI_Unpack_external(const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int PMPI_Win_create_errhandler(MPI_Win_errhandler_function *win_errhandler_fn, + MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler) MPICH_API_PUBLIC; +int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler) MPICH_API_PUBLIC; + +/* Fortran 90-related functions. These routines are available only if + Fortran 90 support is enabled +*/ +int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype) MPICH_API_PUBLIC; +int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype) MPICH_API_PUBLIC; + +int PMPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, + MPI_Op op) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Op_commutative(MPI_Op op, int *commute) MPICH_API_PUBLIC; +int PMPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Dist_graph_create_adjacent(MPI_Comm comm_old, int indegree, const int sources[], + const int sourceweights[], int outdegree, + const int destinations[], const int destweights[], + MPI_Info info, int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], const int degrees[], + const int destinations[], const int weights[], MPI_Info info, + int reorder, MPI_Comm *comm_dist_graph) MPICH_API_PUBLIC; +int PMPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted) MPICH_API_PUBLIC; +int PMPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, int sources[], int sourceweights[], + int maxoutdegree, int destinations[], int destweights[]) MPICH_API_PUBLIC; + +/* Matched probe functionality */ +int PMPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, + MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message *message, MPI_Status *status) MPICH_API_PUBLIC; +int PMPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; + +/* Nonblocking collectives */ +int PMPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, + MPI_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_API_PUBLIC; +int PMPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,7) MPICH_API_PUBLIC; +int PMPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; +int PMPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) MPICH_API_PUBLIC; + +/* Neighborhood collectives */ +int PMPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], + const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], + const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Request *request) MPICH_API_PUBLIC; +int PMPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,7) MPICH_API_PUBLIC; +int PMPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,3) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(4,6) MPICH_API_PUBLIC; +int PMPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(1,4) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(5,8) MPICH_API_PUBLIC; +int PMPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm) MPICH_API_PUBLIC; + +/* Shared memory */ +int PMPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* Noncollective communicator creation */ +int PMPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm) MPICH_API_PUBLIC; + +/* MPI-3 "large count" routines */ +int PMPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count) MPICH_API_PUBLIC; +int PMPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, MPI_Count count) MPICH_API_PUBLIC; +int PMPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *lb, MPI_Count *extent) MPICH_API_PUBLIC; +int PMPI_Type_size_x(MPI_Datatype datatype, MPI_Count *size) MPICH_API_PUBLIC; + +/* MPI_Aint addressing arithmetic */ +MPI_Aint PMPI_Aint_add(MPI_Aint base, MPI_Aint disp) MPICH_API_PUBLIC; +MPI_Aint PMPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2) MPICH_API_PUBLIC; + +/* MPI_T interface */ +/* The MPI_T routines are available only in C bindings - tell tools that they + can skip these prototypes */ +/* Begin Skip Prototypes */ +int PMPI_T_init_thread(int required, int *provided) MPICH_API_PUBLIC; +int PMPI_T_finalize(void) MPICH_API_PUBLIC; +int PMPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len) MPICH_API_PUBLIC; +int PMPI_T_enum_get_item(MPI_T_enum enumtype, int indx, int *value, char *name, int *name_len) MPICH_API_PUBLIC; +int PMPI_T_cvar_get_num(int *num_cvar) MPICH_API_PUBLIC; +int PMPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, int *verbosity, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *scope) MPICH_API_PUBLIC; +int PMPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle *handle, + int *count) MPICH_API_PUBLIC; +int PMPI_T_cvar_handle_free(MPI_T_cvar_handle *handle) MPICH_API_PUBLIC; +int PMPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf) MPICH_API_PUBLIC; +int PMPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int PMPI_T_pvar_get_num(int *num_pvar) MPICH_API_PUBLIC; +int PMPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, int *var_class, + MPI_Datatype *datatype, MPI_T_enum *enumtype, char *desc, int *desc_len, + int *binding, int *readonly, int *continuous, int *atomic) MPICH_API_PUBLIC; +int PMPI_T_pvar_session_create(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int PMPI_T_pvar_session_free(MPI_T_pvar_session *session) MPICH_API_PUBLIC; +int PMPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, void *obj_handle, + MPI_T_pvar_handle *handle, int *count) MPICH_API_PUBLIC; +int PMPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int PMPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf) MPICH_API_PUBLIC; +int PMPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle) MPICH_API_PUBLIC; +int PMPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) MPICH_API_PUBLIC; +int PMPI_T_category_get_num(int *num_cat) MPICH_API_PUBLIC; +int PMPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, int *desc_len, + int *num_cvars, int *num_pvars, int *num_categories) MPICH_API_PUBLIC; +int PMPI_T_category_get_cvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int PMPI_T_category_get_pvars(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int PMPI_T_category_get_categories(int cat_index, int len, int indices[]) MPICH_API_PUBLIC; +int PMPI_T_category_changed(int *stamp) MPICH_API_PUBLIC; +int PMPI_T_cvar_get_index(const char *name, int *cvar_index) MPICH_API_PUBLIC; +int PMPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index) MPICH_API_PUBLIC; +int PMPI_T_category_get_index(const char *name, int *cat_index) MPICH_API_PUBLIC; +/* End Skip Prototypes */ + + +/* Non-standard but public extensions to MPI */ +/* Fault Tolerance Extensions */ +int PMPIX_Comm_failure_ack(MPI_Comm comm) MPICH_API_PUBLIC; +int PMPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group *failedgrp) MPICH_API_PUBLIC; +int PMPIX_Comm_revoke(MPI_Comm comm) MPICH_API_PUBLIC; +int PMPIX_Comm_shrink(MPI_Comm comm, MPI_Comm *newcomm) MPICH_API_PUBLIC; +int PMPIX_Comm_agree(MPI_Comm comm, int *flag) MPICH_API_PUBLIC; + +#endif /* MPI_BUILD_PROFILING */ +/* End of MPI bindings */ + +/* feature advertisement */ +#define MPIIMPL_ADVERTISES_FEATURES 1 +#define MPIIMPL_HAVE_MPI_INFO 1 +#define MPIIMPL_HAVE_MPI_COMBINER_DARRAY 1 +#define MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY 1 +#define MPIIMPL_HAVE_MPI_COMBINER_SUBARRAY 1 +#define MPIIMPL_HAVE_MPI_TYPE_CREATE_DARRAY 1 +#define MPIIMPL_HAVE_MPI_COMBINER_DUP 1 +#define MPIIMPL_HAVE_MPI_GREQUEST 1 +#define MPIIMPL_HAVE_STATUS_SET_BYTES 1 +#define MPIIMPL_HAVE_STATUS_SET_INFO 1 + +#include "mpio.h" + +#if defined(__cplusplus) +} +/* Add the C++ bindings */ +/* + If MPICH_SKIP_MPICXX is defined, the mpicxx.h file will *not* be included. + This is necessary, for example, when building the C++ interfaces. It + can also be used when you want to use a C++ compiler to compile C code, + and do not want to load the C++ bindings. These definitions can + be made by the C++ compilation script + */ +#if !defined(MPICH_SKIP_MPICXX) +/* mpicxx.h contains the MPI C++ binding. In the mpi.h.in file, this + include is in an autoconf variable in case the compiler is a C++ + compiler but MPI was built without the C++ bindings */ + +#endif +#endif + + +/* Generalized requests extensions */ +typedef int MPIX_Grequest_class; +int MPIX_Grequest_class_create(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, + MPIX_Grequest_class *greq_class) MPICH_API_PUBLIC; +int MPIX_Grequest_class_allocate(MPIX_Grequest_class greq_class, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int MPIX_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; + +/* RMA Mutexes Extensions */ +struct mpixi_mutex_s; +typedef struct mpixi_mutex_s * MPIX_Mutex; +int MPIX_Mutex_create(int count, MPI_Comm comm, MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int MPIX_Mutex_free(MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int MPIX_Mutex_lock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; +int MPIX_Mutex_unlock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; + + +#if !defined(MPI_BUILD_PROFILING) +/* Generalized requests extensions */ +int PMPIX_Grequest_class_create(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, + MPIX_Grequest_class *greq_class) MPICH_API_PUBLIC; +int PMPIX_Grequest_class_allocate(MPIX_Grequest_class greq_class, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; +int PMPIX_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + MPIX_Grequest_poll_function *poll_fn, + MPIX_Grequest_wait_function *wait_fn, void *extra_state, + MPI_Request *request) MPICH_API_PUBLIC; + +/* RMA Mutexes Extensions */ +int PMPIX_Mutex_create(int count, MPI_Comm comm, MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int PMPIX_Mutex_free(MPIX_Mutex *hdl) MPICH_API_PUBLIC; +int PMPIX_Mutex_lock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; +int PMPIX_Mutex_unlock(MPIX_Mutex hdl, int mutex, int proc) MPICH_API_PUBLIC; +#endif /* MPI_BUILD_PROFILING */ + +#endif diff --git a/macx64/mpi/mpich/include/mpio.h b/macx64/mpi/mpich/include/mpio.h new file mode 100644 index 00000000..e057dd93 --- /dev/null +++ b/macx64/mpi/mpich/include/mpio.h @@ -0,0 +1,551 @@ +/* -*- Mode: C; c-basic-offset:4 ; -*- */ +/* + * + * Copyright (C) 1997 University of Chicago. + * See COPYRIGHT notice in top-level directory. + */ + +/* user include file for MPI-IO programs */ + +#ifndef MPIO_INCLUDE +#define MPIO_INCLUDE + +#include "mpi.h" + +#if defined(HAVE_VISIBILITY) +#define ROMIO_API_PUBLIC __attribute__((visibility ("default"))) +#else +#define ROMIO_API_PUBLIC +#endif + +#if defined(__cplusplus) +extern "C" { +#endif + +#define ROMIO_VERSION 126 /* version 1.2.6 */ + +/* define MPI-IO datatypes and constants */ + +#ifndef MPI_FILE_DEFINED +typedef struct ADIOI_FileD *MPI_File; +#endif + +/* *INDENT-OFF* */ +#define HAVE_MPI_GREQUEST 1 +/* *INDENT-ON* */ +#ifndef HAVE_MPI_GREQUEST +typedef struct ADIOI_RequestD *MPIO_Request; +#else +#define MPIO_Request MPI_Request +#define MPIO_USES_MPI_REQUEST +/* Also rename the MPIO routines to get the MPI versions */ +#define MPIO_Wait MPI_Wait +#define MPIO_Test MPI_Test +#define PMPIO_Wait PMPI_Wait +#define PMPIO_Test PMPI_Test +#endif +#define MPIO_REQUEST_DEFINED + +#ifndef HAVE_MPI_OFFSET +/* *INDENT-OFF* */ +typedef long long MPI_Offset; +/* *INDENT-ON* */ +/* If we needed to define MPI_Offset, then we also need to make + this definition. */ +#ifndef HAVE_MPI_DATAREP_FUNCTIONS +#define HAVE_MPI_DATAREP_FUNCTIONS +typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, int, + void *, MPI_Offset, void *); +typedef int (MPI_Datarep_extent_function)(MPI_Datatype datatype, MPI_Aint *, + void *); +#endif +#endif + +#ifndef NEEDS_MPI_FINT +/* *INDENT-OFF* */ + +/* *INDENT-ON* */ +#endif +#ifdef NEEDS_MPI_FINT +typedef int MPI_Fint; +#endif + +#ifndef HAVE_MPI_INFO +/* *INDENT-OFF* */ +#define HAVE_MPI_INFO +/* *INDENT-ON* */ +#endif +#ifndef HAVE_MPI_INFO + typedef struct MPIR_Info *MPI_Info; +# define MPI_INFO_NULL ((MPI_Info) 0) +# define MPI_MAX_INFO_KEY 255 +# define MPI_MAX_INFO_VAL 1024 +#endif + +#define MPI_MODE_RDONLY 2 /* ADIO_RDONLY */ +#define MPI_MODE_RDWR 8 /* ADIO_RDWR */ +#define MPI_MODE_WRONLY 4 /* ADIO_WRONLY */ +#define MPI_MODE_CREATE 1 /* ADIO_CREATE */ +#define MPI_MODE_EXCL 64 /* ADIO_EXCL */ +#define MPI_MODE_DELETE_ON_CLOSE 16 /* ADIO_DELETE_ON_CLOSE */ +#define MPI_MODE_UNIQUE_OPEN 32 /* ADIO_UNIQUE_OPEN */ +#define MPI_MODE_APPEND 128 /* ADIO_APPEND */ +#define MPI_MODE_SEQUENTIAL 256 /* ADIO_SEQUENTIAL */ + +#define MPI_DISPLACEMENT_CURRENT -54278278 + +#ifndef MPICH +/* FIXME: Make sure that we get a consistent definition of MPI_FILE_NULL + in MPICH */ +/* MPICH defines null object handles differently */ +#define MPI_FILE_NULL ((MPI_File) 0) +#endif +#define MPIO_REQUEST_NULL ((MPIO_Request) 0) + +#define MPI_SEEK_SET 600 +#define MPI_SEEK_CUR 602 +#define MPI_SEEK_END 604 + +/* Open MPI: don't define MPI_MAX_DATAREP_STRING here; it's defined in + OMPI's mpi.h. */ +#ifndef OPEN_MPI +#define MPI_MAX_DATAREP_STRING 128 +#endif + +#ifndef HAVE_MPI_DARRAY_SUBARRAY +/* *INDENT-OFF* */ +#define HAVE_MPI_DARRAY_SUBARRAY +/* *INDENT-ON* */ +#endif +#ifndef HAVE_MPI_DARRAY_SUBARRAY +# define MPI_ORDER_C 56 +# define MPI_ORDER_FORTRAN 57 +# define MPI_DISTRIBUTE_BLOCK 121 +# define MPI_DISTRIBUTE_CYCLIC 122 +# define MPI_DISTRIBUTE_NONE 123 +# define MPI_DISTRIBUTE_DFLT_DARG -49767 +#endif + + +/* MPI-IO function prototypes */ + +/* The compiler must support ANSI C style prototypes, otherwise + long long constants (e.g. 0) may get passed as ints. */ + +#ifndef HAVE_PRAGMA_HP_SEC_DEF + +/* Section 9.2 */ +/* Begin Prototypes */ +int MPI_File_open(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh) ROMIO_API_PUBLIC; +int MPI_File_close(MPI_File *fh) ROMIO_API_PUBLIC; +int MPI_File_delete(const char *filename, MPI_Info info) ROMIO_API_PUBLIC; +int MPI_File_set_size(MPI_File fh, MPI_Offset size) ROMIO_API_PUBLIC; +int MPI_File_preallocate(MPI_File fh, MPI_Offset size) ROMIO_API_PUBLIC; +int MPI_File_get_size(MPI_File fh, MPI_Offset *size) ROMIO_API_PUBLIC; +int MPI_File_get_group(MPI_File fh, MPI_Group *group) ROMIO_API_PUBLIC; +int MPI_File_get_amode(MPI_File fh, int *amode) ROMIO_API_PUBLIC; +int MPI_File_set_info(MPI_File fh, MPI_Info info) ROMIO_API_PUBLIC; +int MPI_File_get_info(MPI_File fh, MPI_Info *info_used) ROMIO_API_PUBLIC; + +/* Section 9.3 */ +int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, + const char *datarep, MPI_Info info) ROMIO_API_PUBLIC; +int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, + char *datarep) ROMIO_API_PUBLIC; + +/* Section 9.4.2 */ +int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void * buf, int count, + MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void * buf, int count, + MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ +int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPIO_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* Section 9.4.3 */ +int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ + +int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPIO_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iwrite(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence) ROMIO_API_PUBLIC; +int MPI_File_get_position(MPI_File fh, MPI_Offset *offset) ROMIO_API_PUBLIC; +int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp) ROMIO_API_PUBLIC; + +/* Section 9.4.4 */ +int MPI_File_read_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iread_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_ordered(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence) ROMIO_API_PUBLIC; +int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset) ROMIO_API_PUBLIC; + +/* Section 9.4.5 */ +int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC; +int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC; + +/* Section 9.5.1 */ +int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent) ROMIO_API_PUBLIC; + +/* Section 9.5.3 */ +int MPI_Register_datarep(const char *datarep, MPI_Datarep_conversion_function *read_conversion_fn, + MPI_Datarep_conversion_function *write_conversion_fn, + MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state) ROMIO_API_PUBLIC; + +/* Section 9.6.1 */ +int MPI_File_set_atomicity(MPI_File fh, int flag) ROMIO_API_PUBLIC; +int MPI_File_get_atomicity(MPI_File fh, int *flag) ROMIO_API_PUBLIC; +int MPI_File_sync(MPI_File fh) ROMIO_API_PUBLIC; + +/* Section 4.13.3 */ +#ifndef MPICH +/* MPICH provides these definitions */ +int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) ROMIO_API_PUBLIC; +int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler) ROMIO_API_PUBLIC; +#endif + +/* For MPI 3.1 */ +int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int MPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int MPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +/* End Prototypes */ + +#ifndef HAVE_MPI_DARRAY_SUBARRAY +/* Section 4.14.4 */ +int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[], + const int array_of_starts[], int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) ROMIO_API_PUBLIC; + +/* Section 4.14.5 */ +int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[], + const int array_of_distribs[], const int array_of_dargs[], + const int array_of_psizes, int order, MPI_Datatype oldtype, + MPI_Datatype *newtype) ROMIO_API_PUBLIC; +#endif + +/* The globus2 device has to rename MPI_ symbols in order to use the vendor + MPI as one of its transport mechanisms. Therefore, the following undefines + should only happen if MPICH_RENAMING_MPI_FUNCS is not defined. */ +/* Section 4.12.4 */ +#if !defined(MPICH_RENAMING_MPI_FUNCS) +#ifdef MPI_File_f2c +#undef MPI_File_f2c +#endif +#ifdef MPI_File_c2f +#undef MPI_File_c2f +#endif +#endif +/* above needed for some versions of mpi.h in MPICH!! */ +MPI_File MPI_File_f2c(MPI_Fint file) ROMIO_API_PUBLIC; +MPI_Fint MPI_File_c2f(MPI_File file) ROMIO_API_PUBLIC; + + +#ifndef HAVE_MPI_GREQUEST +/* The following functions are required if generalized requests are not + available, because in that case, an MPIO_Request object + is currently used for nonblocking I/O. */ +int MPIO_Test(MPIO_Request *request, int *flag, MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Wait(MPIO_Request *request, MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Testall(int count, MPIO_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; +int MPIO_Waitall(int count, MPIO_Request array_of_requests[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; +int MPIO_Testany(int count, MPIO_Request array_of_requests[], int *indx, int *flag, + MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Waitany(int count, MPIO_Request array_of_requests[], int *indx, MPI_Status *status) ROMIO_API_PUBLIC; +int MPIO_Waitsome(int incount, MPIO_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; +int MPIO_Testsome(int incount, MPIO_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC; + +MPI_Fint MPIO_Request_c2f(MPIO_Request request) ROMIO_API_PUBLIC; +MPIO_Request MPIO_Request_f2c(MPI_Fint request) ROMIO_API_PUBLIC; +#endif /* HAVE_MPI_GREQUEST */ + +/* info functions if not defined in the MPI implementation */ +#ifndef HAVE_MPI_INFO + +int MPI_Info_create(MPI_Info *info) ROMIO_API_PUBLIC; +int MPI_Info_set(MPI_Info info, const char *key, const char *value) ROMIO_API_PUBLIC; +int MPI_Info_delete(MPI_Info info, const char *key) ROMIO_API_PUBLIC; +int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) ROMIO_API_PUBLIC; +int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) ROMIO_API_PUBLIC; +int MPI_Info_get_nkeys(MPI_Info info, int *nkeys) ROMIO_API_PUBLIC; +int MPI_Info_get_nthkey(MPI_Info info, int n, char *key) ROMIO_API_PUBLIC; +int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo) ROMIO_API_PUBLIC; +int MPI_Info_free(MPI_Info *info) ROMIO_API_PUBLIC; + +/* The globus2 device has to rename MPI_ symbols in order to use the vendor + MPI as one of its transport mechanisms. Therefore, the following undefines + should only happen if MPICH_RENAMING_MPI_FUNCS is not defined. */ +#if !defined(MPICH_RENAMING_MPI_FUNCS) +#ifdef MPI_Info_f2c +#undef MPI_Info_f2c +#endif +#ifdef MPI_Info_c2f +#undef MPI_Info_c2f +#endif +#endif +/* above needed for some versions of mpi.h in MPICH!! */ +MPI_Fint MPI_Info_c2f(MPI_Info info) ROMIO_API_PUBLIC; +MPI_Info MPI_Info_f2c(MPI_Fint info) ROMIO_API_PUBLIC; +#endif + +#endif /* HAVE_PRAGMA_HP_SEC_DEF */ + + +/**************** BINDINGS FOR THE PROFILING INTERFACE ***************/ + + +/* Section 9.2 */ +int PMPI_File_open(MPI_Comm, const char *, int, MPI_Info, MPI_File *) ROMIO_API_PUBLIC; +int PMPI_File_close(MPI_File *) ROMIO_API_PUBLIC; +int PMPI_File_delete(const char *, MPI_Info) ROMIO_API_PUBLIC; +int PMPI_File_set_size(MPI_File, MPI_Offset) ROMIO_API_PUBLIC; +int PMPI_File_preallocate(MPI_File, MPI_Offset) ROMIO_API_PUBLIC; +int PMPI_File_get_size(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC; +int PMPI_File_get_group(MPI_File, MPI_Group *) ROMIO_API_PUBLIC; +int PMPI_File_get_amode(MPI_File, int *) ROMIO_API_PUBLIC; +int PMPI_File_set_info(MPI_File, MPI_Info) ROMIO_API_PUBLIC; +int PMPI_File_get_info(MPI_File, MPI_Info *) ROMIO_API_PUBLIC; + +/* Section 9.3 */ +int PMPI_File_set_view(MPI_File, MPI_Offset, + MPI_Datatype, MPI_Datatype, const char *, MPI_Info) ROMIO_API_PUBLIC; +int PMPI_File_get_view(MPI_File, MPI_Offset *, + MPI_Datatype *, MPI_Datatype *, char *) ROMIO_API_PUBLIC; + +/* Section 9.4.2 */ +int PMPI_File_read_at(MPI_File, MPI_Offset, void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_read_at_all(MPI_File, MPI_Offset, void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_write_at(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_write_at_all(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ + +int PMPI_File_iread_at(MPI_File, MPI_Offset, void *, + int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_at(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; + +/* Section 9.4.3 */ +int PMPI_File_read(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_all(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_all(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +/* nonblocking calls currently use MPIO_Request, because generalized + requests not yet implemented. For the same reason, MPIO_Test and + MPIO_Wait are used to test and wait on nonblocking I/O requests */ + +int PMPI_File_iread(MPI_File, void *, int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iwrite(MPI_File, const void *, int, MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +int PMPI_File_seek(MPI_File, MPI_Offset, int) ROMIO_API_PUBLIC; +int PMPI_File_get_position(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC; +int PMPI_File_get_byte_offset(MPI_File, MPI_Offset, MPI_Offset *) ROMIO_API_PUBLIC; + +/* Section 9.4.4 */ +int PMPI_File_read_shared(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_shared(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iread_shared(MPI_File, void *, int, + MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_shared(MPI_File, const void *, int, + MPI_Datatype, MPIO_Request *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_ordered(MPI_File, void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_ordered(MPI_File, const void *, int, MPI_Datatype, MPI_Status *) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_seek_shared(MPI_File, MPI_Offset, int) ROMIO_API_PUBLIC; +int PMPI_File_get_position_shared(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC; + +/* Section 9.4.5 */ +int PMPI_File_read_at_all_begin(MPI_File, MPI_Offset, void *, + int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_read_at_all_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_write_at_all_begin(MPI_File, MPI_Offset, const void *, + int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_write_at_all_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_read_all_begin(MPI_File, void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_all_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_write_all_begin(MPI_File, const void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_all_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_read_ordered_begin(MPI_File, void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_read_ordered_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPI_File_write_ordered_begin(MPI_File, const void *, int, MPI_Datatype) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_write_ordered_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC; + +/* Section 9.5.1 */ +int PMPI_File_get_type_extent(MPI_File, MPI_Datatype, MPI_Aint *) ROMIO_API_PUBLIC; + +/* Section 9.5.3 */ +int PMPI_Register_datarep(const char *, + MPI_Datarep_conversion_function *, + MPI_Datarep_conversion_function *, + MPI_Datarep_extent_function *, + void *) ROMIO_API_PUBLIC; + +/* Section 9.6.1 */ +int PMPI_File_set_atomicity(MPI_File, int) ROMIO_API_PUBLIC; +int PMPI_File_get_atomicity(MPI_File, int *) ROMIO_API_PUBLIC; +int PMPI_File_sync(MPI_File) ROMIO_API_PUBLIC; + +/* Section 4.13.3 */ +#ifndef MPICH +/* MPICH provides these definitions */ +int PMPI_File_set_errhandler( MPI_File, MPI_Errhandler ) ROMIO_API_PUBLIC; +int PMPI_File_get_errhandler( MPI_File, MPI_Errhandler * ) ROMIO_API_PUBLIC; +#endif + +/* For MPI 3.1 */ +int PMPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC; +int PMPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; +int PMPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype, + MPI_Request *request) + MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC; + +#ifndef HAVE_MPI_DARRAY_SUBARRAY +/* Section 4.14.4 */ +int PMPI_Type_create_subarray(int, int *, int *, int *, int, + MPI_Datatype, MPI_Datatype *) ROMIO_API_PUBLIC; + +/* Section 4.14.5 */ +int PMPI_Type_create_darray(int, int, int, int *, int *, + int *, int *, int, MPI_Datatype, MPI_Datatype *) ROMIO_API_PUBLIC; +#endif + +/* Section 4.12.4 */ +MPI_File PMPI_File_f2c(MPI_Fint) ROMIO_API_PUBLIC; +MPI_Fint PMPI_File_c2f(MPI_File) ROMIO_API_PUBLIC; + +#ifndef HAVE_MPI_GREQUEST +/* The following functions are required if generalized requests are not + available, because in that case, an MPIO_Request object + is currently used for nonblocking I/O. */ +int PMPIO_Test(MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Wait(MPIO_Request *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Testall(int, MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Waitall(int, MPIO_Request *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Testany(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Waitany(int, MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Waitsome(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC; +int PMPIO_Testsome(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC; +MPI_Fint PMPIO_Request_c2f(MPIO_Request) ROMIO_API_PUBLIC; +MPIO_Request PMPIO_Request_f2c(MPI_Fint) ROMIO_API_PUBLIC; +#endif /* HAVE_MPI_GREQUEST */ + +/* info functions if not defined in the MPI implementation */ +#ifndef HAVE_MPI_INFO + +int PMPI_Info_create(MPI_Info *) ROMIO_API_PUBLIC; +int PMPI_Info_set(MPI_Info, char *, char *) ROMIO_API_PUBLIC; +int PMPI_Info_delete(MPI_Info, char *) ROMIO_API_PUBLIC; +int PMPI_Info_get(MPI_Info, char *, int, char *, int *) ROMIO_API_PUBLIC; +int PMPI_Info_get_valuelen(MPI_Info, char *, int *, int *) ROMIO_API_PUBLIC; +int PMPI_Info_get_nkeys(MPI_Info, int *) ROMIO_API_PUBLIC; +int PMPI_Info_get_nthkey(MPI_Info, int, char *) ROMIO_API_PUBLIC; +int PMPI_Info_dup(MPI_Info, MPI_Info *) ROMIO_API_PUBLIC; +int PMPI_Info_free(MPI_Info *) ROMIO_API_PUBLIC; + +MPI_Fint PMPI_Info_c2f(MPI_Info) ROMIO_API_PUBLIC; +MPI_Info PMPI_Info_f2c(MPI_Fint) ROMIO_API_PUBLIC; +#endif + +#if defined(__cplusplus) +} +#endif + +#endif diff --git a/macx64/mpi/mpich/include/mpiof.h b/macx64/mpi/mpich/include/mpiof.h new file mode 100644 index 00000000..6d865d15 --- /dev/null +++ b/macx64/mpi/mpich/include/mpiof.h @@ -0,0 +1,46 @@ +! +! Copyright (C) 1997 University of Chicago. +! See COPYRIGHT notice in top-level directory. +! +! +! user include file for Fortran MPI-IO programs +! + INTEGER MPI_MODE_RDONLY, MPI_MODE_RDWR, MPI_MODE_WRONLY + INTEGER MPI_MODE_DELETE_ON_CLOSE, MPI_MODE_UNIQUE_OPEN + INTEGER MPI_MODE_CREATE, MPI_MODE_EXCL + INTEGER MPI_MODE_APPEND, MPI_MODE_SEQUENTIAL + PARAMETER (MPI_MODE_RDONLY=2, MPI_MODE_RDWR=8, MPI_MODE_WRONLY=4) + PARAMETER (MPI_MODE_CREATE=1, MPI_MODE_DELETE_ON_CLOSE=16) + PARAMETER (MPI_MODE_UNIQUE_OPEN=32, MPI_MODE_EXCL=64) + PARAMETER (MPI_MODE_APPEND=128, MPI_MODE_SEQUENTIAL=256) +! + INTEGER MPI_FILE_NULL + PARAMETER (MPI_FILE_NULL=0) +! + INTEGER MPI_MAX_DATAREP_STRING + PARAMETER (MPI_MAX_DATAREP_STRING=128) +! + INTEGER MPI_SEEK_SET, MPI_SEEK_CUR, MPI_SEEK_END + PARAMETER (MPI_SEEK_SET=600, MPI_SEEK_CUR=602, MPI_SEEK_END=604) +! + INTEGER MPIO_REQUEST_NULL + PARAMETER (MPIO_REQUEST_NULL=0) +! + integer*8 MPI_DISPLACEMENT_CURRENT + PARAMETER (MPI_DISPLACEMENT_CURRENT=-54278278) +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! +! diff --git a/macx64/mpi/mpich/lib/libmpi.12.dylib b/macx64/mpi/mpich/lib/libmpi.12.dylib new file mode 100755 index 0000000000000000000000000000000000000000..2e68290885fe0a6973c6a9d18563c6a295a66339 GIT binary patch literal 818468 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

&I@YAu2#z;7H{iEJV@MGxB`W52Y~(` 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%0AM&BAJ`jVW%cQH#d246|9 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

O+K{^dCP;fNo!!f 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 LkjZT$ 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

a+YX0Al#$%+_87mhFgqkS37Soz9Y+6 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

4c;eQeP|{L!)Y9LN;R$X* z5vVJlSQo}4W~8%^jMWRlCRmFS3d!4HR0VTiqjVn$&JSvd`EX^dnRnGAE^~q=XBIF~Vm~#u5VsDAT%7Q7BBI;i8r_rqKq_lPeV~ z`D(sML(FV>5H5Wr)8c3qg@v$s>Wz5XVcTD7Vu&U(5XxUhi%O}_{_v|!hos2lPNJJo zz{NR`t2@(^8>C!uf(IV7Wl@xt#;u-?HHeoYiZkvxbr99Nv1^@Kz` zWk(6#!?wyNcTMhzj@pXPkYjQ&ft!%58O8``tuaO|Yk#rfYAc;NX_V8qOZA$Y1h`vI zodvgp&u%IpPN(0a8GCcCC2+fwV{?K;X#52}#;!Cx)x96NNQPLknxn zP3vB{nuePi6Mxc1P^p$j`^+>5+pMMpnN7A5T&NSA=4Klb&rTj|ilZ=PbkbT;YUT$= zi=!2{#tEoyzMYQBs&Ji~aQSprG&o~qp@J{pkR=UkXwD)A=L@+vAl-+e)x4106t7L< zv_=OH|4b{_t!pNlhfX;CgQ;*%{$M7YQ#k4jWDag!$`wxJhKqjd#lwix&~;o~MQ%j- zArVcDTgt^tAN)HtKZ z!zn-P@x!jLZ<0wmOTJf!;e0Nj+DuB?G6NC(UZhKRQ|L_Sfig5aVvDC>XdZGVbr?qy zxwKHioEaDO(q){~W9Qpn3cqC*veZ7zyrXX&9?Hl6Jgj;L_svbAIw5zSPv!$me z)7{q686tHY>}}iE)*Yg@9y-v~*>)64Q}O2b3dO$REasUUl8m^l7jjE?-mw!$npmo7 z1QM_C<$Bs^m&jw-kqPa6>d*I~b3_U|U8Gyhg*QYuSJFj$N?xq2wA6tc&~S?^roZYM zPl#oD!s-58rLUYX$rP2X;ltjYEDo_8mASD`xGpf#M7u0L$1Uh*$}uL4c5MSylW~rB z2Bp_ANsk|+<}bxJD#M01P-SDlHFfqq#3=nsdid|5HYWU0)yhJXZoI`*g%hLbX*ryc zo$2lP$K5jNiH9QIm{Qx%!|#}CN;9A?%_Fl zsL_H}iisOo+AE`UWH);%#tsZCn8yg^B0PjCRU}tM34>O%%9ITzrlKUd=cW{ows6MF zIxJ2)o03RXPDbi_A1=^}2>KSzT9E$4sOGp1&JCLeEg~5nknvB9l+(<^O zOXeKX>pQKqQ5VM*hRH1O-Tq)pIC8VA$Xd?%I>P|bKJZ;W^3cGo0i(Lxvn*GO6R+m}jUE!-+oP(WIi!;OG_76*lnv4yya-Q?Wq*f>s z0fJ#a7af!@!Xtq zU>&aEBF}#cFE>)Eo)WJG^6cWYdZbN`e9NnEQA&C{?p#RV2rUVr^C;LM*TI763rC3W zNoS9cYw<_1j*!gl5P_slUx7t+dIKy}oI7DF!XUskAvhJ@fF6}25hNv?VnbBLu-xR! zF%3Ai73evQQlzbWwEEdtE9^PQBqL zzAH@muZtmshiPD!zLvk+Cca}oo(89*8ylka$s`rQc+|}TIAPqRC#k3FORI-wx=tf? zB2{3%x-*NnK#aUCg!5X=3wNE|epF>kI8u#!F45+uX|^ZVpQdgVd)u+Sauv$w73r(f zrE(Gb$FM?2NBKw>j?=|?TC-n;{wS`F0$yKq|A^STA6xqNW)2+g?CrpYJ)TJsT2EVd zM@whNEp2;UYWv}X2irP*T2IHpeF%HFfG6CFg9X}IlCBP6`KUiVoWp)*v@%=V4=Z(~ zrTZWP?MWXjvYsI^(v{It2?>);3X8nmhn^BN7r5nwBwvtQZKv~Wqx7^g>xc25wz@Qxh_TLZS zm`mBEwYEAQT8|!eTx~&-cO@vFbFx|yj zTD{LEpWcq%RsvT`I3l9gXHOWioJ?>9j3-3J1|_k?#oNNwYPQexuWsT4?io!pvY(Eo zHAqloXUHG|_vc6nU*Os_7C5mq#(u=Wf;+U?CRBFvBdBPPn`WXzyCju_=eu;Bpck7H zPNflgmDaSt>`>kI5hOf^ghjrQirJTx*B*2=s2$o0^=>`jNtt8bOJR1HB#k=K+ofho zIBngeCEQ3D#+@__1Wha@F*R*#`VMwjIh}ex&zy~w)D_efEsSrll%ANLY!SzXO6t{8 z2i#)g)mYjQs-lvzPPckG;FKG;B4XT0$z%rUx)0)3LtRwqOWAQ#lX15WN-FW3`lman zewxqieC2??}u1sK}rsDK(WHM`&_7GR8O~5~E`E26`Ky zK&G5Cmxz;faD4#MFwVrQD%OmOG`WzbOfa{G>CP%qJkRmuh|0-Vi8#y<6ad0aCWY~c ztceZ0Swy#T=^@#?Qc#-^6+00#l9yd~;&rROoY`^G$_`0j&G8(GN`_hA+cSK|N=oTI zky#T(F!DuD)UHG16sAs){zub`N3nlF!tpL(vmrf(rN46$i}`T@xY*QS+Aqp?pYYMP zNQj+8NIBX#H=L`QQFoxP(4m+3mnB1SfsQfmU=DNpw};c%#951;-roJh*We;29wN~h z?@YsVJETBA6htf!<@++CKxPF6 z!oBWL7ksQpNu18LfM>$uNE0{`B^kBTts;8lNT%>$$k^sr(WhmFCWI_Dter5U6OJO# z7VA(+<}!aBOMs>`LOQ@19849->6u+N`E;qMH`lo$QwV9qB?9i9BxtR4m$~TB8$23L zR1u6&ZE}>psB1Ii52x*@2@33uyq$)qV@a+cl1M=gk%04#^KV3yGur|?`E3#Y7%iP|ZN;@Bz4Nlr(!7^f?0GSZG@cV_$gMn^_z zH>_0aEtY`GD)NIk%3|&}RcLdl&tcuD>_)P54Jh;~mZ%}-E8y^eqUlxyv5V>ffvsB) zt?{e>?d2!$jwE1Cq&Z!Gkii^OEwvZs{qQhEr|}<@cr)c%ALkJ7wHlZWMH;h9Ldw25Xe}MgvBmN z0~?Qgy9SxFSC7V!t2%oV%GiM%U4KStQ#2{l?vNm`s1`9-H>Bw0l8jDPp+h(=m5i~{ z0LZb`c5xaZlSdqu8n&S1FGNXEM)Q(vJALyu!@NFrq_L+GEF zbuc%rgcBq8X*sOehG^yPbz^0i;OY=h(6t$v!4p5KMlYDGfVyuO-^V`fUd(V)A`4+oBC1O3(fgB=_7$@kWY$|lS?@|2g%m|^yN??H>8lb zp<-=(B`q+n?rEAQbwIf&g2Fuv`XqoM@~n& z7$;|TLNjkLR5`cnh$shn15>O)NV)^3#RygF0ntg-(-0HQe_FM45|^Bgq%qD!q^p#& zV}+fVeHh7Ltr4eP3%H0%#BBAcB5lZTJe3Y@Qhmo!P(O!O$MA-x0Buqnlf#UqCejCT zQsGwY4081+w?c0qJB&#|>}%qNs+=1sR%w>d5NL@uho=zARodvmE3_04O&f2Rv$*at zu~YU(Tijt$JklUC+qlt+P($LR6S2c?E{+M*8&0Az>ZTeK__7A96snQzNgP?}^CZ_k z995XW8tO@K%p#$sOKifFKd%b{qqxjqxSGezT|_O*2{y)%B|}l?feNd#ebLkSq30bf z(Rj1Oba4PP&I3g=107AX;Pc_cvm9*!x|_hiPC`?{^Bal-4#CKtxx)F=Y*uCS{iJIbyS&I^un>z>?N?<(%FZWPQhfOklAXJMbnr)#s zf>5o}_DF+r&DM{GMFP+a1BD2p2vN8NK|(&!<3I?>GXMiF)Tf%Rr$mUARqqI-4aW=1OnksX=f ztQms@B}qA>WCaz$!z7)ZA$7xF)|W$?j)2v$GL#>v@^z7!N^!J|<67hqt0Nd!_2<#M za^6MYMAHEr9hhLWAOlI*MsV$oDM(}>a3YCN1YktN#lcgG5adLLcFU0l*Rbs{rVR+2 z$+U|XuyLV|tDJqoRVz}|CF&Sp=BF&bDXc|-H`UiRQ zHl)X^U!@@_!PwGREf!ITc^$)XaaBOYlKO`H2p%CO7BV`HhU3;kSa&$X$RPI7H*w1o znJ9boG}1u>1Ga7xl`cT8PK8{4a0nNU;a)w9xpJI_Y9das)?uZ*T4x_8iYC!E^xR2Z z->^?46y*_eXPEY#hMYQ^LF8bC99`F8&=9X!7%7s?7AOwwCm7aPY>NcnTF z)AbhQy-4mRyC#{`)!D{rY>j|zl`In5WVK1!2rbKr(a<n#;K&%q-YU2WG`|qxAoTsA1p-oXhLCoW<3zHbh^7b38l{MpjcHjihQVx}S!+7TA~s)HQ;xAEL=<>kFwsj5SB~3j2&CNXUaO z*NOI6jLm3C)=?JPp*bQY>1gL+G*Z}WE4of1`T1`;Zd7siVlYt64Hj`7 zU>}}O8RUsL*cR#y%(gz!)nKNIzCSwp`pZZnES!v(UNh*iqGh5C>V}52L5pU>=TX)Y z(!~EN6rvtH(vrFoI_IoZr+776R3s5k!#7QSyrw6z=y@fnBz=(eqlzf36iXAY53$x& zg?9-gsEMr0#!Abw)a0-l(i7G-i_|YMrdSvqNiuuzIb;rgsSLzh7D*JV8W=UoQz>aH z;}6!dGA&K43e1XF8KmbjmzagQAJlaLD51*0^%LZWORZ&QzOk7Ql&wjW9_M?;(m;x8 z;F*~d$T2aZ>ZiMCg%WQ7Cndl8Q7ECEz6!3F+8j5FOhe>oMW>~bR!Xj@u*D-RPAx_# zUoesO#P9s3ZUD(gAG75|r@UMgLhQKgVevdwh!QOsW92+<08YxT_-m|)G>)X47QvI1 zNuIDd6qiKnDDQ(TGEuy=4+zwt*h1iijHhbVYAA?NO%fRrh=~ufg0O@UT?zA(12LkL zXeOh)@T`iM7x2(E?ljyk7f&Uj74^{ZsH1lmdaor|;f;@wph@-ZS<1*I^Sv2ro)fil z?}KavMDbf<&yP((kLp(Qu5E{KX#s3dDm4jIJ?{6QBh@5CimKw4VmA<3wC=hx)oc2a zlHdKP%_v-RLbu;bTR_4I#n;UZTbsj~<&@#5#z{5TZYta6nuuDFSQS_{Q#XYp(01tN zVN%UEOJbYvKnLe(Ana&@YTU;AnguO($N-6fXE-o5os{+2FS6+cVDcAZNSMD&tiV?Au}Bh=03qRvGEL*wjfss3xCRN22?C-o zt1~7DtiVo$()^Ov9pYua*8|AWL*uwTerAe6U>B(Y6~l6C($%bKva@#j!G**9M5i$CR=mH8GkeX%yBGd7SoB^4$}cWGe5R!~%B z*LNu!r2=0_Q$+CpAfm>ZNbl7>aNvglhww&yT2l0$6wHJLu^jpN_5%1jZ*m)?O zE0>GqJ!$GJb!YH%sDl=Rk;?$)CB$Tfg@mJg9d_dR!(R?sAbcMQax~M^)!EUT+1t_6 za#LqpW`En^?v9?`j#hOIZBWGvcqr32ytYeiuk763udY$oT*IY=f2b--DEV+5VsR&` za0n#8OtPbck}3CR@SNQMYM&%qxEPsC=a_^VD|Ak zy9&E&s&p~YXd!!i7~zWS2jO#RE(+-`{rce`Ivkd&{a`OC-UFm5sWi^8;M=(82)84R z<*P$!>KY$7w6`tOz4u7B&h+jBN6P(UG!chmuCy_b0Ok@^&ncM62*1Uew&jkf^g639 zh3Nrw>|ii^Hr8nJCWnv_d(_Le_rt1xJFWAkx2>la*~8}tSeG1@Q&>A0bt^Ak$LO5)VPtb{!8iIQ{%F&%Jr^qmV$(%y|Vv{zPG922X zo5Wx)D2bG}HAHqbt06jKjb^ADu13_9=X=rNa-yYF$aJ^83%=%3B7=ffLw=6>mn~ZZ zec5%&>08K*UDS|7WcB>k@Y+td7MbYQt08-Gx!XE$b2uI#9>pnI%G}e|snmj>iO-%~ zwS!Je#zz`kh$Ki2t@h%TV4Upr!-L;yB;b4NqNT= zd(wQch38;)(4*!zyf8h`fAtMR7<*K%zM=1UhL3NgnKytti;;FOq}m5(Ne39&l4u7_ z_Zg{!X0)JrkR-c^F%n>#{urb{H-)E`GDx+7a)yU^8zY&S)GC%(3gkaOv9eKFMYA#J zspf~#kH*_KI<<7oeG^lWm&8HWjZX8R_tH0<#{>g>o~&kIXc=tfPU~U(7Ih{8i^G{d zjKBX2p+<4W;7mf|o!lb&wcH=Z{X}Ob77g})X{nA6$Q8R*qUEXw>oiN;;ki~nieh!EMc}7K6 zhDlP-s^W~QR#<(Y5(ZLvMa>MU6?T1tTrbr62I+-d*CsumQp_kt*3H0Lf!52%T4BtG zYT8zdAx?kI&A!nP3wBbODSeHT@g&rFPGnV+mWZ zAR=D-z%3QHC=0aF3n`(L<&CkW^# z;!bZ+kBU1Axs!MU!tEopfk5YNc-}Qb&QNT%&*>;9I5``R*lTY6jEq#X+qyj|9Z z)0I-LFF!!bHbqSJ3};JZv1zt;^iQZCSxN608^XFIza@dGuR+X#VMPb4v*Z)KOX}pH zsl0l(iA?u@t_Xd4W0Q(jg-`-?d8P_o&tB;n6x}Lybz==YvmZY_sQ-)lj=T)@p}398 z4r2ccb)$6wK1j2tphet z0@TS!6TLNptbn>5)WYz4>C|+f9AL;_v2UwjXU)~v{-HNIt>+Q*pV_orC6cG<*HiS! zN`Hw4m=X+L%1oA{KBR5#J5IkwR$8qr4ldjOp!LW0mrT z%q#od7nBDK-lP)4e1^>1>#og}d#+S^w1b;Z*^G6^CrurnEo#qI8&SdKiUTwVhnaEx zM&(#+#QZdIEPW%*eC#f&zx%?<_DVJd*2DmgEO=K?D zUp5i>(ctDe-X}(4-9CyZ6gMKhXbg(YbV#fXC;+gh+tHb$+X*({>qEJ03D>Lf^^d)@ z7X{LcqC;9q573J5j@?&K?Ta_G^0Z_~4FKMlO1E$;@PeJYe|_ifUDsYqyGeAVeT`ip zLx-nzfBFDsjI)EeJ?VDjFU|bmf%!o*RbW@duwutg2<#ZZL8qfv^^E{vBht~U^wbNZ zdPgDHSLlr^{NTuAeoNKkoa3kqVP2*)*Bu11JQc&=93UOcM=_zMd+sLL_k`Ut8HZ`9QEX(%6$Y_Uh#Xtg8D-=1uKT~2 zk^gUJV<=&tcikSm%ouX;ot9So;MQR~(UAqg5V0yTu2TD8f zcCJ1c<=K9^-6TzEiCymL3UV7`=Q37x z?RsNH#dt=~q_+RIgS5+4$!=HGa=7=<0qpB;Rn_unPW5&lZd2_oojq+Ekp`vRSbUZ~ zBsxYL)99l^R-tXFAxX5^9_jArZOgRm+jpR?cmJWiV$9ubEqf!xLkHV>I`+2h%^bx3 zvja!OtEIMd9%*@LPaLP?Af~ntIGkS8e*0Q__qTO#M5c^Z^TX8t^8Qkes}A_pb*gh` zN_FmPP@UIqQk@{3P5b*}hS2{_aJ&Cm8PE*e3f%p_4Q}`Ug>bw7FM-?rpN8B0PqGuA z(&ak*r$2%u-z;I01FKl4>gt}MQgw^XiW8a>`;RtL5O$M3XRGJcJx)sD zZ|nK0Zr4+kTE0ZprJoLX8Qj~ITD?NmbzKeqH7YfGjZ&rSRNXv2I{6!_ZuNS|cY~^% zy+NrP$5m?je=610oT{7MoT@*z1yWs|O5M0CrB+*0sjl{vn(au{?dnXWrVpl6sXJAt z4uh71dkFBhRBFDEQt8oD-TaAE>ewq&YW^(;`mA`we_p1y7Z%|RO#y}HU5vO)Z#Z%YVn-rr8sA@E zx9i3Asq}$*wb%>V&GmKjF9khYUw7cD6uO>f$a34bW|5Kmp`h0!E;^*sC`iu1qYOy}G z_2K%4V_$~9N9yaRA3?aUfcJOxjnjWuujXIZP&fbj26b$*q3*`FG&GFArJ-)|Ee)yh zyBgH$I~wYCy|Y1$|5-!bzNiDvxsqWZ|no{GfO=`BSsqV&oO{uPqCN=%yrn+4R z;O|gVWBMgcb>oL&nYT1G%-_;ff9z#VYU}Sb)lFxbROxtAoys+(mWKgLO{v8(_}#6p7hluVIQ!bBhRN6AJFjnQ?0REU-Ta%IRM+o;Hi__eAR0aq{=b^) zr~en^ct=xe{*RjK(|_Eg(lhw}yPMRpzi3KLz7OB{DEJ?5s^2;f+Gi2p0^oy9^^*@G z9>CQH5&st;;}@G6mlvBF)R&s-OJ8cLJN8gh{rp2sYW&Oa_hsny&!GLNN$uLwTwmJK zoLWAsS(VOfuAe-wIkmdASsi!+}yBhTeG_Hsm%@3PX+y==KA!-&1&}2 z=K8LugZA`hwVZ~ZXEdkgpV8cqer9vs>NA_w{LbdO8+U>Co6QZS>znK6uWxQtFKSlP zZ)|Q{eq(dJdK3J=330u-In{M%bN%?8&5f&fHmj|7HP_AG-JF`7!Z)Uy8&;>`=Z~9J z*C(1A$3FoX=bKZ@^UW&#spf`bpF+4#L8ix=Q>Dit`{T`O*EgF})89nc70C3R=ElYE z0RLWdD*b)<`yu50A!PYsvs!N0)HvO^NiA>Nl$yP8Q~lzFn^ftdO{wLJHmMsg-&8k$ z`6jiiu&Hjbut_ZzH#M%7P#ab@H7-{WW^7ZvI=M-$KDa4W`urv}{_v*y>4!HpZ2dCA zEN^Pu^^Hxb>Bl$K&p*DYaqBlXsmY5sH>js=PAxxevl_o-bHn^4o9mY^+1!}^waxX5 zmjXV0v)cO1&8c0_+T1YyEcn^Jxqfx~=7z4zH>>$;H#h9sy;!sejgRT-?**R^o53#NR1!<~;qK zxvlcOCuz7}`26u-{rvwf1;)RM`VD`_1nv@;l%mUGkBIZb$c$dIgfgct4 zfWT`6Uiv}p{{`ayU4at<-zuJ}R(X;I{;xEAjRU91>U-_)3AV6}TYbb_m=p@Mh8H zn7~^Fp8p}84wneLT;MK&KbCms1pfT}+W(IPt_a*C{(npSeNy1t1wJTnS>SgCHi;Zt z1zs%hGJyvr-c`}#rve)!{4WH4LHutL|M!Uddjge&yI$Znfn5TBBL40c_q4#rg#I3J zAC>rz3mg`BLg2W-Hwe5-;JpH81ioM3#{_;x;G)2<3VdAP4+O3WOnq4A!`T8a5SSKt zrNHY1-XL(lz;1yr7dRlWB=8jiUoG%Xfl~tCDe!)Q9}+k(@N)tm7Wj36D*}Hc@aF=X z=CnRr1zs%hGJ)3!e1X851a=C%S>Q2&w+gHZ{9S<)0^cg|9)a%?I4kg@0v{0g1%XQf z9~1aJfj<$bKBD#5B5<3)O9k!_xLe@$0^0?43A{yMzrcdPlLGG$_$GmO3!E1C9)TYe z_;G;?0v{6isK9RtTow3Jfejzk`kX89LV?c|c$L8C3A|C@ZwdSzDW9*Fdg4xj-2z`O za6n*5;41|7ns@{b2`meIrNGw;oD}$Wf%ge~ufREhpA`6@z()iw3;eFY9}E12z)gRp z)8l-Bmk7LE;4XoC1nw1hP~cI4#{~`xJRxvg;2Q+qCGcK>GXmc)@M8i$BXCjRR|P&U z@CO3d1g1Ww^*CGL*Co9#5O-SOl>)C5c!R+G0=osiT;PDflE7C8e6_$k1x^Wkr@;FK zen{ZFz|RSMSm4(Mt_b{*z@H0j`fIJ%R)H4_yiDLV0$(8TCV`y-Zx(n=;H?6y0)JQF zguu57yhq@>1kMWlsK5sVenH@pz{doBPvB1ks*h_uwg}uN@KS+01nw4iy})*XT>@_r z*e|dk@T9;y1ine&-2$ftzDM8(1%6!Mg20CaJ}U5A0#^n8RA9p=v_9twyinjX1zsia zc>-?~_*(*d1^$k}A%SIquN3%Nfs+E?F7Q5q_lupsSKM;~KPm7*fsY7W7WiF(KNk24 zft%*FUQ-h9I|ZIE^h*R@E^wE?Jp%U%JSgy}z~cgk1)dN%F7OQk?-F>gz!`y$NWJ@h zaeqwUX9O+^{Hnmm1^z(bn!wcGX#LI>c!9vQz$*n_C-4S=`vrCje7V2@fhB>j5cq0= zcM6;m_)dZM3;dA4d4Zo3_^`mQ3tSQSBY{5`*z`%QPyb(NxK-R23%p+Fmx=otfiDnv zlfX`aHw!!_@K%9UfxjzoLf~5k-Xri`0%rw&RNw;wzaVf);9~;6C-5f%)u*&RTLgYc z>~LP-=L9}1aGUu1py>N?fnRv9jz@`mi@^Yw zNZe(CuN3%Nfs+D%N8sB9-Y4+A0_OyNQs9FE9}&1L@Vf$kEbtcsH@#2malXJ^0`~~q zEAXJeqXLf$yhPyT0*3{j5I8RI4Fc~KI3w`=0`HJ?`IxvrBXCjR^F-bshPa> zO#<&0I4$r!0zWA5;{q21J|yr_f!`9iD)6TQ8y=8yB=ACk&lGr-z~>3PQQ&V0>=pPs z0*3^a1-???YXwdUe7nH=1in|`oWM^Cd{E#c0+$7TSKyBY{zBlUPfK|cc!|Kv1@02K zN8nz82L&D#cwFGHz!L(;1-?PxT>|eFI3w`=0zW43GXfU{epTS(0)HTIOHffEAXD)1hG?-DpG z@S_4B5cmawO9CGg_&tF?5vUflURwli6L_h>9Rha?yk20tz%GHe2<#VF5O`AH9RlAZ z@NR+A0^cL>g91M;a6#Zh0?j<@SH7`@(SH#5ZGndWGjX5wxb{~s(D1PVFVo(E+rC;m z4`Hu^b@sgUU@Q5t1nfu3w9p+;CZvWwA6qCoT044Q8u;<}H@y^l1`f5iV^5Ru;qm!6 z8{MjRFrL4!`_SPo6Ef!ev|+$!`|@`k>gnk1ICRkQ<9*-oGd=rTy0OCwe;&W5z4c&kr}HH)fa}E95&OX)J~l{hCo=6pqZII|!PMzP{A2&F*Gm_#qTN*3 zbM%;Y@A|2R#H=JKB3`_=j-+OW78TgKQ8h7OvCwywZCKE)BNeQb}I>&7KnWt z{M{~rH!f)R_>YBtw}!i(reW!A0>$0-3Eh8~m2j&PF3`6dyZj=}qolXoucotr<=Be- zBJ?-EL*%_gz9;nAU(@bmmkRya8m>M=Lv@8f@i(56d|s7(8YZ7hzpeeR zepo}3&t0F@@|3WTh5lwGpDdK`%nGcP&r0meCTW6c!c9W-o@0LgM-;PrY`nf8ONrX$6Ig~Dgh zmuT-e%FzVhNBIrf8`^S6+Y~Ru#zL>k4g9ZHUy%Ik)fXLfm^jmNa4)v%)4tixYfX*I z@;a5Cb*KH~Wh^{?0(nda$#66b`0LfbB(IcL{ve(4pxZj!_+zU-`M$4?D}nxg`1Ew( zL-P+FqJs)LG5jh!kpGBtGj2FM$*%`2;9M4Pjr>Tv<9%7YL(W&`jbuyY#q;Ne`4#@F z6!=vN{3->0l>)y?fnTM-uTtPwDe$Wl_s|uk zZ@4j|yV85xJ9{&@rZt1hjP`co|N%ZuAG&W-MByeq`x3qhUNpU2ZzCXvzT#Vrul(G6FYJSF zvsdHe!vD`YFMNA0i@OC7^|a+rFNVC(-RNq3?Ps;V&~d1>s4rPp<4ZQ0N$)!yhv+hX zHNISnU$$52d!9@lldkTa_-cHT!Pf&@TndB?G#uww0nEljH$K{<)AG(T-j{4KBapMzzEg$ohb1!l8(v29mkLJp! zD0GBlt}U|+ngW&rwswP0H3jRWN2ctC`PhT79#iMDDN24o#|FkHq6x@z(J%*H%8o{& zwdop@_&TgM0zaf=n~}&V+@@?$STA#H$i{x+gmZIN#hHf8y7C(~s8>@~HDQ<Z54vJI7LL(t1m>b?Ey3MtMvd=?#4;8v@e-I1)*?&WUNXtWT+PHigq&tkKx)jWzhE zOOaTEm5-mP&AR?-CJN6+bFDBF)KUJlsqIxPMr$)%U8wKc5Ir;WAe;$cXjDpzxMPm* zqOO>FEhFm0a7d^aGTm8`;YU0v4y>Z>?Z~w5e{KhEt1jYhr%DAkz;VLkx(A@R8p!y| z97IKlN?F{vOBpu-!At2>1{YD5iziR{oPK_~B*NQ^t{(TZ=nn4VxJ$2(UkJ$rufW-8 zUd%l)Tv|>Safhk&cB$5&BXhI94k^=eQ%8i>+8QMtJsP34KmYkrS~RG>E{(cd;cw$< z#TcT#H8SkCf=&qTFVp01osg1Td;_h|7%l0`+YGh!<`#sZjWJkIIJ6J*=RGzm=CvNe zYHmwsM+@E!+uw$Zc)XB%+uBKLR>E^L%i5X zxy!>b=PDT#Kiox+JCM<_Gx=vDp}QpMVN;A*j3*v$pgebH_LYk;nXs;!8j+a1y24O5 zFcOxDp`c82LmouUQW`yOg*_CN0i?d6T;FY(ey#!RXo|%KGxP~i+z)i=Cq3*3x+O0{ zp$yp#Dz?6_^UzH#R5Uu<52N%PINaN2YJ%=eFPk8$q~R<*25ZtBWPRmymWB=E6LE^UeE z&2(|?fC@m5vrW~IIehR)TgSfrbYT}_$k4^M$cVn7+cJZrSzLE0L|kfGE?EcOOkoE- zPCk^y7!tk+N8l05u-VA(g$Xwk2Ns7ZDEbU?kydxwaaGhwFxum^dWt>FdvPVBkbY^0RBeLmo~`tNcP zcOk?*j^?|c!!3q5bjeyqUvAF)r8qtkb9jW=%eC1Vy0snOURlS>0CyJQX*J|&u(&x=&1UM5u$L)<%z{%Qd z^ZlvXUIGE8eNUJ{px9>|D)m)QA>Z{~lf<3%xxpp2#GLb)<{eIA%?GUgbepL*DB>)H zIOq|VaU*#KFA)%XF~p|!fapshdcFWNLU$S28sd!P%7YwaC17+Mf@SJ^vk_v|Wk^1o zlw5Oon3e6z_@!`sv(3bg5SxrMPXbM>0&)JYqeojY*ZCta=1s)D?d6If*KA_X6ZXax`GL+@M z9NJXafzPKsF&=->=Zm#21=K@@Tn|lhw&Eh?!YIeN>~Q5V=ZxGVOuZVE^S}ejIF){p zb~Rv-By=?^`CoI$!3~#SjBl}a00ZjRpP%rEg}xHTipc7KD&ttHUSy6D{Ha*JQ~gXw zJa7#W#4r=@!HHtl@j(?lrnAD9(YW=#C!n=RH2!4)c~shOXJ>BDdgq z!3Fea!B7FwV7y$;a&jyNUh)Mz$WSU`w4ck!%LXz=Ixf8|P zbb;|1xOsgHgQ-!>1K?(Fiha@bfO3YbBP_%0<0b01ZHhzxDA1X6a`ii=gQ`ia1$E%CRuqGWMrn%U(rUIJvHyzN7 zw;6|Ia%(oA8Pc3XGPHS1J7B-C5YWsQ7A*;Lf34^hYV%xj$(_aGZPLcL2Nryi6?W0md!#m6@+j8hazHk5 zuJ|PDbv2+@vt?6PtywBfQ*e_n`8$4|NphDXoe)xg!uL?cR08Mpq(_&DWG<{zKF6BU zbPPSye+msF-WkJ}W;}j>&U|UsqYvbG#s)QxPv+Gj#4;Zxlfv|Yg%}q4IM@IH=3*_T z3BBZdkRJK6N2Tg6Pm8OFaK+=8zSL@jYT{q>I2cCgBC*xYpNbRzgwN5vN}eO4uTT11 zvIQbf`D9E{5p~+5(j#|7o$;un1*5`j4BaR(=kaI(mSUP0DwZGk)i9?nUT|1wa%hQx zLM-}ZN>_S}fLKeGWykQuvXi6aXF2MJqNuS1fxNQ*(HFriDcamz88$saePE1#fKjxo z)*JUgT&dQ47G;zXc>GB^3p+AY#N0p=9>)zcDV#$%DNFM=SQeq(GRVL(=i$11v3rb;MGFS$Q*GUyJoPNGn#HpW94+q7b6ym$agqm)H}v*ySv- zCu7-qKc5wK%J(G8uH0G}A*W-#aQ%-3Ir`E}$OknKlK8Vx7QJl4T>$H8&iBNJ^rZ>qclu!l%iGDlO>eL({Wym`ZIA%Ueq)` zW~~qEk_;D%Sl-k|J{RSf(fNFog^@}wJHmS;NU8~?-|2yF{(9HB)PqyOsqo{hIP>y6q>%yj6bby9Ww z0%HP}C95tI9!GRAOEQzSm>F#Ar8nUa^_1s_$`6v6w`3sSJsuW+2Ppq2)Qrc$E1ZYQ zUFec`Nb<~jY-#>YH*qeGIi@>B^B#{(eWZfjA;@f(VX9JND~kd1WCd%+6ky4rp{c20 zu3W0l6E9ZF3H!L=gUkdjX%}oo$l>WgW7lU zq*I0|?1bY>Z*|DHOXTEb(t6p)bEZU_3emVHF&z+*fW9rxcs%S&;-^6~C#|v0dLF1A zAW1QIgE|izPq+!3^Zd|@*O@%0ziL#9etwvdPu(%fGVfjUm7{@O(xvO`T=rtNDUg$Gt3xm2QnpoeL?lDbgJ6s6dEh9P;(gduSzd?F5v;7^K@Wx;59q!@KD{)* z=F{CC*!aaZhp5MA%KL;*rgqO5@??}%K(8~fy{Q-v)ggGXQA|gDph_4;bsLnI8Q%}J zbw+|&hlLJJxFMMH*;U?vMP@zkFw6{1s9UoTRJM%qr%kiAbZs^V zpQ+6sv*|f&J<*;&zmqxV^1S+Z-r>M#ym9M-<#o}BT6>9^wc!P-pQ zPQ5A0qvepFo)|wXfgd}|u^OW3NkNKnEzEI@X8aP9qum^nF{r?1CLA9!`4sHO##&7u zRuiS8IvMe*yNJB>#1Gx;9@>=k*CXA;X_sP*a3)OT+@1}nIc%$=)kstS%tctHo|%tu zOuuj;!oiEmJR)0+<#^k|(Z7v&8ZDRzmTT}rQLF^suq_H(!Kejdw8v61owLP$b1Li$ zMKEYKr^8&HX0?H59Cog7!ka~(4e?CI&N+11-AQ|{wYAuo=WF=#YJr8YCr|dpI4)*9 zot9)N>cwR*huIY>Q*_+HucuaO`SYY*jrgKovekGk%EnB9HH}LH)8JI|Gh)JFV}NS+ z%>-mwmYMP>Fa@fJrhQ@|XsKsBPNj%lC`O{$fW<9rrWL0?oVA&`fL|;Xhl_)3_Vl^= zC`Xn*7Xl7#(%`+96k;)kF8gkXz2vj?sFN7WaSW@$N|!E#yPngxwFs z!duVdPq+E!Y(Fu3hkU;iv3_B>XtKB|nvC^;d>_RoK$AaHAy22U$5<~7_zanAn(?Wg z<<9y%>J4IE7ca|KxhkBCvQZi2hHuGv}%d$%}%P%WJJe;vpO#^u8+s=HhT7Ga;Og2+f8?NV8*Q_UQG#sBW?GtiLjLrpP zdhr=L%MNFBrMsTr3GsWBPiXL(AWw$a1e+8OnHFzL(3B;+TeGGeYB1WEF;rgqkn%h0 z5l#PU&ZE-85SK`gYWCbO7^NqLz)a zxTNH(ypX>ZVTblsk3Umqjb7)bsDrtG(sUxiw<}1K5ti9|F%{vs+p?!?a-DrIGZ9ZF zm1iRyo|-3{(i@QHA|A{Z#(9rp7xfpSWa>-gK*RH&; z#?VcSYq31NH2W+!5A(W=;pmX)FcHTNgqif%XmYs7PI**Jz#}s3#n8LbradMVf6{6u zLNyZ1#&Uuk19S0w*)A|2!)3h};uz+ei?x`+XP0VvkuNVtJrv70!K6D8D>b>nCsu3w zk#DR;eFS+kewmxIm0XT%pNR<7DL9iMCd|OC5T+t*zr0UJ_@+?LL^!rYMmVOx&G{VJ z?=Ax_CNvG*O!! zd}VSSPx6_m7%zb-O2}5tF<(PPc-FZ6Y3n(c95kczF4<0MEm$hw$H}#*A@O{Y zY5j?_6w9$4k!8!)yE|8myIZ<9s{uhD)8!sbImcTZ)(o@9WW?o?5xp49WeeOwPPjDc zPmx%YmgtN%%)o>^OvQQ7;|F3-du$#G=zRsmobj048913;n6;}VC8Gx zC7W)`f=e_z2Nzvpu%U2ClRM3zyoA+1TH_{JmkrNs$)Gb5vS7!jaCmFgit$Aw=WK}+ zf7PYQDU>xs8>{B^RMhyhIY&A(py)47coe&_cG4$Ti~U7xZe|&$h}DI8Tc^vY4~=_m zR!v_)QqCAZ!4|IBfYje_&KJxDM0W*a-X#acWWgodVzL;a@(RRKK&D-lunx`!pDKg> z6-#xtZmkAHv!=6VN!;JXj!K;DvKxjd{_!1>g!;ySAVns8hIExDeX23KDW7aRiqk&b zbfRZ`vTaR5WZEx6GS2yQ+9szJhLgr#@zsXd-HA;zT7 z2nH2XA%-5nP5V^y*%_ZK7C0NBW_Zzxb0&tz>s6dHQKng{BKCsMM#d3!(V^z6dA^!~ z`|dz3SAK7uK6`p~TPLTwmP<~)k@`R4;7w_v=DgnTcA8Sa$bVu;C> zWv|CUYwh!cA=k3cFzK}7lc}jQyRuiKEO$n1Ey{Lh#Kxava>echcjmH4&k5g$+jdWe zSixM+l+PK)4I607eIivYMv0jai&n(=6yt1&!E;TVSw189^t@&0mY?&=(##yvqDPUu zUh;{$TeBPxP0PAMq)g`cD{^H%A+f66s3(iO%(|xCIFB__Jb?p#Lu}dOS8=FHK{xk? zJRxMCIw@3p;RPL2BUPq|fn^cy?O>gQ)>$}lnT~7ZtQ0ebVuqEo0RfjU^5AsNkSe1U zj90m4m^ZXwJi(M|ka1z^Xq9Jz z$FC;8vT=8U9dz#qX*S6&WPHJlnx~jz#hWH4(gSu){%6QJGzR%_O-7ZrFPV5}15VW} z1jw-}3OGmXVKX+I*Dh2rmvtP((_PQIj{GbTb;N4F$j;nIAKfg1Vr`uI@W-+^r7m7! z=WV!eh5W9P%S;li83&l|=fxJ+a_x#)lx6zF^HEmNGhT3+mE153yvW2+J#)Xr4x6XT9vr-;UX>+QlGd5_eE9Jr*A2Yj&~dpo_{o>zVehq8TIbpIGj;`@SAE|i+XdaRV}Ba8==0`*sH$ZctpK_(@p9p zXSJ#O&fcd!a(1_R^z0t>*g5Vd5q0mm9qRATJycS!JHJc)(^FBatG|0%yZZ32y@W5! zlub2{J?ntFd%Hf^$s3E+1JBu;SO0O9YNGDH`e+LCkbis@P9=Zw0zOqT{VWumj2gcz znEd|a4plFGy)UJxyY@(m1_*zjs#lBWsd_d4RQ!xTU8(xwi2AowR{ihG?O6r&=yOzR zB%|)E_mA~{VTan%r@mO!ew>f?A`=4@a5nF8E z^&EZ5L9IMT)pPej{h+?6e)we6J#LTu!ZSIw z`s+)e#pRG4-5_kzdObs_sa}0e zMosNhXZNYEH}$KTW}W!W)NZOTH&@i_Hc7AR4=$3}rWa&6IkE{OaVwK|T$f)l(71f_!q?#nD{sfW!^Tk8zjZgE|Qq^BR&8(Mx_Gxm+ z|MO3SS_ddeoxEs9Ui|*WNUB@h^lw(*y9mnmDM|1yKD{ODuQO&C#JV%|?rzSSz z#-Oil9#H?bnbYl^TPo_|Em`$vS8%QWz?FQu^D9?!g8%GFsqbI)96m33mo?l!-yAa9 zccjgT?(eT4^Tm6s|9FKp-=)ot1^j;6oUHx!6-b*Aq)m`!KibSkr@jx)i#Pm)bbs8r$}4x7q&QG`jfOSHSfPt+wzs1&>u&L`PU;v z0~yZ0ZE=sMe&Qf;si*R(I)?$ zB9#rPQ)lyh#l2_qDDIChMt*YzsVGQuil+PGU~mjA2_>QR$siNLCyXti1m8E z`h#bq@>{u}to|ZRUrj-ZN6v;6{{SzIId#W59P{V5JBQm}a|KnHZ@hvk%s;(CHSo#0 z_nd>Z(~oS|d&1Q3KRYzD_<`qB=6~QE_2@Y&Wp_8iz2nxF4H88W@5zD~AYJaP`? z{)2i*zxe0%(6ukCes)eZtL87HZtFj8XNlf+xk?q(#JRjZ?9Ou`@s}vX_&4jJ!4%x{ zZ)kw#lKAgCSEu>k5M#ChUj7Q$?8h4rWcI-ZB=Q%}9aCSXXue9c=@kSfQ&w*|@3{Kf zd9r)=j;#{k#MZK!+FDUx-&#=jJ!wS!{bl-|g0;(3y?FWa^CZ9j`aJ#ZPo0N&e@Nf{ zFtEi}HR3zVZ=>Jo|J?`)zI5K0`U-JAOtkU8ZKOQX`;LEd9%u8<&tuiUjNG07GI?5k zlz!(|=y!Il5mCQ&D{}r`ym^<(sXyJy-e0|4r8tW|uoYSKi_4G^CIddTRV^XF>H|$C z?H{7>4>wVK-#{#s_OE)9xe}1?Kzi_5lnZarxiE>i3+m1%aW35TB!t5IeNbVd8M539 z_u?$xUu$qSf~wCw$?Sqv?|%w5|Ejk=6E)Gho@MjuYfsYY^?d|ieuN_WHn90`HX~v@ zr-zjK*^|c9tIkK{|8o;)<8Q;$Z!oUkKVSA_sz=a1_o@5N*X_XhQj4pL2#lov&~EO`a#LgimTMU*8i)E;c3oeCY~z1IvQ6Gczq9;1 z{ch5ej~}R4ZPRz0JoX&;c^~`yB>k>FNWardo9Z(5RG)g+HZYcnvG^VKx=O$E|4P5J zKcnB}J2n&L^?2JkMXUAyxGgtQM9)EeA3?|8!pz?%rmi-Bv5niuS3d=xx`&wKf5N{r zPzrF|3UI04g9B{qA&dVKVU3=gd$kPqs<8NC3vdm z)KoutioH`*J#zU0x}PzlzJ85rFju*#cU&NMvi$W06@7f}Qx|0USm@tg0A(=K^u7zI zK?8>Qq7PpHVgH`LvdkiXn|>$1Prr-*Lc;NM^CKgA$#xF)<7W-$kC(I9fN3Z{g|W-T_!piU^hv*kc3}Qz zEYN?jaCdB}!_>$(pNednz%z;sq|L;I)DtKdht&_B#g~$NVEd^09zst39(=2}UWk&9 zzCD%{hSj?+3Y42`Pk@Qwp&a-j_Nd9yDODjFyM z=$GWLM`K&`0PP0^2<}qp{z-0dW+%9@o5>B{-U(4?M19L)T$gb9Nc&c0y?Qvx>K+Od zeUt*}1z}Gg#&?U}It;mcmi)uZRZ_2z8(&FoVpS(9?hObMT|6;(SPk$Tmuo zM_1P#u3yshKDL?IPCj}s!iUQ+^C@^mze6g#rtn1y`MXN`y3R;1Je%Ca9pr`{QokQ3 zH}+9yq((=37q&ugqv6Y(7@h4`@0(^X8MdxO^^D)VFG5#ZbB~~lHN3a^X#8Tat8wX<-J7kIN6Dqz)>CP*&yG`Tt#|vY`IRqDbFaGi z<}@{}u=_N=X#Q$|mC56I*QhPt-59XmlA~t0J~$Oikv=;Wnf?ITbq`ZtKB~gnd#Za$ z(Cz)*t7-1;&#h#*zZwtD?{BZ;d7{5M17GW}ZuPJ3kCOkCimKXLcNC2)zdseV%Wr*j z6qYPJKLEoo=aTNm9A`zsx&bQTjRRC_9}Q5ceL4U&;Y)Q8z9Tohi`>|6Id*dNl>%Nn$j_82sBF?&}hw}`Z^59hmvwVb9O;|(qdeT9-22ImJc>M|BgIuc&_>DAYS!8w2=%z~ zUqb$qar8gwak2G#4{FR1dKWf~|9(Wc$cq#%@u~{Fn%vkLWr>j++=}>FQel_&tg>G0 zsdD~7PpY(Ads3yn`)Gvwg0`bB$*i|~q9utTyRjWAxdgfKpH!m1?}s+^%bqmI`MIZk z3+8sT-?-3dwyr;#Z`sU7lJTp%P`p{nokMQqPI5yJkQ-jmC0*Z=i5@KjD(g+e3olas zkCU5NOm6I{E@@TPR!VajaeO(skr$NTOXMclUC{+QL2qB1(@VW=?T%hlGAi(EDwuL3 zYrCZJE#ar&AKI!S@rx+l>Lu@;SVu8;sF>fXn7b$xk7>W{rS2O2fFSWd$uo3aHr!x{ z+}J#F;|s`5Jg4k$X4_F09HXKxJ_eCCl4oQqxv{U5yDMArwTk?M`@<(ZXMeGM1Y7t4 zvPGWUKb`ac6DRivydo>eE4miJv2dZT0`K;?xi@0$By%v>RZ@8nwqU3$GNfL2v9ve3 zxa<00YY&i(?hIoYFnCqhwG@0oSIT3A z+|Uwo!_QCxe8L<{Z5GW#wl-VOAarcG3jHd%(RWnnwO!NbI^!Mq1~(}CCtWiz>rNS_ zTU@)2t+0MPRxPr)8QpyBOG+IPt~?GmEoQ|aa%iS_U&ulaN-zKKl1kI4;f zSMJy3hIgsodnM?52pavJOwlV3f*YSjZuk~*qjxCFedGq`lN)+m{eJo&-p*_kM{t?) zc!}KbtK`O4ksHNm6z+NiwO9VExD2F$&KG~Fp3cC zJ$^e81A`zcaqu1$1}=?G=k}?ptygOw{yGUwp!G~2YVzLeLtpj%u#Z|lu&qzC^?4r* z4zQ4_*?OZ7_v`P_`EV~K6@Hl9;9}*zKyDQCpcoV2?Jd^sKA0r?8DS%fUbJNgw3 z)}1HWuUxQhI2oyY%-MSKBxI{uhNhv$gFcIk~<)35V)amHv0+ zCiWhj#t+L|zrZX0o66MnhrlZ`o80(qfyIN~yU;RoRYg=Es$D;dy&-nv3_xTCdaiW-fUI?;$sIKP9ZTvo}{B+_LWOt42}F`tm61 zW#ki^y|OQD_I3bLo86aEdmE{RAEI;;^Jz1xowOeBtBUUFzSzhj@{B*Jf;>%b_&ExQ z6&coheOoXU_8~&WUQnS{kQ-Y`Zs-k!%2L_7xu4F~GyO1FiS=u?e(uK^TY=FNGIn=A z%Glz5Dq{=!QO07(SmaHW>N`%xUhk(e_I5wy_g(UgZcv_8*0z2$PS_2P*ycmiaBTtl zhJt-e!NS`qm^_nZ%{VA!%$;JZ#$i9SGE+^G`%RwaslXUVB}!RK-+@m(q_d&v#{ zrjqFDorWM!B8s)MKMtq$OMhvo?>$ZR zDOaD?V$DLB#FJ_hPa!0=w{u|%Mb!3`8(mIGJb^eB){Cb}5}$AqZz72`6#jXY#PgEG zW|*QckSU?u$ZPaF_zq>!Z~bb)3Nb&YU9d{D>oFQEPsMX9Cnuq`y;|eV=7n54ZWx0 zDL3&R#kj>z{lNj0`T~r~Lz`5LPn7$qit#nMk?#>ha{U&K-hUu#{8w^ge~=sgTm8QJ zaJAQo0oEG>X|HDu)O-EsK#BkG8MN2855&&CGf?(AJkZ)rzpcjxT0i3l@5%E6DPOM) zL}}i9IORgQG35qlAC7(4Xovkmh5ZI$BeN-NT)DwHDxPxVb1244Y@JiT^9)M;zB6## z=BiNllN%0W4>HsuGi&1+g?N#U_3)XP;7R=&yNAYF8I{(~GjQIi*TnsGMvZmNnR*iM zmoso(cHf!E(n3l)2A8}rb~_W7f_K6rt~^4Ik#`iXJ~z?SQao?8VUV8WL3;ef26@P6%OER5y(ER+kN(^sYK`dE zOM`esNxxqkgk5}=G8$KIa4G!`DL1i!4BAoU_MR zU**}K6}zWki1lDWk+r!HAG)fo!G{f-tgS=!S4lp@^bArJ?$6H8EXA;PLXwc z9=)gjgKcZqY*rP1f` z7M>&56)W>_LcBqx8GlQ;KcGx0?s_}!*BtjJ9e2Bq`xfFx_EN0a&*TOlIRb7NE-E&C ze{gmlUVKcS{Q49jqsmS-YKZ!pi1l=ys((Vu5G1mI5(qs;ZekI+(I?4`DL1a%DCUq5 z@;Ma-u9aR`HinA!hWr$ZyD@8a?L?~se?W0XK1%uZd@kNQ2CLG3W$;jI7e0P=?U1r+ z>+2x}eBpgZ0rmqowN;s}&sSwSt3Z{@*ZI0kuNth%^z*?|rhnv1nQj__vRFwjpHvC5jwcK^aho>%+m4^v6g#0Xvd@ zmE6c{D&$HEsfzsX!Rn6Vb_%Dgs@t49L>0BQYzS>gCHeReos*{#HvR^s6I(^;NPsnV zfb|Fvc}s2R9dd(fRbb_Y-=!$k7Z){D)lS7)0?h4RUBI6woKt{2z#Ea@Q_SRo+}?8bm8xh!5mgFBZB!wDEqSeAMUZk*HQ1DcAZlK1&Oc2l`;o{X>zz56O!@kh8WB z-z@Rd@|op6l+eeN@90j-H|`92KH~99VTpC+NLsyXeLfCJ>^cHn&s9S)8lq2g+&UEF z>so6bC7w`;>{afM6l&p66azj4^!iZ#*3a8R)wgU^jf){h;&%!g3u3YpV|a2SGs%r! zPi_pZ)ro8OC&R{AFBKJ{llx^vsquk;r;5F;#nR#;YfG^@0iGkEhvPsGm5!p75axj?ggYAONi_lLLf`GvXTk=vUo0uC1@MlNZ#77v%NJXy~S z$8Oz9o>cB{4983<1+g{^$4rRz?r>`h1z19R9Dhr>TUB6MJ44^%pqJD6>AhmsRYm=L zQhzsNi{ZTpmtlNf=sDC?wRX_@YlQJ#qHD)sw|=6uU2Tc=Nf9?On8(#$k-P=%xh$jj zvB>@?!Xu-R%{ko>9UtSdW}Qm~`)aARkF+Z5&n>bxojcUJrWkF_i^bHeFCIk)L7n^0 zmiVX|qGDS=m!P5gvxFO}=SK7KeX$fZU_KJhD6zgfSDn@?NAhWX>nJN-wMAEs&|?>C z5#?n8f@kGhPmZ8(C|N6f@-d_v$4KA%+&KPt*edJ}eF5BhYlQik@E1yGgCCDj8{91$ zytza+_=B^-2sRkS263E~8+wfLsv4#HilrZTxLCDLj}>EA;Eect=wkXEdYQ_P zTaXRKo`&U5It`=bP45ldUF`XY#>+UZgYR`u)9WlAn`pPSs(2qCNuxZP4Y!t!^pD|J zGz`UZPV0SCl*D@~AAgXWxZxmFT=Jgje|09NLrD$c?O2zuzM_wmHYL zGKb_B7v>Kxc6~E`cL}PrnrQfQtn=-fm&V~;;;X6Q+e(o`+Yp%sBRBd~GxoF3F2}G> zZ+$+FW%M%&sE*DOpY<6m!7o$-b9%t;{-)PfAFUVA9{~FtH7#^k4{R#&LXR}ufTFwR zyAeJ75gCKuk{kYx5^)Ad^G2(i5%(i*cozkT?j|?#vvU7d7Pxj+-x;m5`W~Xh#0yt3 z+eTaSaVmzc>Pd+#?uj#u?-t)(Dp%SI$EqvsC&$VMrJfy&A+h~Isu#v0T9hIOKPES^ ztEb+FrIhYnM^n0w9c@_|?mIaXK7hwqxE7L-=lJS#LG|=PtcY_5u}xlPt(%EBZ;=9%=s>l^(BJFmQ&CKTm)4g z>iM-y);BFh&k%oJ?ZaAfgE86@zxBWvycS&DjIv%HV||T&Twgp`%f`_6N6<-DS#z;B z!4D{gdUyS%F>*WY<1v!_i%34PNo901xpCzNcc`3TX*{jjcYU5|tbEYPx@iJ-@YP-v z<8^XlZ;%^VrGBp_H}n>{(RY-)rWf`MZ!fjBj2((Ez8032%2y#vt*6jds{OFPb@%gF zO!WJw&~wwTB75Prltf}}uQaUIz8J=ttzGROx3=XIMqSnh3k|M86iu@Kue&QHJjwv_%3zA4T9yj=VLOl%;aU{Cll){u=0Vbq4M3U++S3fA0^Dy=TVqh=V31%r_`>2i;)s8 z)#-){Mm|{7+%mYe#xIMUpGU~+RmhNX=P5T#u`+14#-P_K9z(N4Z-$9TJFS~v|qWB3_K z52b|iL6k&P`hZmaJyJqEG>~4X%}yo=p614 z&Wd#mW<}e@vSL}0%wRkCv=6q6c1Y|O>KJPmX%}f9+9%j4l;H~^No+SWmKkbCLMe2J z>=)lBhSCUk4t4a!Pl+BI+b7;Wo`E9CKyEVP?WlNy*iyVhJT06a+s8*64yDKOBO`(& z!X1MstS~|ZJ4PvYnc>V(r(nleMz90&n}t1W7i<@6A8#MRZU@t1>G3rD!XAXvbAsu? zjJ&+)KJoqHouk-fV&6!IM8{Z%P#69eZXfOx>=4ZkbqR{%hsO_6zcYiG;g0dNJYOU$ z-XXM4JPpOxDbzlc9%&amAar1)T_Oub+b!A^x!ni*n4ZXvACkxpcZ=;GIxMz-qEo0- zl(N?;(J`DA$qM2(DTK_zs){h&0lSxp0`33{`({Pk#nXZv5xYw?E7lIhn-x!wbPRX& z<%QbEI|lcSwoAYo%uZy4IwjgCvf}$Dka`p;Mh}RdhJEP}Zl6HSie|#i2;pc%GU@*q z+&B~=&O~Tb#7I^sBbF7)qWp#M8~^Y-oE7X4>=5Y?Mk?9a@w7l7k%l6riklWmk0Mnc z{^IR@xxuttI>e#O+??E8Qn+2beNa{SNM;b(h^0p|BOSGG2&Y8?$0jE`H#e3MP77w_ zGAZuNLr*Ls>1O&a2b(4IXMX&$aq>T19?bKWaj0T2h$M*|H?!7QC^-% zqkP5TB0JG^Uns3SmWF@raWJxiX~;oZ1l2K&!;T%vi)O|%LkA~1L=FyiiyoXv3m+Qm z972W7%g&Cbl}FNZ1L1ulS;$v*UT*vZ9PIXyjNC+8Aexz%6G8Y$7K$Vzw0|T$l$jGw z3k30hUS2pYo~43>52YaSj?uJum*_sB^bnO)76lCL7wQmAM`p5MIU%@Dq-&&0BqyGY z0!R-dk$76L1M-j_IWgERk`+26v48mZNOq9+E+g6@ClJpLW*|OVk{n-nzsST$MgV6@ zT3$|GEG?Mk%l3sb;_2n(92Uu;D5><|_o^WVMUOp9(H zKk+F4-*R<3iyHfunf(8~H}e12+|%Cj!M^E(_7?SrR%QnkZaY>y9+HNRbx#LtIP4eX zbX5Q6oNrnCVIg%y+Cj~EgLu2Ai+|oG&WiSrZT52bzzh{Z`-cNwwl4Rw?=IvGf9Fd2 z(J@#bi@%A&)@%Yvv8YdEYYc*8V>;cf63d9}vzF z4hats&c$)2zfrleFrk{5e^;3oc(XkPxx@=lY}Ej zFc%9aj%2PA4(2f5ARHab{Gf2`Qs%`v{zJ^K3+H{oyiqvP3u{sF_o)sq{IzhXH~arY zj1}aeomgIpzXSbXtWnJC00)14giC}63zrLDC>#{NOgJojpKw%og>YPWv#`~Xx3@<) zM|l5o$&c{q!sWs~;h^wE!nX=vDI5{LS2!m8oNz*TgK+jfoSz?rbA|Dw3zv^@Z{c#` zeBq#Qxo}wc3gKnKcL>LXmk1|>HwtHW;{5z1e7tbyNs=Go-ooX=LxracR|$uNFBgso z-z^*yUM`#v-YT5kne+3PaIWy-m7E`+@Ic{e;Zedt;fsaC!Z!#kdll#BJmJ%X1HwMxknknK5#f+oUJBf{4UzbX8Ha9sFhVXF&of2(kg@Lu6u;jT53AK|{j0pZcYA>m7egV~(^ z4Z>mJM}?9 zjtFPgN`8co7ETENOE~*L&d>S8oh>U@7|-n~?k{|^@Ic{(!g&T47(CqIV&N4M-zWU0 z@C4y>oD*HrEX!BWUY#HN3+EOwA1fTMVjdz~-oT9EhKip%k-0@UdIIx}!oC&E_X~$k zWL~DjpUJ#VIB^#9H#&YEb4TQr@|(zKK2bO{tOG(?)?nfCQ`mp3aI`;jop9a>9aZ?t zh2!6H{CkBXLpc0$VjMc3)UOyZ)_Rvq`E8f*Vd<~`6b{|a@%KdmQ+}--oPICi?EkR; zzl39b*nf<0^a|#SHQ&bJ|0`TB<1KnDP^JGJ`#&WdmhsAJ;k+K4-emoXD8J*RyyolpCvtjAiBXTaBwe&|6CXkz^VFYW%2f+$MOCgARIcG`8eUczRYI}2QFkDD;(^{ z91srIGv6$1O=W&S`wKrWTps59tPze$d3-LMSjO>x7tX$t`QUb(|Iixd(}V-xb9x2B z(FF7P!q#r)CgGs?-yj?o{|ANhHgfvQg`;0GzbhP*`uUl#PsYiBYg?u*UR`4STU z?!wVyxIXq3&I@z;)C^Ggz#I61zp=szxn8?SICKWb4{9F3;pYkGN&B``IC~)buNRJ= z%JF{@4)kND%NE*x?m*^2!g;4N`-O8(W}YD&Kc4vp9lk4X4^K++{v6Kyq;T{Q=2gOx zZpC}Mt4*gBK>HQ}5~dHdUh!_xoY(KyxqO_%oVZ{cf%soSCUF(`a2 zG4h)&?L)qBLhAQu;oxz+{Yqh#0YUnTZ;RIroXM8LB4;A(amkS4kFB8t*#Np=& zM{_wp%Y|b@Ilt?K6VkqXLyTiuAmgFm#XltZZI9=TC_gdjKlc|7-OuSABb+1s=^4U7 zX-^A?k$$nHKTdd|+G)$WSi(nSJTp}|D*gFQ!r^JWe_`!Eo%tzZq`zFQk5-9)WG3e? zuK7P4{&xu<+8>edmz~Y=hfDr?5L10Vn#(UwIP?LxKjXCjCgwWf+z*+r5{}|oefqma z`wKrTOwaPu-xA?+;n#$H!gxAM<;ORO!+$57_c3!v4Dczxflo1T!r!67d7Ih)IN|KB z7#QO3EaBk(%wvTu3Ew0fll_|`?34CnzHnk6-d&bHzS7b2X173 zSvc|~@84=2{(I(4I{aSdZ-jGyV*X1wG>7+Zp98skvfstP7=MQghu>rFBOLsI`AlJJ z8}o4Cyg2iC;Rp@9@i$qA|BAU)INp)#!*#;3*Vuoq_Fv76XYTlX@p1lN6%HN3$NPQZ z+}An$7sA;+*#9SCtBm7!J&4l_^k)C#g?*?u^p`K3hj{ciUN{`)^y`Fk`f&V9g#)?F zw+hGlGe0PdmmsM>JeH^S$2yYvZQ;Zi&fn+4(K9*zPr}&)nLFZXHafrK4|9IH3zz4! z|H;D90_L+cKf>XQg@eP{|9s(`QOr%+e>5{5`BU2qbm#oiLw>6Ln!x#eRycANhsQH{ zyni$ifWIxm(Gko$h4UWc{QN4M`xJ9mJnW|0uW=l{r*L8l^8n$z^O%c;vv+fSo+NDT z;`Ew@eTQ;=yFrKV!n{cHK<3vq_h;TN9KL|}_jlpYznQafTq(by3g%wIi7MuS!oFJO zBH`SNn9moE+{)!USvcn>-k%x5!J9chGlfG_IsSvfG2DNoKRnIG$LC`9Un`uriT&~9 z80S~gqo=|s|H0YpZ{f)%;)L)a!sT<=zn}J(`->xlb8lgPzi?EzNyopH{bvd1+{U~> z*mpZKp0eWnhnP1AhwfnhO2@yG`DfvPaHqpLepI--aP~Y7f0}T)aItXSz3hLXa7egG zI4XRd4u2nq$8$w0zX9RrgmdY_AAfk*g3I?&=8uHq3z)wa&R)p;r*NL|K}SgX!Y2ub zgwGL<3Xj$PlKv&yU-(AhgoJ-cIQt3S{wv!5DdsJjBg|ORuJ$K)8S~%5<2!Qc7(-y$5nS5+tLOX2WS%zK1me{guLX;$gwWpVqLeH3%_a&9ks2#07Q7Js?I z)|JeIg>$cA9w!|5g!9*^{kJjC)czkc&l4{HlefP}IFVp}UO4y@^J*RcH|A}^x$U{U zei6>gWbTy1`xBP&XiwqLExiAy3+GxGrzCHKf?UEu#YB=@wZ1fu#kDb9=t!+lgvj6hX>#!!rv*vu{`EH;dl|V zPdHr0>=%xm&)g^+tYW@GIC>HD&BB2OW-PQ;^(TSXd(z*d!g($1zeG6qGUiu=v*$3c z6^{SK@waII3_d)#-w+WZO$o!CS;$`NDaQs!~*EPS+yjk-q=7ezM9p=A;!|yY9I9lo}-3Y+np~5-B zCkV$bNLT)O!oDizvBFjdF24%x-BWm#oLRbTpoJ%)8@Ha*{?-1U8o%TP9`C84rneP?OIf?mM&Hb6z=|Did``R#NJ?_X#p`yVK5&1ODMIOkU8JmKi=%q7A;X+JL%rdI{f-xT2>-RQvI zrNZI;nXeWu-d@Pqocs}#N z!qy_@V}zqvM@WC?2#4!g)o^uj}wvFn=uU8^Qdu zaBw7Zm*Y6U*(J=!3x~13QRPoKXEgH|;XoPl6k%&D^OeHoX>iP;TxI5!Z~!~4}VL9BQ4Bph4ZE|e<>WB#{7$L`K8PqPvHDpmopzO9DPdai?Ht* z<}-xLpJg5@99qU)rukLo3gK{PPCp==7vcJKrEqX1^IYM?f!v-vDIEQY{Z|X;v}gYv zI{csPpLU`g&kXj@5l-}0#bpf?&fcH>M+*mj;P|z|v6I;UYGLanj(?YMbUlY(Ae^&^ zdAW}NCi5yCzAwk$ro*4coY1_L!?*9l`On$H++8^FIrFK)d0#T0E9`rK`9jS*nWqVd zzhS;jIJk@%Pob##Z@taDTsZF;=C_68pE7?a9QmI4TkS9V^S5x$L+sxb?Ll$=L+Yn;rbXB_N`-HES$HV z`32$V7UtE$<%2oBEjs>i<~_pkk<1w^OSvXS0e710SBJ()S(>VSm z!okzIzFaRH8pM2`=6`ei#lpE2%r6PYE1BQXT*Hia$g1NLsAb-xxsJK>DN;WgnGX{# z&*$x*A{;GX&KJ(Rg7ZI7IJ=4C*J*BL{;zO&8goedU&?&HaP)HKh~^;k3gJW{Z$Bm+ zxQe&GLpXj7hyP7Dd_8mLT;9Lv4a_}-fPTX3_io)5e8Qqe3`*> z48Gss#Re}kc#Xkd7`(?|tG{=D_BHrWgL@m?&){wFqXz(C|iw(ZO;DEu`85}nFDT7}#_&tNS8@$Khb_2Zoccj5589d0~5e8pi@FfNZ z4W4K45`*6~_ydE#Hn{yj@BZW(Tww56gIf)rW$=9lKV@*#;PnP?H~2?`_dUa#{~Uu) zGx%JCFElt{@KpxSGx%|XUo-f9gLfF5ai%x_M;Lsv!374F8+@t3*BN}5!H*gIg28Va zyxHKL2LEbs_P@OQ*UR932A^&4XoIT^o@#K&;3o`TWALX2XJ8!eZodvQc%Z?B247%s zz~E~QzQ^FF4PI^VW`n;qIP)xT{(BpIw!z~JZZP;JgBKdS(%_8-?=-mm+1~seVemkM z#~U0lc$UEr82qfkD-Dht{Hwu-oa4=JUxSAjJkj75gKseSK7*e&c#XlI8~m%m-SWKo zJ<;H^4IXQ7ox!&nyu{!)4c=_Yd5AavM;YAT;IRe=48F z3|?vQ7K8T~oH^8+zk>`u*5CmK4>x$C!BY%wHF&1McNqMz!AlHYWAIl7Tf@BjcbLKb z4K6fzg25LV{9l7-8~l*LFB$xy!FvtP81Bvg!3LjVaK6D88a&kPiv;N=FtZt(jC ze{S$@gZC-&?oTg+2N^up;AVrbG57(4pEdY(gFiHQyTQL2-0@s*{<|C8$KW#zE;hKr z;L8jS8@$xu4-DR6@E(KHMtJj|ZE!Dx2N-;=!513*AA>^%M+|tFL49*_y&F`@WpJ8x;!D9@bWN@p&vkbo5;DrXS zGI*oGpBwzA!3UOl_wN{k&op?V!8Haq8~k5`XBm8#!HW%EWAILce>6Cw%)39`3_jZ6 zeg+RVc(lRg1~(Xdslj&`yuje+41Uw#4-Njx;GYfdFvh$8-3=aSaG}9v23Hze6PU^3|?yRN`u!Kyvg8C4Ne$rP4Mo27lV5k+~44H3_jQ3u?G7MzS!XD248LP zEQ4<`_#T7j8~n7v%MD&>@H&Gx8obruFAV4c=(*#|D38@NR>DHP|}eTizWE z?qcxmmC^dYnf+6;XReFDXyPodAC&!O$m7toi`SI|!AYv>#3Tj)FJduSJw zfObQBp+BK?Omt>K?V(OkHq;gB1|0y=67(L>vC#1lz1!(zC>J^vq9y02L8n6lp);T} zp?^VxpmU%+C?BHtKovlRP^S#b>J04*?FV&%X!#_)>!=%a07T0*4}uPc4uKAZ4ucMd zj)0DYxEgT_M>po!3V(D@KOw&{n;p$cdcR0-8Ulc6b46Vwc~K&{YJXc{yf zngLx3{Rg@Xx*Ym1M9b@jW;X+5`Ov{RI6C{Q~_4{SN&B{R#aA{S8@}XxpH4h#pVMgtDM^P%7exD8vfCfTmK>vcyg3gBMyCg=5Qs_U>Wzgl&f1xX&Aao^k6?8Rp4RkFu3%UXFV;kjA1vCk|5w-ySp8;J8-2>eR zEr6bcUW4cns5hZi&}!%{=xyj7XbrR$dKX#;#h~|~_0ap!252Mn0rVlX3EB*8fj)w^ zLffE^p--SV^eOZi^f|O0`U3hA`U=_s?S#IDzJb1lzJtDpc0mbfH}nIv2ign$2>k^8 z4E+NA3jGHC4*dbqyZ`=z=ux{&s0Va3)C)Qex)Ay|R0-8Ubq1hf&UWeX*-h@^`tD(1`x1o2SHPBk<6{RRCESy`wHP&$+WWkU2=aXY9z)DhYT>I8L$_J#I?xITt!0S|-@fewY}@wCICBcLOp?$A+C4%7qc3DF~By`W>D-q5koanSM53DAj+pC;(joT@THI=0G9n7U)*!Ht2q60rWKVJoGZO0(upSLGMBDLtjE) zK|7#tpzokv&|c_QXn!1=uF#>-G0=%nALwK#7wQk42@QgVL!+TmXcBZCG!wcWx&Zro zA@pzPCh*PBm(W+x4k!WbhJJwdLO((sQ050g2SXXiOBU1)>Hz(3?Ek;9{~4$UXF~si z20>>*XG7;ec~Cwy7#ac_%a(BaS#(2-Dg=qM-$>H+nHj)rM_F5baNFx@_LhaEb@MfX!cb z)@*#^S(}ZoLW_B5zWD)U+k-xkTw;G;*=tr`U-p>jvx)L0>Lk1VvaH8LeR(le4CP@) zp$|H{zlp1pBD?#`x!NvYe)gi@{_d(_w?ED5wd*gqRyGD^=n6=mqim^e&|dPr*3|Lj z8?M?@K0>XLKZNQbe8|>5hleVEKYfE!!VJS#w)xxGE`xk)+hrN5zCrCa$k(XdCiPuv zmm&E`)7FYg+y`1&l8>`(HjbHTS06rhZ!$#&HYVWB*nN;Q!xpdpjY`XoD z^GTm%cWoEw*Pq}v%=&xWhS~mhw_(>G?bc>|M%(>yXP4Ram1mdL{@k1{1t1l6qO9spG&tbQq=AuEh_PRN?ix7q|Pw8uP8F?^v&m5 zUEoQc^%b=ZwkJLt>rei;vHpIs-frqp^sVE64$wad z!>FNUeoyx>;$Qd}}*M9Nm7L_Pzqzd|hq ztj$zP7%|$Pvo^fdwo~~Bl0G;tF@61f++4MhvhCki(!M5CTJ<6Gy4vOze?wzcwLVZt z(x_ym)$$Q>*}7(T?`hjy{b$*b{Nlp=!NrBD+PF_^I+hsKU97jM86Py4ZIn%^3E%_f z_(r^KX=$P_lxzQ%CiU5J!7+tpV^Bvty|vi99kv)f=Zv@^IH~mpS!zX(Qs}K1Oyt_lYRR)V-_i>FHp_s%oNnmU{hC z?2L+)VsDf^_3pU6Jo|%>oJ*JHpHkaURXrVJN_+G-)@a;_ZwCni?yso10Tc zK{Bo++$WeH7ebtHs@}z4R9|0RRg0WB)!JW#?MoE;>35fvpW67wKs7R7+lbG{t1P?v z8+0|zjdfG2Y1lyDtCs*NdIi-}&|XRqsbooMQ!2VbRJqFE@AhbJo#ghSYLb*tvpRtF zstq0K!;nQ+^C~~CZ(FNTY4lJ^c^8^jjJCC@x}~+L0rjcA-twDPx}+B?6@tIAUyTQw z=)%`+sp(hgL0k{Hxrqx@nM(cnxUg$#tjCD7c}D%D#yT7UWT2GxrQY8hsKeo+3~;p) zzv4z3aH)$m6_#?$$5>$rhLDKe+JZwml{a0ABkHehPGK)C8HtjkaSCn5U)|I+1y_%< zA@-zWox-yW>9?Zx!k5OpI^*u6h+VC{v|6X8d{ke8Y>xF0!$HCoeM4n+9eNzKMKRiA zb0?fL09Q7BA?vScr3+?kMB-zhT;0@AQFm%T|D@KMn(8LXA9Y_U8V*&J-xUN6$kghl zW>kD92h*q%`R70r_~=w%WWn1NLrq0(U278>73yKJLBl*5B?T`j5AkfOp4xb^Cza+Y z7$oQfsF1iO*HxgYP(uV=-6p6abosh!yUVW`lPoy>Renacwp34dpA{4QY~l+ER~Q~9 zxD2fgw#lDAsZo;j=T}y?*0*A^fcL?lUxgBGYHDoqS5l7EcHKsOwz_Q1E!bfUSg|p( zqSEMSG+3&r;`-yyC#tHg;j@oU9Bz;$qQ!7 zA}6XsG-N7EEiFybFSraim@W#m3Jpf9Ra=eTi((F@j!S;hq>k&SpZWx0uBVu8si>Ud zF;!JNrXlJ?VecV0pg5Hqo2sOs*x)ooer2$;s7Q64lq*Hlo4OK1XHz5DQQl~N9p9?j zdcTuaU1M{#ADx{JPVH1hWo321Z9w}}r`wV`T^y=OL(7ETSPp|&8XBrAJ+a+;Lg{nG zZX-bz*gv_cQBHF{IVFnj>eP-?QqsYrwB;bFJXF;-qb)G9p_?jB5agd$+cE`5t_HIS zc7pbq!@*SBm9$lL>U%dyCTVTGB}5*^Hps+da(lC6qJpGrV8>__LalcfE^4GJZ#%TB z4p7N7Ro6G7=2oZ9Wpl%sF>!?Y%{SRElo>pK>B0J z3H6b#z2ZKzMGaN#T}Agqc|hM_hor(&6Q#}5Xi!N(3u^1pMY<|q0bQg`ZmI}O`DZg4 zsf#Kq?PKAJ)=*tLc?w!fIZ;#j;7o4SN3oE*UsMRs23=;Sy19&~47>*}8;aPrd0S%y zg2CPD7EW(QN6f*8R<~46Q3cZ|#o`(D_?c3j-|R!}gQTQJOMH4(+dJm+<8#qv&?6__ z2vzY4dwA!vwP3tdS=)kfI~_H(Sqkf!dGq+B+&V>ZRdzcWr>fc}XPVBFtTxLOkC7dx zLfh$3tyDt`eY|ZS9yi;m*P_&AoG`hzQEOU};-nyZ%BoKu zMl~msQDezu)XU}>4Sa3GXPsGrq*{0?pKVJj49CY?5@L5BH*GR1gxlO!@~I9T$4fqT z9(x-JrapQc(|h=E8KN&tP+Uy9rqDeydvH3eqGgKinfSMiM2G1%96xA~ri!K+ez_KMJYpxMr^Zl$%9KIj0=&RYt+dmx{|=Di_1^h zUlp)=dZo0n9Lni#nK9Ml@mFJtW(;3(4e3q?W2?#3)O$m-)l9<~hw(O?(~!9Z0h;Lw zOU;4lW2v&++F);aCOH>3 zMb)mMM3E;y3_A6C)U8QU^hNbe)s@;qR}4DUJ@J!0Qblp^kvoR6w;4e$^@`L@BDCPT zMk#}Pn8F5qrJ=~FA`0zlugTwl%K6Rjb+>+kk;Cs=U5%(!sP@{EtgR_r z+B>b*NY{RjboO(U4A0HVmTZ?ixjkG}Ey>(gaH(i1rs!yf&VB6xboQqN11Q%;w@=S7 z`RSKES;fcMV{-NB%I>r+K3wp&G&M?V=5x+QU+W~ys84Yfo=?wijBc$)H{q^(rDm^G zYM;sU3!@BOZA)F#FZ`QsMODc5#p0O-}Ih}+b^6w!$;i?YQslQvKUbsT4hGhum?OF0jL($y8*}Q zN?aS=36qVc!EvpEl5LbBFSh9NaB7*@od#J9YD}p2t{Uk}mYj_{M%**fA+dPEHEr#i#E2sJT+R=8u8RK0y>TNY6{q+(`GjsV^MU7-;m< zOp&0vPlaAow_to{1FdH5-9(j`>n@kR?deXJV`v|DP#2d*~afu5Q=ujj;v#$mH$0Z^(G>w_zcSo`ZEKwZLvK|s^Y2U1x4;$#MtI)+`Fm6%z|q#DRk1N9i!c>Q5MMTj1TNo zX+coxG+aKOg!D0VnsjqIXJw@8Z)c9xHW`^VBjJ+MlReDy zd5^4~+E)p>>(|(ZfIY6@-^R!S#-y>q_zHb`&@cNmQ=m^X0_QXvU)#W~sy)hfTRgKH z%ENVEggE7`1?Azn7E~5>l5v?k?5~=EBCM50-DNkYN?cy<^NGw!=Kvd>+cm^B&c&rd zUgtu!-9{=1Cx0~*!aXW-!l|K>5nA7UmQHxVQ6+RKdIW5hN-x6qY(}!t1**bQbP-50@YOo7@QVP51<97 zaT9Jw(-~K&T1Nlmy2eS=K-bWGDDq5GG&Q)!AKY4F`_+!GXdc^KU8R!49a1b+v;4TJ z+Cm9CX|avgYa?<|Lscz}A1N6BE~%+O*;#({|C}$CrX`CG8XItnz6vXHD(a?H%xLyE z)#D0<*CW_obRe2=e<+1lL!;YFBLsR@qQ1IiN+Wie(`jjKsMZ(qY~jf=S3tB;D6sK# z=e@X^7NNKdoPQoa4)GV+W8xux=bB{*R;kDY!Vtf^9V)=>&f%vPQBd5hm;1`vh)Y6c zRI@{vMN(rF`(8|e>n=BbdneyuaNnC2v~Ny>)mlD1!w06D$aW`K;2%u;;SA^ta936> zgs^uH7InMQdt*|p=0XF*tWJA-p@De178-~p#Vs}ElYD2az@Kzi2qyP973iMQETDNs zbyBKd<`otjQU0|4$vwMRfb~l-%ft|oeUSw4__#fs2?vC76=6}c3tUqG1%77^puj&0 z3mBcALNV=(WFNjfo8YiqAv*@UV-%CmwF~;`NYgP=k1C6-c>HPX6V+DFF5ziQbrV(HW>y>ZSnO(ITb=81 zuPG@c4HG;G^0+}p!aA}xx^BZIdFggadn9K;h8jlNwlziKj-O5)i!|-^ZupG_Zk{Tw z)^O?p4$9ocJPW7{IA8VZGsVv2v4gJQ%9|&P;ZJ9QoM5!rSrwi(qxQON?)7J-t_5iL zty*i;SiQ|4?A$O&xX8hRB1iJCi-s4OlY^wBjx)sP1iKZ`}*+lEUgXIHkuw>;T0}xdX1{ z#Ik)}A!p{?SvTk2bV1R`GNfDE;u|tf&*GP={<*HPF+c}Njx6=c%0vgjw4w8`k@6w%sXu*Wy0U4mxZ8)PCx$J1hSh z^b$T^l;DkQuMc!WxeB%rPaI(VvTG@Hso%EgmC$UGbGoukE8QJ-+I~ufs-~-3=X9{h zzlIKl><5Lza;uUiA7*0c&aumGKJ~x}h;^FX6j2gXyXu>HjkXHLcMqB{tKn|75LA13 z4xr2Ksva(@bC_I95wW4^XsesC?n>Wwc1+WqUEx48YOCvbSiym+^ca$^plK3c&BCbK zLCM-TCQEskqox%rr%!h^5>iz9I@e!8tDoF=VoLqPoRvEobSFLxMW$BcxGM}9_1!oB zbkj#o234!onP^{_ldiU3-R!5wG~5>xuDH%Dpv#B{Kh6fAxy{4*UaM-j z=meBIUZs9ol;jy&I|hB8k;OB(CWCu)ZL>RuXMF8h+JucdYnupomctn;x|cY?-;z+|74kvu!%j-x!!l#s8IK9;JrzB6OVyca*p^oc#(4Zhi+f2Qkx3w;!eneg6CtmO8okN8T~x11UP;$gFnVeh*le(1at^S) z(8-+(wQ|W-&Fqy-oHd%&U9#nkSMzvaWmb6rR@>q4v;>B;6{& z6c|lk>sb{ijAw^+L|JY@kuX5RT_4?(>i|v}*ei=l{qChjHtAzsR*gF?^n{%2^wu`l ziKM(!hzQH-gVXoOp;hUUw z@A{pTQH)krufp-Hzo@+7o>?5OdDMZ<=VDJ-BJEY>5C0ItjRYLQ~(0YfZILeiTy`0@gsH;n2@ z@?t9MhKhii$YQ9Z*WgiV)AX7T^^?~L%1?U&L32xERU=kMp)L2JWpeEbUp=dqTivTk z>8-Ei$y48M;NSWQA13EALNgCXd8@SSKt_GqTOqCnnCV7>YQG#*ZI?p(-T@Ooysmx^ zQFFoA1<&k=%S*L3vJn+nO$<5#csSzlWL|3I7-*W^9iOKP9e*`D=?*|QGx@-ZRo$$j zP7BwMG6^L^8t`YktFJ^LdzSB5dp_k@s30ofXj>E&msY8_O{W$GRr|8z!^u9fYkmovF0iSYnI z1*4y8fWYK*w>qfV)4IZOcgpt`+`;u~QzxivkL@0b?-M&==#bESHLq&*+MV9eYj^cp z?hNQ2-ec3@AIWry)%f(_9L!IB>zxjQ4fW zFVw4gq)k8Ninx*=gO>*eR5-d?5Z`JwdtJjXFs;#jQ4N}6B+V75h99-9!7*r{%Ny7w zBd9#6BbI;4G~~oTskVitd^r-Euuz^ys@7`8-Ny=t4tDrc{HMOV>c)>K9G4upDVJzIO z!5VhD?IH_dVdA%T(@R}zn<{y|l6upU*G@T0VNUTbR!U_W4PohpQBES5ee=9a4+DcL z?<-%ELQsrUAS+d8@`FwI^Oo#cwZY%i9%K72LEo3J&&E z1qXAgf`d6#!Kn&WhP6Rh1FTkSC6`=M5Gn&t(IthD33S;*Rc7=`Y85W2^v3%!qt1_) zaqZ!e1xHTuq@BQYk2UaA5}T<9Nw(71L%mg{4KMv3iPYY%cdVoiKzUPBfekIG1E`^YYOh*M z!=(1nZ(8|hUs+L_IuMO-Qv1+5E|Ps}sfB36OjE9HdZpNJl@>-2{}hiOXGoE%I&0dp zw~->BX%(rmqP_kxW?Pw|jz2jouJ^eldr~pVu5-)x&q2`or4EqVntCsIo48z6O>NsT z>6C8EH$~aGcBPG2@^X-W_Wj3Pxn3{QMk*`T)O^F zb;44_)Mp#{q(0l+wX&`9@q|fv*Z?#DWVViKm1G8J4}s;@^0Hy8P;z!_Qc>9_jC zarz}Leey_^w6fDf3!a2~ipSBMT zW!C*Vdn2+M^Qj><*HJyD_5@S!A+{|%Uh=-$+4giw&WC22F4t0cm7*_7Sy3pnDGs## zO5+r1wO!L`Xz1*j5!DzL8onvsb#H{AoT^QyK8?s*y^Y<7hEh|5a{D#fw!b~dq=6xg zAWudstzU4XMxWGbr}S_QOIvvC=^Ta0m@w7r9%sy`!&IZ?$F(iJ#sqKPl)wK6WaFZ6 literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/lib/libmpi.a b/macx64/mpi/mpich/lib/libmpi.a new file mode 100644 index 0000000000000000000000000000000000000000..36414ba2e14f3a954a0832d567cbe10dcb905585 GIT binary patch literal 1604448 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

9rP6p5Crjl=4*nsVjWvlg4)j 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%0DK*|hNKy{z-vyF;# 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 z zg0aU$#4hXjPT?xfy9X-L!vI9s@A7auaE9fAN9oVjKt*vlOR{rFt&>!)7L?fFlw)J1 zJlvKX>Cd`AReff#XiaD#b6t5@Ad(d>{ME?s73qt#fOwt$6x!S`)*0ztUrwV3^fY2V7w zfvHfhLt6{=QkrP5DuvDOEBO(`p8bdxl%;3=#41=f{L&tTKbFFQJBbdLf z!P>xR6#e8Iv^#Z$SveOKSlj1s+g)0*qqG7CLcJ56&8-k*^||2?Fd}B}mepfTsxG!l zW|dm=E+Mzr8adUPH<4d{YkBCB5=4jD*MJ5rreLH$YigapYO}qjJ_0aVQ}C{?6p8g0 zbV2@OnJ-RHEQee8$uhr(hif^k(81K@Fp6sa$QcdRlH!gZ`euvv9JmuFp1`)Z1F7`^ zmT={Pfo&fKDtc4_e}k@vC84dluBVF$(%fGq>jClaEx~Tq!$e&VJDKqvdtMJ(I9f{K zEi}E8|D0)(^$?x1Fh04gdVew7ngd8P1ifQ_3wT%AX={rocN?JSW&W!CQ`Wkk02n+^-f&4)(F0!G0xG;XNqu>XCI&g2F*9A29Mqp= zV6_{2Gv69^ZKu2yRi{t%oU;TA^VgB%s5%Fc8OT^%jOHRt({#L1 zvsg3;fe-ZJy|W^Mm3IvSEG8}NH;Yz)eeyH5C!ZTH+?nF?k6mKE5tz1!bJ@1ICH0? z7wo!O^@6W>plDsuAgSy(NbPw5WuM?h&=Bo?9NPPpqM@we1J?V-Ob9{hnbI~TA+whh z)^)$SZRjY1o=+l}%XT$bLBQk$ss>F!Jc48z&P6oPxae!+htp8} zx`Z;aQU&#J-l~SffH}Q&AY9x!hm|+wJcAAS)85sty|P=ob~6vU_5crW*KSta5T;dF z$9_ai=!8a{Q(Ho5TE=KTK-dwQp8T+S9_CS^r05r4M0VSlM&E2XpvLC@)D&O!9R0ai zmL92RO-e9?)CZD+`BuxOowb95wpBZdd^Jar3RdhgOo6ML!$YU`4d>off?PYh7w<^i zt%n(2)R()0dSVowX z!x16VV(zQCmmD?k`XlEzpf;~vFGHO_`ga}pHar;kemuMbFPD1wg&>#+$LgKz9}@3l z)?gdJ_VY8uhsL;m7}4N zyc*Nk8Kk@|$xYg^dK#k28dK$1Q{^mE#n+_Dol<4Csq(0)^3NLm$`Pi@N2I)8nNOAY z`Fz4M<(HZAKm4X$e7s5dyQKUHl)uK5zmNyLc+HgWzoBvaVm>!JY_WmTedGJlT`T85 zK`kmzH=L;sJCc8e7R{^X0f3+F)X})&{l);kK*dw9= z$5v^1Co=O^#PpFnS zGy*8Ee~A7TVA!piQw2Yym>j&Mn5Hd+RN2x}vvy4iMY!rZTqDdHNe=mg&9KsNL_WbN zNEK`4eE+r{wN|~g6=R5%{xTpDv#n@H=*#4{Uw6Je#e6#;_2t{ou)l_fy1!u=)KYV; z($~3SXS-EXP8sg3ui6gz4=RZFN&z-?M8piMpz zUlg9-N*1<$nyn|<_O@fmGcfdn6@S_+1*@XcB)vU9jb#}|D&GPD-SzqV@9 z%oe^`Y0Ln|#+iO=rGJ|!xiH)ozM9KnSV^6rM0nWq!o$|_2mWH>ZbP(QpDBg%+D_3bolKP!Qi&=uyf12W4&8M%H)0ob)82~&Dqp|u7yPSE zfGhzva>7!<2t&2M(iZc!EYbGg_(egwGvkm(?f)VmO;kiGnHlLVjJ$xMD~(*mUQ$FB zNwDKuXOto%R&M9Fu8BzT%v}`Dp@ht8z)rW(v{9(+tnFr;hszr~OIj%W6{NLW3#Ts> zgdMF2`zZaEP~1s`-A)cArR{LmLVn3ti>bsH zy=P3X_*t}`-$3*240jhSBx{AJ%+d1-6*@=`RSBopJ7_P+URA%_H?tK85vW*&kx}(t zcHkLBr7^*Z9y0?Kzd~TQ1=vFLJvDL7_CP8Yid9p##MUxJ1_y`AuA#xfN&i$FA6=(7 z82DLnFgMNP(Jd0KquC?L#m2KxSpu<}StepeG-Nf{@yF!4V}mmZQ|U99cSN7x5eR4f z%=0bGM8S&mXH4$)fF+jD;-51EsVm_dErhvYnX9Wjf-X2krHfx|16&4sCNl(}`T~2=Y~a8iG-5XPqT<=Y zo|p1}1;(k_*fU4W7WVw9q#X9Fg|TNA&ldJ<3adSHmD-E&G8PWa{6w;5!helLllj1+ zxfP2TQ3O!RWp4&T6X^tW$ssfYk`;k+rdTTDmsUgvM!G(cBLHxz@qE8HqpeU5mkpK~ z4p(YTe0?s1ltOEMi4&`A)o=BalNB>@iuYTixZ@j?TEPbDJQ@2y{pT%YXrt%QV%2Z^ zT%Sesj+w<(atd6&J1c%{oL-J8U$P`fmz2IieXlpH-V# zE#sN=-GTb=(-=d)wN=P|02gdM^eLnua>KqaQza$Pku8N0Z5SUuB6Q7{lfKB8Q@SX} zAIU8YRIF#uI{gm*l-`l!%PC$|An&?Fa!>KT0v&T$rY%A*#s^j{7W9FH>)Cg+d=T|VzMv~gQb@9`|3VX-1sKa>^xW+Sx`Y^gs6D^>|;a|Eqnot~o0ZR`W(U>&AewP({l3Nt02qvhE0%-k463)!-yENoFLIStMK9 zNer>++?)}5(oAm_lFUBW?^C!c_5-l{BYtPP{gLukX@#qbmiT7LRy61&ND!!xGTqBG zLpxaY8Pn}&x+NYJ)4jy6rfjCWu5wIC8HCYTyRm-5YBv|#iPStXMWJD_go7d8!(uTTl?lc^a zpoo4e_cdV%4Rt}{X)#rw1gsy;R25q*nIowa&Ycsf%%nIooBKkzd`>z^rpZZWl4P2k zWEM%LNt4*KnI?rbvb@IOc3CU!dmT2kZ zs=SJ6`l<0W{aSgEAZ0P_?HidGOtaVJJ7!&i$7P&8Tg$qq!SW zv?v%UN%vR1nHH>glkHU|eNI^EzqQ&#a0^V`*`ks^X`yqhwT`VW@8)k0OTn=(be!a6 z;Y-$w`w6dUGwD#S@xn?M2;Y!n{aRXanONy!rD>hE#XE7UV*FTMJrD>i0 zv?ERdtCCsm$-?jHDC5fBMuyXNWiJ=;M|32$oXC+WY?Ud-rqs--se;C*rf^~ZDS9N0 z1g(*rnksNy*v-l!OwRRkUhFz`Tc56onEgl`VE*+v?@Nr(lb42B1%uPHkjLAjkvG9P z9q9&!WRc;YiXk_2ZpIqjn%g+qroKvJq>eG*v+aYmemtKmwH_8?X0|uwve#;%8R}Ad zC|IJ=L5l@l2z^pkfpbYoxV#1vDu&L!aKMsqyK1$kPSQl%8)c_*<{}cs);q-=zwpia zmf!xOO};rDP}LxRrA6CI!}`sM&q6ANt5vN`RkeDwln9qBz^|r98md3XbIFlox=-3~ ze9wOrdsTiLKD{iee0mlSw7)Um==@(pifv!3WPxitVGNz}*V+chv&G&x_*g25z40+Y zwn%<&t)2JH)!LTaZ3`}~C)K2_i>MGELzT9s$_u8-mnt-5|FyX)W2H(VRem#)MYXB& zw5f7Mb5$-@h>ek3;Jv@S!i!5hLV6h+L-z`{pva~x6g|h9wl?uFyCD6THPyIq&Uoe<8wl8?AZ`_4MiW6CrtxkJ7r@tbDp1=4joq~Bfx!DhrYBB|v zx(0{6jg=(rHXb!7F~PKPrfFkTb8TGaZlgTj%WmLm(?A6lad0ZfG*C*a2@sdN8yLbI zX~aw>IbAE|A7Eg3^J_(=9bY!n#8rtVj7{e(ynMu<&a}R*)q1{3HQ<L0{g?LtMgyo0E#wPIDGV5*8iNGM=>q%H+o7jKu#juG=dmj?7yVEyqbnTk&33I& zpjxRA5*i)9q11Z6wBz!^^$sjJ%a2IHvW5nLWum|`LSgw-QjR*g!-i#q!tw!yKNVO4 zMeiF}+S;(#{s&oVPIll46m9g?bYm@tN6wx4TWYB_bS6es(OG=eve5PZC^kYpAlqZwGM-2R8Yn%+!0OL0ED6ja%IxguejB2MU2X7Vb+Q=)h>b8g^9vi39k{ClLW@~ra=oRmW>#a^M|Cu? zcX7l1>=z3Ab$@XnGO&Ltu>S*Po|_We`NI?2f$~FT!10T?r*IW^p#{;!c6;KalNgIJ zroHyGXIiS0mi{g+Mf&cBp9b#4Za5f78Q1DQ;mTKb4X7wzyvy74g?7`U-A%VLO|QAZ zY5Gg)q3ssJ_Iz4_nQuEf)PmUgY^v;mXuR{;9*BlBm^E_SUhG$hRj{IE9NR;U2rB(6 zifea)47G4}4*#$U%(h2tp3o<2Mi)bQ~v>PjIpo%ezO&Jia zanlLOPIO}8ox7U$;z59hh)&QRbn*0H&6F1hRHVP^z+W|KZpwH+nx|j{yCiCva)HkF z$^t0rVj;b2`SI#5eqf*58fbWH%2zTAF_92mHDWDEC(!Y|&5GW4jQ66qh?lXIQV>_1 zo}Y}>#rb>c!HjwKkyP>5o=XY#+>QYeV|_5QYr&f?)`IVvg4;ipg1u;kg1eZw*v;E0 z=um}o&8OQo`m~4%F*(6gOKsI&-45skh&Ba{+#q4`d$2dIzLtf zQi*P0OqpxNl$q;Pqezxi!v?xihDHXD6>-*stAuQ>vWgEy51lE{6w4k3(Xl)b&#i_=re~kq9;9=UPbAVG{ukVXu14g35scBM6gAIwv|S@+Obl$ zMepxK8Hp>6i`TuSpt-O5AwCq~J}KQ*G)`z3JHsRIw+>MgirA$va$0Y(5fHtG`Uoe! z8P6+98dM)S*H{<^M$!)uEOMFZ?vG4NmE9ZBsG6D@Tnwv~AAM6%`p3vFN% z^c$m~mCN>YGd4kZyx`NZ_yk9&FIA;HRg^@V1(4 z&%_qE4r?wZ+d4uw7z_P+HQ8ojvMsUJ(8rg67K`l?Iq#Aus%kucf5?wD+uEENQ3Y9Us@g*i-CaVoC#I0EQoO{c}__GG>7%!kgI#;P>7 z24-CNoy8`mvD2y@3iDI*;fmUSfB;Rz_PvKInjn_8?cBVo;ffj(;fl5!LtD>{8*O`1 z@?zA*WWo2Ha79~LamCh;9qSu~D{9Fu)b{8`__*5M?w9cu+gmn2!Vw{9O>J*AVi+*y zH;%Q!6jroBfX0jAr|92kC}@ouA2wy`>tly&q-qi8B!a|3o*F?yj3R1^dx0Og2ObW% z|JoE6yGu$N$vm`F*Xhp}?9CdtCXbG(HBLhonVR=()SBlLVaYIulU>UiVe@vo5@8yT zVRNh*``slQn%M8k$Wr^A+U7C+a;lKXMVRjjen8r6$Din}M;(;nJx@3o-#$6i@)P|E zT5syP!d%)YL zrSY&lLOd)Fb&g@HdnIn{{sNf!a&Cp+;k*fiCx~yQ?N=E{%i0hxEUcsF$6Fgcx=C8b z6?{i*mrIj}pw1)<&QeyfwQ9m8DV0SW(dq)iUX>Y4eX}g>Se$V5jN4Dq>BpeirJX`( zST2q%+@$CIIEs|G_bqyk@MQ#pzFOy3;*44KL2J3@bDD5P$vRN4fi@8`*GW8eoaH}@ zj-nR9!Tf3a1n#6^*^)eptoUECmCR71ZQd)FDsjKWm~dYmmN4-Bv{JW2P2EmB%wpT9b=XEQKAvJW{KkpnK!RCX6qt{%&Vs-ww^>tJjj5Ts_)_!0O5`)1bgR!!T_ zN--iOrE>sGj!pTiUTJp)V6hE+IFIDe{-z$u*&m+k`HHZ7f2~+(V{-7tfH(09g=>|m zQ9;TDmk^A-yRx#qTo3yLyYuK9*CQ*2O#<>xouuzH|-HFc9bRU?7H@7EUMS zoqYqPnSB|Hcww?%N1IA5_F4&Adt8o#GO}UvIimMqbfWDqBCHET8yUEX_MAT#n8!&%wd$Idl@{aZtfb)j$gQ^>IX6| z1n$D~1_R7OU-fbtf(8$l1z5#zadua}WXC78LwS|HZA@cb1a|iloOC$y#5(utbDPFO zV{jh=$SJ@Bkna-!2_WCaK8$+w5-HcDzr@#L!$3eCE}m&gn*91Yv7(ozgbt0L=X<_n zUGmL?_M6H+RI3YAK)Op71S&#$YzEp1ytU$`C7zFE>!Pn7?3_zJ7Go90A>P-?k@?tF zV!SextE+);D^%76-^;+~I%!=tD%J?&6pttF%qAt&AnTJLep zo&#}E((Lt(DCvH*Rt%M8yxZ6&$DmKSmjMKBlo$cvM=?H+*t})!XOtD z2LkF#9ATF63{tqkx)6|X`x1=BucVvP_BkwKL0I)OF+(uHeCY1co*@|S8G`sIf$tKX z(x6?QlxxULXj(BV;hH>DUA(JJ`9n>`u)`Z^kk%6WHg}OG1Pqo6Pn0Zsa6%Fr zuNDT&96Z1S>^i(Se(lF9cjr|bBzE~g_k3I?Gi-13k8 z(pN1Q4<1!sBoi@9_!Y=LDu{1gc+xtNW>|1mee@>YFhwTr(K&P;$z~-V6v+mOFfw!{ zvQ0QtXUjJ=(h#xRf~hLo^d%XaL@h2$xsC^9;%{qpyx#};81L^jmA!G8r*~H;CL7ce zG3UwFlvXSOme_jHI}Iv7Y3d(^?aVbgqqIJoqsr{1gX3r*foZZFX46J&7a+Mp_$AhN z`4GMM9lzs@-fJ5zWBNMW1C^O@J`1mNeo-CJl1;cY>c(@kZXlmML5a)rmRTDB(LY(mlZ7D>~ zX=pez2kUiWyp|>;2nSzHJPqP`6Q2>flEL7Vg(o3xHB@#ChWinctc0+L{p0{Hf${pu z&NXCXN{&Cgk6&WE#!fP=#UqW_b%&Nj`Y;F|uuUUD1b3T2gK8P+xMol!tKEP| z`WV6tK1_WLGq~GpPvYnY@dn$Qc!S$oZJ72J<)&K18~n`${4rbTGzW&jy6Rgg!K@-3GInh!!Oea$ns#u& zugZ|#>ZqWF$5ObA_>f$@#&`ly0rWnz{)?;FLOtlVRX3V0;J_tMGzb=q1chCPI?>7}WklbMz2pSG5{XOFaN7S$gXfSH&v z10r1?VsfAw8W8YHfwHXQ=Nb?&IY)jRX9);+O3+I8B?AH?TKKm6IW0s)z+QahltvK& zPmy{Xh&s+o|0x0@)>gaq77WW9X^O4wux@$Slq<JYk1zTo&4~N&B_P^S^=x@Q$mNG~yjsQxj1zN`69~FM$ss@4Z5vBk#2!%Pr5R zYuZ=SnR!)tet)Us$a@Wyoki#y3SMClj7E0lDgXD?OatiVMf)#amrmw|0yGoJdr?!_ zBT2dF(nZupyo=AxrTv4v^bh!j;-Jg(aI7g zB1E4DOcrJ$U-j+$M)o;dWFHBaB(l$iJh@9JVWmHCu@Qbw(oB~vN3vz zYWAlY5NvI+V)pYq0Byrk1??_UjWFAhYs7uDqf|A0`MarbAr-tvU1Lzn0De_nZ`#=i zzwf6apC4=LkLO|VyP6sf;c(-3&@@nh72oKtBgk+>;v-RL9)H!~cV1vczW|M-MANfm zj(jymfZJq?NCq8ggHr~Mo&V*R4Us{Lx*&dd)AzR~-}~*}FIb|(HKxxVhYQp6oE=Wr z86kmZC+kND(6PaAbvq+Z5t}KTX{}aCsZJ#&gSdWczc?~d{&n>_OTX|TW~tD8_G9m7 zFVT@pkd)X=KI31}lHBryV)HI}v8~SfZFPn=*WqJ%WRK(<{#sFGSm=Y(LC!y6hEW~< zIa9FVBQ4lf3yL={1&@`2_tB!tSHp%Nh6F{Cd(CvLp|VXa1?!I9N5#R))(wNwLmAOU z+w*kWrtau8lb_bmCp~E0CzTL%o2*yHn^Pw&*t?SlDR{qK$+xkfKQxfjQ zcOq-U>s~(t1|Y~TM=W&lxw$_oMI6)XW_txXYD`frJ8cIw%|C>ELYn#OzdO97`n$^E z{;9vWsGP!IhE_cEa7ai{!)}xnPvSpmri&V4!~4lQq`gHMTvD2rz81MA)H)s{3XsS` zepxOkQ@%M}Q%NBFC#cN_;~Cq9^9-oL};gf;Y+_|DIYoP#p2No+YDz`cAVglFe>?RU!MF2nQ~@ zE!Qb%n}#SvGZJl1+s&(74|+dgn)vKx(ED-TO8z6uvkY^YFDE*eTH%*{T+_bZjRBSVU z;3tdd4f5>6ri-&Ql^r4F!k)ntRe5&DOImomDLl#)9_=lBCWW1`mpy^IesY+euu48P znreJljw&;0r|~e8X1JD%&|v?P8<);84J72*ainE2B;?swzzwgdIu};Ns5LQFAJttx zo#)4OfEhpf6`6675SYkIk&=`0>{?T>jVZVj#PZjUHU)cA&}+bS>~oFg z`Z?wSD`h9(G-lV{(VNl$A)KE|mNV7;$Z}70P}9DefFno_lRCB_8EzR6c9~n*iz;U^ zoaeu&Q}eL_{5HDA;J!}EHIIF$;hLJ5ID6RgONFWM-3zRFISg&pPy38V4;7tR^iOFX z&R6)O@)Pf~A?kG%qzU!98paRTrFpeaLwxZ<>+FiSuCdvUG3Pz6R_CB|#BFF}Ag%5D zzM5lcKy2HJV)jiQ%D}{seGMXR{AML*ZBNy)?T(iNtKbI^$6wnWSXc!Wh|;k+4uM>0 z3LanzF4uyxN-21n6zoNt&^-tL8|hO|fC3(p_vH5~oE`H_QaGzh0fun?PKr9qpf_3W zWpIY3eKqr)WiUwUG_OyctH_i6&M9E=|A0QV^r`o%WrBx;A~COhwRlps9Zz4}-o_^;=%_75cj4TWuhz zPi4`fV6bd42nLS;vAiPPvlwH9t(+i>UUu!>E_Y4!rOTf*Om0v5RG;K~N1vKoYZm^= zdmJuSZ7&14IbiD6r`lo!#?1P4blW%d4KEtmG(RKE_FYR=q6(kYsaZ(tOierUtvkKn z8l%INRHAN0=4h-$eJaApZ~W19wXCZ)_XVB+tgE3f$hwkkJeJG8$lS5hopp6pH!b** zDcDI1jyDBAN1Tp5LW|AG6VCmUs{e?UtUn0qSz-g?(%+0Fl5ehvI8v-Z;ru(vaaPzT zn7Q05Y_q0ujd0YT@5pGh!rc2civSp+JdW<#>W|B6A?nZeg!&`f=%W4{Ax~s ziG=!NLa?`@qOJbC_q_J)a~@{Z+@N(`t0uZCChE@*#`dt8gkDN92pmpaN^u+s?~0j@ zElDu+oaU9F??ef5%n(ttm(#iHV@3&ToS#d6vGp@|b#SG@FuBrTqF!kr0chO{kktQ! z3Q*El6JHY)pni}X@jB@R6%h4jx_6|XdQL~_x|6)>Pdn6~EvP@oJpHIh>)(Y48I^H8 zg&aNQT>Y);&lRSL)5vkn)H&{%8Xc9HVk%|e2FUVjMphY6p2zn~Bi+{VVTeQ@??9fB=$UNM{UrLq4bpOA zhn#j^G&S$%VV0oTiFB4A)hA1rz#CT=6Y`1dFT9`VV|L>{ z?q~PW>C5z5w6>X;Iv+1&K*Q` za4ZtQ)f( z>#LSq0-Sv**^;H9#Fnh^cXsz=TNX#sm2ye~5MKjy`=0gJDXcE&AlF$sXnD_{po^q~ z8N&NWxu&Xw@~ZB(HW+Q0!oMxjsk+)*SbQfOMMBW|u`leI(vzLccMjj+!;4LAx#rT$ z)`eQpV72kfDyRAtrg}ozol06{F)oZ(S!~@u8grHom~wfU%3PR@;U*F2yb&v_qX zMU=v+N&oP1PwHyy+sU(Z2MIbR5BVRy*;$NGgeM*%hI?3O%SG#Aqa1eW>!_6Agk|!` zzWoW|t72J!T@FK-j+Ht_z?V(I3{!BN7ChG!>?{SR(&AW+hvCrEz3y*5CTd&L{mt9R z_Api#e>V3iU_*H@)I`2Be6Y+{7;@ko;wI0VHSMc;61>&z zkMG2o;*jTGE2p4MeT2b3`Zd%)T=J13`A)iSA4K$3OG3>-zvvGHeR0onnS&m=U(G?j znsribN#aZyCLv$s74kf0A&teqk~3rP$KK!_M0D!km1#C~P+EFEgO6BCIbZafSb7SYJT7~N$Q;Q~VZ1vm%CMJqLnhuS*WrkgBGH=kj;$zI4?+jNu2yN$eXs_g}p+}rb~8!ywOK{Nh0 zL*$dbw?bQ(vQw47=Q!MZsS12$?G=NsU{eYVUiO$^a4&iV2H%DR9qWk5sRehKf_+TE zyS3nDrr_lij6Yz@ObPtOpwPkI#LM`U8T3emn?K4k=gz#F2YJdfvmbg8dHfC-Hk)v29DPFYJ@SxsoJ8nkg@9h01E?QR(jsa;~sUw=eLvs7}_xg)poAol$_2XwnVWrff|qnNs8dZ_8s z)caW@(|Pam`p6BPZ_FoW&@SRTiJ|@2U~<~>bb*tpx2R~|NP2c0h`JRgG<0G@!=azzV-$&~oxiQyrY62I4_tU3G+{{e;+ zOP3thvL;lS$9XP5t~ zt*@O1Qh0`^`v%q5o+jVX*K)8}(VH1$IRe3(P=B{T@Rp{1HMcwZ+DBw01cE*2Ys>H4 zi@qj8wc|qDyuRjhKs0v_IQrU7W&C+9j}+#X_qL|8zc27$Y(K#vako47K0)Zb4|q-C zhfLvmZ(-5H9rPA`?YH-oR_B;NFVudWYP2=h)V`aCq4gJO#m4&DE2ervUt34ot*;e; zXQ?TkZsmvRI=>cM zJ%Vqy2V8>h-AL~-zoWXPwAF(BO~EWJIFj!nAzvc}L!!E!;IQ+=e&$~Fw>W}8Gy2=R zDjy_mkwUZ+^jh!36`qFonicv8erC;UM6hpq8~frkaXBjpwL(^vkYe$m<6uU{;baIa zDG7e=%vXB;Pw(#^%+akPrP^8Begu<2xg)i}$SRUM1wg@4OX$*mjw84pBws`_dM2^K~2 zf4E%-|4N1%e3~z#6v-Y&%7s=#6g`aU!pL*<++g43rgS+_d3UzO@anHk;Nj@CjqtF7 zihTQcQ@;lfgNIG_=xooSBTNJ6@V2M$sbsi!wx{3Hm^**S`W3wR6WwfPXFKU@{b#BQ z-f~B^R{%d|FTU1{U}*o?V&q}nUn5M9YzoN{#8ZOd;&xzRUF8koOniOC0EXv!;U?p| z?yK$x_TevQJIYD;``8HnFdT;*qf@c_Af1Z+{;E^)IVsmvm>>YjMUe5P8Ct$~qek0} z%?FUi+uL#$F!n2d)O_$|o_-)53pV7oBeGV)Qq~D6Joaa2tLkP0$)<%`FhvWBnFVs2 zCIug&MYqK7Sufy-`1fjrhRf$RS}|9=VcQ%EJcrFLQ@JmD$I;NrAufYMLFhzdaOhy~ z9Qta6PP$Z}E~e(Mx3EAY0;}s)o_X~oje7kv`%uoo(&#H|ME7)`?K_-$_Ga?>dvz{; z=3x-^My;BVA)}M2?Re5cC0&lOu?Vl&%yoNVg$^mP{^_s(_VCJ_9%+@mB%%S3#l)=O zf_tR-Xji)Ag}YckF3U022h4FDntX7M!R1Ab4o&`T&xa=C2RVleBR!xI%4N!FhU?X< zw^WYsPu+#;8etLf3*~izQkA4{?)+Kii+{j3H@V-B{1GaPXR;wIzxrS^IQ%FXYhyFm zeV{Y$dFS4vrsgz3b+H-AwzV`}e`~Vo2a`=V z+^tPld7B=d7+P@rkyX;PH2Nhgf(4tES=qxiL9du5-sItePUI0sFNuy#H1PmU1jAFH z414gOznY@9wW7rM*NS6p368aY9<7FC7g8;i&2gq4$J$P8)qjb-sPjHyA?yGvT6$~& zf1DlcM3IkfvWvVaMQZrtUcD~)M)@6w$^5UN+oW{wo9U~O9_n`D@5SNkbHeA#<*B}z zVmGPTG~ocn{db~=EfWs*p+7t-hmW_~IKFF{oP!GwYNPgaf_q_O=uHSE5<5)J5+4t6HAL z-7pj55a9SRY~QmZ9KCy~EW@8T#+ie!fF%(CV;Atp|B6^Eimjs@i+m!iSW;T#K3xy} z!UyzyKk<)r|MXD?*Q1X=wnAC{QJ}xW@~2`0faPzasKfGmlI3Rky)?}#Vpx^smr9+a zfxf^|4opeQ2tFNQ?q1a9+RM za3c*ab2l}Bcbus>frp`;k82&For3P{ZVSeUhp8oTzLZM zj;-1+K1|CwZ?GXg(jKTuck1|E#x%JGY8u~&t!Kr_wZt6j`pmKSrd#$&gBdfhJGE)< z%|*N^T#p%1<4UO~7Et$6N}QBq&Zd;@B;=K2I3=;$fqJ~!5{HW!_Y=Hz-;y&3L*fKK zkstj*tCxoe^!YdJr`WaV4(-eNq+ERw0aU^;`88mqxhFL`k)==U&~>6CaN-dUlh$0+ zQS(p8Ui>T?zR)y$q-l7#X*k2%uvkW$G<>wDVQKSz+APJ)V|~I}k9K=qTy|`6>O)>> z_-;q?#o>0U?S$L@MxlOS$|xZVIs9p+(2g3r&}mXgoP1PddOAzT<82Inh)hS{E+W(Q zKns`HfhZa~(NSg3&(?wqOu?P=q~OD*;5sRIE&wKoZWDS#NGndw7Ki_w8NHuwb2wx2 z4MIJGk)Z$^6$j#~ooUx{Hvsf8)DxVGT-`}r*gCE#Tt9a1ioPH5sgxCcqvr8XeaLY! zR`HT_NM@Hn(T31Qkxq{aL~?OAFTFW4ux+F7h^bl>l#-(LSwvb5{pb&iFGe}R4&H86 z&rRmz&n*L%GUQv(^ar_rykaZkdtIR7C!ytjE@boQM#QaE2uzcH^$fYFI8enbD(Q(R-n{;@PO`?W=`A z!_090G5US8+yE)dGe0bE;tM2M!X03Whb7!uuPng_nmH_C+&jt=wouez3CEE|2NQ9M zI%%2{GY(5Ak~)qSDE5QQP_9i{Hs7YpF>Ns7aoN8?(ifO|Yl!;dCh0eu>^ibttNR{4 z>8xyAb04a6k@R`gfTRyM6|dr9NctOEXAdO(LeoNmq+dtcP12V$A6}AvI3^=ms1j#E zNxE0``433?Y1983l77jpI_`H2^bFL!bb9Y3{n=@IBI&pACP~tT&C1Tu@J1xPno|Eg zNspE(N&iQtQl@)QC(!W2q+FB!1bt~jc^`Ro?<9SWX?UP%xQ}W0ByYn{HrMcAPs0vL zm-DleCBT`X?a@nK15fnO({zX?n++?~?>j;3>xI^T%%5h+_-RvZGTv9n_%_IRGljC9 zLK1mgXA<1LK|^YWBe%A8rZ}ObA|ffMq${* z`jt@s!<>Sr5W4CABkoMVqbim_9Y`WU69<)GL;@&q0TCs#Xk^Ps0ux9O0a*kDWpiiC z2q;@jqKv~J?z?i`ce!pva0!A0L&s zXFygYdplHPY;CZnX~CS6?XlWMD{rQ*;pK1fvAbY9S`~`|QTa=I>fDJU282?eo2_3hjq_G|7@`Jk67uVs?a}6{6BG1m}l;Ma&m*c(KrWvp&6BdpSknUS5z54DVcpb zC2RddBQpf2<>wid+^3VUSSA?d*@dcRxJ7kwLe&i1rfvuhnsH>PIV6zqs5jW%)=v|v z=%<{(Wzq#=o5N7s ztD^_Wa;l?;HOryo3Pi9I>GJv$JI?)ME%Ghz=jnM}u$IHwyD;msqkK{&XwF zFmiwQskkeR*AX^nuGaA(Qm%bx_fjES%V~hoTW=aY7rBUHEPZ>SL4K4H9kNoU3pOeW zvdBV=9`n%&ECk7k205LFQId-lubPtV&&=myWnU^@Z3+r ztt@}S0V2w>7WJ++|1k|ozbB+Z?btC&lPQ`?`DL`LS>k=N=Zr*UQ=?}~l_ZTL=4OVl zy{pYOs6V>_^>(uKI_ygHK-AKHjTfxrbFw!s)bLzsh|2MeB8M|?O!C(@4oY7|Ghaw# z*JegHG0x!|qo4}_6`5p-{K&7iCElWjwxI`}Aw+EE91*dFR2>mJ4%;!(1Iei-`#J;I z&;Zs^z*h}mcL7{OiBU`3{1ABy#p)Dx1aiY{?6?`LOdGsS`OoP2W@a|6=eV~(mdTN`Z7P6H22k5BH1CT z6K6S`$q|h4*%V`Bof%jjyBl;u+VlnzDQC}`^F~gPIrGmPh!x*%kM7{;K?Q8*UyV5V zts6@o2x|4VRx%OF*zFjAS1P@e_)DiJydm60$hfr6=PCJ_M??+@a_GQ5rlj@RE{4Cv zSl)maJj^f-DVphR^<9Ju!L>*2{Zfv-r&$JUcxu%Fn}zF0 z2CQtM(g7P=bdnyBvBX6(xCOq&t=E41WEo_KcyS>wGS+IV3$jG+mdWod?puo~|ADtE z2}kg7(9djtwdl9(H65Kyt1B50-oh>v;w#{^;634!AuZhB!^QnK2DHdd9ucU9B5wZI z^1S7u^^>HT;)&FWw3Qdzy}n7_$jK=>UN1ZVyM|J)!+j#F5`4y6+LuD;<9o0KBQ5NK zz25-l7{E9M6yF$t*9xF~FgBi%t^k>%r`7QoV zhdse{3baGo_VV>r47BhyN_Q;%0IC2Gb7!X-lVWWI3f%j;1{&{p@LOU%@%F zT`^#`vRDJ}KWtaDFZerl#lN$pR_P=5Q}0mfE4OGJvq`z^iXcR@jRUnSM*RnPd}2K#$9E>&V)MRAzbOdPM6{=8-?wFt0^SEBk)V^HK7z6TA_QZxJ^Osq0LB}@NecLk0c<6JDU>J@G&=vZ?G@Q`rw+=o zN#V+u#X-4a##G~=?BA3r_LeFh%8nI7jEC|&^-%s_@J|LO)d~Dmdx>ZEL)2f~lX<~z zX*y+7dAkOyw6AaE=i=@>huhzww@qCQx_!Z z?2@H0r~i}9@PnCOUc~&eT=+52;3nh$TrP@bYO=TEpeZx!mQ>D23-zevqB=k-S7kQ1 zsX*qLjrmXzT5x#zR4~l+aa$W;ghxm z7ysw;Dn41$K+r7%0}(vOAU@2)^tVJDnErN&V6&ukxhWy$|0M15f5H}S(cAECBYOWq z|L3*FH2>e0v>qx{`rVu9BGjWa`cM3y*BsXW$(z66{{-qE@PD2swNHQg7nP1{W@%f3 zq#T_t^PB4a&u9O{|7i;DZ3>=j3O>hOuqfwh1^00kd^rE-&Cl8T?SJrpUj0}6pEi)o z|2a+QlX|IX)MGQ1THW1^dQI8=Q2x)Kl*Z37u|xw!W{3t76B!M(_Ei*1%>Vhb0u~y; zG6h_20G}1WL-;?jPe0@mG~LD|?$46lGnxlB<%VV^WvsOPZNVOYwCb_<{ykkodEA9r zRE`_*WB>Qe##gdl)pB*g1!D6b2l2(`e+4m{A56gJk1jKL=H5>oa;v*M8_0s&O8?M` zX^8P}ue8KC#=f|-e4+7X4Q@4SaM9pX^@slD^*G}XWj!w2MvpE<4gNV9~r zG>0CO2FUUm>v!YPUsKRuUrN;i?eLFYkAL(h(O-R%S-h)UA{5BY{K&uhhzoWO|B9`z z#4~RDNaaAU?R1@M&2Gn&@L@1<$W_s~%p$xmsH_ZfY?U>cEazNis-`_91-7T4JT!0<7mF;9kflD-$M|i#Mn}*wvLZBrr}HF`iDRQv z7-F#8uF)z-A;!Y3JSAR=L2qqpt7H4&ojUmL)RCT2NXmW6%3D;#)_~#%{Pz>U%M?bO z>XvJCfI%*%M28raWh5ID-FbzD7@fl8gGD_~F~}`=82!0L@!V4wE*c^t#9VUH$P^Tv z!?Y!>zR}07usTj$Ez?Q373pVqV`QxVLivYSNQ}l%&9Y*s;>VboN3|E*Mq`5MU4`P& zd_z939?hn3wy%f_#0t*FlgY}}kCrEMbrhtAfav0t-1a4h8ferWWN1EFyW{C;CF28*1z~{z0+2>ZC9w{{|7YPXdgn9gB?`8ELyqJ~V*!3}90Q z{K5cs5x^amvG26^t$63vgm}%(q0@EUo6v*eX*VYk&^F`B?95G`+eDH2M(#u8UC&O3nz`{gX+1*?-X>Q?8V9wrpY1#Hr=~^i zW6t08csu%aVs=q-UX6o#hjuwaB`)pG_BWRK9U!z%Uq@bAKA`F1{2Vh z#SXc^ajx?7Y7qaj)RaGc>%82`vi!^~o)X~_4Lx{%q@_A)Rg+{=UNw8Ws{CpK8@l9I z(|^MS!Ndn8->mWMQ}0ar1afTowU8{Q{CZQ<4*9iQa1JfM&YP-SIq&R$Mt;3=`QMRW z4XFjT$=4BO{fDP$)s~QQ%de;530n$@{Mz~`@Kxm32!p)rESLPc&w+{jdd5PG%CCW7 zF>sq0ZJEZ&?!R|Sv-b|fQr3}1Yy%%~VFesu0MAmuG6Oh601qL*2m|i_gi1YljxydNL!xgAw0)0}axmUtt!HeG zBKw1E`Rd@0Pv|Qbf2@75I)5xOUkIM@&+x~K!~PC`oI)+&k1uv8e>5^xdyABdKl(em zSN+gmJ#aYw_-c~U@6DDj{>X6@0Dn9jMYs54IaqYXqXzkD9)>^0DPDE{7-|YQ1b>X- z%^^B`^3W)Mu#YAhtEcCy9s)eefGdBz-bVT30YjocR7|DZM9RS*gO0!-=KNE9d}{an z#t~XfHX9Ip;9Ih-CVR=2)i?!diV?Ib{56wwALlc0W6_M!MN=Ec6%1#l()3ffm*(DzlVUc>Ja2iz zy|8VigfMbBPnq6D8uZpFDVutVFR)s^|Lk4*{a`mTJ+q&nQTq7@`QZx=W>$p{*Qq!)hBMFmrqm{| zuOh>=M{dUnc3PadZ^kL$q#E}kOIbw;M3_$9`mR8G14}aZ`H#s7BrilmuR*v9vXo2LD} z+~D0Pw*n5Ev)P`liihU2WLJCoxz`%F zwC16s0H#9X>mf@$B}u5 zRJA?sf5zAzL00SzF?Vu=`uMLQ21HH@9aX&2-0h}e0>xBB!vw^sg650H*S|Oj`A2;H z5Y2SN*Y|Wpst?w4rKd`y`aupH`LwvqKR)t?w9V{C_-dSzAikN4cJl#L%scVpu8>U#m1~&o#Oo?oWV)Ecqcwdwz;~4li23! z3{G0*8|jnEf57QSn=0CIv{0K^q)akeO-~oPgVLNKG|?9mc)?a734tjXhwsT#yo9F7 z7(Yq)hsCb5WZF5SMRsstl5b?rnvAvVj=8I7f2C*6wLoNNe(DL05>SyH?@ilAY<`(U zzZch)%%GgAyDjX63uHYWF7TA>X2uvf5!#_$UTdNfbkZicCX_ny(iLey(SuFVX{P8@SJA(H?JC-wU}70LV#%Le zy=a;g_%D_AVNa{&lK$)!TK9C8kE#1>*D9YJL&{NUw+EA=E5U;z6n;5q|%l>p{ZV%7OPl}z&mF2*0mM4kZB znPwAL<&<-|qrRIrI3p=1cumtJRUcwKYMg&=D4%6Lv+>~f_(`qI#)DCjLI6a9o-von zS8xWqt){*$$28X`?G1A1QpHQT>K2XoS}qY^-z*T=nDCW(gw5kueF#k$)%N~`Pon!1 zlKbX{@@5}?e*yxSEoONdqAL1pUhc^C=v3DGK2@ccaJx4%VZn@3D$C2WZ`Xj(in=jv zhW{cbIBh|KpRH%Nv-OO!roICyn#cxTvtNy+v5~7-lI6~|*@_<=Iy-@;e#h|3_63I# zxwa|1_zsbi1wCCWf{U+KuB(Ud#R%w8v@yCO*yncoC|$>4;(h(pB_O^bU!aDbeh<-pWk7a5g{}~LuCB*a5y(jM$u16&NbEpfi3L{#n0PKGsesltEixLutsjMPg?HC z{oJ-0P7euF_tf)bJ?R zBU>1}j^H`>W1L{J+mKyNa2O$oAzt@3l^SL}vL+bFtuL1c>N53BVT<^cI9y#3xa;`_# z93jm}{n#{W=NN6&8}3G}Rd$c**Bjj@8~8G5|L;m>B|=PD`8^!uu~iVjGJ z{>T$3IL9>cQiD-I${}RBDq56+;g@cu1{iJ{_0Ss>%4upa&*EXeHPrDfTg3DYPqI+$ zh}c_5i+JH06@T4|voQ&`MECL7H2f&IaV)0G(dSTRUxG29$&n^zA zGC7Be+R9`eo+5g-7Fl-B=9A^@*$Xx8Dd}iOJq{HdTbWc+nFg*4yRM}*SlHJi*dm*G z>zraX@RZ2(hb(nO%E_6wBU1K_i6ioHo+_H^7j2b*qXv0KULEB%k`2W&2_^mn#q6-` ztJX@rH7t82+0?NoIqpMWBv{v5+JL`w#kI4Iu<&O_R+Hn1Ne&qNhmnE~2J|YjVZd-3 zMV50rIYz)lWG~UmNCnb;RslQ=AKs+64wqB-$6J`!FeTug?QktA4F0n(K^X{9-0JP+ z`*mcMyhFRI&2)1De^|#baez)D2k5-p)A*${MEWdzSDoX)n|7U}iBFAG5-sK7XrjcM zM>g@NT9Knnk^UDQWn6B`nBXpBpp@|df3P?w%*zjalOG(_lvT1Fp5oic%@xyok?@s< zN$w6mpiT1=x3@W56Q)S=2@Y*vtSvrGPgWz$skT6{af{4KtKw+}TUe8gd2#DU z%3OOim2w>^_mMj@se~=t#1S#K2zc}(>e*8)JFg`27?*JPRV0rt!CWN1kEo(U_;^ZW zghpg1oTa=2=4*GJ>>5L6fyGEd?ER+Jm!fNsQ^2C)c?Nk14jky2Aj{VJ1Icm@gu$Bjl&ps@)Seq7IMzV0?)z)tPiEkTQsMs(sFuC;io9a-^sF$( z!OQxp`el7xC|O;rJ^10+fz>M8OsoF-Wqop;ExnaU%sz9Hq7Rh34?!+!GM1EUQRzae zV~+w|RJvsr@MIiKO}R*7h~EH2rS$N|Xzy?|+99cRv`r&v*HN{>Si)Jja7e@&I>@CXk_r)2`@Ep5nOhSx(g zqWc=1cf`5;X)gUDI#p(x;x+aL)~RVN`;>=6Th|~PLCNH=mwXe$(gDv6W9&ugg`iP3 zzv%2I7B>EynGKaJur2GFf@3QiS%HZuo7+w68na>3THcQ>UNFdHLTDB+JjKuO+qSC5 zLMTx-FY7?J5ix*8k1xA5%;pc)(da;wQ@mnhXn4stblHWiP&!k?<8C7ROwuUP1X2ECpe zy#&mP>lqjq5uG+=3Q>J4;ylF*$<+~sHaBAt!$5~)67_Wqz}?}qOcRS`LBt+}n<869 zE1JoAZS&nl16|cN`>xeyz9#^)S9WXIO9#gXpWbAxts z<4E0TNvU@l+{bx1aOWznjP1xqbf!v*P&0snS!*lk5li_1@joj3Q>Igtw{$GkLDW2r;T&mhoAb%b z6mWn6?5}_i8Ne9=_!1?G@Z_J!pHjMo!{TNEK?7zcRpK14^#2x+W7l2sDHbF2QRgZW z>Eo%Q_M7E&5w$;!n?kr9>oHtA$fQ%qvt`n7vYdMVGEEciY#YGW363q3DydLRCM_`} zoRfk~Iz|OdY%v*`v=v}`rvDkgkx2u@0G@9rGaLTsk>;jmSCMile=)OMBI(vCz$22pf%nx6mV?QZ`Yb*a18hct z(0`-HFcs)fwM2(cmx zu4)F$0{B;xwYE_+co%7EZuPGStuD~eEwt{@IhUv81!39YBj$Bd|3 zHFq|-de9|D?#hN|>bzlqG&ptt5~cS-O{Hun^-vj}k_581 z^djoVxEY6KA1Sg2*g6B)&;V|xkG-Wg8o=%X*otvthE4RZj1RdxkVuQ4y^HD2IH!8g zit83it}kQCTe+&}_ZkI>GO{XUE&3E6XF^(jhw^YgiZ>A+6<+V2ji#H^yHHiw>qOJs zW;`6tZNs;sqKx+T3!izt_E(D`9HLrvCG>~}#y&y9Ju?45@{3N9gC2}I;T)Mcfgjy-)Z@-I_QWNIscnAph7ua&i;h^u zMLPwF1e^PR;7`HuT$`Q6{wSWQbc~E)z*H;w*$!H=|0#=bU-#4YFS^i0IB`E&ezEtE z0cK1Z}l()3|&s52nvYA4? zrNj9$qM<)FcBG{(8s0R3@doe>1r+NEz*YkI93|TN)H**wCL`q#8xFxGm75z_&DtxW z1Wp0LxQfn4z703hE^^LCPEr@wew<694a#dtanXYbs>Q#fpE-|!iHUX9^#A1at`sgHSH73_VKx%18VTSpgidSuz%MMtXH(YAUiOw4)lGXtD ztq>(T&fg;89_MvYB{I(6g9!Hg{jjr!W^H9G?kHf^@Ll*WFwLxCwAJ8vQ|H!st_Dw` z;?@=O?m5WnbF{SRtYKLn9i&@&xzPQBE@Ov@!$@R@r}$pwA43o()(ycVbZf4Oguk(L{rZqMSs4M*@e!LOUhObf3e;SJQH0Gb~ckyD$kww!A! zGtOO^sX$p`ri;La(w|VSNu9?zM#z~O25Sl_N0*CHpttUnkT0BOfY%|yFw1(mfv4#w zVs?ofxT?Zu-a`Gv%P=O+kj5Z;OJ%hJnX-N=GUYbgp6^tufHxb!J-r1`PR#)DB>_ye zgpXyI%Hf%D9yLPHffT*_LZbNLd?3Y`Q)dWxn0ZC`?1#vn4`C7w=S!VPWyqD;se z8N1n=Sv1A4LU&;<#I{aNU-5?2TUY45hNkq~Gvv5e=%hbv=@4FZjpeD%jHu#|d4nD{ z`1|8roZelLP0xqtDzdEa;NxM2lpP>+j2g`Z)jBw7pef~29!5k6pSdjau#Zw~Ki&u_ zkz+{`S3{DhM0k#bTO!m%L5W0|2MJUnv=9|C%&c?Bk%;Eb6l<~W#It1(SIT)tmEl5A zjYzoK;rn`7he%32pR2VZ2P5JDuU6#3v$ROpV%^oIjAcDsWef$qVj_YeS61;0#FjWH zZk*0F65`@KH;HBBs7G^C#%TJ~F*rv9WPEUXUb_Q+4|0rNzQ+B{5el!~go{N4#Co;d zz(43Ne`KuuX22sk*|sOgDjz>iR7>P)GIe|}c$J#tiI5HsrPQV{Z)q2h8Mb@;4BL0@ z@jdi41$@c?inxrPLh`Wy_MpT=tw$l*IA2#Bn|Z;>EJOO&2-PmjCAu)`<6MQi33{GQ zfVb{{wpPe;9EQiv@KXR0yUi%y>D-9sJUoNVy zI9~n=LcRn@ZsIlH_g~HG-4KiVYJNzrM9dIYwX3 z8qdHoPs^MI{GZSNdHkQ{X<0H}93w4DM(`-lDWjHgXTwv5VCcZ62etygY& zdX~!5^t-7A3UE3PSUt~F?J`o10ck9(MCy`JCKL1Sf@&5(5ZrS2GN8Ss28Vgm zMPn&nZ8AaRgY7{?S#M-$!cbC-VW>wG&oGp|q$j?NI;Mce(d%%UkfFl!j#dugc`XUI z@O+;!Aj0z&sdO;$2>^s;I>Is~50QsJEnFsC<&de;Bd|<--j!Qq*_8;0(JhQ$EFo^@ zWfcvpzwaD-@3lx1XPS2Wg2U1hx@3;A=>qwrnqR}67GiNc%!}3)6~; z7a7H+i*HLR&fh#Ql=u`P+!uOVpx&7U=@#)n?oIiXQI-?N~mp@vWgom3m5A@$E&?i%xv+p0!}o5qZQCvt$aWL`%q$dJl}T< zgs42Q&u5a8?ZSJ(pqYE<1+kCLcj$l$N`}LB@f`5~fjEkdje`Q_S;d zS%A&mOT|By984+|d#UL6n*N=}x5i+&9+W6;@QN*71n*j zr&C|$I}^~v&!i#4B5lZ(GO1KEY8d_k*9k&6A){=VxlP)m-$`w#kCfAScuS9`AuwNe zEai&N$GH9BjMVdVZBh1GE${`Vms)24hVO>pzChxbTR8DQ)OjF}@O2EO^29;>lz%u+ zz5LAB9lk<`Sm(9^(}&;Gh={-RCX#+f`7*T;zqQ|3T@5S`pHII^$9wKt5=c2tN-5(q zpLow*Wr4(YB+C#bjW`fL51r^HhW9{E-35lF1KSqiwA zztV%A7K!ygNQ?8FkT{7PbyWj%Bfly02_E{D^2FQipTWed{$(lEM4x;*n0Q$27$ILMzeOxR`R6Mvze^sW_Q%7Vi)QgV zTn|&j7g{W$))(mf9LV92Dd-U`hrMZaG-K z;VGU$eO%wU*?i~v=y$w;8yyf4@3*(Shi-Vu4~}b*6CB<~_n;h*7fW{3&x!6o;Sk@z zPA{gS=O%RkwOn;!D7gd2cwFB*RQGjhy+YXjR$pLG&rrJ#zQE+9?7;TgpBAnHVpgD0 zUX9(H<>BcW7~*W%q|-qm!zn{4n-_63I4;$3|7U7$fN zwi9{TG8!qximF6@sBEa$lSZTZ~flV2n3DNd!Gx#d|& zQvXN_iFe}~BcLT6Zho~)E_$$|4YJBsPAH|_EN-|2*o-p*CLfr8_c z0-Fn0Q;{-npwsa^Au*wv^)!=?mCSk+PF{zk!c|m)oCfql@*5Y@;9jA2S-nHazwx=a z{FXm05;K(8mh9l@brr3h?%OPws0W9tbUMx#nASFF$(H26`s~{4YnKN)wau%sw30)X zXR=2)p)D?lu_Yd6T-Bzd=6 zc|QZECc=3RQ<%CI)UxUh!rN2;q4sej**g->6d6E+gs>_ED%hp z1FCjD-Lhv*Ao0LVj?l^BM<-s%WH(;+xv!MrB+9UZ)TebnX;)F_79_Mav-zQ|nIt); zHBALFf{Yf!O`I0xiNh$H>cvIQ#ZXmaGz}tRj2_=rjnNZ%cuO|`0r5Iuct=+3wE#cw zqJZD%BPGHkYB;0_;5W8;`|#uNc_{TQ16Zbjjrb@f?idYV=02;$+$R+9P6K$a0zPg4 z7YpD_yTrx@@G1j%odVut0Phe$iQ0>?tlNHJyXq5TG6t0%$97-YrxTy10T94_KDIf5|?}ry(w~B_1#_%)T3YmeSdWm+`DTc5k zJ8M^s<>4(olTSj}Am({RJA#x6%%y2(c#FEm`_sZ>^y~hcP>xTdnT;B&;AV@?vpZq2 z?zu{iSdfTd=Q3H8en-3?d6mq{DwpPFZub9J!5Z1_0z4Ue!mp8SZ{yd9I_zO%<4VYM zFmXx)V<6NDTCRktj1O5mIwL%g+W3Mg-vYrsYD7aX57#A2t-!mN1dg+c9kvu}`KQNZ zN}j%&2S&4yg5Fz5%F%n7(iv)LgUMZTec4?5U$mBpn+M_GNE;CK0qIBySp|HIRvb z(x9gQq70^ti&FS@#>(*Q-l=iH#52H_V-u3I7)Y&2A->V_C|I4L`GWF0@ZXWf`oxyDy6 z>`y(GhC!XV!Asy!WlkpRbjxPGP=&{0g;m|Z*@x2^`qh^K)g_M8XoJTXk5k_PvNvHy zpYV4u7(WJu2Qief-WDpX>=??@*%{M{Ib_+6{k6D2oKC29n)Z~mM=fa(?pAS{7$+2+ zQwXZejy>Tfe9)|>-iZ|8xWg&B-TrY}$cEcGzM>i9;|h9l0Q-2Mc6Q|_kfXWFm@4b2 zT-kDgZM1y~Zlr^j*1ZlUsrZcSk_+-Fm7{#6)C;s!-W{sct4yh%;unoq7wk+ z`OSii$eV-m`)R~ zAR$iB*w(@_JSRwsp)9M491H&eR>np(_MF;LTfXQ4ZTW`w+VU~yO3O<@qUAND<&R<7 zg}e2^)_^TM#d1$@WT(9(+V??4e#juVROBXxY|HQ%MsCEKaXIv;yB8C~;ZLgh=l-M_ zl#6N{!~@khg2$iulh#sQQH^djw}o7%{w}RsMSs63Xz1^{)UuV-GAo zqto}pD^w?iltWYJL%OP(TBs-0QBD1`LHmM-VercpqpGI%9I^@Nq9;73vEr! zx1Lm`S=%m56^1NmA(l;_cV_WD^&b8lzN?2(4E`Hkb`G?@L2H?MzG063rp~96ax_)e zT6IoS z=L*42tP2Wg?CfJ*B8}|jjZGxz@yUrUdK@bx3x5pEFr1h!`iWTwof-+9dX&e@(6Is& zT;!pt&uT5xPo<4WjayBf_%Y9AYW3X9Lsz*8(< zJLupk7FmFF@0cVm@n&c0qjioxQhVzo-6M}s;`i<7x?qZz)H`vFt62Gs(hc_L>x0?_d#9O-ql>Y{BcaIW2nAo(Ai&+!H&7>%ug0azYSR|`k3|Gpi zioe5C1^*jt2M7K!hr*W=h&BGC@Q3qiqu2r~bX(|joGhPvm+WlloprE=FOXBp**f`UeNrm_0>TmbF0YV}<3Vh;dL*6N@dUw4$TujolR;0&A9plbco2C4u$q ztAknqwo<@}SY`>!eIxtIIa2FEtYZ*sGW!cG^Dg;;Z~sxF;9vZWFKEW!n*IS*zW8Ob ze6fGcq>3({H`Y~T`q(U1<#RCQTLKmMIX5`Le38h$kr!DX?O!K}1Ju{%dS2cGy9v+F zWayJz!wrd^;)x{4&-|RNKC@>`5{}4~1KT)(Cw195$`Bv&Q0B`G{A?KGEM<)2`73KX z!&b<#QAoF!0PGiT+Y_D)L}YmCT}v%l4yfU8BIn)VUGW7kUJ+Ot?l111FCxEUkg-~^ zLI4Z6M?8N)AZHz0G3Vt4uf2~m-@|X^$}sTX#bG_AjGGrV`T7*bTwdsPSr7+Eq8*;X zY65PS@Y2uW`$z@z=LK`_l7qKqQ%^C6X7LmUPhPwhK#>c4@xx~2W^R&7O{|SYds1%Z z@`?5GGJo;hBpd5;LkabKnM*xI$s`z?KV;OyA1I`GmR|_+k9Zi8jt1LKu0Th|d$4m19KZP$6ofsUp!WVcr39E!CgEC)y zNSex$spQCV<(_bF0n1d7g7MN_)aF!En^Do)^r0S+LMn|ZJ|^}(I*U`(FTPJcCweoF z2!_1C+t%lxM*b|{esB)oQR*Abf==$56<8HAaJQAM#l^CU8SGH*n&1MSL#(*>dljQgmL+t+}DP z9$)4PpQrc5Q0d}l@&n)I1xL@%ukkIb#_|PeUMS}o28p!rMEOo|*fYG8Z{g|Ya@uF| z0$an!>YJPuaM?4tneTgw#kndSUA&MV9A};1@`o8kzQ7lJJh#U3{FdKp73i_~>Mhz9 zp4DH<&RG$;MEb|{!rf;pPi*30c*0l(qG&V9U(aS2m$RdYp(v*?@A1xzw z`#K>}YBy8jy(gzRrT=9VXzRp&R|st)cVn_zweT36LD5>2D7dp0w|6(Skg-OS!q3te z=|%~Vwneu-ZTrE9jI1)>~P0VHN#V~6o&Hmm+?w8-lFv=x6Hm*<9gm=Ou_&Q-&j^2;ms~%IvNjwZ=iHI>Apu)x&jsq+G3o8Aky5X-(W6hs6Wo98Z%uyO|k>T7r zo?P3^tx}^?$5A*_#0fo_Ibb#SISr`b*hD*=WS0piX%y!#^PI)+g6$BfoB?q`94xql8&ng3Rts z=+iBrK?7wt)-js#LgTiQxv*Z=HI^=^XxN#|;GSl&O0xNwZv&2w(&ljKYv40fR z+jf^$FEgmsyXy=kWI8EFV}pD$GE^kLkd0@&&$1EY6I<}@qA7WC{?j7M0rR}U4(jO3 zc8+`E}oQM($4YxC}zXB-0Q7vJyCzq);9dmwsJvh{i1Iy%oV^9Y9U35zrr%mpRa+)2_+os3+5e5 zP|wPljbsyj{u<94OJbcc10c^EAMtuddros{11bDxS}lBnFJaf6;BKMF9d9Xwiix|yDjZ`_rawn5kRo^RK#JVcT)XXhQtqoH zMo%gHuM@IXT@AU==A@MJRdo~ZFktNu#sz$E#*YOTe zrM$u@WwbL=`y^AIbb`^!{~|-QvTjtCjjVnc)E)Qv5&ja%W|veOp=}UFThXI>nJw%xWr;{<9jBR6 z_LUro=n(MqPR;?b5XER&1$xAeL+hl1ET>Ofn)2Yw)E>)m}!);oCjrOnKE7=FhnT*trwK^Pnk--Z?NXND|v-ti61f22`p79U)-dh z*^{m+qlCd0k|Dg%Xs%}n+YaW}k?W-Fef2e| zK%}A6!i=vaRFRIFj6vd{+(e~8RNKCPo+(_4zJ#J9;uNtbaW4JRhxKF*j>c#FF#IHI zr_rVTM<@h+k$OPIhR)C?i5Dl>`FlXwOsguS4Ox~7>4EgB3}?WLKf?R7{w+AbS% zqOMFmFk|_-+I+UtT6}vgh;UO^gWrpX5zqySYWp%J%0P}p=^HMw3b2>l?k8Ay{om;Sq$x|;Lex`ki$Y5$!;mfe5j$#V7I1kLc29N@F2 z|E7~;_n+*U=D7jJK8^vLKncrmmIeK71D{7oZOfon&pU z0wp&62OObagu_@BAa!veoobM}Mv=r(X#0}FQ|V>GolKxnWAVr@4d#5s46$fSjX<}g zf^U7nj^R1yXt`gy%3az>EAt(S##BaJUlmVD`_0*mp`37^t7?QV23a~?q?Ons@7Cc@ zxIJ2br&58U6YVj#eRn z{|)`*s}(1smh0g1+7-TsG7$E=qKlwuoKxW*ZxoKd>!X~&at^=}YaIEByQ>VTICPH; zG?y7ZM7|MBT+174qg95sD*YL9>=>7w=ov=fX}c=BWyvzoE=_w%#w9WUD|=;y)eB^A zw31<&;5uG*S3@Q9^l7l;BfRBIlc@QW;Gb#^!77+gT$Ua1f9NUR4TzW)KFhSYgQs)z z>b1YBUEwMDNXv2^hUE#Vld13Y14|{|U=nD-*I+KvQdV&_%6L>G2#;btrBfVv}MM^P=FDKzPi5D?!gpGz` zL{u}0;aO2X*Qf_(v3%LMo+N%F=6aG#4INd#1IvIBbp};;$Ss-a7(t->+q_T&TRZ>C z-z@J}+AsCxvhS&PWd}y-7TN`KXq(x{n`KJ8lN?8hE3`!QQ2hj3S1a+IpS46!pbKBB zzNy&+(&S%8zT3rR+5)qQPzz#~2mxiclhR3C zroo&Kaa3L8&Fqmit(Q00eUve7rzK>rnCYhmb>xUyYLs;>QqnYXi1}J`avY6Zqm2~% zFp|s%tjZr#7Nt#7gSPWs7j0H6n%ae*8Sj+Xynz)_Hc$4~^93-j%Dqc|w477zb2#^- zjkEpeROs>pmZ76Y>$GT{D%?QP>e%u(r!C)!1!-0AL;bDPEi$FNL{3Gix2O_({cDOK ztf*k9cUC3iN)AHeSG-t_X8!9i+FSf&jP|4TK~1DampW>+U`mu^Kh@WE%_GOru8pyF zJ$7gl_U>IWl5j~iwp>zWF=xmG>z$|gdCFmef+tE(%##s5_X$RbY5GE8&Y**uUXyYJxT;xS6sd_EYpeecy*^i#Scnt$Lo6(F@D*W5ortx!uWJ~z`r~}Gn zU!w0?|Thl&dZCuu6Mc?6m(p3gT@~_G)%n!1{{ct-G!TA9>wsxySmQ%Z(sA*5h z6^uF6ZjA)T)@}!>du$u=ou-wK`yr;$MzL#_@h!>v5@w0|mL%NI_AS|`G09!vPT$g< z|NV=;C8zt>Q=(qPP@~u4H0VD3s8Hy)Hu=a&n@wr%IOmH#bU*b-p z@SA67X<4>K{1ItAjVYxgj94_4juTy4kAz#7UWbQ9RKa&jM%l#fJe0xq1tBy<=W*a_ z(;q~j;9eRGHw#IMN-ZZ-fEro^D66M*+c?QZ07Egct1EJ=7reB>6g=~3tB@N_A@@+o z5s42i7q_%&DNT7nwc3t?@p*y$996{k)Wyr(eBZYvQ!;8mygnW2dFLlBQ1x2N=*?<-E=pjk@q-91bG4C?) z9)`Q!1MfGKhj8m?>Y_%h^TH&nT`atX(!0?BSgJJ-dbWO|w4;_DI)@TnA3CnDkL85{ZSDNf;M@yde1dZ*wlsHg{DZ{`QP zD5G}@{{9`G;!Z(U1ITpTDagSO-#Qkt*4pb*T+6rKQ}P_eK%Ul9l|04clsrG3sGWWV zDMzQvh>OT!18|LXpWu}%RpQ5|OycWBQ?ZanT72`8DPq6dhjA%IIQS;FnawxShh;K? zA-5Qo*Z5DXILqsK<3nHc6G_%53LaK~0uQmcp5m7QCiJ+Lf4Z!YU%(U>sl+g1917#7N%tghL$5d}Jo(RL8lcjMov49v8?^R+9HN@C~&B6%Cb`wK9O~xA&SxvpI zR+k#s_jx!7cV!IrBP0jGi4Q4UYU*`L?wbtO@7KD>JzB9&;;$@Mqn%D|YN!RRiffAn zW>4QQF!;~Sup1MTu@SwUkDCwmAbxh_Qe51b;)7yLVHQxG$TC}+eSD2p=fAa7>`kj9 zVlPX-A5J|RY4#jOnu@&}s41gpnE~vlfQ1I|hqC~jNQo-;s>wSR=dg+LaRq!9^#-)> zP0v=@1e4!{F9Z{pNuQgeteUi!ob(6CvF)WT>c@zA1GZ_}Q&PyNRD0=1GNSg<0V)`? zm&&O$y*h~|TWfI+Pk_A^XO6Kt{90V>XuFX+qV|%@3oyOvk=X9jE3LJ-hSUP#bc~_@ znWk#rUoErGN(UcZLJOS6l4C7yuSc8nay6V@4jd%)dP_&Er2Yyd*!?YoyM%`s3pXl` z+g4H=X^q4&8B=MlDX0x@Y_kaWZ!++G(P^G{rxvpMfL?KMj7r2OyG^D%qg?Q zBO}5!@5;T#KhSyaHdTXWE$-dwYjFpT*QURAm231ETB(`DT3ppKAF|7guEi}hrCdiT zhbKA&yr(fNr3R<8LD%Bs8q$Ix1ZlE_H3!n=WR79E>Lz{>R*xN0R*=f(^if574|?Xz zCzmj}x%UZN#_o)jfpWw%k-@BgugPP|5zb9Bo?=!b#3m6lj6SNMUU0}t9t^x=O=bV% zZn6=sF^kA!P-XuVIG?8|ncgMkV5#BM!z?2qWcv3rM`4=lxFps=jHsWrr(K@LpBnNl_APFY%9e6j zU<#&pA;*?2#p>LN$(EZfXU`I`ti;oJr{LIgF|nUwvc+Rab~25(WXqPQ`z5;0Z|-(+ z$`*SrW{%tE8W-zi+*(_rvc-M33$kUKGZe=eLKmHjy*E}l=Q$p5K>?IS?9CtAs#c(^^CMPD zy%!rx&`6jwO>r!gS;2Q*$xz4UOIsZRCP2b%6K+KX$>8j2+l219*cMB^*wJ_QZ4&uH zV4bY>+d*}=P))1(-s6;H{n?G_7yyP|wtT5tW+%JMsC?OvcMrlJPbr5dJVfk(wGxvr zugVa{oZ(o_+3GAK@Qsas2$I*SV0LDOXYLD9Qzkn_dl5g|gu1vMJ#)U$2Iy+JFsFFf zqCA-FC$h;Ip5`eQR}|)yu0&ex&NVgu4jaYM?knUAYWYWMQ8{|LhH>rGH{fCM2nF^# zFfLaNguOX0Qc4Fa>o?`c9krD#tw=dgMkKNCIz&MZ+@zM*P$6o$ zbfmU0l%!;Rnv|o3;{c6ZES96}Y20$Tf>s`oN6HV_a^6yz*CCsmW0yzj+1B11Q|9Le zaH#^`WdILil1A>MvC3a&Qe^ge#3zo}D5F&4_{6SuFa3A4UV4g^e~s5vqAlR`xdV7A z^-fdjd5Uv*Dg~EOkWx?_$x6YP!*uVLf5BnOcKbTj;`n5QS#h-PfIn9ppN7O$%(O;F zE6BijKDEF_;VQ8OSE9>xHiA?XiL?#JVZ;NO9OSZHof%X=>gufE?z1XEceQzMg6^cm z>VbC;9HSMw&+R3d0-dbDyFudS9Jz;3iv^TWCVm^%vamZ!t+>0-Jk-|s(g?=0!z<)6 z)H99WvoPxSw0#;!ua7UMy(Z`d&_&fUe9BRQptwkiVvnA2P+o^zqANs6K88Yw9db4F2CY zRMp29H8=XW%U{#SN$ZcSj|V3x$(CK}8hM6ZhttO|d~TH))yF59Qf5$!TOT_K4-ucL zYZFlhuu~t;6UrHVjOKlflk1a((X>M!PZFF%>tnB>&7ML3j6VKu&EL_-k5LOo>a9E&RZkt%Zo7_@ zTP+OJo;##Io@j8|R>Qf_frBa;ay*}~^>KfY(8nDN?)f~7J{HH&U(?6Qrns0sZbXLa zxl$1*!U#1vU_3>%nD%QycE18tz zBbO_RQy<4AD^;TUc=Lmb{>6T+<0?`PbYlTH^|9Owz!`;4UKNz>QJmf7QpQe)RYBalWbL6aBT8W&4yavq?E>DFL=IeY~Wff^OL< zkCaAWcuRW#ftpRK=hVm7nlcv}z}@&sy`^Fs0=O9q`EdH!`{5DvaRck+Kd6s4tonbc zk1vG`sJ}l(xhOnA8CR@TT{iAn8`}OweS9L-KhpI0`wxz+k3ZV06`JagolVXC)z~(|E!Pi`c0dC9#)t`rpFw!_WZc7 zalDK+;F*$g>0_f@tLo$1Hwk;Bo^7zEk#c;*C{(9D9-p98iR$AE?^5(#ziJ&jl5(IM z&Fa+0KV2_ysT+GM)*^$ol#~O@%&M#F<4XoAZZ;1pJj39gLCS#}qssrPkAv_3J$?N4 z0Ig-+e68gdzbIYy=DBL=c2{Tck_PqpP97;8z=*o5ryTFp$6p)3<_0iD0WE!ep#UCc ze*B+hN6^P}te5|wKF+1c|9A7_>wi`XUo*@_;VSOxMKz%9U)0ApEj_Y6zJ&Kjnje4j zlU69=c8NIL)qgraKJWLse_J0DfA_u#M_F&eQ5^Ai?R&uEEDWM?iNE_L{Md=qIN1Ia za_u8mhLgo4ICkX92+i=6Y({<%f7d%Jd<{AFkt{J@V~8?y%jHDTb(|d#MFtXC@Cu+Rk0tLnBGK zZdjDfc(#{Wmi;y6%~};%WN=!5;}ADF4h&RAze>B~_}IU}K<^eB#G82-y=yqZ9fP9l z!xFM97qa&aA7{#mMhi9~EzyF~W8#S(2MfA2ZFwD|X|JTc)uILM^H*X~x--f|B(N~d zGRM+rgl-9~v6{Q;Mwz!XHyduWyDq$0&@vh&*3f*X7zJraY}A&JI5Nr<$MI%m z1;^^j&zeAu3QmErzHp61j6qjV$rC_EWNVqOAwJYyS!MB7d8Fj+6rtRi0-5`4$7+r2 z#TTi7K3WG)-C+QmD4_U10bC@2*HPjj;$w-YU#9V~9BszYXI#lbe5|Y{%1C?~W_OIw znjRgWQ^~c*=ex*z*Z3^c3{S~2w5=JRAClu3pVD8HZk^&nd@RF=_}EJF4jmtR4NYO9 zv*bb-3&=##;ds3454-Q+_=~`R*Kz(5hd0AGTF8@c(jr?33>@ zkPa0edlxVMug1sji^j)pc#BV&_*gRC@v#U0G(I*3NIjgW@3rmv6lU*J9zdnE-_Jrw(1=6-_q%P#5?Oniav zj~$9lIWEcE!qn^gzIMH&tBeyk@)pZJ&ahn-!Y4qTNNZcRp6pfXbofdhDc3|q2zR9f zWb38z$kvnWm7}EwFvS3NQ$XtghxP)v5y0?d^oBXh`7CIsw`bU^{fF4UV2mfZh92R} zae$p~f(xtoFADc44fYCunpoa}wW(?_{bO=$|3zK0oa+hoG)?FMgF)l%nh1`)o^X)n z#p3M(5$)HfvuK0t(3EX4JnSnJpEOz3&ef4{6EUKml8u|+sS-mC}RXPc`e(~2b`sF31 zVb$9^?fprygLPUh6!tj$!8-3SYeVsT*Tpr&4Y6$JMb*Q4R=;7D8FgMvF{S*QQVvgb zD7f-hn}Q-=-@pcuDBfw_oXoLV(>ijs0|wBFf)qKVhUndC!!no77)*3#wP&z>%5-i0>$|1AN<|Uc(o3Pt9f@3tj{)4jUIEuCpt!*i z9ZdwVCH0Dp{_5jj_V>$qTi(EjuH&}mQ-(y}7HD_7qHibtqSD}d-l#O_7S6?mggIA6 zj%~OdLzc^MtECy9lJcnGb`m+Z;pQzo!1wg9t-QeKXQH#K6hp+hoe&J40pZ&2?b!GJ@lh`QV9Q@%i05^n<_iFakni zRvZF?+rgMbNK`HXxg3f4jPvxZyG@BPH|H~C7+Fz|ff)63{`7iPS&@s5k#Qy>9Xp$9 zIj@$YUiy7CXA%j_6(ficSo;oi*1YSAr>P-uZ_o zafL6oO~5Y5Zx=LUp&c4rkZBe9pY2M-&J-!P+PrBxOaAKG#&x3j4dJEDa={Z81xI;$ zW(R<=POyBYXg{&M!h4)z>6!Z=KY&`mxt5+epJ=X}d{wU5M-Jd!4~zuxt`=CMM?9v6 z|LW!vAu{W-Rw(7_dblF1m(qL7Hf>OIQVxl8wStQ~lt5Y|p-NUN`~m|%o|FUr8ihB$ zP;neIiqx@fw_2vmiwxj$1$^89P8C2A=`vl{;P%+*1RGzLA*n&Q z!bR>N+&8S3(W47W;lAl`>m>{;3B>KoQz@9v4>?fN%Toh!7gLx9;%?xFd^fh~F=ZUZ z{?DFGZ1%6T$k@r7gX;t&5SP<8&4HQ~LoEhB3o1b1dwnhf-vGK}?k(C`2BM6@-4gIq z_t5dT|9Q#b(3F!en^X*_7KB?2ka#sEVCPV$Up};1Yjl#kMzgd=kS;DVR>F8#Wz-Rx zGoOOE4pYxNd&WKi6S<4ver$&sHB#-a8v8SSKBfm3P;i0->35{Ka8K+sfk;;f%42(7 zc5pi7aReSw}yGTV{seC}Qv9?WNoH~M>tq2miq(W`zE zc~{Uwa*C#K)z696JL|fix5e$Mr>t)dr%EM*i67J9vDuBBdr@-R?@&6zpK$Z<>&8{Q zVi^%fA1{0kWmlO`WK`%^pHc4B_0U=eBqx1_*27%Mz6{rhb3UJ~4yk9r$WsyXbu4Z|&dd@j}#A_#gJ~)T9>3l<(WBpxFMkR_$X_?q#{ll*bbJ zYnF5z`*&V8ICoaV>F2iNe1^u9>!F-S8?24szdMJxyBS1GZbc$ zq3fYLUv$_BD@nNL6sPSsO#K)4?|ku`rR@*1e`f*HU3&Abb6irw&`Z>{oYh%%|IReK z%;=QjDpN{tN;y2?A>#F6n}{+lo$0t>qsZw1wZD?W(0L*Tn*q8uO9{b^SmdDFeaqmi7Vy(_t(o zd2IjAhX$~o0X$0qZ!>^h1n@BXcjiAGH66s`?lv86v|j#$3!>*y*D_q*Kx3JOm~Q0!*?j&!{1kNBJ7-1}^IzJuKNkAQB>q*N&Pn`BPec{-(M;my z$_rHEmDB>cauE-P;epS!YVAq6^@FSmI4AK_1=~!}RvMgrt*YYWIdIS^r*AVI%Ou{K zf;|N$RhVrGn8U+p=Z6$As-4Y5{!p{{)myd5m~!4mhMC3pfl;Hg_*Nv`+PMh-ji|O} zOwy{);;YZ0Gao;MdY(-^Eg~%YObPef87{szRI}A{)d~LBk6C3#)$!j#Kmw2K|0g z4)hU<9-Eb4Rb^KGEmjd#Uc-Yb|NN=8@C~=Y6>Fh2EB}x}|I%d?js9(h>CqkpD3?*l zd8yRwg%(<~L8fN&NI6<}6%~nG=AISWn^+&5A60^~vfx&N*IO?=#V_%WIhV|z{jk;Z zjBzdsoBKFVoj+g451Bv90irs8uA@JYNh(a-^XIcE_J37`e7#sMlY(8>6mE~+T;bfv zx+-F7t4GjxU#or9Khs4K4nBqAr+?u&>1rF31a#$d{=pNI{T zt!Uxx7{Za$P(o(?zqtb5VE`{vKx+^2A_07bV#SSMxi9QZu?-$|DAmJVNAcq$wq~uq zD|QTDLSx+I_Q9BaL69jf@}Q{6P|o~A&BT!x7kw6M`gGN(v1#}k(q2LD|3loHfJaqijo%3*5)^Du zqJTuAqN1V_L?r@}hD5ueBTLv^Ks1OOsA#tW0t%g0?lg_KjX284j5_0}C_1A?lrgLU zQ9)EhQ3N;o+U^VDM!w%Ub#M3W0FL9l&-dqf$nCoK)OPCB+3Hl4j9%Q>K77v%XVW?Eg>p_%rvW#s2TG$FHUpaFla+!0R4grvrUDscgA(fe!c{ z?eXhPo~FCyX=INd$9Sdf@r%g>KkH-i26+6p_V_z*X>l2m{{=799v{sFN=y7w64?^} zR{Sk8^?&33-M~G25coHP4oBcmWl4)EnRi4M%Q5(J1%6|D{L?=*7Wk)_QvQATuOXfZ z{P89iiP8nHJw8`P=>Na{yRnzG+w)NNJhCTac)Ib)Pofw=Si=qY-IDqZ=J;1nXs%+D z>m5>_N_IEL*T1P)NyjHYez9iX_L8>o9#Wp{yPM;K`wLuQPmoVjA2GR(Amzz*iB14n zrO7tO7o(z)_W>T{z0&0U11V453|4+`d~#~u|7MOCnO262wUukuDqcpC^0YGB9KW@r zf-YJtkCsP}BW;dvLbuNB-|cP6yx9Q$_@V$h=J?|RxR?0k*7Rtv$7y_em-+aAXpaAb zB7d(I^4}k)aWQCsDZGUH!-L^Q=6HJ%#=kK>`Tak7G>1Ky zbNoNXCwF++%Xxm^{@wp%kGFv+8cE{=jVAC1B^RV|zod{nR43(GqM?b{AzL{orjwO&gNmH^L?7}H`wESOpzJkJcJj< z9Yr!ZkJ{t94R^s_O!603W_mxRkxBk?+9dC~v5`r>c$wB5JKE*V zah*iMo9(0aY?Ak)rvGkne1Vv3&f@sa74kd(38<%$NnS4|`Qc)c@4GhJB>(U2@dGHn zkp|HEC9Qat&IYx|w~GTOUNl;pV(jq;c;&Un|E6h=J^oM0vuAs}jX~w9g=w+>KiT6) zC(>g7ci7|aw^5GrA`f`oWE@P;*JGrz<<76z;}s^)HM`|$WRKtTA{cSk$4^vGR#9`4 zw>1wV@#m$fs+M0lde6X~*T+MqxQxg@pBHM6zcR-o@&7?0TjJ-k&LdO*H`?R1@jVE9 zk3D`youVv!VAhoUb$k3gx6HJ_&oQN(Kq-4iJOY3C8W)Muh5v{4_`nym+XX0l9@&$z zJY9SIa1;XwtJr`ym(*{t$1nJ+=KAE{T1kkMr;^?6@v_y5m9#zHainH{#AM%(lqdV{ z_V`j(vyrNg9H6-(CfDtxJh}E}j~|PQM&33&=w_+O`(yj8ycw+gUVHpp>wmMy6Euic ze%MM|dHWJY>uOS-9%kF)xdycO5y{c=^XEPGcmUlxV~;O1fZwaW)^eo+if;%}*iiuY zVvo<5mDWU71D(AxaGvw=|Ii+9N0Gl<3;C~?$4fv1e6-hLSr~3)kN-g=@o%)phurMZ z9QI(3AItY&v&R=arww|xIIBVbjXgeZiI?;IK6^Y6vMLvGp&i>^7ML6DzQcL{kh>`{ zb9u*+Qy4D2jwIaNAJ6L)-PtsfpS%v0pgcZ}g{=HfltNTG2T@g!&UL(Tz2*C;_L4d6 zvOv?m*u`R=%jwgFlE+Br_^7tduHujtnHRDq)TZO#4>L%c(-J|w79#cTZsZ{9znNDW z|1N8sZqWO*T(e%jhNpLT@$^_)Q2+Yw;_QQ{%PEGvT&1*vDSQ|Y7|l(%zaX%DQrYrC zR^#0Da@}4$hwP5)c(BQ|rbXjS=Xo+AWWHKvhT6~WZWFWIU2`7U$`o)g4`xXioUGSfo*t6DAPQcBtTpn%_7m!|P6eVAuf(Q9Ly zCkdu_T+L!=j~rjk!_va|sCm3%7fpGmveHeygs@8pq32*FglVSEqe*#qx!JNL7H(<~ zu=A195Y1o%TSLkNEB0cl6HwO~sN)RO=xitx6)q;a%CO|ib?H7ZgY4H?(#C@`salEj z0x&>*+n!N;1hcVfRu9#){V#|_gZ1yBT>3WqcAjz(NjE2wV1a&pl(!m5a6dod6~%fL zfJ{h!`{g5VRb@^tnd?{-A@Hoi%OzeZe}0204xUwO9bb|Zk9ASU|&C<)}eG*G*= zzsXWd%7a1)N_TFP-Xeo(Ce6KfYnIJVD;91h<;h}Luj|4{o$Tbf#N_$A$y1e`XR21? z=3#0P;-4&kK?kB(@3D4c{ZC;m=AyvR@F_;C8D>h96BazJ$n@1dl7`1C+8#+A4hjz< ziI2{|^i$`e!)e4OM^g};CwLO-4Z#qAq@pO@w`8rRV@?pmk!|I)^tL(0=QVLndd z_Okcjd|Kf6YJ}NlYe=U#AAL1{m4c!_bJ5WOaQcdx55uEm+;04t3nJ^~+l@aHC$X7d zp5E=}^sZaHvTfFd?uW&Pwe{YKkbTgFNId%22bB-X`r|%|{Ga}*{hLC{(?6NXPXE?Q zaDtg}>kMqCwpp<8G_1x;T>ZRZEy5e;OT0u8Q?Sv-jK0$yB{hGB)c|JLp{mdRy=!ULm_g=H&9z5TvkZ2+~*cIX@ht z3{Nx!`3GKkHoZ)t9lNRL#XSeNopwk(($;gn0NYsndRu3pY2JIBx50J}DLe}%8@UHJ z3W{k)RatmBG&Q*KrI?$q-#c3NdqM~43fwoIL7Go1oTKno;-3N+f$A@bjHyGzU&N$} zR~B;}CI@nSH3$vhA5Ub)aPdyCSRJVaSPmC>$l1`cfDJA49Ppbm;5GM2Mb^sb&PyYw zIB5hH5J}tVG&qg!u{AYsGnS3_=Kr*cg2*;P8WqoPC1e&a2v`I7-`4)(dnHDCQr0TkBPY^YDhtF1 zw2GFd6`Gb0T-iP+-rTC38;T#9j4+b{>}UY{X|4n88)-L0?UobXrlCUIEJFxed!S%-MeMUkp499q|7%*t2yxPgGdjA*=#s`|U*MFz zL_3myZC2Toi=yU>9s8|b!g@E4nWP{#d^3FT|dcVEV_{OwY46rtfnp`*QHw%=7!IbYshOD4vAx4$J2T> zeLv9l>x`s7R^GMX1-mI>3#SSQ110VnZrQc{(>PnK9mAf5SrzA3#mrF%GzDO#IQ(%uyE66YZ8y@{}i{Wu`gH)jpALzE9zzx8RxD@?}Cq;|_V zMl%{i#6P0SZew!p8ZLDeZkJ=8*x70dSVwBN0?cBg*dO+5{K4WRtCU*BE)C@^As$aU7vaKs-`+^j}x+O36G(1eV@Pn}G^ zD*Gv7hM8QYq;|_Cl;C1i41?qTnI6cBk`I~t6f;uuAHTmT<|H0QR)~g@wS&DOWPQ>Q zDRwM(Z1%aHee8=U{pBaM^g(L5e~#t8l^51>EQIOJg|#MM7XvY#?}xV2c6b@q#KEJ#@DA{cJppDEWOz?bdg()Ke!o@SP0&F$UhZC-}>?zpf=E z*!snY*kb!-n4oJ$^@1ezcm?)9AzUG>*Z-l7Xh&+dMr4M~oB1 zckn~?%ghBvldt)m9^U7rtVGcxc}o9H*!(B-Z<_h>k9(kh@j}`|Ve4vnwF860&}HPKcYK%W5|u7K+e;Hd(5I$ic?p>72D-B&w``eC+MBiU9= z*!h^=LA?mH$cpoLnJ}z4kL9U&JVx>8tEu9ty1EpmxcrD8ipz|yemuqQrc53t$|PQa zEH%8bHmS9%y6OeoZ3p!w&Lm#-ccq45`-#KnLl1YGM58h@IJrOsve`skBbUDunPRBN zz9@U&xf{4$J+YCFdIUB?<139$0Z4ql&TeXygR-t@#F1`J>pGj(t=xAHv^rfI2r}8f zCgxdv#XNpPFf6A#$x&y?5KwDIf2Bm8wEGXEyxKZ!j0Tunf&$z33ghk z>bSTo{m)CuNZ!?f>QQx^nl+0?a#h0?(QQMPU1{x1&Lcl~kjX!W7NmTE>h}y%Kqbe{ zpbn$BrE}5y1t`$19F6#rzquF<7f^~_B%O#yW|3>&Vqb1fNY3JkSIVyNxlR^;I*YHy zrg>!ZD$zeasAJji141^VL_Z{ewP_{#&4s2~@*)Xpjf%z*nC~SAQhG(rXTI3&ViaX5 z(YruKV^!^GG2+N}fHW$ezgEUOqeKs+3@*Q%ew`V~qOi8Du(GG}ph2dkxzi8cod<~& zbK6_xA7LM^c$rpf0`1R1;XwPjn`iR3H~CA` z`By%mNV_tf|0z%XC=-82Rdfhum<7c%TewC=OT~t^Tb7@c`=eAXMw& zSP}b|$0zY|)I78e(S@&fbYVsG#}6o?8|&H&skkwc2QM~AUPu;@Jnkwlk{gZREl#o7 zD)tqPi`*qv6ytV|De}OqB55w;j}cX}S$6T?@-08@o%~5&@UW|B|9~gTZUR=5mFai= zMbWMjMZ45_7fz(^M$v8@&+wn(8OyP&8bveodqn%bm@g`Z`z714kV8Dw)T6r5-e5(b4e6*PdwvGcq36b{M=QKn9lhf3iimVPW96xuz0_ncCFRL}zGmNhJmXEMZcK%%j0X4J zecHp}q&#J0didYQGrn-i@AH(){=)B&wzMoHr#&SK&owRUO3KqR5ypFqXY5JcdyQv2 z$oZJHzwm#LXIyvj|E67<{e>Adw6S*Sjb{x0S;y+zoUHL4uj9?iCp?Qu)AvC$X=KJ^ z$20c&+~Cy`;%S+fFUoyC&6bSff6Bx&CJkUW12|Rz#ev*;@?n)taBeLtuFG&04AO z=Do!;j=%T6jb~i1F49q}MPukpZj_L1P)|nF)5Cr;@r`U>DGywnoT5&C3 zR0AkW9*jE=|JodFiiu}@9c|p}U)!i@PdwuXyx2=TW2Hgm#heuNe{o;;h_Pw0|2yIt z51U(ajGdUBl2(Ig@!`xy2vB(-y)GM@k{XY$khLh@r=m}_aN|v z_#J_N!=Dso4}6lvgblu2f!}z4;cU0ew7@SlrHrPOy(1nZ-n76)qIBW^VLan3mfGP& zJy7;MvgZ;VKH;=(JmV1KU^&}>mr5!tp3%rr5&iai4pJeay}$4rR5Th~&V#&Ho4m(nYkwK6{N8xR_?X}6?Rr|enJ8NFmA0}?Qd{}bU5b~T z9FpYe;gx`9j{7N*6O=d=bEb;IqsWoD{{-DS6VLdr0X*6O{_;lwoJ~=P!hr&~mw3h} z&QEJ1tAWn;bIo=>{vXCO1}XA)`?&t=c*e^>1G8g1M}vDXY~*xW4_T}dE_2+^uiXzi zbF@cu*h4(yIeh=Mc*eJIL((9dv#~u5GHy5VJ^knVL0`WEf>8D?oaeX4Gr}fY#m_8g zSRLJ&cU?JZRYxX!pgM0xAa`}c*5uK*D>tsm#dB|D;%+UAt`?jR(yKKauA z*xhJyP4J^ZVWXCRg45?Ld_FVz|2F>*!Pn#KSeE1Zcd7;j@kno%$jmav<}bD|pY z8lxD_f&Q8I{^$)F?s|?obc$Z(mAg24Ft5DITRTnrVrMZ78t!_O4a9$-#~mK!479j zRK})2(+(RW0R+eoF~M-r)$c3YJ;)$yIH|15aGs+cf30AggS?0MtCH8w%goBi{-QTO z_D9qpjt37*AmjGiRL!dA!R&vDhf%X6V8?ZPs*c6s>_d{rIE8WUr?tgemh4Sh?)w0d zk^NFf$)zlU(;|*$pLw29t6B%@&kRslPV#M-JxD!8SEUNhHIb#dWb&~bf|MxCpQ@r{ z&8;FK9@j1;k4M+GEk;-YZ`-DT?_95d3l#8W1DFS3>H!&lhW+IwheFBu%Xr8?=4trE zK)mp%F^A-gJHgknM&Am(5T>F|erqsZ(iee?d={`;?mGVv&^K!NxZV7PZ9~@bptUY& zy%97w4A9dt=eEyDeuKK8>|iHl2dz~sl&=reLM}O?665E~tF*okM(f-9>(6K_uPd$T zt%CJu6!SBOcV+s#aa{LZyzDFqJXOg)w?M7dNqiRupm_rErZSW2B`AnKmMQEDJxC;9 z5En;$zkuZrC{&qYP>*S0ot;-9YfORrRZe5In3Yl_!1ZNq0i_5xS?o=+SOTyq23UW0 z`PfjFr&F@6ogfvc7ttl^#J}bWJr#bF(($@YQ!T$^^gPVL9I0idw=5XGbSJ>k6`fNR zj*~uW3VG-V8STPKQ^oAqpN0rvM$s%x$@AnSAxxU}GS%H9% zGQQu<`hq|ahRmETx1Bex@3+$WxYGJG6lZBCI&FPUxKu7r3R&Aj*5@JX$B^|^@@49m z2^$%Mx4+K44GAkiTEiMRD6nPG67CRS-2l9Idr$Gc^cJ1f?MZp?zCuwZiYhEZ5MPxR z++=;4JeAfrp~T5ilY1@?!xOe>Mj5bL{gxDaB`DPx4-laiX7lDH2jWbJ@I6p{8@ zs}yU(6ef&p%oJAQYN2O6xtW2nZ|hmB)(QX8JKB-dbvog%pCg<>x{5$J5S88*f2IOX zlHGxc!es_#s&T!v2U&r#Cw0!W4f8}aJ15E1Ip#h8!j=}!<+(UAb9T_iS z9TDbpz#3T)vMy=G^nqq370UuCBiPxUn$XS2XAhM@?HaO9uH{u*DO!9u_bbWqDzR3*s$M?a%v)alv)5z0*#^N%%!JsZgDQ7&&G}ZF)Em@-}F_-QH zU_6xP&qQl5niz!)H`%)JFvHj@og;e~xyQ^uOz5GX$?lF~_PE$VzJkme8s7+?B6CCW zKCH8a+Xd0+g4RAEJysuPpWaGPS$#!uMSNTb!gC6^7A>f^c-5Rpn=0bdW#dRgN0j|J zqA}TLf-n$V!0(*O`1H<1k#wyf>|@R;@?q(R?JE-f8p^G=qT8C5YzSGq{K$CUOkEQ= zX6?X4==hugiSh|KXC>OmVpfjAWO#w$|KImdbUz_rT~|*Rl=(0S2 z>1&ZhY)$y+@89xuyiuCeKaoe}XHfa}=5NkeroMHkKC7tX9g+qC*^gM1<(wmqS;7z&t3psfrOFmCFh+9t-*00DS z$O~A@Lb;y=tU(3-rQ2InSnvC1h%Q@K(fsF%=5Ll;J;2Pd{jG3kY2A!eZPp z2CZ;mfq%wJj6z+7HMTHkVB)+9{3$=44)s!8gZ+g$vX?|{=%ZbF@yE|<+dt6;88x(L z!P0Fltgp+PZ)pCa)uv}CcX`7q`5Z{J>Dk{JdWh$9U#ra_4XbAClCDIaXSqADblbk6 zW9&eEd4VD%7(c63uzGmgfR*=ZqJOU6qL_F90^C2yQucKyi=f87lBW=7Glw{tnD^2v zA&VW!7PDa|l|Xn2B+V~GpWGO*zVurS^)idQ=sj$r@*R%K7tSl$oI0PKNzN@>m#^u8 z3|#*&l#txDsWZ}BmU_0V8*xZZWP`qN1LImg#Jg$#=JqQ$JnrNVwY_jQRhN8=8&K#;n@-3P~uiM;47_>Wx5Tb6di7Z74u)0A=uxs3JY z>Di4XCPt{~$!`o&7bHe#jmFfOy#cutMTy7o@QDA6pGwv`yqBQ8Ix7oM_LaD%1dhey znIMc(E4T*62%wPoeLSe)H6BK`%+NeWr!!{52n5R4ag)_G8}^|nF&h+}a*xw6+Mn%% zT?n@lH^TcAXl)Yt;cP@>qhI^zHXlQk9GG@%|2Mn;UWYl-^oJ)&(+iJygQg`4H{Prr zX+|pByLzDq2_hShcDiEjSNfW=gw$@0iWz1)s0?M zgeVmiW)PN`y#=15fKM5~hAR|stpZLqfJY19cT|?8zrvG*WEY&(h-Clr2PN6I;3rM8 z5p^XMeG05gvfX&)CE4zp_Ql3QQ%bUa$zw=X*yiE>c(Z^Z%^{9!J7&=KIBm68&{Xg$ z_ZooLMW!=j4Zu879ulllq#6wrq}qQaZ7rR#jYqE;Kk&Cpmw^|0kbjA?;{;2lZN&T74GMw zb6{BjQvJZyP2iPTHe6j8EicH%@_Y}%WSCamY%rC&*r_0V0byb8y@x$+Y?Gsx9)_}G z!sN=}#<4|z6~m3@?7D$xJpY*iLi`x|1Nh%IwV%w~ix?JK%GJnn{fNAI6JQQmDGQ=- z;)n~IeH-^nBT-rNBm46~JapmwWM9gcEPpoTk1*v2t+S9nT^%t>Jhw0QGIKn`AAF$Q zK2F9;Zrrig(YQom!R0#bpNk5A5YHFj$I#GBjD?8xsMN(P5$Z;OjsH5Q%#H8t@)OR5CmKyCn|NbD_)-%u{GGAZ1 z3NkxKW|v!^xZ3emtwc2*Db7*VizA2Fmr;_?36G|MOI^Qf-I+p%y8S79urjpK*BM8O zFLoF7F5e&)+{0=IOW12O4OWj2C{WK`!dv+gq5bz3nJd-c)Qozp);L8HI4|R>3+nI9Dq7f$Vl|0PAjn{1Mz`@XyE2hIooduS6`0XsPgoS%|p-I_> zQq5e$z0aeKswCn=Ra42MApX0rS#3H#TREIolvWJAt4-47$cWUwE-jR72I1F>dg37e zi~2P3XH8R7tmBOb6(+97DBj8MrnyY_GbU8LUqQ6)m*~zW*OUaJ*9UUKLp_K+&6M^R zoVcFSL<_e?LGeJgGLUU}cp$~DuqO#*BC_=b5R#LuxYn)xO5QsQRKA#KzRK&BKa5*N zhZ2Rc3zU)cgXa9TrR0W@EJQz4UZj8rNY4|6=NZ8E3OLpP)(GJB6zkp2nf8YmfAfq_ z9|BlaDp{O-#xK(bw94h)`EQjqns0BTe&cx<3{={Tdu$F3h!-8HIZdG1<-GEmaT7G{ zi@ocrSW_gAG2<#woMwrC4mHZ`qL;vWE`}%uSt0AGG9+ka^^TIdjK8kM&Bh}0)f@th z{zfx9LVjMf4Vm{~}q0Geu?A)TTK( z^|268K+w9S0V~#n6nkDw<{aNGC-cdk2HSvd9{;8yUZxyep$)0*dz6PzioX_E#>_vw zDpg9JhZMN*C^NXTP1gNMWoH$laoMf#+KTI`N;NUlKt2=9LeZhbLfN~Ud5d$&wAz;2 zcpWXVld0!kXgGC%^RAV7_eb7k*Db65F3-Tl^5T@;s}99=RO~yc!f8Re-b_fBty)7pyPwGNIrd*sDpnPq4mRv~U!R zA>tpGZ|$R7eWmLoJ>_?cBV{vhdFiHUUCa>z_@}=L%F2Gz?n_hc=kii@uvKbK=CVXW zaj9k{J8&8Q0)5nnO241_hjeS_Q4uOwrcnc;Q$NDTTc$VIPT;GH9cJB&1bH#|)ystx ziar@vm?PVUFC?RF-}_b&*rk^ll|}Or?E5KrkL!nG+ve5MB05 z^v5Q?s2pAqh)xdV_+l5zPea0QrJ4c1v3GkkT4w~x3?&p_ClrhGR z7_R|oMMs)O4&-6@y98CZ?f};#CQIpCCTWWq8MBoBHEH4WyIN0e9bFTHMLJDQRr*^FGGn^K24AV2es z(R>O^!o$I@(aMbEU_v~L!fxiGgKl>=+zg{tj{HcSP($I1=PK(yi9-FgVv@nSzn%$4 z{?XlSIbx{-{>1?9tAMi%;2Hs3Mv2M$u$lJAzs3L03h@q9K(!>=TrN0o6u>gwbm^b3 zx&bUlYj2EfPkx3ZN{v+)ML$P(51+;=MO#i1375!Sr>tN#yh^E^vch6In^H%mOYK6b zsfQ>+4`*oZua`haCK*4V0D7L$@|L^$t6A-C#S&-0`X=qh>loyin{W%1>j$=|o}SmK zUL4JoVgHQ>3Sm05rM-l<3{nj#bm>mxE$Th$GzR^2kESt{7r!3Y5~`joE~uTMroA?% znzAgzc1LCar<^6Xqbbn+URmAmp}xMBqcPLXgfeHJJ4l@uF$9u!5J!9F_-bU&9os73 zp=b_4OO}csi({8qk~F%<)#v!lMK`k5a{C0=-*bb<-y^OBv|Quw(TJ>YesTy#lw^5~ zEX=fvOJ%09$~2IP+QW=P7YRVGStbq0D2(BV()yop0hm5`LmyaNv%53h1M!w8bc5g2 z>A4<9^ClP{Xb$;kPeK}ln(C9EzGnuGpYekn#o>$Xf^Grq9DP=g{?X6Xr6M#b1 zm&%O%Jk+$yn=&ImtBif-Cx9_hDX8ocK7*c2Jzv^h_}z2b`L3p6Z;{Gwm@o}jVv8>I z1Hw{T#(<7imGfVajtO&Vf#zAWBRqrxI4vkqbW0npVbb$j!z))Su4Kb}b`7GudT^Dz z%c((R(8)*9-BfX9d_rdu?MP@C4XXCA^~oAEgmlzf4aHOEC8n0kd6;>*MoSmoqAnq4 zbHRE%Y!cmaoT;l=c0z0T+v&UznJvUD;VpAcHnKSr^Y$^Kh0dS0yZc^Tzn?#=oozWx zh1X?>LVxWXDrZif49~J#h;S9aKP^_k4~HtCUjdgIz!m_e7Pvyo<@X}5L|DP4W^`{f z4`*IQVfZT!k(JVZ>a<|Re4i}2!C3D)K!%`byQzAddi+|hBjsTueQ87LIDp^bJ-~|% zaH#?QYc_B{fZd_fFqO?$(h$|O9Ubae&DZ ze0vykEo5D^-oK+hFJwh(tx+%eViGqg5h@Zp6sleh4}rg3+f}&9hqB9`Sfjd(x;wWr zF+G>%+`GT;8QTz{BdoeSdm&f>l6A6 z+ErOv@0&dmk&`+nwt4zlq3Ul$9q#=%DMsywP@g>@~v&Q9cm?3K8 zz}4=!l!F($8n%)J_7jV!fOSrTog!ee_dW~kbpw{01`~(BUAPzd7MSs=gdzp4mjc$E zA_;YVeN~dS;-d|%1J+ZW!PnH2z*TVR$4zB<=xCfcYV{t4Nsfi9NXB&BNf99{8L}3( z5)>ciHSgq`&`}?fq%!{SVd;`}f^7bXatO|vyf1p>Jq}mNuEDs>x96jl_ zdegwf*k5uM?@x)4L?E7!4m$F`Z#?e_$9vZ%=qNnV_kXc_gD15g-N@*ONZOi3lwsW& zAb%hpleQ86^rf56F{ah@vj7ZQ@4B)CVc2tmj_5^Cfy+eErz4H^Hbkd;zi zvWk+$Ftcl}rog`!3lKwA#oUb?qBvF5SJj_7^8htS6vYX7RFu zM1Ywd{h`U#t)n~heRtN?ZEeDVi_z8J9Jb8CZ?IuikXW5y=@#E?S*%FytMg4q!B6OM zJSGGXi0;hAG7?M z(5YgZ%dL-nbL1G9Q1yc{?vyPAMf}^M^0<;qTxmzfb3lA5X1q9$o&>$-w6|P;bfW~> zJG+A8EiXPAi6e*8Z2?9<2v;=v>so%L50dl6^sJrCVRGDzBE@1+m+W{}M6j!)B8fRt z2OlJpx+@Ey*oN~jb*0C@TLWpxo?eiBiQpzTe4%wu6zJ=_)Y6nzl-jRkLtL}5h8k?B4@8%@sVv>@n=P{_ zbx5XgsV@tGOy9A`%JgN71vqzUT&HH~TfW(&So2uKSn9k^U1N;oqVF$}9vA*?hY)>X z4?0f&&neBa&nGFGj9{wLDE;UqikV_-mHnyu*<{dV`j*r^%U`tTgm9A#qbS)Sykm_Y zV!MNQc*EQF#TCI>;k=8@qLdvTXD zJp8U6aePfMeukcPc$uu`a~9)DVZH@pP$6qRW0rKLyhtB+SzizQd(f2XS<=4}gHp1s zJs%vhf8;oryX+BQ&YyvmSK_ZPpD#GM}i%pc~j+ExEyvTTL#9(>_SbGzH zjJ%Y1HHjTK)j23JJOV6pwghArU7~#3S0kbRRMV-Im}mCBq%vJj8|>e_;u!3jAD@}Y z!ZXKylRuRbK>l$cai?H0c`62LWxUfCe>~KwAiDGyVLj6gGw?TrItjAav9LY4d9)yF zN94?4d}=3;HGB+(h!2Vp@X06C4vl{hi;ir6CL72a0dc#?Vwomnv0@Putk>twqe)$G z-pJs`m68npXnm#ibEI>0iL?`zaf;L=7HF!C;@|)>X1YID@Eu*zCRqBeFSdv&WN+tt za_CssKs9TlH>Bf}9en$0{t29WIAu)C6g_{3Gue`djOWZmozImFPR2>#n|T9Z;wUhr z)R0^;_i!L`!z#vX&>YXn0L$*E)oLnj}T!O)o?sI(C|IaHtNu+rB%zL;Rg zFpKC1_JY9~1%D+JBF#f+t8=~rGtPrKeqfaHD#cbK5 z{hr#`_)5#eeh}6)>cay{_2OE|JOP5W31@}s3Cq*1Z!9?zDq}-Ctwya~IPQ3DOnv^IU z!2&T1_9;>xBS-B2^xDGEDqB3dXzMA`hoEQ?ZanCg65c_XT+;d6mp7|G#at2+NAs-}>?S%dXLKl@nHM~v66idgD z81t^^U~N+2SBkin=i*ZEph_cnoQ-RAh@ETCV@FU>u`Miwu6##62I)zYJve%=*@-9| z&h${rIsUK?&%+gJIX5LQF#@0f6MF*_-74XzY6mW(CeEUKHyu<+hLjc7gmsu}& z?a3b4bG5`x8-tQaDIA(=1bs79HHy=-%#BM-({ICXVg@72sC)@YMSr~;mjc$P)tHtX z68c%W^|^1(5+S{60<|j^8OyT6;bK`fSdrI_e5p)afjyQq_T(Yjl1pg`Q}pY@&^#iq z%NPkS91zd@Rt&SzYD)HSP015oQ}QS=C9xiBjV(Er-aA<+gyQa}xbR_f39?sll6zgV zKy(tzx%<0@UP0U!NABio(It*-bXKa}zGZvHJ|fS5vO;$kqUR0B^$LWX%#f42QUJx8L39GF-#XsI=+%LFsJMjSf4oZbKh-5O0TAzM z+81lu+~t4be{t7i;eT(*pc+0NK0tMA(EyYmUZy_?b~}zA=(W;lgrr3Zric|N#++}C z#8zPJ$vmm7{uDNumVel1clD-xqUx;W9&Wjr9K8XDSzd?k1+%Oy{bcH^vOfMZ>$U~F z3t8WsmFO;EGW`5Ld7(I4pq`p}`8heN7K6kxiZF|}0e%J9t|B5xMH0+aDq-GEG+wSR z$LNTSB&7zeJV&eh`tMp@ZqAi zgmb@f9(5__);a{Gl=VK`k&>TNziZ1?JPeud$IzSQL=XEO*6@^2hJSd2A!cFZ(@n8y zMt&PQECe1gwlPs1p>sq1Jk zlBe&vIwZyRy?kQ<Zwdmq!8#rMl3D)OIcTs6;< ztV(V_+q67Z=kSS8T#5DCupU#@?flkSQhhMEI-B#f%e?>h%^#zrspZjK4(ljK_Sv1`-U>zIEzMoP& z#AR)>|DaV!EJ9HolnxKM@?#l*!s}S_hWw8>#++`d)|ZFzK0rPD8X;Nt=%dNG^cM!hlE6uEB_Pea<6E&zMIOG#{W zmbS{MEO>E2g)@3~hz14bVQbc5aDOXfCVRJ+C+o2Kta``i5v<-P6z{&Az*~0}`Z{Zg zkdzAOcYVDx!@^y8t5skB4z17C*ZT$cps!ESdDQa# z$6f4n^^4WZ=v=BPDWyq!djpFBYQM!wbcI&RPDA_4`9z{hrO6m34vY+zPAH zjE3A)b0c5S_l-Yvqi?p%;gY%vmXKm^Fd_o)X!)y1W@+=SnUAoj$&a~+K8?EV+W_;T zr@T?T0qZe4fiwENNK|5USbxzurKi6PZ)?;Pqt8z|xRE|Txk~i;BfsQ*I>53L-yI75 z3f{R2{l2{NIy72n+82A1ZL;dnXeW7Gg`NOQ*{&8ap7U^VK=!K0er?ouX(Q_UeWX;q zKLABRy&Q6v5^Lsqi*-a6uMz#M)23T0g%`AYbYClZ0JFDJZpXx!@fVER}dRggG#7ea2EpJns zN(LF?3JI;#b~EXv#h`S)(0J*WzM8gl#4e#lC<2!nf5xM%b~Dz4NTqcu4==uzMy2h5 z;Z?RC?wKgsJXmrSo_#M(O%z^Y%8(6;dn!ZJdE4d>wVtP-g~cZ0i6&#gUNYV-8O4P` z#sf^o?e}PnJ6L+B)$2&@sYX%iQ&R$o`GY`!+4*JQ1cyxGIu^GaWC>nkhvw1C`eq^n z#pYsQ5`qJJwW)ja5bf>drtT@G?y9}iZK6RkuArJhv^Zl>NDIK+c#Rz>I>D4RkcTlS zG|)-UW6w4ygjW3{8q91GrQmo|Y}%mklNQgABL|3E#Ga7Ka;E1eJL3`d1T99|G&U$+ z)^TsD_<9t8v_WwXWT-)lGP^zYgrn83hZLZJu~j-EZ7TPyGK=c&>ZC@iA1{(p z{7EgC0?tr5LnF=BIOwC$o*f+pu`L=YQ%H$AF$oQzclbcsY0WPNp5;jxI@F&Y-1=A> z=|2CQ^;x}~rb6~$rB?%?1C61Qfi4GqW~ocY-c>;2OQaM!7*!%@=^v=eU5}mRjH*`R zPEnyL7>l$pH{3j~-`K|FOjf_O3DH|1F!A2c9>6hFvP&StQpe4OpFHi_1Ht+VX*)if zI=ee?q7S?FK=^vK1^&io`r|^vqNFow1BfJY@lE4b>3nVZ^j$K0ihB1nHo#LPtCAm7 zny!cqV3>*sO1GV@X(w8X6dbK z0VJ(cuKB)b*hW((>R6*Ae*`5td`BBjzG-}m6HtYZ5S={&IqgY zmH&bu6XW5KwaBU|Gc*|1RN%M)nDGPqu}NB2 z!E+)kQ%&;jB-WOE&N^OP zSs2C`oBA49vp)VY;F(6@nGh3yObQmAusGE3)vUPmafTs4%fM#nCMD7Qx zn+2n*Smaybo4q+Rft(pa_>ExAR}+U<8=EZpL+i-kSl#q)ge|oyS;GppOcmm~{t$@v zdX1y${4Q%F^toYapnAQ;Hw8*xor)`4<=1oCW|hOIiZN5hALo;`)(~??dEZ&=jmZqE z6L6RIFY9SyY$qi?i{OZrbk;=Q?Uy49{#M1NP+}U)_{ahKcq6djHyXulb~8ImlH3^A zOEu0xc*~=`I&mbJbKPIKE8*i!BFFlk8Q}6E^zi|miQsagfA8=FmkIx7knWWo@O_be zsS~qw?#VhCTjt}IF`B^fGHlMxEXh9D9JmY3v0SZ02fFGn+_-MP*NuZ z;j4KUrj2)Q;3Dn5x@Ibk3?(ivkO+OVae~jxk2SuUA}vm1?95>l8q{)z zzLkKxT@4$|y*qMJgB%XWK+oKdffjjkD?fC#^!$qW_)dd@+&Uc))u=3oy(2^e$};yL znH_As=@gJ3vZTI{8Hv$RmE6e>4vpigYI!}^ydKM&P^YpAivnelgl#sg$-A_qN5IJL zU}sOkptj<-*Z72UX`r>#UwZ-7ptmG?m(4|sdj)Ph>sV!TQ~MX@Bx_+bsaO_Vzgrx* zF$Qj^z|95DmU4x}20~(x+eukOb_8JX_yr4GA{$4=E|J-fN@qbivHI*wcn?G-6UZd4 zm@{aU4_VQA|S|-e;c*9E3YNnSJS@O)sVhgvI8ZL8(ZHH?kN$%YZ3tR3_J)!soo$bYZlg@y)b8(+Tljrnld?VUJ+8cKhfSwNI zVV-M|GyjQs21Q?99cbEOW5fbq^Uz;Ff9u&gTpygF^?ny`JX{j8=PLTLepM(sgPNOy zkjWyiW!ue;WDm486Ko+n>cz|jpT5|mB<$7vQBPos&1>{>-=mcK>|*uZUpt=~(4D$r zCfFAtZZer3LkGig0vKuz z(fQQjSun#4Ot&=5sXA6hhfa z`q;mCO~E1 zFlssL*FVIPO>p27Lt=n`#=FZQnjL`n67bAe$k zXRGxdj=)PuaMWIMDY}f%<~U$5mZfvKk;DAahW#Ul#E56tl6`X~hCF5=!;TbZ^|;0r3u78(r6S>Zuxq7CGG&f*Q%VL^l?C<)0XL zBL4sv`Pal%>EZ7jf5dTq+Q7c`c?)Qih(Zn)p;>0CBE7PL zGVfGhJ_`xWXtP);?r}@6!B8aIiDV1Ln@L1wr9~vAqL+?H8wfJgA&P5du{yUSx*fj0 zUn@Wu*yU|F7_>`nuwiAOr;eU)b~owhwNO`bA3CboyfSq@{oAVjlS4&yy1G655E`87Er&j!1g>`PR-)8inVq}?PuR? ziS)M@F^Qe{zH;k*Z>0a7G6Jy;L~h7LF?8vhbFobN>bFAGtFd4FFG!?t$Vv!NqrWPZ z#PjAkUZT_8SrP8YmGAeYDW22%iA4|Zi$*Z=frE2=tx;!<(MQO&Kf3)F`zz>tZdwLT zP=C^WR8^VivdM)FB=Qe91_qBhE2n(i6ceQ6b@C_+Gs)pfAH+eVOu6Df0F$$O%7|#Y z9rU1%PPZr1JJ*B68Q@PgwEJIHkuN8^w%E$slsc?rgZbTtO)ebj(;Mu2CrBA&TA^zw zKQ!~zi~|8QAc!oAo|Y3XXX&_A`~X66Bc<%!IXUB8GOMCq2UF}{blWgq3dzw^eRTdM z1~) zwSW`q4gFC-3sbn;zhn1+4-|rVz0sNYH&Ls5$b}YDkdXcy406w!S~ACPXpC!{NKOMez8Q^ zuH#}dZvGuBa>GTqL886Zf$==cSHXJzd=ZO%t#Gsz?icPgcgEHnMa43y|CrT*M0g!@ zK4j%njgg|ES*>s_Z_dmp?CI##EjzjI-B(_3`9GzSElwgArrsnFUE0}Sx+(Hjs+R{1 zgL^63ujb*wo9K@IS_cP%5t49mr&(qQ?xx95qaDwwDWW zCaTGmTAelQuj2fM_U^sa9rh=+YSGG4QN)SN4VT!lK;o))IgB;=7Urw{5fF>V0dG%0 z%T4}(=-EsBwrp!O2igANN7#(_=8HH|6BDrsv&=OS$LPXx(VKv}CSsB5N}1@zj*jkh zEd5mzv5Vw!7dsm!O%7L9%8vK@Xq`rGFXu zw-c_t4lA4BAA&%V`F&jT;R%XNn-4z-8uX}(MA5;Zl(~73LGUhI8J+=_DBtu#;)tqL zH73rTC(BS29(beX+d}vO1M|}jS^4DTaSg*BeyRe0%x5Zj!T`UL4II!)GHY)IBEHoa zqMExkyrJkilXDsmqq$4p&9wI{xeaHFu^6MPFa;19*Y}n$YV#@8>0$ zqmE+-Rx?ux!*{ir7+LO>vF< zk@H-=9OrXj- zC^3t5ukR|X`^YnaN(ZVupi4DHhiFc764(X2^1An`HSLQHZRYUqt0Yf`cTWr-j5aT= zK#}@0EmHiZWu^3!EzK;S1%UC*{!AKQ{hn*?5Asu*c$U{-9%AmxB8yu*iCtPdz0}lld;KOGK##>rF$pz*X@{ABE3?!jajcNozDVI@D4oZ ze5^+n9?O6TRukeZN}T))SwCp>FINk##`Kb9OFw6rS{e^zA0u;~^Dkayj1z^ECTrKe z>#jsMhSZ+A_Bd5~U7)v~K(0*4hqTf0h1OFLr9WuOdxVD}VmXX-4>E{Ia-~XO* z>41+xq*0QDB&HTdbqPCXdJ7apK|}HstY%NdNA&B)Vrnz2T)Z$}KrL{h#Q>!BstQb4 zqgTlU@#s|q9=D?ON^1pMo0F-F&<&-1ge^Se7^E$UL{7>O*mLPp)+UD<=%+W(Y;t&( zpK053V%qj}il^)zRNXU>I9Fp(o=DbwAu*ngC?liTLNm`N@5|{#{P?Mb{VZ?{Dha3$2)U$voH%^ zOthis5}hmfZe()!V&8%@7~XI?%yNAh?^qI-jJN@X9?%lK5yPKwOOnJ0Z&5d@ujVkJ z1OgG&f&MVc4*a|5CYOKzs3U8fqJ+2(JI!N7 z)6uxZO^F0nuy-xT6k2RwmMOCB@iG+)+nch^>zt)TDYH#)f0HXqmmI6@Do)8=B0qG| zyj#$`=u0IBOnaE6H!nB%B%>y$+|*zYYU^nv<~PQeATrehABmvSVOSOM31YOmqf#T= zj{Ujs$}xC4CQi0;>$qSw=eqZ*!*J0(24;AeJ;@D7DfmO6x@l#+3#V;WxN**xo9F~i zSN|e8`EWPF*&CG5Rce#q2yalrhZtp&rHm{vj2}J|h9N6>L?m=}2+2e^3rnas5zctT z!e==nzeuG;%Oh&sk(Yy>T**yf4TC@O7XwnxF$dgA7A97us&ZRSE5>4 z^GB7}W99IrL}9R{YA7$BAX@HUp)j=EiIAfmb)!T!8o*)$_!k8{kOl!55Wu8(K@z(C z0rJKSlwJ|apk!}?(2{FUQWV?c`IH=uhN?*O)zmY!?DhOfzKa3k9tOlSTmOiD8X#C! z^$$4*4&6i5#4|e>&U}{4IxF%J$R7Hh=+foZwAZoa0#?NWkwO)#S=(L|vM#Dk9jy15 z#Vb~D{xw&}Obk#=sKKhfR4j?z%%vGsJ)5 zXx!l|RNE&0#Aw^auC{%!Iq8OlcM&OaEu$*i_$xJFD^e<&^)YE)t(E{J>K_EFgZ8ay6iii%yFRGvU*>4v zWvYGatz-4c`|;19)m0=v=Lcv%qfBFV^{uZaOj)8ck5`gIxBkRq2W@f zb$iM9l4N|&WSn6#4mTNZF&R(aOUBibaVCF|Z^}p$Psx1FLa4U1jJN3~6U@s7#GhEk zMwL&)s#&<%7JGvB_hAK^j<1`b9WOA=c!pHE6c6%VB#&27Pl_zdDC$xXhNa|~p8+tOSQkCQW&I@2D~d7v?loOk@rN9`~{zm?rQn-yF`x2>mgKvSx{HNOi_b~Eov z4e?IMvK;2)3vT=~M~gVlc3XUaI$zT^!?kKN+)u+zVJ;{FP0a<_ZQxm#`bufFjEF9%rpkLc<19YAGYHZZf=%kEhJTB4y&TwYC6c3K^c@FKlA_bu3@v~YD<{-=d}Hh zj(^5}NXI`%+PNmbU_DcsIUh-mv8pWn!Z&*^AJHZYw5vx>p;0LH!YP?(l2ImJ&CTe` zf*2JB=s~`ic+1eriY1%%6>5uwK>yfTczXDJLZF`)4Lecv=3z>ClL#b%@{a59pD9m5 zphtGxeLk8-*<+<#Yrc$(!wC>RzB%H&XP=JrqGWTW^@TC>c?rKT!)VyQL#y^_G+z$Q z)1GqFopkcAqCp-c1)I3&R?HLFzzdHGwG=+345sBZUpU4_BYym@Qkr9InEjf!9jd)> zu1Hg?8t;g`)1CdG%F_4-U*G?5PYnO zorMw_Evel?qpuL?##YE^EIF}47L$+Jam_ZEVWZG!Q4|P25dV7@r#W%08VWts(1)xu z$=OZLu!IjXXB_!ZJY{pBI}@CNVAa$iIqVzROAshs?wc(;B6K(EnE3n-RLMy|nbACs zcKKraVnb*sGuptMUx-yU0nx$gHgi}j+n5t+?M6a7<+HGr6%YM}T~Dq|v9E6x-mf9j zrcz@9Jub1(wGsUpskE|G(o zvW|K9)7mFpLiZ(=VPg#ZSyQZpTSfyw(f9!3u^ z-cXtH>Uorlm*2-L%H5h(4V=&tscVR=<|5{X$U_a0MW_QaO`*8uzhJgl%aZr-!ab-~ z0vbQs(pcvA?jk7l#jZf+>mri(7#h0ey{2g$xkVnGkadqK@~FsjiK$%E6so>NP8R-z zlZ9W23<+9XBvQ0$qWU=>sixl?%>dViUEe|~8%>vb&{P$&Hq)y|+qtNchQ7>f;Cz~g zVml@c#++N99=#TkLd=i#)@lY&mmXV$CqOKhI-{OvYW&OitVO>ov^tbNA`U5-v3M@5 z4Sb_m8~9gJ(thh3&rnX#Oh{>l(zMa;B6HMwX9gE}=j61A^rXZ0YYBzrR7i(oro3bK zRy`%LhGy1*rY&Mhi_ZefV@@tlB5Zs$qCCl&d0+D6#)b$a8k6mZ+Ua#mzi1!b&h1l$ zQ{HaJ8q3npTX4{GA6mGk=adeS!+Kubc3Ou(eA@aM+Z&*#P`qy|StRQ(%EP)~(-y?B z5bth^bAbZ!b6RnjaJ)N!dNAgjDT=6E?_73!>8qV-8asz`s48vzNcRdT)IYqnznrHE%?;a8~HrF8`r>gr9Q5&HJ-XlRSdQq$At7?`AYicR|O+A zlz!;ZP-k`$%~TxJnC%ilfu&awebRXDJ3mHVt=i8h(z+7Ukio_ZqFYyVToPgn*EQo8$%2QF zgph~K3s-}L<6gYU%v*N0Rj$uCpqaRb%Q$6UuvR7{u`JLu?-gH6_V&@MyD!zL`{nsc z$sqsgv*zrrCMh$N?nfhML@P1ilxO^){zPJxr#NWbz>G7Ok^6f9>K-1uYEhPxuQw zuz~;&f`g`IoLBFQeFe$cn{rkFnU-*MIDDG)cS|PFZ@HHr$NcH_BGuy zG4IEtB1_N;N{laNk+2`+kJIoQSU-X$p5&pkIITft`D@wlv5{-%%ykNjW$e7(ujdYc z%Hqd&gH%ykRaKg+`fyP*Ub*o+mAvw*N&_|Ri;ahKsj76IaKP&5{0?vX(`(@)zUsUtCS(0QbamGK)Pf{O76@fVy*B|lWFvW zS(&QRnNru3Tf3Z#k(Pd(A82~={;#*oNwsPG_RH5W$k^l6wt%)^IuvquWIF6gCX(LC z;#7L7sq{=9p8i&ArH4!VM7f;ON;}(%GiVZpl0!O7lntcUj+9X@Cuts(0i#^HSBlCR zVyBt>=~$$*NV~B}a^Jz9>4zKxnYr&^2h19B+sl0iyGAOOi@udd%cis>eOXTh%D;WN zD>oiKTLHiQMgiYGSO7)fA~!k!xchwv?s<%C#;aU!&SX@Bqb|K=Y6{rRnm^b3)ZA!= zVEkOZnFCEL#Sz8%AG~p=(7vWm>8ssaXxbM$5mi~IP&>(ErjTQ5h?zljqLRlTgYaj@ z(eAO?W=5G~X7mszvuDoIR8=GX~Nqy^-WlHgCrg^dG{k_NJ4_$ck??ARSN@a15<-L)-+hHohhvhL&NNx z>c$IkJm%lC!9l5*8`qM^J}&f?j>g<*gKSfC!y7;Y7QE)h7;-!2#1`iu}VDy%2i2oxPbDjP*c!!#%o9?`F*izAT(uOkA$diXNsiZTyXVKax> zqmZt)Hl?{?i%8oUhz%kRZhjfS89(u-g|B9*W>RYCYZ`I*m@H;-9RNlQ>B*%uy{p0% zUTT`&!sHrE$}`(V71YyZeFnIf0e+8QDf-zd8#pY$a=Ppn`nk|&fS)wL-w)3!Iil@J zhc((OnV6DhW#xWE{exs30yNsGy)I zqG2^GLI9CPSp-=W)VYo#g6v4%r>bt>={rdfk!>|0N11Zw}&}y5h7cTy)Tg zpCC(V#B0d~(~j)=N+VuNFvV)boXNN zjyxN4rM$^er$8@=K_Y6gi@QvcmPSmu4sBH$@hpJA;GYZZ9y~-NF5scHCP_Ix3XMp* z5Iz@CjeK|BHG(dv5-THvCQZ69mXzV(ZK29=Exa?NX>Pj;W!MGKB~ymUP&p8wdpi?1 zMepXX`$Sei%1#~96UskD%CHexBTOD@;&-eJ&v@d-r|0u3fmXX&Hxi|zR}1Fn1oJyc zX|h40X=LIb6hLlR+CRE%o&bM6W{zY{!Fc>38^*ERP!{$EWTodgqoo}Ur5&d@73s9M zLo`ZIv;9q)&GgogYFmU#(3e;60F^!x9Ak>BIk18bJvF42Y0fybCk>zT7+KwH_DBIv z$3r8;1QcWKRNS(^senz!o{jtG47Nndb|}REgV~QJEHUiayyS#0V46QCN*F}0vt=Q^c!%Prs?1jp)X1f><;wciy z&(;iUYic2_&nOtmtbDkj&xLnSL+@ksygqwQ>BM90ncii7rAOoj2kFFK+yH+qSnS5T zN+(XkEdyxyeuE3n=7MviU}-AIyFskr&(iJHv|dZX1qpP)9n^cxzi-xcfF>9it`Gj$Oaf_q9lgR^1$;M5{%Be|*hfN4`>^7oe-5Kt~`; zDbUZ6r7O_ooOWctfu68QxshN*fnt{lF-=%!p7oEqbTdt&iP*-$k_E&C!yc4&9>YUa zRR`cu!5Qk5duRW!a3F*jt9#uukycuXO!;r}LrwWw(#A&WNP&D*nr?5rKbeRh-OW#r z$lt)Iu3S24j0r3QMzzrdOOUtzN#nddA1 z?0P!JF=F|q5K^xw!}C=P_6zEu^=iMs#~U@y(#TTeb|XtCcUw+7vIj+&kWs%C5j=wQ5aoqb!TYl>VLoO!i((%4yzAP|)tQu+Chr zPMhWEQ)^vin?d#%Xr^<~rUPb%N`hH-8Swoze?w&Gy9{GDhR$?*;a{O?Bu4ErT*2%g z4Cs>0bp5b;gn+o)37bNKLD||!*$JiF0W{Mkl|p%IrlVVdX`CkYpvmPQHW=!GyOi7Z z=ki=%D;RH@(i_C2<=Kih7}S(Q8w3-|5;D028b15GdNd za6QvDzL$-*gPFGIJv^#ps^g;3?9HRw{nIAF!`LL~VQTyOg4ky_7M>uKtwCxG&j(}? z@T3_bWvAMWg2%ZLB&tSFK-l*KKEelLMeLHC#Yt z%Bfet8`^yvWK(Ni{7eC4vP4ib?kr@#DSsip-@@x-e8VLffe9%)T=dygj!#G=cF`T~ zZGkr4Hvob2%~#`{GVg99Z;{XWBC?ddv9G+{-q_D+te((AHt&8xhG}oa`%>#6Iv7C; zwA&I(H%KRY55ck)@8N^e;b)*L46@7ht&v#IAlVv8>qE9jD`-ISyidXt(@H8ppmQFG zXS!cx4HQ`&Df{h9LV7V5XclaJ;bxczr_@B~aT)XxBeONj1j}g%z8#Brdn}`)l#aw? zfKM2<;YdL-6%R2wj_}~wjEpIzkS^DY4dQ|ES18gU-U}C_d@(Y@4^RlbBl{!P=Z$sW zqa)`v%1mi&_doWbaEBk0%2fT@Q^^=jB@!B&K8vad7CDAsk!oI`b&bDBt7k{nHlnRB zH4mHG?f%Kg=mI07gE*D$_t4W^@VCbI>{C|rx5w26(FBOvA}=xh9-?V#WAR5r*A{H9KN zH?BQiG4p3cDMWs|95%?hwZE1J9b1xCYdV6W6gqK~f@eqYBh}t--2Gg%53~_m(uX

g&L5+6<9jgPQA$?u80*`2`MqCY3{w!e#_1B++)b>9nWuANzmipyz9Ye)#h%4SK!|dXmo-6&&=$GW;E3N7k!A zk3lyJxqUsOyfoxXNLHa+p4JlbUMj4>PxZIEW zFyJkv;O(~BX~4+}H_CC1@Wqmglv~ZmWdD*=TXoee{To0-P&%7|OwJ>sN4dm~mMJ zj^<0jo21|`P(7~PeNwOq73@nGw_18~FJ6%}!`H;>g$@)T;-we9xJFanI3#JaSyX~8 z=w;+GG2QBslY3Shu)pnkjsk0i~@%jWFElD z5~c3s7wS%avEAv9?tGWP-Ki(tF)mXo@)mn{7E^b2n)QZsr?S~}MB5Mn(69WU&b+Wx z`sK))hj$!pa|@^<(Ka7jP&ZE zraVYDORriWr416rj3{La&1gJG<0S^xkAE{6jwaavmS_OjNU#5A(9n(otWgOTWe9aj znFR2}8W#a=GqewWqKI<@uM&M(Rmto^AR(oA>Zw- zLAq?Y#B{j?U!R75J>w_eEiXWB71Vsv6dJ^P%5dPzEoS2<2?np-f*|*>8VZVk{XHOz!kOsR*XN> zAfC|I7r!2-^~F%~XQqOels|K27{(j%&&X2ii_yr^{h7~lTJvW zQ4)V(878Xwq_sn*Ntz3@>5P2EiZQhz0)!>E**n z*$LH;g(J9<8}pl@6g9EL{>(SeGgXJTv?+o?mLzh(v|2}yKl77Q+}thzfGO~ZfX5XF z{(tAsoV57=ZGYwssPP~DnLjKl-k`)C^J@x{F%>xAQDzmf97(S zLXfkl`?y!{Lcv4N|8=jed3Jwh9lQhqlD5$!@;X3R{>-$$V8vSg%Ic+ zdq}A<586tF_%pX)B36@masJHL7Mdg}!k;(J-)9Yg$N5<0A=xVtiB<6gBY>jIC1>W=W8B0(d~Az0RF5G;H$d(If7|0IC&I-;vwI`8p=v+2Ws9SX0W^f( zk^M2O)(|7akwaf9x>7u4CF5BxafFvWS`60m1#AHR^C_$WV4X)zg8#`ANaStz+xY%D zCK=YmIADOvFwhOfh*&4ZE7^^RXSq0SxzX-8mURyUNVi041ejYki{X?mNIpVJQ&hn^ z#S)=NGPt?u=oQ_8!#k@Kh{kS*?Wl{qnsm5Ec{R!FM!p4a@a)y)`6ahR1l_+qdzFP6 zLoAWPXRo@WP;qCk`kY`r_N#pkAA`P$hl|c$CFf#W^&ih(rD0ojxH-(_1Z#taHj-yB zRvKnrM1K2&l1%6fV;+IB4vRc#OJzyS0_Uxv3}tZ`|$xtPZzw+cgoKSyJ$a->Kjy zQg9I!oLlsE>ka5pvD>Z2TzOdn^JEP`OKzT=gslZSB}(U?M`u8%I!I}B;+>L+;CAby zQtDt6TPgO229ICWGOYtrxEo^TG*g;Z{l;DC1T&TAFLMr>n9HO5ro0`2l-5yk(uPcl}Bg~PNNw{(naN;U`iMjnuE>AOK6cuQG3(ktl@*52SDtf4$RMArGq*2LFQuPc{4T=Jpo9Oqvhn4b>a#bmx; zpf)0Zdg9odgXnETGd2&P!S&~4JSNa&e=@(bM$m1oAe(P5M#LbKmSH`p)q9^S(% z@C2rMER{b0m3g?ced14J@~N5J7Uwom04CfQYMMR5Fk<7uG@Eijc!^^p2LedUvNi(V z77sDYNUaq%%VJfSTktf!vdS6?;-FioJu-BwZ01{`R@n)7UWliyFt;mMWfK5hGPlqe z(Q}VhWy1ExJOw?MfRx>YrE^otge7kG7h|lt=mRpwN*v}kVs^=mv66+k zoqes4F;+OtZ3_w&7v}cjFHGB1yTu}l8b}lN{3Ohc?6H3p<`yT2=hw0g+Gs*)hPiEk zoQd5PDPqGb`4nQoyXkG;PvV3UDMt5L8P?ijUy6TVQv+qXv38R5!nL}uH5b@ z0lO>pN0?K?mEE;Y3YM3Gb-5s2_JM*8s9-T}p;u;J!R{JizAS;=)f%8Bx4WK&i3I`Q zS()kd^)aT?GNd#*O(r^NVQveg)BwBlh~|E6n`h~6(O9If5T#P2-Ie*OWp~jAoz3og z#C+$-It|2y?XH2ayZXZHh=tif6S-J6S2R87y!WTuxLLS$i5fPMg4C4R5v!RU`zZqL z484{8yS*PWeLg(O^jU|LMjtVdLd>f~cXL(62BF*&z8C zBr}b*I4OIkuC3Ckc5=r{b?k2XkZh(c(88ugQh?@& z;5XywJb0(#=)NJ}iqF{=S<0T7hAiEld6CnO>^|3;_RL!ZBlZlUs9F^fOJ@broj}Yf zn3^N1i9wW~a-Tp?~@Hu$Wt%*6#8vzB@K2wQ@?j1q3A1Qkj+<5fZ znrf49!D?s!*&OOhF|;cWt66A!U& zXkigz-JFEK=_;e?+M*gXG#E|S4;f_YsIzN}UkNpJBH*GT_CEs?^NP`QuK|?3Pw#`9 ze90lvbT3op6{G2%q7sFp>6!wq6(#bsIbae{m-0{MOe%P*r#TWkk1%_@0P{%`$LE=x zYQ17K#=HmO&#BF9@TPz~kCX<&EAVg>RJIR=bc1(-|1h9H>bs1ZkL*Rn~ z4>__)pGkBb9TDf5j{-Ev4@LS6eyGtD`|>J&Q;)Skt5Gi&5olGFqU$P$1kTx_>rg8P z*a^me8DMu|IvGE<06U7cvIp30L!shgt=b&sk?3PL8^oiI{^NtQ-~@D(!t6YF>S1>1 zRsv4*Zgj0ZE&*5aVH*BS8fipxu#X+$D&Dx$HgY}`&}Nk>fC;p)W3dQCc=pN4tB15E&!5-B2 z_hfnL$f7gcB70^K9rf`ly0#S<$n-8r*Gfs(dfdW;b**%*8B$u;-lndpCWUmZjoJEO zT%UG})}2<@<^jdOit9V;vz8Mji0iB6}KnGGH`b#DZ0QE`1W(F-2XCN*d*H=yA`fm3n z)Du^(3he9420`S+>RMpmnzy;9ZRFKLq_m!X&JCx9K`^jyc0RX0HqaCJEx!!{`;asP z`?djq9JUREg!yGJQ?d%G*6`;tek-uAm7q2Q`;={MObCX-%@H&oRI#D?n9(SM$$x&6 zqOWI}aggS18JvCs{G=T?7?jM4X_W=+$WEiszWJ87I$=(6A$}d{GOl{KIv+uPg#!J` z=BYrxRLrda>(TIoa`sEhyZ z-(81p=>A3^~sZz&CySXB+E3t(_&N0^(fVUy-cE9DL%u1Gj_rouRmDs;q9zf#X z{e3qN%n3YX1@tL{Iq;uYI*jg0#kTtu{JSZFIOyMf5*fOGH`g1w=!wFVMvI=S@$bG3 z=#u$&U#~=6iynUi6E<8rIshpVY_=En@BW%qynnaxH_Wu@5JXJ{ zlN;7FSxf5QJ-mw%Z?Ky+`aA`MF9-<_5z5?0c%zjd&bAZNE;&%JtmCzJ5+a<=A8Ac9!_ z-9~sxJpK+nA}{YCv$!Wpz}iiRH68Tt{wM`&OTpb-aFG=3N(GDY?|wGHvNcJa*=^0~ z=F1ZJcLxHrb5q%``FOQq0#sNbxS zij;ph6W(wTdZ-ZkdO<|jRB4E2GNMrb?%}Vw(h3!AWvAQ8-CwG^I{$96cRRUvUEZ%< z-rcyp9hb7C=WEe~RfrpP?`~CK$LF$UBj5Tc&pEhKV9E?bo-$>YAxk%9KIb&H`QS(7 zP{IuaqfD90=s`F>K9xtYgnyexspvIw6f7pw}d;g7fKckVe#tA)r^(W?vx+6 z%ap!5jEe@x|A3NmlQe?kDAtfJSP<``6?R<|kYyE0B)&{%IW(KA*ut<;bSb zb)$9sPJP_Z9plKk7qNNq-jn)4rlfwO>7?+5q%zIEHYNz1*{iMFcnC*bL-V};9iCoj zr7IWYftrEPyt#^*1{OL2f?X|MNxU@)U$HO2fp(E@TeQg)USC}Am>j)8m3I@$=p$ud_001sAN zp?HwEAPt_b`n%wb%nut~fg&g~I&s1=m1hNZKIAyB2X3_K*cRr5Q+Q}vjiT#ax%c6J zeY$U`i$8a{s(}!W{Rn;A%aGB|=NQlHf+wPz4Ud>o7CZSzSZKIK8E!ms!#pmanUs z02&5Id6@gg7PX-~qBIv=DFv_Rf)oOVf=Ab*AhklRUFlh9{hI9ECi;H6%loa@vw<(e z2nLTg7!#uI8|IR_Z@38gYT;UL3&zan9FHue?Ki>CqHFujoW{lSP>rnZ_mCq-Y5M{+ z7}|b7z8*P#1bxAL+69y_wSDjsYD?SGCDcmWlgpd6J^g^Tr)x0~^=#MnbV(O~&#eJ| zkhY(JCuw_rLfezp=Ub}HOChd*#?s}J%D|Cx0J`uBpTRIc6QV8$E+@U3 z6h@M!eMlp32@-|$gI1Z_*h<`wD`xsHw6SX>0JF}qI6-qALc z0CH524V(+C+J6IqNVS9H=S z)oyNQh-z;HG_2ZfxiQEU)&4uF_Hc> zhSA)9Y~`BQl#dh)vA88jY+D~q%XCfoUmlZsbXU-JB<#m)?!uf&{67XwSNC8(>`Ha< zU6}eE<*NW{die}}KA=w`{i@rCN&U1tg6NL&&&smQ%*KsLkmvmMOp~!l*=f>8qX~KW z-dduFLhYl2^PutQ)^r(i_IQ*577w;;;UL{NQ5`d_imGQz2rL z^%1X6FCyPspY~V_%s%IKV`Xl;B)OGlGKi37Q7R{_+|K zPKv%NjrBB;I~USwli<+qJP8inlR?F>=E3FG&2UlFFSsbGc^@=K-_hzNXh#FB-Hdku zk0vi!AEIS^k0s=#9e^;Ll?C>0JVajTD6p&w>*ob;iA^*?twms8WY`vgAB+r@kuum+ zAs+Mtqjw*D64aEA;1c;w0GZN(%%HVI(oyWX*hA7WGlJPS{VWfCPiE%GN0G8qprb|s zl8*6<6$z+ir@^cxxI=c?yv?IGbEC6O#nvZPk3IjWx-6_AA z>UbeK0IofG8cn|{cS-^J$_6(5fPwuQv+;Smft`&^`mRh?Q~V$U`&~TAz~(0m?Bxs< zg_;g>Kx=-V`;^c>?xfi_m#DxN7EuI3PYq zMkY4~L3vY-h{;{;)DvQI7x8KbUcsXJ2XD$vGS2_io3egLQQnkykSiwlv9wks=CHY+ zav?^hu+ja=Y9`_}xXDtR;k-P`meG9!-hwC2oMgI>6_EW%*?CH!3LD++1>o%~0)Pp( zV3JgUqK@pRplCFIO0M`*a26s<_ou8}PJ9|2SjF9#hm_WhsoV|CpEAg*fgB+0PkA07 z=-alzjAx$USr%`@GlTJ14CTMWLW2dsk}wbXQ}V+y$e+?h&@B;Cbrp0okdD)ebqcc~g!By(v%A ztwp%w-^UuhC1lFFq-@P6(0*H$H>Jv-TyUrqtiS~+5Cc=e%TzGbn^M@H5|ilt*5y6z zf>U)-a2ABk)f-QKl1& zGD*mmCmp|ooG424Gg*H`-T(raIzIT-Q_G1$Up`e%lmcMUbv%Vc!{uSu@uNxOl8(Oz zKS;;V!jp77KcV9(q)NAzH$GcwU>J91jE6Qx+g*+>&OQ^zk}!My+AAEELn zhOMRJpLhrKQHIe%0D)ac2u*xtsWYF)g% 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%0D$E$w=m=0C!^bZB~ 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 R`q3Moy111n$ z2GO|;^S94vKJ$0BZULI-;s!KZ3=^<1Mw+o(CC+QS2`)=t_$sqC--90J!1V|)UnQXX zD%i(&RbYQ#3f<{$b|#w+tr+CD&#}PQrkNS@fb1p{{FzUVXgEbYEj+?-mL!#QubH|R z{!a-Oi?sy_fL>?$gn^f&mjK+dkU^Iwm3Ch-bswPV)f#QF;}gvXe<}1fTay6iui_?- z^9Y79y|wnym=-gaI3vz~hw9)&$8jDt$HnK0f3`|N{NpB0TV*5vg?Kn+ZFK@^oVIHF zSMqsy1iun)p9L9gJm$X(>F#Po`jonc?crdY?EVIxd_#`DRQm@6afm);8Z;^FjKVLqF9{6_TO3gk@wed)$9zxK5y z&R877&jiS4zESH(@dViLb2I;Ct23`*aL3Sdbgj9=$d0%Wg=UdD*GLRzB4)iUX;zwk@ zIk0bCPMc6VipOwvs{F9cgQv<5TRUr>pE*sZ!w)U7F@A=ixLvOC?r6+fTOjPl-v(tay7oNwU>=UU%6Lyj=HdBof*fR4LdVrQlCba0)sQ1szbG z8x*)11s#ckj+A7epza$~V+8?j0|9kmwSMc*`-LePz%}LJ4n#q^PJwS>2o$(LhC{9q zAq1yiY?QDevLuusMM^}zK|!LI)NaKzf$xUOtaSQarbv|9cOK`|-bvKn3DP{JxXZW; zH$>wu$OEK2x?Uh6zav`iL>6&#-(3V955$DV0Pnk#=*3@23(qT|74XwpTNxyEvs(9W zE~#hm+C}J6yfG3_!Q#ixQCodV6ugc%Vd5$1b*?D*fhg$O3A%1)Z9q;KK>$NCuA*1#_`-%Vc1%TYt^u6udzF@VB&Eol$vc7s%jN;|Q$A z5pFeF#90m6YZzxWXx`W@<@;_{lVHWSr|}VLt58~vhm046((M-EuARcL9m0t9?90@p zn~*US2S1foBWIm3tVS5IR%km^wWMShJ`FXJ)6VSIaVR@iH zWWiEf;0*1qf*VwVhg5Q!YTz`jfYX$68wi5qw3azeHE^6#@602=@nvjl39Z?Vy(|n% zhG4b4fT)>JT0%AzX0!&zvRW9{e(GhgvLi|n%6owo{38_%hEH5@KwQC0D)_HmTEP?0 zJ#S3&bbo`68G0N}#7S{~$1$+HLRb!-ES8jGV7ZI1jK>&uQnXb3rFo9p5|%%pB?^jf z-inFHcacawTVG0yE`p{TVZOxkCh#b1i$td2&kLFCR)6XKRQ_f{TTTT&9(MN$%3rwS#Q3Mg z!R(HEraFJWGZI;Yzgxb6cI)Abg5qhB|B?4|Q?F!8L8(`;rJy7D!H17|(a@V#?C0%srWBy$OKdcuUM3+7O#jfyA@JIZ$y~T=~lnxW|wWdFyq6nCKDcVT(pbsZ9Hhv zdzbl;OKy_9-zT^)mKwII@k(r(v$PTGGm^!pEXi=UrAWCaEO`$l2-DxWhT_X>oc^J0 z5->+kPN4mBICtXuU+eG7`W2hHex-*dJT&2fzDs?51P>9~?ggyZ*Jors#rAkvoVEs> zmv|5G^*Nso9-dp zBc@TT;M>W<0(bEN8Gm?aq=!a4;7iKS9HECJc);hBp8?WhxkoV~6p+_O$m=TL>yyjm z^#^d(ho5OU9ZPY2_=YjQaSFVd0Lf&86AdHSZb+MHK#3YJjFOM|s#y1M>K2MRb5-A9mQI53frg)C&qGU&W+r zWzwC@r29-dlWrlCZV?`uk#1&;bSa)H3ZL}oUqBMJ7eK^zRm4Fq;*O|>i@1MFh}hl| zBG!!wTMrdJ!Kb$iAlD&>3S?a9`3QSHLeKOq?%SH!a}zz&7rAf4V~-&Pa*rXJ>^}?r zClfqoQ&%kdjyUJ;IOS*wc zk#wzSU@~s|rsLN48CYlhzJ~12(blG7s7@EsnJ&2LN;h3=%Qmf`zpbI#Ww=|mY1P&e z#Fm3k+S&EqEwy-|pfIC5{?hSht;@*>c36^(gErOwR@Q!5yP|egZB^~c+7;pJj18J= z+OlO!9bsr58t){i`OsyeE2oR(ElYPs)(F1a5nB#@f2GR77Tlo4jNQL4%m-`%@BTf> ztQ_6_FOO?6)A9O0syM6tU!(n!qiMg|NPE}jY3~Z!i}#Cg=ZkP1Zkd5=TZ?A2zUMt^ z`4vYKZRk<-I*z^gz`@}pTh6MOs;@G;t-!A%_PHAdQ(HBbA6)E>vt zpI&E~-XAkmdUxO^j^1)3y`MHu?@8&854hu%{x{U04jNA>NAu)0@-(4&o=&AdzjN8q zteuJe+yi_}e{RDK+QaCzJM(^Ko z6GyMlNbh5(NAJM1Oz$BKx{ThvxQV0p0d6n3eD5K9dFt|g324uzd@ zp%7+&tiiV9CLXv?D;;dk!yD}xGCD^$TI`Gh=g*v={gz*JPTTKJRL7bmkLrzUzjq)l zb!vNn1ed7+r#A!qYZQ0@3GN8J*h5pX{kVz8Oy}pSm|r5`H5za^ZnEk^^_|tiA2(C@ z*=XS{RQRu2VHr1uX{YbUDBx9CTn{~{0glEEYB6cgLvVw(HBO%_ylo3vhipJVpqaMq z3619!&&*Vc~;WF3Y)JUpPwtw6+cTlsS5BBZsPcH z8Jp&o=DXcV@^crkpOg0a`9c;3y8Qw~^JIHQ5<)_~+R?ow14nvgAsNxVPDoj5!oMYS z`P6}nw$VG-{f%T3JIZV2Gi-O{4WBIk1bWu_Kl%EF-=hA{;0B*8{{%|>vkj@yh+P52 z2TwY_%&eXrsOTILgc6hS*M`NRlS9`cnfVrtl7B2V5$;tt5wfp1Nxpia=uYf@UScK_ znYmi>yRVOARUyDN#xk3(uGv=lNu7mFg1OanYoCS9f!VnwEO%Bq{fwN|9Y0f2XVDe; zlxClu9tE4-o$goiY$`IvHLE*}wv}Ea@jMgy3Zc^D6WIWW|6?L2oRG-5M-xe2^K4uo zM_f~93B#-L3mFN+@tTd*H7gxg$PY83)LFP7hw^8qtNF9L3&U5kbO5$BO6{%C)h8sV z-_Zn7+nmd$Ej|B4P5Uh%{*RkB|Aa*PjwTZA^qVzp+6f8jel$Vnx@i~S-AcQB(7R)g zo`evI%N6+#wZeHN2tWD|sdrXzN-<&JfOFhconi=rcrrm@{-t0yhI9Zp5TI&J}^9 zGy-Aw$HMND1Y!3L5}b52foyOZL|4}!?ozs7rMXAxf&{7{L=?h(_i{(1P@)zuZrlaKcZ zOCfe;o)I4fgk_(O<&^liipmzyzU(uRE+1Tb8@&WxRWBvg~m(PER88Az&xBVm$iU2 zn1=lht!uT=@NaeT;Xf6hu2tOy_z&C>h&l+Yw-upyC;&uffFqZ1WPPjSV3vml(J?MQ zh~n!e+Mqi~8+50nYQrp};|M}Qp_ezF5e|BjBjm&Gc$Jsap@Y7$6H3Nz_%p!Kop3BU zGhTKfG8P&NI`#`4R^e~6&}~_8?hDD-(bb_coTHt`LF=O#U(+>pD9BIYaQ8~#y1^V;&t=Q-UFhoS0_U^LitT=$w{gO7?g(+Dc(3^TQDp_iJJv=bZ(|Hd zfCSF=-+(P=ALol-pB&DHxVrDc*pj|35_zaL66pxd)&AEHHQzWvdCK6c+UbFFc11!Z&Xj}R{)xZ1I@~2u(gWq+6@_#)+KH*u3(OAPrzm4ki z?HEF|^z(t|ayHs zYb;>|+vxi{<5KO4eYJ&>L>pq62|2-6jC;aA(}-V5 zU1LjKJvj{@AY*7Ri8dC)UwC}{y;Yny;P+F^-)X;)s}1e{u?vkbca;;`(2k%sjY_Hz zz5wgZx!OK;54YJ< z_pq>sjtZI3uCB1n9wM+a8m9kVl*#ry5StRZ~wrT`DyI<94ALNS3DWz)3gpiihdgUO{#5KJ)wP6x4T4JNoWi(4cP-r{}D|DBa4_GhURl(y~nc^-5d3kmZ#3h;mJE2nGtg<4-qXR{G5C;PwQf(EtB<{(H;mrUo3<+rhFD(dQXWZ{lsv1X zBqsE0hfO%xIpnCuo7I5=VTxm+RN)Aq29qKt_h~UT67lphkn|@`(&oEj#F7bcovwA0 zl1-w#EYurASDw5EZv@K2=1Q{fF&G+2{z$@)U3oCcE<1|saz*e>FZLq&MpLH$qa^n8 zya_+@w&0^P2-DYM$*!*A)FTO!JnAX;rMPS1amkx52TX$WV4xd#l9ZI&ZXr%wW^4Ec zc~eO+`SQpu;I($zjtImhDeY}6e;k;$luP-yr(@eu4dAWTaDwph8Y$l~S5jV~dL>(} zB>Sy&C*e*;+3_?ZpQAtQ`;pg}TdOssPvl8HU1KjCtiU>stvRrb5 zq(G0!Ck-k-l5I@;v^6ELjcM2X z#8`XKB^bNZ4JfGV&Wlg#%sCVXwtS*X7_{%lT?~U47`SAHgXXM&UH&0Bij^!6CphHq zq1adDa>efLs1|%Pu%XP3E;nr%bpV=2jp8#YY}?GmFql=ZiX(ivq&S`uK0XlcLN{?L z_Hz#5beogdnF#ECKDoS~-*ThF_VeTeE;;Cse-UebwPyzXsV3V-m;A*LQXScshM!3f z=hj!4UCLXe0D_NBkMj>O%RV_zXQHf7j+xh7I751S8-_;R6BM!{{tAhgqo&4=wspxG?61-np(B}2*!)q`n#0;qN4~WQ)H+4Y{d(-7-qKyjj<0rTv zDWnr4$mf4#f?T=IAjo^cR!GJPR-(7bBFtI^!Jrb6VRQK>JqJ-x`$MU+K;`q)!2V>b zt=d1*WQNs{M?Hs@rq*{VvofXvnN9~@y`=^YUdhSvZ6Xomy$N+or+(AjCEu5U?~gdr z?08C(UFbSi6XEz*%VBEjCDn2(tC1w@ZdxkX~%n^=K$;d zf*Kz^fmw9V?`>s;BNzc+5CM1#TYUM@MJav^Va$vc=G ztPKvufB`M_1r$it=LMX?bd&@gz79&j@qW+n<~_x*R%&GgUlJ7<$=76n1x>;bIJH2Yd@xw}XRbB#NCPS$ zPDqo>(k|Eo4%wj#6XLry$iz3TMjNk(G0_G~uuCZ`0x^Do8&NI~4FWb`7v*h=pSnE6 zh1Ms7iNT-RRb@JkpkVMpPEDs~sjwE2m*a-obUo4? zzMq7m5zu#-@HVUCOn7~QZo(hrNdMVC#)K~hhVbo@T&wn9U!B%-i|zrXz*+L8j?=}4 zg*T!&+jE?^$KoWK^CoC3a^{%nXst9{VE@z#L#^?Z4b|{9uQ+pz;pd_;#eUkd7D7$?}LNu~-_at*AK4)`rB&!Zl%_;U*O#Fuy zaPh=;{@Gt)YrFPWa(Utq{xh2YjHREVSEiyyepjsDy{_La)b9fN9TCb)Y}fDh;0|%k zTv}Wge19hG_eI>DaInBDR;ghdPVN!+;DRrqmtY!P;rUszZBWJSlGnK}jJiA6k15+f zf~$jlb(`wbmXktTTQ1J5*5z?c4T5>p)h2+n9hBqpj-|spf zt*XJ}u&ALkiwlINYTVgpzK%OOK*}|9A+955;t=;S_szrvsA&iOcH(L1%R`88#B^J-y;NP7km27Vz`SBij0@DI#$v27EtP3PbRE&=IOvSc2Dpr#2 zw5{}fiw8vi$5vw5r>PQaV=Zu^)#R!?TdBtisX1(W3p4ZNA3|TFOw z6#8DcAAplKqA{KM^=f0*@y48kf|#4k)kXRkTC*{}H6v)v2xJ%)6Klp7pR4MZC5&qa%bsC4Q4nS_zi{s|2WcLf|Z2LRc8QO_s&!@|N* zexAk@DL-dA%(<0rg$0dL!WT46l=AnIgGyaFf6t)&$#?*l(;M$xa_@Cd?FybB(GeuxgCA;8&PfM^o2E`pmiXf;Hga@}UFX^>% zOc27DY4F)W9q!;s=E+CE1F&BBDZG8`O!Y)B&cH4fz|98ki@zYT2-O;2Cz6}Sn z*7B)WZ=yr6uQ2CLB|hx_E=g_5(dM)7z|fCGfQY3K8SJn zS=QYu`5;Vv?V#!eit-8(CpJl5GTX0eX1k6L!fOQ|IeVd-aA}r6Mu!AfvA1WcMvQ+P zS-*VGTvz_6sd;j(Gjp#-#jVK6lT|9n6<8yc?1n2)A}7V#egx$UL$!`894H z%dpXqkIC4VC6#=GF*(^QCHToRbC&E(%wks6rdw4TFGg1N&@rqk#^e&W)nyLAZu&6p z2Jn7j;eL2EBB{fj7-pUMWfBd)d#MfA@-`gEd?`a49+FCag!C{WUmI;h7i1hKy-$%8 z`i@#f8+w!9SEYB@=`W0z-aK7;^K|LWW73<)q&F`{dh=qWH&2(|yr}dl*q9WR-ha=I z^vWSU=A}Dr`#t+f3q^Uqm|2FP!0dM5mdh}%Kd7=yfiCHqNd2K1S*l}CR0|EBp*Hqt zTDT79y~WG%tZQLutQ=FJh0n)oVJ}?^d!1MdS3nDeq9FP_G||Nkte7w~s*oYt4Rdsl z`~NGip4KXp;f~EQTn-&#CNu|T_7!!+JnS<6z(-4mybTJKm!CWpgXPLR^A0H=BQOuI zoa#X7yPFM^Lz^Ec4dE6(PF@dXRmVwj0~;qNF2y)mcAp`Twh#{(DiNm6`j(Gb7+T0f z5QV`NS{|P5i<|4@K8Lis*NQFG< zxoAujlgPN3=o|RXAH`w+1_g=GhAAX^UU@&Xm;DJ9f`s{K80(v{xLpc#U z9(%DuPvb(NOg!h)^Aotl2(}x?dasU^LL}io$G})POfMbg2*LD^f!U6A7AzBW&|&^b zFqg)_Eaou#7Hb^*9WYuW2Cw0Kkm^8(NR^1{e`A+bXc;asn8tBT^L0$LvJl#elU`9Y zG#4ky#(?+Z;E(IzR){Wi9l(RhW0Fl#mswp8O&7hN76YTneWgKD(m0kcmn9pQiyi{1 zu!9A%m0@WvWfY<>SZ=aYgxn=}$p{vWV4b#S3`MKfGI9Ozxh9ISK%0vb~hbLWXNXkS~Ruwwob0sA^T7;9y2{45dvCRoxGG)y39Z+ZDHG0*(R80HEF)lj; zQ?i=04M~WE`U3dWUOD36cDZK{Ui_=h8s)V$obvwy_GrpW)!gSfa-#eLHEB9eBFeR- zF-ST#>_JQyVky4?n9f&o>)2!h zUmWuHw5v&#NK(o4Cp#fo60n?dIj`VQCrvcVtGQ_AMp1N9QTUJ)N8gXnGWIUe>6@Y! zAI^&p1qI{Pr2affLef?>=?0#ZgQWFpQaVrSj-)y@DFsOy=@vQMi3J$L7tjZcP2uE4 zq$1(OMF{Dcsd#mHT*Aw@)60LP0zU=dqXpho z#r|iGodkZlnsiqbyHViF{>miwuM0JS4^=C;GKylCnv{y9IDyN&_|tmv_9|=;7UgLA zCabwCkc)mv^!e1JPmrWZ)u0g9@Cq)`EBKJDgKP`VjG}OX`rGPsY!eO0ygT%aFm(r zqA@Bv{z&^xFnHahgnbUl*Vt4Re&%3A9Sd`jF2juqifd=S5Y4dNKm8E1)~5@T{oqo4EDLE~#0ND5v` zIJoM_DYYD=oPiKui&T1!sH@R$a%S4A%zVd^-46kBkealXCyhqZG_~+jo-_NQ9zx)feRC)ChcO*-@^ogH%(25-2r(5Yn#li-$AP00VKL?x@EuyV>< z9AqB@AvQKua3RkJlrP{puOe|eKnNc)SE~Y5qA19S+{cl;rPq^3^%O*bL9nEreHfGh?#>dVIb6YU#rCIDqxI}3ieS+u0>Lu3YN=EaufC9JyqC$12(pQ z5%Npb+&Rcqsid|q;#e-x=)CAdM#R?O15r3R<&PX{e>={wyfr8pvj_0(E-DgaXBxAw z;n}}LOP^=VZp*V*N3+8SHRzJ8e~R(>b~JmHF}sduS4Xq|ZOjhv?0-eGXB)HM;@RV( z*<*~^PxI_squE1@*<*ONJ(`_m%pS_KFN$WjGiKX(_Fq^wHIbsVKcY!cY%=^s%ea2l z@+2CO>&tjjIZvVy`44Kr|MH}3ko3)R4)r>cR8iXfJ>)P1a5s0GbD zi9G8pHR)$Wid2gICz>9$&bKO&T4=6=%7obHrn;Brg)iMJk)uqDXB2Bj0M5icsKnkZV3#O*(>@4Je`U?V3{F zY#}76LTF}u>&UC#C1_3c7BB@rik5*t;$v((8FksfytD)$e>H;Ca*#nf10&VSALjIs z{rN)WX*iPN?9Z#bcq_g56Ke5m0V^)0A;&m3>a6h}C4ubENRH)wjg^afFf3bxKOlOe z+kjpi%Bw=bz*HKuFXq|Hc(%*mb4`He1ogo;j8MN8F_FBWLLu90%-+ef$3(O5GiF!t zY$=-UFlN8UvmcFSUt!FChG!3qX16kCPvF@XM6-jV4eXEL*}K}X_9n)vjM=$7`@3lN zJI3tGdG?ZMwqndak7xg$)t!d%k?=nV2-O7r0>zbCg|s-JgFZ~A`>)PP3q2* z$ONra3togI-2~;330kU}prxt_TFOmOAFr3S&?-hLb*WY=*3DSkj_p#EyHl-TF>=)k zNTo!M0OkJqf^%tH*Oet!?5j=^Qs)uHgG$bVHOdZ#* zemtEqwJ}Ar6W6O)6M^DrrczYOez;e!fS7V~EYox>3sfvi0f(0A3EFDE;IzHRle!>j zf=ceZC^ifOPV(fb4Pf>!=7`gQm`6BTU6l$%T)uc95G&)azn-}e_GqyqH;`>p}iRYKaoX1M!8ru93!s74Qpq70HxvEf> zsRdr-NhFkFwWW)qIO2qIDJROCtO?~+mH69Gn=8LlEp z=A@8Nu272}92p~&msrt0&n7@;{5^A~bT9=Ux|y+bWlRA42$TTp1>e7^1;A&cN3lJm z!Os1gfnUYpKi1)&CHRk^3Bf*&X5jzE;b-XZFAzMf#0LMt;WJ|Bd6>iBsl&ev`0(Aq z*P8>rg#%~mz^@YU)xpa-aIYB5?Ktp}e`uWk9l(01|3)VZ^(T!`UjPY&_ePf^inaH% zls@|=L6SlrEZ<3X#%?V6i>ZP9DKF}ke9S4T;=r+s4|6#1pLJl03+NQRDKUzyeDNVl z4DA;pdV=fv=?W}Y8s9D}VDw^bLOvYK<`u^_dIw(d-ZwN+RHNe1Y%~fPrr$Nk*f*qR z{*)zpk@dvby#)UQ=s;JA6~uoz{A?Y*mf)`=_|_c$#+cUea`=07c-rNt%VO>TwRM;< zelhTOJ4Y7F-;EquTOHXhBY)23=uO~7w*Flc$!?uLb93k;yiH#ojmJZ z^3I@DOg4EZtv9*zofQ;w!pXf;7CMyyRvdxLH$Rnps~vo?&wqo14hJJ;d$Zn=muMA?XXR6qlZVz^5h1w_b8Jv>tQTd zW4Y}j;FrAFCQlnYOpUZPDcQkavq?Uz@uKgK#qf`Y%$8(NK$0g_d#5C!j}2RdrFBr? zl-Cns2EjN26+{^31CDB!@>n_q;kiH0_brEEK^WwCA4@U`v+n^05}>CV=aIKmk|f*8 z@f{>Z!V5t*Y_dBnB|K&gw_^NcVMls>@Siw4m<}$v zWweO5>#&v1o#$=DC-n+YBVs_CoysUlQu~65W5SzWRC)NKrl3ntoN-2M>Q^~_RY8SkA zd8^fHGYP)o$dmj%z9LCDvhb$du-75L`B4?*BrGEm1dsq}Ega-`XPfaVBQ`%S^7K_{ zaknNqm?n9jOiHA7dr~4@ObkA98_J=4Rc|VvIK35`mX5y1wI5XCLZ{*YQJ(pddC$NK zOCuvi_S}uOz&*aVrjLsUWV320)2I zPXZu_H)u^nk5EL46{2HJ4H6c74`B1HLCV*FL`XTFt06!Y&((`VI9L18Yr)lf=vuK{ zRX8MK#U<|sbJf8FyuJXIgrWm@Igt7%TFeys0S}O4wW!!LlC!GB-uRXPBC-&3K*qZn zFGF2$zX-4Dxm#AS&>%r3(Z(%0i~-ZUXj3u$b1KOhN?WIG!+5+%d0Uc8>6IreXmTYy zZWX<^v~XV(dK<-}Ws1@0l!2YgNOvkzh6I-k#@m6)fNbw$7L)rvNf`ps4os7LRqlaG zcVE5Ro>gbtI`J~~efq3O__8QEIuC-w+qOF^8XT(D zgx&lW-WfqacCZhU8JAAHR+3-ow5=9q(R-j-b>Y^)-#gfal`G6hvn#Fe=Bs;zq~Pq3 ziU44s!L?H6-f_t;n47G%c!k2*kcDl7E?ZzcRCNG&!5dy2GIRep2C_+Nz?TmKAhkp? zqqFS?PS1;U8V2kWz5m);Qhslx#OY2YC&N1hav8&MNlY%ol#Z}1gCUpA6R(a6gWH2Z zynKiTDb2Q-yf2gfRIDtMarcA1&P4O)b(|bC+8yvxj!J)l)Gb^|UhM#xMxAE3nXdy1xzpdNz zp?5fCZ0kItw3J&Z{VnnUi_$+y9+0#YpJp%xFGuflvX`7`^Azpmlqzr-8U9IJlU)8j zd-n^V^f8P|gRDwxUzJd_0{K~MmtdPSjt40sXp?WPKee4;-(ahmct9Rv!8@2GKePyz zL&MnXvHQ?VoeI4IN<$Yql;nNFYI5J^RQi*NcHGE|5KA2yP_0k#Lhs zH@UdUrkiZsbc2AqJMm&KE_jOjanE#92M>s-(x&!NV_ZoYh zo%On#S+5hqm%u*h{VUbbzr(FHdl`s!^~qM=(^j&c)*sb5mC07Equt1#c~AedhL`NH zv8Q(qUmI0F^dAil_T|L&t3939UygYh>eo6tre~uQfZ^|v zLB`+WA7r+bOvv>G{1$w~)?Q&NnYf=?+d}G?L?+29ms2Id&agyGS?Q!fYDg;~LHTei z>W_FPXjt8jF8HrF4MJFONHSw5eR77=?|ucNasW<7q&l1g`31M!3T%-w7xtIW8UrD2AD#_#fD^Lw>R<#!z!r{nQU<5mp6$L0fzUy=EA2%`w8|^uydgK<{L=@Co67=vXhhHA8ZaMvc`iG7?Awq(1`SQwsL`_jIiP* z_Glv#Ll!WU7`z0$5V5ZOu`r;JfA{h5Lz(=uT%?QG^IPv!?oCr}Q2J>a#);O)0|UKs zKMTA{)cK^QY740XsLM#Wu2$s+(lLPaLuF4MrC;*-ByCczbSRhTooo;w)g6_dR6ni0A(+fpTMIfuLv?U(Mx;p`wML!q?;WVO;khQTyY9QK|5UOx0t&}vm z7AIOKxtUx6b)l4SH}&y4r`(kf%}-M_1>#}#%tSrW@hF${LmQzDO%d*1L0a#s&g8Jz7<2IS-^gL9q! z0a%P1Rei^h;Qg5hD_n70K<}=kA;FsfN1=xk65^c&?$Xi*dBqxDpJ7|`WJH%xUibID4-|xn0VN>7%xlZqL zHVyvo32BQ8X&NSGClAi3RG1vIA;%ohlpDMflezGK(?f!2MQ)xlKyoO9hXilL6c6WS zU}7Ju5TV~edXUi#pfw+Vi|}_h`tB?Ev*2F)JGQ<#TQym1iWc}{o@$~g4ZCy;t0T48U*byK>hy<~3aeV$Y3cLWE31T$!s z2~21L%(ZPR$9)Wz(p|Q_ZhMp*&`vLzE6&lBk%->z*-c%(9UP?5k}QqRvrX*gu{h-c z-C{W>-xWU7fOH1%O?ZpGW1IYU77vvw2C&{}XJmlC(b3*bN{A># ziuG5TLrbbD=*wXHF;j5E(ZDwZ1qLit^y|jTt36+h5REEZO4SD6$URPfN4yA@Brkx2 zu&U*}^`iWhyq~qlBr9w;`bi{s#dWaEbXtI;Qk_`H5xb0oP~f5Fr3cN(raaiAZt~sT z?ed>`D0%B;DO<^_mZcoP1i(?QUEU4>rWs7WHs0v-9dIyTdFj62exm>0fOuGfQT|*R& z0^pO~?DF{TcEwYvI9AF1df+LStHoW2<6_9jW<$mk;40eO@k2&7^yKdEdDDwZo{6S) zbfOkUlWfImUZIS&*!E5M1BDdCMe*(k<~#nJ8-4ZgCmUs$vL~~Zj^-7TA9KrzC^m5? z^PVwKGKaj3sG`9#Na~3O#k2H%5Wdl za3jh`;e(ps)rfHsAV%Q;Ng6&&wwZiTtCF`&zSR!NO3wTyOl%W^KcPF|c}PV+GE~r< zc)eUo$-##)H|O!$X7qEV-d)x^ zg>1^BzT%Sqgw8S=-2|N_hjkWolE$MtNi-gy_7CV#9s<+|iJ{-3!y;T0*JIs`3bn_Q zhY;IC1{aoiTUcFNw2fI!bICHo%vt8{MWpK zJ5;|rIN=tWq{E#GxbJ2!{lAP1(QnT{G!lX2foS>GI1vPIXn({g&fEK=dePT!(3(m6rFhu} zFMNH>o>Im)#e9yGrZd{&#T{Vh_Tb;BALAvQFg`MkHBy)r7hc%v3de#h;Xg5)a*@EJ zik{zQfINU3A?vaxS}>dS6D5CQ4^RDy2)5PDVa4 zBbmpq`=e*`Zj5;i>HtUUaX!vsm>!IE+kzXefK23Cxr{9zV?hk#(7KL_pW%Ckdr>|g?Nl+43#%MUIILqbHBv>0OadbB^68ZvIEBevVk&s?~ zH@h;Ty8|!X&HfnaV#)WN9R7YVinZPy3DgC?7rl)M!t}X-7Bg24_Pee%4fYp4VjAR6 z{WqawFtPeB$qfVjJ+S&Z5yxxpX^j_haH6%`%4Pm}px+`4lt0S^*K~{nx>lSY*&XZo}DaP<~RYPr*2GoMe`=j!P)*Gj-VYT0k z<7(vcNQq}B)&iF2nYRl?<&c20f)B1CI_7ApDIMn>(SRAe@+N9Pbpm%c@*wRme`;&0 z$feLLEfXy@!AiO0pMytkWcn`@Wf4Ak8Ho_9ATD!={5Y}Xhh&GmPnXuCZ=iHY7`Chm3wr9+^%xU?iA1-nYIQE0{dQ=VjAdAz78$go+qP; zDY-q~#10{~XOcK=4T!;+8HGL3I3xd!i~U-BAG=5HAb;{tL~veah;95w;LWA7U~(Csr6bB z^)dSp`UcVXJo%V_e8Vv z?=tKTC+1;M2;Hn9ScGKN{pM3{%nHbVIMModbNSkY;&jU!{p;rNpKAV@&_jcb_fQKr z&W19(A4d?>_YN8fnkM5^u*#r#DeW~7ik_iFQU%i5meCq678yvTa#e z_wbl@yv24W z{HrKui}F~D2s=q$F`uiv3nj=7|jv zI1#_F6Cik_Znyz_V6{@x8g?rUd$B8uXxPX`-mq%BvLidUfXGE8U`JNqGn6uk?8;iq zjwf#frzOz=uMT;y*ihpz?-1EkQ032I`>OCJwgKCLq5N{YjM>$}s6{TWFEh)l1^Yh4 zV{352WEEDSciGJwMcc21J@sN;S+OSKkKp&>2qa7z2)>@+Me`vsQs%H7E_@~|*kz2B z)uMkO2Bj4^zcEtouq_vSL%{(8{O-;Pj=(&e3bkHrXe5b*J2IsNJK@&sjuI&!T8i@( zs~xrj!i?95?Z|SzK^A8%E{-yQV?Id)g%8-3N!4P*Mu+(aaWRQW=YRPmI_Wup*-)Yh zP16WI zjs)z={fiOOvD>!ed{==TlFK@Uaok)=Z5H$*eiJ3uF#fUm9qF5D1XvS0<=iAF+w6l- zHXO+&;#4MiSisznxdti+VKA-Z8dZee=9K$$GqD-)M{CpjUuk9nJI6>td_R#7J^69? zpfVbO?Z_7y|8`{tmw}y9VdV)4Lt?IfbRFaV)7I*_{f`d z|Ea#z44a8~im;%e<`5451kNxAW~2aAKZ~E~C)%$R@YO^R+Al!u7e0?6W(9QOgasR5 z?E088tDzN#MEOqm7@mcyjzJbyNTHw@{9~<(@y}k4AwQ%5Atx7`(mN{AD;aK0UaSsU zl*v?UgI`(|C9xRtT7m5Vs<`lmnCB;zBC+8hc*CNqqq1*>WhzO+842Xs_KbTMyQ>!Q zwto?rqmxI~AJYfByaM!)x;F?5 zR#W@o9aqmT#t_dYdN(3JLgLr*!$K4%gGC5}*+dBPAg1t{5Ppfd5u-?2f@2Z%0R3zs zy4`l1b3<|i6JlhQFlQ`!2uKm;+=LtIi@`UpRz19}ykX<(g zzu-AfIq8^bc~mjZ`_IUecSAy0E}{0N;&TCn#k7I4CFG1OciF<85Tcxj!_g7qIC5{& zBE_>_%*1S`k;o(Sx{3@PZS(3TBS_##C$LfT#R^PsXl6R>b+Mua87LTpg|=GKugN{- zO~i#LFNX<76Z&q23SxT_c9&r{*td`r(lKFeCCp^!& zqLf)7`3rBx2bu6`$oAzZkKc<{^WV!i@ZW2<;@5@2BC6kjqLaM#;j=29NhaLTPV^+S8qvFhGqe@$r!uq=C&t-u-rks$D_0Acj1@S935+`lk4U~e zUFE79|Lr-Nrys=E>vltQWALrIL$#n1_f4B{Aal+OxQu*(*uwYhC~M5G_=V`3V33;{ zS#CP6g)e}?Qetp5WAL3knD8qLgb8bL-dzofU9|j5B7tGARkx4Te_OtBZjKXX=hgId2W2ZmJ}`1TB^s zxVUCm^K5IN_kVNW3>9)^uJPM@M>4A=yf7#E?=sV-D=G6J6_L!V4Xs-&w?vFHf|Gm8 zE!e<2WsgHn5MdjrZKzpbm5SMptyBu@%4PW8#$>oS^%8nE1*5*fECl1Ky9**xY`+5; zbFu|(>8L{VC9qTjoe(UI7UP2>eHF{g zEQs3xX&@Q`OCUR5SN$0g&Q#G_Wb~J>0aX3u3ncHP`3d9OX026`1i~XQD1{572}XXE zoM&hJUTi z5AL9&9pwmft(l-Ph3d?1qS7UM4RT9um6IER{ZM9!Oj0Rz`0pXJc$i$fRA>N0;%$PJ zYeGX}$xEc8;YDuX0*KpBZj=w=O+v|#9~Wi} zGB^5%_GYHwZz_!DkKpj>Tsna|7v1n|+<8lrJntgD+`a)38^|Y$HB#o;M^7tY!AfxO zHNLJ)_WC;&V)9DSR_{);XU6O(CV6d+te(3^q#sEfg!x~RGLCjo3j}3?A4GkOY z<|gxgxsnUSq z(Bz@Dr{;fSqPLMI<2ctgaZ_zuba)!6AuRr>qyT!@g=)vb6q&Ve1?DuiO_P5KCqe&N z9_WgQaKADUJ_BVHqJMB?o}Bk4ydm3mVrx5tke3l#UrTJQ4CZ6fd{O=-_!;!sE+g2u z95Y=xZ;^YXJnBQ2{79g}!6q^=LGy#pQ?vt15fsOvozzO+V!09<$h<7)JcBnM{fAGg24YjX~>~G$O+lqJ^C2WVVn~|97DGw;#=(Qr`Kt z4Q)g-L|*LBS}pQ&N5nH9i#cm9KoKnFgf7Go=E$n^PFjS0t18-o9PMiyZEKG94xlyQ zG@du8;(SuYiONH7f=HmHRi}$xa!6}GRhF84T}JjbtKLymCln2%68=F=5C%SsLK|sX zWvvadok%!79&R`t;A*#333KWo2ppE44yOfo`0R{#XCtXf&TmP2F6?r`eW?AZ|TS7I{>Y(>P*9UXN*kA3NCiViZf&x)JGiZ zqgW`HLc^*Z%d_|vqPKhx8&%)TLkQ<8oH3n=Q>0I#3Kw}>ZxCy8HQXyYSraZGmKxj_ zW5CJWfCWCR59im5O5sN)Ip8r*As>(mN4!ir@S^VvlL#^v&o{r|KUtb;s+hc ztP%0QxBOQza|2wAV$t8DEyLjk4s5ye_vjFPY>de~;_pFhiwc3>gc0Nj*s?lpYdxQ- zE%px(>qOf)FiL<QjIiLb#S)*qec`cXWT>sCrU^>29Wi1sE%G(<{7b3`=P+x9qw!3~OIF}?}eQHJA2`as|3S`^%jRU`I& zE?AZ6UvaB~?^Jm%1sZf3+%4CXggSY5V9RLYFEwpVy`?Umt0*lQUje%X+b*TFNu8$cq_3&D zu(%~xN%^_ySV1jyCRnP%*TJW_3c2i)Y^BxY8zm&Z3N+!=_|&OLW%Eo)E)BL$!Z!TI z2R+vtRwHtKEEfF22&_gth*n)fP5bH9xM)TuI96chB`&2e% zeiTktKd1pGVSE}3L63=vTdyx-)h>Hbi+A@o*4WgB5i0ohBGo|btGra`o)}_>8jF^p zXoyTK)*aPXUA#|bV>c_k9jo-ql}n~pwV1kN%G84oxG}*`d2KD$7M-q0m2yXp@Q)Sa z{~&sAHhD(ixKgaFOsC92E^kQ_>j%v0towmJ@szIg%ekb{*68jiRrAM;Cz`^=?4&J2uftph;NPg8G?)En4!0jZg3p z)6l<6XSnNd!VXt0I(k%Bt@bHw8wn|8PeVHgcp>xfn09{6Sh6lz-GDM`6UCTQ4KJ_V zo=9(YVTS}li9*prDup%`eE%PN?*blGbv1rx$V37JPq2VgQDX%qt=2?Q69LVXiJXBM zjRIc!f>I+$y@4{Lhy;R@6pn{MtlDC0)wi{kUd0wAUP%B+0EKXoi?rOdGUHeYh?0OZ z-*4@G<_2i{J^%0dp7(v8f1b?DKKtzJ+H0@9_S$Q$-I6rVtS)^=w=O@`r6))o8^Cl#%}9*(90R!*h!(4tOanRpX#(|~ z(S>e)?Ytkg3PIvH57lE!j^7M*Ck@Srk8uzyJ`%ye)(pe7DP$GHwL!_+@-W8>UVCg! zd%mq}xaIx(ohtefyNR#p_F9D_OU5U0L=KTPj>Ioc z;;T45a`5$!I{k2BGVoP`8eh4t^9|Y#?|Lj^-K%ph#4&LOwfitt9XTJ?IRW}E5X-1r zPir%v|9K|`eWPBeYH|d$LFCKC96JhQAbv954P;}y?_HZY3bBwXBh&}fqq0PBVDzV7 zbyEj~FVdte7%iEpVD$KHNf@mqMQjVJ6jg%eqUV5?btZYE*zS$*rpQ|XO^XVA(dlFX zc9+mh=8Dg{8tHIJe6XIn>6WA@YypW|-uYSzTfpqn_|MvZv*(tv%cE7Dli2?QS^G!G z+CP{$)g+_t$1)}E<13ROr{}|eNRKaZn)EgFcy@IPzu&7-V|@oP8TkFBz$i_RKU$-D z_%-x+h9X=>-Es8zL0$HUTa$PsPXAN%xL!Ja{Iv1vO!tn=nl^nibB@qCg;pI)kC!F7 z{eMM|ryQ2)5zMB?ze95bFA7tClG==e)ge_pw0T#ne+2MqsJc{mG1pp zdVHNz(_ctVO}A&&bR0c?3#u)&#HdTt<3BiY$I|2E{@E0JR>#_a-xlyik>|USwQ)H0 zg)!$*Vk%MHvDR^9s&pwwS3tYV5J;n}TR8wVXVG?6l)Ppkl$>o?O(Q}$+3Sij0=$J$ zKTFEB^Tw~zQ*5fkU#x&J_%i;0zF9Gnw`5!jp9>#S1M~}GGVu8dMk#(llDyAJC*M6y zCBHK}d4<9@_J29C(+JXl4_neRU<54Pcn)E zV-lp4mh4gvnWAQh6s@Du+Qo@UNp!X@GTSr91-i(CHz$j{QF?a|gdO4N*a`}XE;*!{ zlAZ7K2UTC+NaY(N`7R|Nz1a~Bt2{>CrNm|}2XE?pb&`*FIj`QrcWN5H#Y%gEX*@?~ z`U7U98LOWxLaCf}Iwx&zk!d_KW92(?MC19D*{j|qWIuM*o6tkgs%2zhpdM<@oK=+F zdTiOxp1AC{>DjSmcXi61pvyiht86`w%nWHH=-q0YV0oy~LT|w~OHk)#UAi8I>twGz zwSr}Z~MA)e(F;p5dB7?PrtxS8~2jm0eeJWdlHBlT_L0{E7;r zJU^#?*%(}3X*FAG5SpUwJOFqU=?VVwR2sn?Z?j!8y%)$h%JhDa06qE1+sv*ie`L76 zX>sGO@G{v&a028pW@AmSkJ*uWa+32 zWHbH;?^gxn2eL49r^+q6EcmlM0wLytJ+|RkEV`-VgcvIJ^v7b+3bu*DmlctP&TdlT|h+6f@vo_C|j|DvhpFv(PoKJL%!Z68f}r z<1SB^=F&#aW;xrOZ;f4K%u_q4H)M3xO;h0`uz&yLNu-#l%r8bmcL6$~UTdS5lin5V zhB#$iAiC-AgRH1-iW<*oEW!XQqd30B9|=4M#aYOXN8J=0u%gk~WFy&(EUGg)q=x5Y z_TQRtzC;l*8E3IzS{1)Fz|FSv-Y1d`X5f&3*xL`)T)9aklGitqLX-ks&^zlyx|xY6 ze@+dxx>*}+Z9$>RYX=s4ER0NQ7Ge@$qUS@8a0$V#BZB#D#zvGbc&!Zx7z0);y8a7A zaYY+Ht$z7fQ1xLrdrRGiC8;XGt~yp{uuH6Dz4qOk1VOo~7af(D%@HLY>N9 zSF%naD+qP|vMgjxckPuas%w+DNJn=~j$D(Z9gK+06)fS5nkEg9<)z<#0Z_6j!EEPB z6Lo24r%Dq=;nF;x9Q$gTJ^yQIcEgEi_KlyPfM!oQj%GKr#gmQ2IV1<3e{Vd7W;e!iX+`vM zRsb0aqppa@Sh2*Nn~GZ`t$mfR=qaf# zu`y8!jtw6jA2N|QokC0O`~8ut65*9XY}?{j_#ix}$i?psa@!IE5`L zZS-8{85#G}qt#2(oKd46t&)*Qye@R`=w$x~W_Kef%la|>pRDs#qso=RMh(i&ILOI( z;{Fe1P!gd+M&*K3tBks5=v8WDdh1$#Ju2CgJX7x^Wiy&0)5@x45TodXgM{$yHfl zrA*r1$=7GmNI8eI>RTv6ZH#SITD%8xw0S~j{E>2steS={(ns z^o)!ilJyQTW!x|$FUvp*5WlPVKWzT;7Qe1hOipuxVy-r8g`i+2H>FQjKe$Wk>-BV< zs=Y-$b+5{DZ}GP+G3f&!qj@p0AUnmQ8{%oYvy3f-#;r&qPr(V16P#E}JMHa=hsWrLwMW-E9$R}2c8SA%WpNMhMJ#U?Yk=z$S zyd84xY~|g|Gq!yxk-ERS|D8m6?IGj%2@k2{TdrIS4;d;UqfWZvwJ*7XCl4+V&JuID zD&k^eLB;00Q;3%#p{nl@^x9{f&yTWT^9rsu?LEeV4b>H~V0%hBAr@=}{YFIGw_(5b zTVj;`T9&#;1p_JeYv*eFwIf|N&RRpdTI(#o>!ab3zUVlPIWIr*Lk!rC=r=#G`ku!- zY@|B#?sndF%6xab&UY#Tpw7I*gw4rk_3iAKuth{S?GV~owbCT)*Qi|V*AgeNUqizY zA3H1jt~R4ijH6Jh&X-&<(S=-^Q&WesMrtgc}=A6ZP!HH{f0*dD`*4#=anOW7O40Dr@wah>u3@dXx*?t8A03(LEml;`aUa3BSR*h1EeFD zJjN3yWdlF$mJ>UVlqvpA+tU^yJBZ6Rn{WmzMA{`U^RUfPbDSt_No|32|vw*_4l( zq*JrD$qqp(EA@6FgDjh~=sQBPcMW^iwRp@{fQcFi@s zR@-R8@7D;f%Z=e2y-JH<{-)^cvl_D&)6=OXMao{>*Nw4%rbwCtgLOWmN++@%-tHW) zT5<94B)hqZ;!`EuO$o~9fI2kfXgcdWu*zd?#=Qv|02)kF^h67KlE9hD1j0>Ia}qMP zf=uLb0U%x#%!p3_gf6nn0gyTb&*!jOFW?WV#`W4ho$g0^&C*SMbm`ajc;p==EZ`0F z6ZQf9b#=<4?V-3|GATbZasJa>`HotcF(u)TU9J9kLw=B(~LvwJMcI)otAmROBJCo>X)#@ zc)l1m?j+1S2nHfAQ~)hsWVWy@CiVr6g;YYHGA`WM$!9N>_D`^ejpK8x7^e-J*gRW}3e!V# z%E)8^-fW?F@@EI$v98gBYPCjs=AaXd0gW|mx^>NMc$`~^igsn`D)FTBNDM-$Ylxn^ zLr*f9`dO2#=a1A_bYaV^$6^un#D2zVDBfE&s*YEpU$6i_E~11ohquuxB4aaT)l7@W zZWyNuJN42m;-AHc?x#^Q+Yd9WSq-su-db<6Ax}#~x~qmLC`G>;m8`++)2~rFn=h5^ z70I?4NtVx6$RX(Kx1ZDG>cfx`|DMdGpK=r>2Iyz{tq%hBZT%Ff`bd$gU5ZrQOM*C_ zWa)KtitkpAAy9@=I~W;{SdECxUOMRDVFY32>5`n2nRI z--MHk(m46WM+zsUhUibXYgCwXEKb(mtk5X*gCr`vNAg&w!&$f%AFC4m5d+u^Mk5Q? z>i6mjzQgjDg==T&3VNn0Xp{>6o87+C`{-N$JOQpnb(R0{B-^!JvfZJwsX;$6uAPfu z_8W06j|9izTI@+U)${^z+$|o9x%(NfY zjMXDkc}tUVM<|R{6S`%l^$U3?3U1hUNOy82*3P@<4{0gN9Vxw-ltDRS_Tb}AmpcAS zb!pTT)ungTQ}_JrE_Gyf2~O*}Xeo%{bV*kBs1G@G{3p@L2tLz;mCa8o)r6(e331h* z$uAXj^J7UIDY99N|p8eCz4tIG$-k>fXCNY+8ACcVhES{mtpk$N8* z;;$YyRY4u8;fxFY_M@`Ymwr*o=BQ3p<*^H1!oUgBoIGn?Ja0bw%3V#d!dW@}Lq~La zT=|*ykOS~|BrdML1pQj1M9pou(Dc)OcQ(tp;o=X~Je!y`Jsyun^-B* zFv%*uYxYK~$!IkjOE9IiDmMee{u%2~l`ddlssIsZ$J+A1&+;+-CK?f0b)$zrb;!1C z$T?Q~-$$}l_dReA1U63~aI43z>nH4k$5LDbtag%bsI>p2-vEKBA)h7&KL-JoGXOc= zV;UKCqCl10=#0z9k$|utF}dK^*USJQ)>%@sIr?+<3Z;#)Ke|OK9cU@tpbGgluRZE& zapmhHV?eIBQH|))3*;yrFFgEdZX=6czqeb_>-td?8!M7M3ln>0R%;|@a_8l<9~C0t zi~L*@h|HZAtFXNDgx^q|=AMdE1O=-3VljeI#YYnS|Lwx=<3;IX(n3jEaB$bhV{Hu| z$)7SF6OR^&j^wr6klwWRpLG1D^)23`vh~hOS>!Nl(|VYSG8!YyYiu)LNfVK2=q7bI zCL+p)&kQH}OzDGhR^D%(z+@3naD~P{>3!^MvMuG4V-~M7BmOJIIxBC6N;JVsFicPa z-T&YOdc7n8V^aTD_3s6DbX$>_^-Ue2r?rE>p*e zCFWLn`M!!56O%CwCF-qlbd!2%9Q}uSSE1fjIqx<*?{=zpuE5bvtGfqQU6D{hAX3q%)yEAN#a^s1+A^|hd`j&qtgiV;a$fg zPz~=vAp6CyN1#_>;B~R~TxW(4n+T?MxI*8S_}e^qnMTYrw_g>w;jtdoKetS!MYk!N ziA-pCS#4WTV8Ggp%>zlM`yd>B$jQV}KhC2->1{{ zM2q+AHlJP44`*s_zkR+-6o=G}LV@qy)vw5?t7T*{w=+5W1wAyrRhGXj#*d*3D$64k z65ukbH_HelPY3NMC9&UH6a6YK63=Z+#a;pX&n2W07XACG@X(TYf1mwizGSrD6zpT` z?@2tFLj;1X%Twpu@R#|5sP)zCE8rvT?mu`|kh+UGD9{=jD#wjv$vAGznp_pvs(HO< zU~*nR2VanyTz%h%PyKWBPWD^#C(?wQ`HbQ-oX=1`<$NyW)1QyXb9(UU%qLBfGW?m3 z;?4?j7$5!NKOO$;BMpKh)m_C3;X1woeH5xDW<7jsK*Kkv)yVP%0G!Gpaqy8D{jHx@y zK%)^^MN3nXJe6txTWPiO;{t{yw0;mxLI_|Z|)Py z_cdRoykCmc>kq9bSh6n)C}ir4-zUwJpTgAE*D!vuN~JH$A_bjv`YpIR)9L$Ul7b$a zHO?uMKhu7FvcN)#zXw4i!mkU$yKwn#zb>;t-e_~9sGySldaeAZq1p^*5^M^Wtpjn$B8hOJalVx?R)Y@4VA#Pe>SVrJ7Ky* z+zZqFnx6})>>-D%9P8*r-AWrZM`YA>lf8=Fz4%!4O=s%bV{l_yQPFJ9w2C)#^`x16N{q3FYiIMAzAJPWQzMH%u8 zwl4wejefGs1gypVWOb2U_!Ex3)Cx%`ZJvyuP@@I@y+kD~10#CTdV2kPRz(#@hxv`n?t)#Smi zQn;h*0}sH#{02Y{ukJa=bS+ElfxD<~O07fZVAQLcRar0{LpgIzw5zl6f1H^L{$ zpU@U|LJ#!uTbJ5iS3$&G8}a6J#aY6`gC(hbX856jNFFZa0S|Dk_Cxu2{K<=chX$(F zohPZRx9us!f0QRp{Fm%fIQsJ2Fb7k)4$3S@G*zPWFf1~v3wD03-m}|18~26VU7qkx zycqp**WXS|JTRL&GYZ?jqM6xVWIhw*lM)xC z{fF9T-0`X)`u0#DCc^|q+$0fptwKbuYrS6$Lf%jn+aR&gYKdyjJD(`|Q@%gah3oTg zy^8qlzsY0)Fo;XTYLUwc{*uMvV1rchn66|Rvg-Sa%;H04`H>K3s)J85Es1;F$s1&; z8FdnRl`10M9r=Z6^?FH)u-2QAzo}Ai;z5d6b%`^JIHNrkT%9G)U`%4wIUuFVh6eO?6&zVxjbmf? ztVPzIy}p^VKAB24Dy_FU2ywLe#n{iZ-kif)i?hoHvw9i(uUej(>nHOq<7g^tBQgSt z`k+b}XqnJVgm#L^j(r@lYJ6*llrLfQjk>>)JUk@$b9tEaJ`YOv86%)%0yHs=Zxe+=pyc{)tl|qi(3A$Nq1=(((>BeuX_lgYn1Z>X@RrSrGp< z52e4F=g#qa8W6(X$QDtGSFR!>m7A(YqJ}ID^;tVSqoNHf0Wzm9u`?(+wf^eHiLw|A zfB2PCa-t0~oAM?TY^RQuc{dSqg@^p&XVNq4T;ga}jYYF^th{<+rK9zy5-+Btbqgr{ zt<27rY?ICk7^wshb*DTW6`Vwd@DQ&mbzTQ=!$U5UhZ)5zx?jAEY8LK4D{|~Y>xqc; z3db>Me)S@W+=XJ6ub=*5bKYB|qdup63B~?G+VmWp|NjD9(MMVogbJu#GZ{4R_Rrx&n^rI@D#|r(Z%IEPi zS>2GFn&A#z{)3_Vhug25d7c@0L#4y1@a2n%j0~Lh>XqavZbH+K8}lHR zqd3=X&g+vJF+q7M&53;pNe;g$k4z&Bjp%j;eAE4ZRQE91|H=9>+5g-1W3vA@^O)|x z2=OP#ez7_4=QL0LVkg7cnc)@}w|9qII&sHExRFZ|thKW~!WTlqcygKH-QTpwZS9}6 zJ13Eoh)m08+`NYk?^kY_$8TGPLihT&%k~MGI*@GyJ1*Y3QksdkWsdBl* zJM_zIKY%y;nWo%xX4Jh#O!KfR=@W|9ruwyxL?i60q?(ffesmKLZHb{3Lapy{UKH`7 zEis}ZHb#MJl>)>n1&AgA#L5gnvE`YSm6FrQ+*?;BqDQU?xG6dXRo3$E4LUxDFf zv8ML!;G)F-3JSaPT-#tz!rKzUtGW+0iPxXtnf==!3c~Z}y~Xe+Hm(fs;l}pvhh91* z=j?%xInYWIkLJ90c_V)cf{ow`z`1s=kVp|{)QMr4eM<&#GtAg^Qd{_c5|~;SWq~R0jWlqA7Xz4RVecG& zIjY5VK+Mt4Rd;&VR?!#UgjhvIZ)=u3$Ae_avo)dx@o$|*vfxd}z|aK2&PR+SFw7Mg zPT?VmVBMV;y#$0H824gTaa)!d=k6G(Ew74pCFzUIOk)WIBe_z^$ku%*T$);6z4n_^ zK@E)OT%nO15;oV%qo4q!IOHL92xmjxzcP9&ZsiK@*&SfoPs;LcEV*vng!1dhJz#{q zL>HNZUY2$K{>w}&u*h#+vWh(ORdtuK(#3`|0g3&al;kKws+Xt9%L{mE+Aj&5(1}$) zaLYrGtxAz;ay8$yZyqpV(8zHQ(Nqz_8czev)Touua`OYN2{ zb)-&uwImHo(hW`n(n*u04$w)@k)$_D(ngZ1&lgyBV zgLHGc%lz7J)SU$ZPt7mbXiG+$H!{BhVEiNUEcp6j{FRJa3!GYIc)RER`4n|Nn|Jwx z9B9fxt;Y%UGM&H~*EoUx*E@j=#!A4Lbjf)AJLGPDGxvC$hu-7P$2s6ulHG&N%cPAH zJjV7`0(2xFMIXO)h!f(nr3LqGprw;`OIh6|xinPApG@5P0*PC#ijccjEoq*>g}pa?inRzcIDhz%F-Gbku8lj}iYN>ZYTgsQ7 z2;E0_?JX0*sF(eD?053wKP*4`$r}!L-W;xJ&6#mFdS?$^CMw>&S}#@9;lFs&qUY;r zS^O*#gmr=!b%NVd36zV?2C*kpTRqR{i8=W>IU`Zznz&T=AWfB%tZDswP`TLqe5J{K z#(q=#t3$g<>D(OwWPgu#c}0n8vsF`1q7|I#{{`1&y0!a+{aZv^%t%dZbluA;Pxkrw z2Hk;asXPbB6UVPrC4Sqv2WeElalVMZ->pi;_aou*WXVSglU{6 zRE)B0SN#m2&CDY}0Zp*PQkz&A~eBHTo=4GuKOEPAAxsUmS8$M{WRu|`V`kI82gMWS z&}n+-Jc1aydp^s&0{nsK^1q#6( zWdl{?m-kLK{%m?1+bs|x%bF#szi(z`aqBGeQ&~=zEMh1Gif)a*^w$%>sP$r1&6rf4 ze&mVQFgv#TA~)RXi(E5KUp^w2P*U+k$lvjELl<&ts*nq$5az~*Qn52PZq?Oap4H@Q zbhXhO7Ld;4DhC^0>g?A z@n(w`j~Nt9FRr64iiGyscaZ|a=u|uI5YUNUm~?uqrbW|I$s2X@b5qI3OY#FidO~yM zM{LO-nwS&3!EdW`X<+aXDt)_@J@so`mf$a46}_lITA=;srHcKrE_NNBz%+TQkz#)- z1E>%8Vi&UP=qBSpF;ep(<$jbdS5DD@-Zc;9q3aR!- zl#{CVK&k5djj3uwR2x4pT(c_&@M!?8)oFhINY*@`LBix{!5!ZIs;U83kExs1QKS3_ zHOkKXe#q}hjN$I&{zdd>wS3b$GNFF^)T>dx+I4bhn6<4b=5C6234d@Um%^X>8|+_g z_cL04=-If}_)W`{zHogv(xlSFTS6t2K~A*aB2nmaKjZC!{+0Wgj8^FVkg6|v{<|?e ztxrzyA%A3w|1B|A7OK$nHUx8MPk~~1$bbJDvSZYXX>)kU)`#U`p4^if9bE3khgiPp7XS@Z6Rrr!nVE5dDoJVf~0i$iT#PM@Q~qjjVfw*Fw4&fb?TiH z3WkT=rHcP{X=AfD?B|suJi1;=M0gZKcr;vBkpyD7Q`U?<% zd3DU9U82yd1HW7vt3!}g2df_{i+1|U3CPlh3ss)CQ+e(e(tU?%k1P{es{n;F)OW$? zg z7xFf?QGgd-s<7XvcN3-dkV~I&_K;uP;p`#5ass{Fcj}lkx;cUVr#OKNzAXXvkZ0@P zA;tWr?#KMU`$x8(|9Ag*{Ql7z`(ePoWBf%c6f=sAoh?=8X8M&T~&HPl@DdA`hgd590JH2{sSwBXiBH z7G2P1L+I&L`zlOVlh3-Q2yW`#BfVtrVAS0UT{7*-1DJ~gQUb$5Y+oh5+$=JFBHr3i ze^w$LYseF1jD1QJx5<52iTHn>+$(|Gmwf}&Ui4tG>d`u$mP!M3x4KCaJyPWVD9ZKd zFTRO#HRs*=OHHwUFJgL*B-#4{yT=Z5TQOeY&z1dMraZYlv>!D$0hA+Bj`bi%Dk|?r zGRBT#ujjXh_z7c%B8lZsEu}zl!+8pde*t{#kze5{1BwPv)N7jFwO{A#+DAtJsu8Rx z_AX_a_9E4WJoSy3_LB5+hkSMh^4S|iK6|D)=<1^T&{1eJ?YA;=ut~rmYqN60tn}sm zR+&SpXMCX)X`_99rxxv^6e52`OKI@7E=fclKwIM%DlGozZ#5P>Zi+Q8`i{=9FqNS= z)w$9}*w9^Y6tZNqTNAX-5!Y$mPwf!McLcwm?vRQ8Fslykpyx;zcpLfz3mDZMOGU-; zHth^b-sX0oZqKZU&V-5Z*~2O*^oNr(mDog&elEL2ZG)cg>{?`7$n|jE9PJ-Hga0&{ za2o)+-yT}x2~TCq;D-|{gHy>TY5+V}S(>+J&v5=r3Ub*OC2TuaLGPFON$9=G6po3& zRhM&284b^Cfc}Ge8G*E+@ngE2k*RXz=9yRt<@oF?qGMIIV;H-eb(W%37CBCfeWlPy z@oC+p74T{OPn5ez=iY-~Xg$%FN^U_}#pT&Up1c>}l6&uORJXI4%02y6x1UetUM9I` zksCf|wkl+h!1XvFuF|Dt3wNH-rCpyY?XQ#;zf?v;dVh<`W7ORW-;xEiF*@IwseFGU zUy60S@lP47Bj?k?FGBOtFqu{nZT^GmRko9jvvhfDPfEh%=b7c@Q=a2wgS$4gK1Zf~ z#X`F6w<1$vuKZTL+}P-|-tkz6tRwhshWI?MuoakAwl-IadSL+viqSI%=LU-gcM1)+ zTKbbE*Zgs#(qFN=&%Il)+v_TfmrBBd{&MpO_m3d^QckOuUN|w zhRJ18?j;x=ap#lCX}|}j_2xvHM?wEm1zku%KC6kIS%ErkR}8n8!)SwW;hH(@)SiJP zAl?HU;}kg7h`x`lfWn<^4dM2OIO&oCgFgV@z2S*wTI1#gjFQd~uP zf&$j7xN=5TZFK#(t{&e2bI=p1e7eeWT_QC9j`HXou%l3(5?LLeqo9~5)Uo-jlP2@# zlYEL+rb8Z0hF^VZhz!<=OY55|EqHxwGt7LNbSZk`G?VtdMrWM%z4lG*JFQEqef0|| zP%LG;AV;W+PDVOo2c8C&z63&%<@tf~ea76?AiUpJAoSVzUa4G&XnT%_3(SqVeaX+w zHC}7|q4nH&s3Plk5~*nxBOw=9)qe*F#7br3!Ci8|W!{;fH1`Nu^$99h_Sr(S_^)PoSd?4#dW3}Lkujf{4da3s`VMn*q}&~wF7(1KoX zjee|UEf=SFujOZ|WppeKne-wo@JTLUuu@OLe+erU?*^54Iy#*E?3V5BH{BsigEDl& z{7GibtQ9hvS%>dy;mE>DG z$)8h6e3E2DW|FouRF@t}CAnLY49HCKu1<1$DoKqb$;(Xg2c5*5N)nPJd!#$7y(~$^ zThe4MN#7auC%)tsHH8Lt-}P#2UCVvd?k99CBisg>de`ThuC2HR?PQj339W(!?dhxb zC$sJ+#lZD~$AZG(Jtz?yh}b=PGyGqgd>ngzR;WBzY~V=9U%lfhd+@WKSsk*vgu4GA z;w|TjZ=4i0#Yb?pyfNW7LtGwkMHRWa`?{Hsz$|GL5V^QanC(>&v(QxLIgIPk~ zw*?aK@x>v*0L591?o-L)Us-&pvb>|xxVnRTQ0o&O!-tol!txLvjEy>R8gI<|uCO!K z0bk@kG_B>LTqfVq&PMnN-l|LFjQURq#yUy51c2UH{8?zKwbpMfi_UdKJpFkGKBPI< zZ|hb*^;HtBc1Qz7%Yoh$Wc18P_w1jitDgOAN>aj5{X#L0MxCglX2GF{?$cvm zCgJd*bOg~JsxJb-5l%*l&dRv;GzE+sQyFDbqRx#1#jD}a()itXF%5d3)-8q}dKU{l zT*e0!AF~*GIBK!b!;SJJ^iaCGRnkEZM=ch5*eb8Nzc=4kejv0+?(~Bmx);mp481k0 z`z}%m5-WYMd~LeFC!L5Eag_?89goTYwvjKP{P_`ytuObfN{-H7w+Rn55Q-Ak?^@k{nh*Z)gSq- z-^!ZoH(nf%^}}z4YYiAL9+Vm6wJPUYHFNyduY{NJS~a!S=sLX4hHe+F;dydDN2S%_ zi};vSEqE_hE1D7BNvld%#pG%bCPMDF(^LGUf2OAR-}|Vsk4(;*2qJNICc*}_3|Y1VKpCEhf(3Ezd9KHkfIOp*{|nAbmpS? zi~!e!%H^JQ)FJpY*rxoWX0_LLlaG7TG|Fv}m;!1hvTv^LtR zr83!@?4`X`bFWM_SHuA^zo01xMMKB}@5Z5Cz}gQchE5V><$7(+e`CVUonZB^Qvva1 zM*T~Knk%0W)+O0S)#?Rib>&=GZb5lQgwy{3Eq+=U8;AJ^@L}FmB5%UGQsq0+nJkuw zJ{{99;dsQ*yIl#8juBk!?WOv4`=R78c%@&WJT9lb)hHjg46$(So1wXj_ zVT<`173AQg9M-c(>?*QGm;N4G?aV*Z7L%#q1wvPppJeQ>@>MobrzW?3WpoVG&1{y| z3ZEs;gwyMXqDR+@?Y8KQR>|=#Y9_@z?G#(k*dKoRwfun2Gr=_OL49g+qZa}ot781L zbm{m%v_};BUHh@GEHte(b~kHv?Vip@SJxhP8?%2)YU7m+W;H%O#Cq?Gru^W#*rUXz zOYpm<6iNJ&_%t=YKQktcKo4tE3%)}}^pQ8eisO((M>Y{TR3bwGzx_~Qz;y_{R!)i^ z%FmfGsI*b&N5D0(Srp}M>^;kyX0{=mn^A~EzKHe&QGAIN{_^VlnenuZ z@BA^u%SWhWEuSa(q+6T8FOAkWvVl&_2x~M7H3zwzG?5$Z9X^s5JT-j89Xiw3^kFUn z1nm9dr%O0)$TyDxYj3=ZvIj$zfW4@D;MI}4rkdh}>zA-7GU7#vHI(tdI1ad`%D`6l zdBW_)Z0q+-A0wZwA6 zU*U*||N9ca!V5zr*J_`2eUaaFm>=Y(cjG_gUw*r$g_}!SgSY#+_RO_BUgG2>OMuq- zPnP^ePU>K(PUW+1E==ZRp82g$sbEobBXe6#KK%6WjFv8dzbM2ET#Z69dB7UjkLE5E zOUdkegONQv1?=S`w>#DGk^OxZzk#Cs+JLo!`w^JzVp$b&H!254yYo!fet+byCWT^U z(h%Tx5w{`aCNT%!K7ADCn67OKKh)0vo_veLs#(r@J2z)O02TPf|=!sy*T_ zLUi$P8G#S*=n9UKq|ScIzg;uut@wJ4HcG6}Bc&H~=FdeOcV@h^I4`s+Uh3!*OOpJB`N4n0Pge9vo(J&!u4rujmj_wCC$R}@(fCMq-mN}v zC(fC1IoFt%{!8;K2>H3F@*3`88MqCL)vY+Vii+5Sa#s3WZ!4?2Tk>aaWtqLZHGYar z3l+)_*po^K#{E`Q5%n~%=Zn7x5q!yKI-g_bqsVoWf2r|M^h)!iUTZl*U1fXzIoDNS zwk8zMj6A7U&q(Apo>`SH8kc`*mjQOCK0H7&F|1#178YUjL<}-8_3{ zq5qV~_5FCIBSpT7a=doXRTYzsqfhDj$!}+#IBV268T;+Yx+vLtP*j}=JKz!;B~k2F z9%y0e_G_R#rs7JeSl_{){;>q6e5F^rH|{4n9P3bFy7Je zM;7%xfmY&$)T;WVW!utrCEV`*lq&UFN_E2_`idCxwR9rCDh~DI1}W@$aNsnAuL==m z6nG4;zH{DheeAb7ltuiu=(fkHV@>z3Z~R5y(D?XSCm58D(dj{v-dTZ0Il}V#tbiH` zp`bDnzk(q-ZY182%=Qy5VJ3ansdk-fJ|PeEA;wt@gRLY+wMdMR>K=;jhrO^XpO2Vd zVb5=b8%Ya!YY_E|>t)Hob#3J3pvFGgx|orOU^LkGMD*gP@nTT(1UMpo0(EK}1Ib~7 zHmQ*@7NkmzaV}$wHdh|{L|HI=@~6NMhmt2Ar~RX(OWET@7xPnH%ujW3C}o7(zh%^2 zMkCb)d)hx-7wd5HBK5pqQ=HG9TsUiYJN9*;)XBc;$yq2BKhx?scBb4Wjc{g4#-I$8 zf%u9(&e}_j%&cZ-MhsMq*5kkmyU-bkm^cb#5E^077cvN&1Wnu3xiP@Tprt8xW^G4q zaA<7@1=|#?&ueUOAbDofYwJkbV$JPTE3mZ#3neVT;F2^#0*u)2;sWjqbhv zAi3=OQvDu$vRQqd^t+XzV;QPDwN^6O?vtG|3sYqlN}2H+ljF$mLLy-FH_1=@O4DjL zo1$HSfu31cs;aIn?5`p0?j+NTn${(UO+!SDn^n095*G0s4Y&6&X5Z6Qz|*T!H-4(! z51TG{pRsciySSll0SkQts(<~$?VL==Vxkt5G;!7YPeIzj3%(9(7e{NJ60BVe*8WI_ zLMM07HhA*jPB?OKNK$;f(=UY$s%O2%UnijF?EAXR&Rs8^!@#_*uvXx42Fg_$823!(fTl}L7lz1Q7_^gd}9Qv3;N;mOMEiSYlEt=oEc%!B@}|ZF5}3k1B{6PF6zHm$>dA-@@J$1- zy*514C;3XdHh#WNP?e8J+^(z@UjP|7GE##-5sa|UtP5>C)JkMylEb{fw~9QRe@L0n)`LY_c%&whwe1Kc2C)r%xz z#+A5UA>&}l$R&rHBmUkQKxsvA;V<7XJr+MzH-YBsj4}+Bcw6&T<1v%cH;5zxPD5&| z2PEpG)R;Hd?X*np&Z1>^@~rsp>dVdQ`>+CDb{xD?5NMw3K;Q+slLT30RD&DlwVkhl zGrhKV5dq+?pqMW(HzSpctD?VoQsphQYZhm&;qlvaIaT>~nLXL#EqWFgDy{GOcz(_7v)Ecx%YnwpqgSuM*Urc{1{w@Kcd(foYjgW)=r$=d6az7aK zmru(}?_qJ6>OWk9a z1=Y9v=-V{u+eNO@4brz4Ro_0PZ@*Q2+koVgzD=WVN6n^BDHKfwb#vrH;K&|dIQuUfb73H1V(|OgGSnnED@tP9nT|ejD`RZMT%2(yQ z8|b_ntlo`N?EvwlU8mOdBwDt!{+d$v9ArvC|gvxqXSI(0UV9 zIn4VU`7VcKb@)yxSS~`M^7iTbWD+NdGsDPO?||OuIpMj1O;U9195pM7m=*btiS*9g3mkvXOn#UHx=qvm?_Guz7px(RHWaP z=y(0}yYuzC3jMB1zZ32Y9nFAeR;V&{3be>E>M<&3&1uIfOiHv&PA))DIOA(9|WTIEihLW8E$T$?1$r;`aF5d($?{IM0IuPE& z^)edVoM~pLSm~_Y=w%gLN@4a16L;b+a@d69MrHm2y9jYo8|7%(^MWjAGGXOYlxSsh~t<8Q3O21p~=Z#LN!uG|M~u)^hRV)3e2A^?V0V5jDNdte%nu7C{)~ z7#Ro?J?AGHTf~*ua`uPE?uedxl(^%B@dybKj`X)W&`;?-iK{(W>g zvvYFpaU#0skOmfRqrSMEoHy__{{qSw#^)wJ)A-c!d4tbBK39^!;?wPO{dtSUwiHpQ|W7|RmyLzREwbOaAKm- zQ%N>emK;j^svCWg5awA&^NsM^yj2;Mwo0rCYztT)bDo-2S|&SOk>hvm;7(AKe#a#8 zS(3_E;z-4{+V9$mZc6!9j<(rKsmm?%Z)eAu%daobCk21(yJR}2c*KqJP_Kn#2v>E}R8Q$A& za&f@~pByK6jma%u)eD06Y?CvFMu}|oPB8XuV2!CX?r&7}u_RzIE-U$Mk7{b~eYAkr zW&KAziskjBgIHf1pXaL-V;+ULPHLB!FC|9I>n}IfVAVb;E}^JIZt9S){qhx)FOL4o zirWe8BV$?dK?z~Zedi(Cb9e_&WyPx{4lDe!;<$t`pT83;^uzDTA)i^k&ZxhENx_?= z7==$>CT8Cl&TF%8$i~s&fC+x%^4_g3N8jk@TsMg4_;QHZlg+LU2#%<9l)s05B0v)) z6M-8_7TbfpeB8_$ECQ!K_q-{@Mrp=YLMjTUKy(izD4!^aDslq)tgUMRp_m*LWE_;UpDGQJ{H}Qc<9R z=(#!+C{owER^S(z+goy~U0@e_gz#$-Hks)jt(ckWQSe@R1JfogM8xoz4t2r}HIuK< zXT9%d4oXvvI;Dk0KaBddQabL)liIgQ0cE>KT9p=jF-~h`Y0Ou=LPd$~MOHbZ0pw1^ zbQ5^}ipuL+)3A?TnI!#O_j(_hMk~@y} zNd2x<{jMs>DjE7yu$GmE&WNAma~u*HuW;B=Q6^)@dql+JH#y;gfHg5cfD1&QZNj;| zkz>>eTO=;P=UpU(7976+G)~_3VGn8ibgZW&)wZ*gsua{ZNjRtMF-{L;hUF2}^-FEZdEkt%pzGV&k@v;#>8SLCL-4VLaf1fC z_oF7WL?$Q?-u?OVB+3iwsZgE@l26pXlKMXnHBq)v_Z^Cs1EUBLVyh&!LSn0!ypy~MVfiNc z6O(1*(4jUC9k74Ruz!t;{re(_oZ0=AX8(4ip*LZ^%HLV|zexq1CA&**ttfDj6IO6# zXeYyD)VHBJ7qDDRfaiQxC*^+g9Hj?TmT_3B=$-ICBbBBl{P(OKz@ zT!S27Sei5Ns?WZ8w2Gn!3)&lzn;avmXXW3y4w9y&SJ$;NI4FRpKS8FT6~Dq ztR?~PZgTpyWa+1|ic#T--ssl|YzwmpSb&lXjQEWS(N$m)fVOQ(JD=T4oL^;f}4MR!)5n zxV*+I2fVqZfJLq4qC~{9ndlU{gSwOFFYEPMe#wWID*!nw@?y0j#|P0vYklg-Fm+zI zR1&N6!oiv6g_r5pExt@I=RHiDdkn{;%(Vip=&k@_{fHcdus-ZS6dgTdY6d*z&i*l-~TR0Io= z9KO+u{8Y|fY1#v+DuWZ7l`^=LZq)rw*MkzqURLQvXy_B+wPLBhOTGGtVp(}|hziic zyH1WZ--9&w$TxbxGK}g`g=n;b(N>Llm|`>oA(|>DF7VzH6iAPHs2-sdN2lUbIWbj% zNyh=;yJV;Su1@`3Q}yet(w$j*sJwC3VZJLu=fuxL_oaj|2pltBc^9-~bucR&CPJza zU$Z&Ld~XC_MZHHTe}j)hPOo*DqWhUXTQaBXarW4+5hsE7jK%L1|i*506f7HZaq zaE3^E^@$n1lllhX!Oc1N9>$cVylwh^=z_JTDSjq1jLF#&>|J{Vtay&r)gEEkwiA#R zs$K*dn=6I0$FiagD}b6yyw=^D0&FdcVdC4}Q%X@df;sitcf+eyw#4N6*Ys}MXEnzD zNsMx?!`o*Giy?s$>pX~9=WtT)x!GCcjqqG5W5d>1inG9d*goKYSYWJup4g*XPBeGI zmnG*;##y^PsuUJ!bfZ1DR7TwjERJ0UnmfDrER}*mDu1vm=|iMfcrWQYlin8@(>&Q> zG`5(LQE~}avULu8;V(xWnU8{5t8kh}o+E@-*(CpwMSPDr(#ZF1M_P%+vDl_PJdHZC zix4|ICkK1OO)H2mI6`2xW-^w!LobL#<9yTAj5DZ&+>w>8?>fn{j4XILlN`$wWAPCW zP3#w2*e`BsVOu=o9bY-hMwKn0lVphEXQLV`fz0K+A}5gBZyg&bU-{b5K@t6YF{5v0 z0{Gg&357q+{_;cMPx+xxae9yi1F51LV3{91<47xH zUeHL%H>_56c89HwL+dLeoN7m|7B`r$p>?7arkI7fv_q7w`gRvrmlXn&f z7qAW>-p~8Sa> z1ZIRg0`{0KT(h%1SR{r-sba>ovVY$hI^E}56Yt{i@9Ze8&*I&Z{D5;=SN74z zbTZvoB_DA5d#W!o_+npm-}%zO)1;%PEB^A|_AfHH6y5pxcxc`k`i^w0FtdUj-#7Iy zH0$`j1=y$+LTGuj*%}6B3*JP@3opzB8Klt z;{Qm*0Bqq87Qi1ku(j`Q5W&gVNh$aSZvnOfcgAM0EBN5xPO`h#3m4iq^&%Gm5n4nK z%rWUr3Kf1+D((0Np@JWw!bHsz$TiKvQKm!%jE`*ir80CX8{!Yh3Xma7@K~mL$!*aj z&E|2tpH0nB*|hk;FX98U0{_vn`pXop$P^w(5yuD+vV{lZ1_bP?J^=&>VpsIV3ccmn-S-gQW`mcJ_^>ER7%v7I zeYpi4oOzR@=K(yahq_?O1$S{c-os~&>Of*3<$4dp1)$4}9m^M?2Ju@&71eIBZV`w% z_0(L)f}O17iV=1J3c@W)j>yh`M6P?cs;9c=U&)3MbgR_0ZG=^@C*EU(HEOr2YlP+9 zlaDgAQ`bx3nnf@?HF)6=^}eLs>>0vHD&VIuz!eVH2XM5+BBoA4kyvyW@x)jdnpL4| z;Yf`c`Un%0ijv zCWu%(Pdz(sA^gQ#^lMov>qsn(9K1HbAq(r}8UVA^@A`~puJ)I25A_SU*2Vj0t_EIN zao1(7moT0I6mo68FjxQ7~m!j8X`*;Yd%+7 zvjJ#{i50SQz6BXCskD}{l={#J5%(qCBNqzQ6J5%7eb&QRAyW%%jXX*qh(^r=jCU{D zo0-)GkC?9YiQO!4yIvI{t3@Ejly*)kW{OX~K%4niSCkk*x>eZ^ zvHieNDL*~0eoxtGsV ze3J7!>F;!609#u-z;ZHH@4bFYvrv#nfWqF3J;!tGs~TZG8iXLsdy2QE36HFA1!A33 zpo}yc#kf$w|eJfBhF;!@HLo z3KA>h=XlFk1y9n2bA}@?_^k3I8q<>!lJ6@&8d?zVpW@mP4y_MxW$pc{K;?XrR_S73 z2D-Ebhj}9I5_qW41Yh+EEJ5qR#lUk=OfD&M&rWeM>cCAL1}8!d9ywfj;C6tm&!S@+ z@>07&mJA>wb&?p)ZpFm(9wFu<4~<96!glY8oqg3)wUo>DBGsbq$0#D*1<`LrDm(We zxGtjCmlO=gFNBS+Zt_R^y)Dy>MntPcw1dMGC7t^=ZIsBXRitt|qT<`hjYhC1+}H^e zLh@i$&haAji(SJQ$VJU}$uZW3IP`5Cqlo*bQZ zRPdF}5rCE>$tN1+F!tG|{H9tCe(&MBuiuJG%JF73OH1W*!|lPl;Hnmi0Pop5H4+xl z5wZVbQ*4i&Q@qtgf3H%^HWgZ;-=>(LNWoT9`!?}M+*{$Ez*N}&1<~6mCU-1(#?FE7 z3zQ!;<_2gYOy9!jrMxq%Yv!b&>uC_dF7?1w!5O?cm6T!wp~0O9Es9N6*t7BKNI!)< z0`W~jf%q}VbB9W|H@ZY#3Plj7DL%Av>#;{1+hWWU5@OnUxAgA;BV!i&tH;55`|Z4| zh$!74I3MRg8UCRgJT!?`q@s;cn)!d2SF96y3W87Y7+XSJnvaw-1${YzaL_hx#wqR9G z2dfVs4|!@sD{YJ40tOC}CqgaJ<>Z4r3zo~A93>lM)YJU@VqTI>xR=wY`O#9@y2>b5 z(Hz~nt=}lW9Ka;SL603O61fqrRw_JrqCO}BFHW4{oVXff09~|p#5<=Jt<{ydGCxDN zFH>0RvHsy{`WJdWU&*Njw{2}Q>gCWlV7&|WwwQtd5v=jBA5naPIOcq7oHQDhYC)M_ zgG0tE>zZ@WmE31|Y}!&Z$1$0yp8iMIUZx=PzD# zfDk8PJ+5d-OitQ7wO=6u4=f7$39(p+gDY!mCd$BlfvySjx5$YQk`_>Y|f-73UUzHT_Hwz57^>FI{!`}PHM^Rt<{|VW^f{VLo z)M!!D8kN+x2E{^3lms@gE4z@EKv4m`&AqhN_Lj;+UE5?&N!$O~d}*zJnH{moz``0o zAH~jQ`X&8P)OyEEdQ|3>rNkdB3Ng|uVMnsQiM5Fujo%qu@kcRt^X>d)p-gla?b3B) zDIK@|F=ddfaZ~D*F7sRdWiJmo@aQsph>^kjAH|K>!~}q>8(~NIE{FDhl43L?G{wGB z`$$)ZcFZo5rQKL* zxfC_fv=jn(WMkBt>|ge$AX_$J;vW2_&>a@z)M_3}c#9dS6J18B2Oj5j7o8ite>2I8_hUKZt=Ywi;xZq0h-&5c&93*L{1b<#toNHaN#iBZA(K0Pj8 zGz)O0wygL3%wec^6lAn4UNlVvmlQtM%kt5+YJgGGg7=j?s+*=2m28Y#4P$HQX~)(F z@Ao7*cw;F-<4W_tnCGRP;;0=PJ5Du1K}N1cSN4+0Q|BoK>EuTpM%idm*D$lPg&sUKD~H9Y2c?z;p>pH$qVlV~2A+@3ite zP>vE~7(AtQXA>Hu~9vLb~RAnC0M2_=Mm$JA< zWc;9}Ptu;F%&pQ&=GKbdsoBcX^K_}o4E0`M@cs00qFj~}A*ICFxA5+}W7w#7MRzfd zh+b7cz6o|}mL2ddIt@!Dd6ID>+!=YP9W1Zl+{z5;s^1mgq_g0qbIRy{1!m56 zlv{{(PSr0U@H^s#e=@J(H%dvbxEE~`yhT=oY}AN7`dcSwrk-(RIw>-w?H~3pxAMia4}GBUN3&oA1z( zwHJt5pG0uwgB&}5OuM72lHeGZj->WHo zH}9+zp506PBtLojeDt<>*= z2=|^v`KI<;PR*@#wS}qq1zcpU>m6HbnU2iNce+viSKLx3SJ%;d5vA9yiWW{rLiD)0 z4(7=6)YZL1sVDca*1AKzdaY%;KHVC#)K$*Tf-39hx6Rp|N_~#4iS1MAZ4ZM;0o2wx zY!S9EvT6OceQY(T&qg*)0T_|qPGPU@3by%dvGn#e_8sYMJNtXno4#M+Wf6PIxEv$n z6RukRq(s5PDqA~Bdp{DfN#1?lbk@aY=2H>s+1l7UJZ)wG&S7R?LCjsx^nujo^!7Y^ zZ5jXGectqOMirXganZSWR{AV1DmPCoxt->sA2WSP`gyi*BjvmH%-r?7c1qiybGE$l ztwrPP!6qk!BB}kg25|26#jqJ-)|4{v=d~uZQ7qL%RXig?>R{` z*T0Hr2cC*HepN0>AGeG)&MyZ;qBaQCqb()TBr!@=CpR6({As59Vd3=-Gh_`m87bb$ zkp`PaUzqpDhXfNU4QE~QbB#-Wj&aGSXKej_uC0IiZ1`a6#dv@3CxiE=NF4l9=bHg0 ze|ugCh(NXBwFX{&yVDRFpiT2Q@v00^dx7`Uwtd}mQTsH;7+M0LO;wlrg|}1?z55iG zy%j5bDpGhLYF+C`8Aq)XSUWqnhV$cjKwG2a!NYAzPnk*%K#Zru$$7+Z%px>{+%Bzqix!?-`yc{^?tRj9`>1>qj~lCa(fc9WrMFGBOJ195 z$6oVKOI8mXy**Zy0_2TUFpi}B%R?3Cxi@phnQAw@M#>>wsPNCsg;VY3*GM!J2 z?rF_BjTOEbt9p&;Sk_*}VqC`k>{wp-fql3=~*s` z+FzHPbw%BP#H^grJn6Q<^ev1PZX|@(v<}0Ww9eL8QS2>s$IWjuXNDn%#aYfXQJxw7 z0D$s%SDiEfj{_R1+lrUigSQBbW2P{7qb{zbA3ydwL$ijUz$tiQAH)2(?~`ipW+4PQ^XAXRJ5@&lANq~a8!pqn|`~#48YPJxjs@f zavie1J;s!`s>g{jv6(HOdMr}4uIc!w@zdS$&))Mi{LUp!!-(fEjTBaQ_MRM-$7%s7 z+coq=)qTmyg|$X1az9|zujjAx{W9o;0lA^`Z@_^E3KM9c14W6m`Fqf-U-WcHuO1%k zX-w`402F6l9W8V}m+(fs`WTXK&X&g9$}MNO8WUiBbO#3ZM*RGjX){e6i`ZwPih?&k ztv0lqO6%-PVnu*znruLm*R6JgpP2X@wO)|FQt@nr`IW)x>uQtND2bUXyw9>& z<4e0xOvb6D>8=+!>}2$iok=s3zYhzF0@1{ZM2VcUQzrx{e~gZW};gw?c3 z2W_%TZ6chfsE!7}t~c#*4qpeejExf>wO-2VM$?}~D?o_S?U67rLCeT&gZyo}J+fzd z(a1M?ho{HKV~u~SLo48$(BZ_Y{?i%`^b32EqQ%m@TMu5 zmRdbPOXZh;@b>~%Z8dd=_2FlA#ktZI_4y{oN%ssFY(EEGQDx$4*3)$#tS-L6Rd@<{ z>Vmsa7oKD*0(g8! z)O;v26?@fEE`gSOM;f=Gn_h|*m2Az0eq4X1aT{H#`=uykZaA9jEop1|IR%QpgaX5O z3BR>FUP$x&wdIT$%IQ=bAGDBfTkojc>I+MGwp+M{djulZ{2nLM!WHmj2um!6t5 zUqA0(&NXg1cYEcGQaNv6m;>u9t0lp1 zN)NdG+cMIyvTnkGqUL{zH#TXg7%cQf)k(XPJ7 z&Ea6Z4aaRgyX)OS#A#B8$)&gTv~$9aw^{Mq%xK{L<_9p>mqi-~i4(M1)SOe!)j^>=Pv&|FaHm}rZpmRNcqNyjyLad}R;+zqw){gfUUm3BJIu&nB zB-8J(gID0ex%}%FjEFS<&G+ojdx5d$1)9ESnBO}+%ls49uLVq4#*KOe(Q-HF4O$;k z0~RbE&9W3`tS9@;woPqpc&LC%f9%r6hKKhzYngX9)^c8Zj_WX@_oW|Y zMDH_dPpw#$ci9N{vO4dw^L1Gpm!V7<9*b5yovpb{e@T9d?}`l^u98U zqbB%$M-%)uL<)B+DmhB*;8WDO$^C9_;}Sx2l^?lqqYbpqZ!UX|$ z;exB37JkJy%8$QD>e-k#%}Fg_kW}!VS(5;^l3KtZsQ^ALV31To;ObFt|_P{Aol1BpJ}fUKwEh0`xikaaY|cm>~z4!btKn_5Qf4?#__RCqC}F|LCf_ zX9NdC68#t*v`Uc}W-f3~?KFvbVp?9KG(T+GZWXDIT($8PO82rSzY*48+3>YPr6JAA z1Wh9`qZj8m8b;=Bh-(dl-e-G)sFj1pPiNGF@m&}^foQ!pC7`g2F6JSD#5=9KQ;BfT z)g0L4nULG_VTysn?RgyTe8_NkyvJdCE{72~1ZYoQT!i`xOlFRo|Tdhtd4El8Xj zX}$PDQNa}#NqX&zKEYA#@&lc|5gww@i{CnDSU#wYe#&*$2CxPup|&;5>XX4^Iu>^kfOuI)-ZXnQAoy>!jvVecHo6$5ROvyO0}C^mo1-2wRU0 z-8=NLiB`#p_V7A>WW0$;sTGu?Jn4XT%!*E4T4)V_O9wVn0j=RrL6XGRSq!2{T{sKaOFoZF%jYk2 zY4YOFYaA|l(LEfEex|4B64Dw>=E^+zR({iZmik@8MKSy0j}>E!CeNPx!b$8tKHom6 zpx3YKqs)A+1+{a($hY_+8H#{cV>zvOG;t+{Q=$s7O#x3+b@ zaa!vu!7y0T%KKniC(@`w7{n;~eVrrjA}Cez@zq1A-7Ty&!j#bNXi>v^%p!SZ;aKNY zb0^lSF>jx7Ym)4AuPpqKvytC4LV9)j^edbWe&bi1ja6+6-uP49dRo`S2z(WEP5gqp z^Jym-^<2TI{2A0VH4iglVl)9mRp=!iaz9B$?%&jVUVqdGu^$Y_AVy5^Wo4em$AJO; zE~aN)N^@O`w|Oa$#icCKGjTDGESPA|xt(lP>!PiDKOS7U8f~zlxTykN>ImbfH#zUm zXoBQPe{DB?Lx7{Ty3bfe4=CorU1?!7L9{b^%K1PHR-A2qz}OYK!NrS}MAaBVM4u%- zPe9yg@=}f_Aa0Vi$CL3)w#}2O{JczK@kH&EPN2y5Snv7te&=O!l5SGXN0P;TTlvaP zs0rTR6}j5Yk&!I^%Z)7bS-8=Te8D;%T*mk_%P#)GC`sL*x$8F+e+ROVZ~R1(*X_OQR*Yr`Ct}bUj0R6SKujd&?U5v6-oI_WQkp+TCBC54W*D~|% z>6c|?k`n%HSay$g{I*Pc{&Bf!PELK3L$T1ctSv*;)TghhN$6du~)@H#bZP(hM!InA;1JJrjJLI7pC(SyoFt| zYIo?$}*h!3rWzE08M~evEV9;@0JGfjP{wUP+c2gcpXV$UElpa;4!V ztAdUEaSiz!r-X8N9-HRbd>^ux=t~IP3ES5*6qsrm>8;01P~eL_y%DM{wLS`7@MdqZ zIxNPOcJ(~V>5Sq{%a~W5iAS#|ehiMBqxO#1|3TcnbDb6L-8<7fiAI9VhELc@9&eFL&zrPzn z?jL1-JDUS{>cDEK01Kfr?@eCv1a24k{zNmwwCD-3j&ykB6 zJ0{Nvm`q{{Pw{x>>>lAX#h8;*pnR zmY+ZpyvW1kyiz4UdP$MD=TtD+!=7Ktbv2YtLr#wHxmC*K4DlQEDArB5*WWZNnw&Qq zf4-cx7)-3cuP$y1YPE%ozKPoe;py@7NQ3NjAXHg<&p0=Ld}Moh-Hm;Eu<**h`U9s!0e)4DuX-EKhFzOK3+ReXA!u7`2DA#`&n zhceD$Da%6x`8;81W}I$^+w0b3>>+v^LLHB46#wF#`T*v*gUT-qG^l*hN6aO{*EOhY zz7deLIc5}pJF<4BLKK+=4dzV@PAHyaXu^7qrD-_OI0YUOCm7|}*7M;ynz--`4YbZv zj~-61KTZFbnO`-^jEOV0Y4U%??HM5^C7UGkg^7>Ligq)Le+BP9f3#ruwPfQo{r1XC7Yy?(7$-`F`l`LSWO zt>b|#R++Zh<7Z)dnkkNqz;bwK&%Hx}E3eWS1{+qqKnKAa1NJ{#yR&OZj9Kl$74J!c z6bwp|uff3^-&53Wa`?`#v1`mkhG>q@jxzLMOds2`u|~$mo~Ib{!t9MDKg+GJ4+*Y# z=6rSVqj%CnBCNi?c;R~*(r#V9J3@j6M@zL-^s&AkfmF`VxfTx!el=S#pWn+f{O*Lc zgZK^M|K;#|3U(v>PW*Zvzt0h_3cvR@9>njqSaJsZ{t14!UkbmVwjB|>Qeiz&tBIAB z;JHf^V&8}~z8$GJ;5^7xa7r&Q0luJoO(*2=OQI5uO=~#na?LGLrSiRWV|%FzRX6Ia)b^##8P z-dvZeKd}C0RK=~sid{2ZXbaronMs#UrM;#3xbIITY%rwje?M{2@XdWLxXErh?< zqSnI0@;Bb_$EAipN_d-K(Vlg+yky}*zcZ4bjTjz)J5`fgJ%3kaB908Q>@`0q1NMX% zDI=d|r9MwCzmL_7ZS%}^?1Xq1_GvwXK36XH)~cPi#2Q&yQ2ChNjwb_OjW!;LC9h1& z=5K3syKm^|o%AEY_L&9qYps&m*ku?%2ed>DR_^NzQ7E2468g6DE$%Svo;UvTEnTrNucmJ#-u?vH_?3T=i-I>N3hgCQ}nBAMWgExOETKGo^%gVE&7zsbU zHvJA)tKq#bAIno;zE0-U@O>ZAGl$>XWLQqegrT0ymsEa@SkC+M*Ts_c)b0+xr0f6H zeEF$by9wKE%r2vyRHGVwiwG$yR6J3a3S5uOV!BLvkfz*oi%NpMm|6|rD3Me8OznI zLKErSGXbf)SW?%yrznS$%a0c)7Ztgc;)ckD8hXN6;x*V0*YgG7d=L{~&ZNiHi;P7HN%&E8;Cm9|F zx40e#VB8ar`)^-`}yay zEM}zamw7A>d(4%xS~_4BEm-AB+5Q2g?1lOHj9&C*82#G6!+_h_M_c#PIiDc$ z7k0lsj71&1?*&Z_+_hB;H4p&Fj!rY8eTY4VRlJlv{aL(>eHr^v>_@S$WM9dC9Q$$6 z){Yu|mGrqyzj3}m(SQ_uPxB7@kk$_JH|nNABwf7FyQu<7S?4GHCWVOQKa$K2pH5bQNu(9M6rZg`^@7-9nXgpiWWX;KBONze;>yuZF=iBpfch^ zz}Ciu*GU?vBUj)+yy{&4hJ*ir%m3h})y{NEcI%@K zs^8ZoUEtPp^r3%uzpCx1f;ZxYPsR)Xkn?2)Xj5|4x6dP!yESq##7>Agiw8lG<{ioh zwbxLCq4pcf4|Tv$!-DN+7=n}|T|Vt1l;di>h(tLqQI1HIjMzUR|@ z!s}SZlI0<1WeQ(O;m2GR668$Z@Psqb<8<6WoGx=Y?MBCTMc3r?3sk(@4G+*SJYyK` za0YvfzJO(sx#1sbGf8o#k67)jq*%9omdJEjo!3VgDPDJ^&LQx@$#1%kF!G!3Ctj5a zoNLLfJ2frEw_z`4Yb46NMOK6)-dcMs8LSu!YsSnO#+o558pl{NSTPpXjExmzVa?dC z6$3pkBelPAswmp+?$1BuL!_~JP)1^3b$s4Udp|RPjZkw`mdrp>`xR#Q$da+xyIkGH z1CH+1v0~t|G$XCgI`g>IEu>)}E|(pZB{P8Poo$%xaK7O&`FF-JkB&(g%xfR47?>WF zkPfa4pcMNg`RZK?Keqp}*FOR|XkpX0N|3_U$M|q6?Jl{+h zpaT0d+P|eFvxae5-t%M;7*D9-VA~*1USam>=tCLHn@I};S_zeE(htA}PumCW%AWi? z`eS3;{t|+oG}icx5(Fe??T)M_wm|>RjC{CT*t!LprBKA)?a6 zq)LLT9w!oRqoeUPtp;@M^$dVmZ?!Scy%>QnK`%EHBk~Oe$b3UFLf=q;)Hf6(_6-Hd zeM2#V-%x<$HxwiK4F$-4LoveNP=NF|6eIo(1>*?IB$BkF21sZq9WSVZU^_Lu&BoQ6f zrf|h3)}@K;dWMC!1&1d_MRvW!ye~K2*ZvSNIODgaGSxLH4?z5lXa&Q1EM(HUcS!IX ziXGBCw~EI`r`nil!&($$@R}0)sJMjOro=v!O+tQCVjtQjA;&4PuS^u4Q(_4;djRx#VGRm?V{DMy66%gkA=VzybUm~E~% zXKT#adY!#WXBU{WSDCX5i17`I;SfpQ89n z`hp_@mvC{JaK%5zs#s^SUD0$1kutTS`s0NM;uWt1R~kfoIL1kyXLjRhY3co1ZJz2g z9uh120kUF}*2|ooDRZ`7=Il(Fv-L7(XUd$dmpMCA=4`#p*_kqD>t)W)lsW4+ymmO(dc1ak*d8OVhEFw3PQ%HZ)%jr=?Yr8UPswh5 z%z^4>EgYj~#?wYFo^Q=#slRr-GN_$~@P|OOzuL<+wySVy=@YM2s5|=2u zPMMC5cWo+v(~q5M9_7~31&4WPT8`s`+#4mwMc$2jF4lW|AfDM@jqAiv(*|d_=Q7?! z`NvWlX<3dBc9|8*FpDDGw~P(M?6M;|XAk6{3>#gP;SU*JJDi~&uYavRHeLs6xwI_D zhq?R*_J`gD$z(0F;yt=z?!L=@CHV4<$*cE@TgTQXdwqTU` z;V5QJn`MtBfaPmp0V^}Jg$2w+TlUxhSiTk(u#M$wVFBA|%h$pRPJ?8>alUJc7upO+ zewYUtKaGc(8)f~@@oxMKRKE2aOOC9G34GpN7VX@3x(v&swSI?SqRRR`%QITv2_KHH z{uN+6H7dcget%mEDA^-MXWzfcEbR!jaqME0}l!T;dy5863pPmPB*U`RZzq?z756P zWQ(;O6_3J)m?#$5HpV5T)Ds2L>WN~h^+bX6dZJj0Jy9Udo+y@TPZUVECyJ%q69v-l ziDIeuM1k~sqFB&dqTqNeFxkggVS9%xx;1Sd*I*oDo)UVny{W{JC5UAlw;ty>xI&ZU zqOJRa*PX^xkt?EA9l_Q|V41g=tpLZ?b`A)nL$FDm9o_YGyzu#$wT-3JhOm6du5B!( z@`+4rl;V+s?H5u*bd!~^F^K8hGFP#W$=b7L2ub`ly7nLJrhglTob}Q6HDk^6N|w;6GUA=fqN#F(77fSgL@{H(77fS2Sgn&ir3GzkK@dS zZGD{-u8aCy``D*tu+#Q&<&o^;8JM>-LKwC_S-!D)*~c?vAJ3?i&0Ak)&dNTXA^UiS zt_s)Jn6t8vXUIODvA~?Y%A8$5>)^TM*vHNFvX5uD_AyHfhcA$Q%nb4HSlP#88Mwth z?rZvUob|X@{t)|kI_<(&7A<@V+gLtFaOG`^7+F`AmgV0<#2a@;8=r_IKbwZCrfvyxJUM3&n)oroT{?_2H;@$V$R z-9oZa$i$zJ=ZI8XDf~Mvrs4W`F`QEcC;yZ)#(*06n=8Kxb%{@tEf#iOI2k^Ig;e(RCJ8Is?6 z$?puwZ@uJqhUB+i@;gKFTQB*YA^EMB{LYa4)=Pe8NPg?}`QqO_?fG|m@b8e{Pb0rd z{EPf{S{sdjx3{1CnwgoAipPle47vW@KTUo+v;G}l#UbQ(wB&cRC%-W*JNskTzgvuP z6EEBsuXxQBX=l(GG+wR+@#TyKu{e@vQ!!SpQ3@N|S0fXQS+m!1z>GjJcFjJ-aS8hp z_NDAe;us&vek8_KdO%lW)u&Um+d-XpxQEE1%vip!Iz3Y|H@yfIw>IZPQZ-rJ>&WYs`SE<1?HoFR!U zlQ~vzn#oV5nY_wl@_FK0j+#l{A+LF0I*m#TFuR$e+&5n#>JawA8AmZxT{=3&cr;^a ztL=GzVf<{hk5Osu{WeY<`v8N}+J|hMHTEU;8QOu~cw^KLyJHVR$==08B-#P61#>kM zB*D_PNu?s4?N<9b@+b603;VPZ1IY!0D@ssD%wU`##Ez*QK2}eegt86q0sWa25)qne zhc8Cz!+T0anIFqUg(zxz@=NY-1_3X82hIkoAN`fH20iQsWom~JT?1EjsO}n!=sGy6 z!HAw)7ERV*K+kr?ecir1?h;?maCRKoXaJ_B^6;2&si|-l6D&0qR4OJ^YHFDX_`-J* zHA=&3&UpjS^KU3jDFTZ=5JzADe+Cb^j6kF(LesWpM>Nh6Fo~0E!%8pvaIx z9XVNv1q2q!*-9;=+g)QWt=CyCqbn?uvsan33v~7>ot1rs<**^sKSh#>&3vd0-A9Q( z{&Haa@qc7rjRLkZzQT$#5!uGQ(Z>Ce%i__>kacOn)tY)f=42{Dx9 z7a@j{{366ql3#=vO7e>kLrH!SVkpTkLYybRae_{d9X~hn`_IJBJ^4Kb{5;Mq(A= zQ|;>W(=j=3<+g5kFG`;1)_ti&g9(#y@3Tr;-21GC7J1IZ89~W!ZWvx5Qf_m@aLnY`Uo6MIVYuFH@$rT}Zg%+Q{3kmwx3*E>IEzk@7<^=OX14i|v>o}rN8`Ur~1hmu_l^k4gma$t#P8j`Y zuzkpU%Qr39J_Y{6)9`Ahz)5(TZ&I)w!$ss^LzZe21Yt6{D{$+F-xcm4bA`}iINyBk^j9|a>IEo&Q_YUHRi1B8?YqK>eg`m zRpzYh8?YqK%D$oJJ{*1oY!nKNK`sFPs{N+5dU2K zs6_IMMJ`2V?d(Fe=#VezAdA4Ya_@uR2DP7Cu%44LHu6yQZb zNH*A!1%^bVAbap5qE|IeO2i<0@FTDz3k-?KLH6KBE_MXXQj(du4!_f|mx=IM1vTJ9 zgdK5{7t{Kxv(me13DiLNQD&}#@S{V_br>i@@KPpWDnjsI*}Ghwb||jI5wGOEy1*mO zr9(mmAieadOd)@OI*7|a@WR};$2}aR9FVmZ5=fwmrV$V&C^M5i63TP|V$j&@cO!(saM6(-BuRB|)cELN@5cQXsEC~DILshm?Jfmk zckVuek-N7dYcrwOnm$EdJug20oxA|-7k9l_vvUJ6f-ihrlDfg!&EDni4jz&ff}^Mg zNvzAQq;GYaxz8Gmc|>~LQ8_{fK;i|hB z2!soPMD6C`Xcr(5QRYVwpyuH!(EVW)HlPXZ0=8>s)jEf~w*5Kj4EW;Tt zE^N8Zc+-*DTIvEbFiLfT%Xo~^P-#YirC`+HGNQ~4HKO!Pm-z_Ho478R|F#_4!7y)N zxH~mu{|~}&9(248hXvps7_QZLS|t3>jA=)0pf`D2U}(aR1;Rlgegfg3gue+t7W4+i ziwb&!;zb3$LGhwMZ=w!`zX856M(^TpodVogu96{oEkyk*4}XJQ7jhHQ?SXOkbKpj< zhOI4L=&Hfr2weq#Q|PKUL=XN}nui|`5WhN(C#LZ?hA#+RwFqIg6}f6Dh82oNQw%E< zjiwk@D4JO@tWcvwjS^KUs#4TAQM`Tr@cjFM-%R+b%+qdpNB;!)*mJLr0X{bHo8nYK z2DMz@P>&;?^X;5@nbq8TXrR z=n8-!)?y%|$)XRFNMJQ_z+NH&xCKtq$`R`aIp?3kcSGcPaODzxG9-Y=%#yN><3c93 zSySa_GOx{=Dkqa^ZPrwIn9ORkrV1X3<5^9WZ^@iCYpNVernFg8VR(JW7*+QBKBJ3(Q_gwE zc$4ntohN~ct`9hWJ!yb<^WMN?&wHeIw+L!%Qo#9dib#iP2Uq-ngLoqg!II_qDdU-E z<`ocDwNcX}NzxaoU`hHo(I`YdSd2j=8|p%FmS$y2LG|@$xh2k8B$Y1)?R*6dD;(_k ztU}|_Kne4$5~2)EIEvL!WYC0Ss=cAefC&VnKpHH8SQJQuw-Sm1X^;dWQ6LSFKp+Yv zEuIsH@_ogjkdb#10e1wPuuSwulTJj*?+JM{p;Lj+v)V_nwHsbp4yMrrok&j;I>lUe z@X1hTbAVN{DMaq|}n1Y20Ca|)tbRIhV_z!ui)oI1?1b7+^tWS3sG_ zsdW4wQ(18Fh@OJL$y2-(6mA~F)1q+n6cYu7tH(gKD4e~90=zv2szu@NH5B9UH58ES z+sJ8|Hy=jvQp@_sOWkW^s0Wh*@ip;Mw{r%IXNZZHT4Um+{#Ps~1FMbb{*VLLsyGPm zVm3@pyp%1R)@P#qNC<19rT&r^EoG81T5hzIJ?2(xOq-p!)n_HzeC++~{pa>^t@Y+?jX5jHyj7BU>jHE3DsxugEX|M$Zna4^ zZ_UW&p#{@`Tb&3dZMT|^F%ulMMwUYphOQiL`f0lEoPj$Qg01exJw`IV~ zjKQvd+s{()vSLJsa_G_=x-5qtl|xtN&}JCX7%*lS@x6mg1-nABn>G_hVkT6{YtJM- zOZ#2UuSe;ll!XwH<~A0>L7_dzp8v#H2JKFfcrf|Ww8K@X@jI5Dn17B#oQIl_v+2;k zaSd)oO{sIcY?^`Z&s@VE{ZmuseDCP5Lh=KQJr$e=Fmz~ojEZPZ7gP6jC&NIT4IWaAiuRJ zsx+o}h?wFbVv2`|DIOw*QwGJ$#uN_`Q#?dW@enb^L&OG%hmii{k?Q9o_FUpk36b7m zl;u7%c`)#jQI=a>Wx3TT%g2qfe3dWM+7>1%*Lsc4K2rFi36effLDG++{M8XqTdb#r z7v#+!WF4``nuyA`5v% zTVG{bVM96d3Z+`HO1!w!z`~Hb2*Ao4xYlXsPgcD)5PO>AZOUE=`F5cycZE=rzCLNn zKIz(B(zUxPr9b4%)cii>dBs55%he6kNH|Rl8e_J)i?;Jn$^GWdA9I8aC&2dKw`JMI2qy zKRyBLtc8K7nV4yWCWw-G)}n!}nKI8>%&^vQ^RpS%8g70!gIehz1*GGk_=Ma2h9!-g zkq#=@UZbMxWaieW=sH=sH7dGputv?rrb?fAsQ3ifT&&;42cxEGHW@Wdv&pC_l&nZb zO`&8(GHQy&VOVF_RHRsE+*G9AZLw;sVYs>L1Vg$(3cS!k@d>{lVqQpv=gw_Q*KvA& z8{N<0;uCz+=37GuMwo^fJOy5eO@M$CA`|9M63QsjZ%Fg=FhhDl3hLbkh)+0%N;Z|V zG#j7b#!>7s@d<7W#hA!^Yb=gEbN8%8Fp=QZtVQscVCJ5+NaK1;++%GJ5#lc)t`kh$ z6KQTZ-jL>&kRi=YCm0enl7l%a)`Iwir}E+xK08>-q&qu1>sD00F?Zi9QyXORfC)dY zwJ|vvfUp^P&{SDwX{qtqW0W!i!E7z|Sfq?RSd2h0Yl}VBs5|liJyM;tJNocLig)4d z+Ya|2jXZFpm%r#$=ij^=uYk(O^Og4{rVL>RH0$a84M0pM+FSz=*RXdPe20*}qpk@J zKEQA~50C~Re#7l3wwMMVI9KAf zkOm<3dj-EO>H`^oFau{qUo#-)vk1Rt@3#oQW*^WTTJ|A}@N4!Znk&n`G;e;a8G!g4 z{6uX!qB?emgZvlJ$2Vmm>Nrbbkz`EBc^aa|M(#`7$bDD~z~{uWVk`ikLtra_Q$tV; zI5h;8f&g_WECu1zP*@7WsiA5_nHwUa(l~Vj$Y#$~U=`onz)JO3mCybB-#BJ@K@1Zv0)S?7cqks8z6Pa|iKp)uv3`vku|5Dp_SAsbA#^>%jMyv5uvco>ND&RKw^3j-Utq`R3=#lbk%{nMDIYIqIaNf$2(BR;~l8$ zF$eOzRZT|#Y>P+gv+W1i7D=6FJh5PV5zN*hsQ|Vun4qpZwp^5P$Aaz08Ji&3K2>!a zrwg1avm{OjI8|0jobGR`u^Z?!r^+UYgKSN8XSzcetX5|s7zMx2DW&YpV}tFJT+2zA zg>wMOJm?oLaZM^N8SHF7>?K_58eLrLckVm7Yq?46*BQXJcj=)S@JjdYfY1xq8ML-{ z;`_RlGE`S}WQ$wR(yn#*53~Kw)YCjaF7d_(0NHM$E?me~!wd$p_2$==NCW`EFd2)~ z8bp7IRIP)EiBzQ$`z2CU1v)0u*q_CMF^i1-Su7m0XrQ>Sf$>`A4gRm^^rS(~6?YjK zOhdRXYI{E%gFA!g65ak&4h{j~mKg{)9BfCL30Mp>;th^_5Po~1d1fwty8!%l5xg%D zek-dG=vI{8o$zNUz4`*-w=xWYZbj+E7YM&yr1xHMyr>-f_6Zn0I-vHe&K+Ev_1QFE zkg2Djvmv3gBfx7%2(JwZoaK~YS^!(l$wdR4<(y#JMS^JoY&jRbHA+x}JEd2SKuLyP+nS4YH4?Kg^0SB$3>&rm0Pe>Zqo=AIW#Ndy^r8b{4iL;)K zB)^`W4#c3r?nCAcSk8*wi_D9GE5I1ZQ|V5CV8kUKz-4(I+$UOE5`5M}_J6+tf`hYT{nG{ryzqi(l8@^U0|a9wjs0f-Kac1!0&pjG zVeahzO_Iol+BkQH6Z%dj#18zLqF3iH*>vBNSg&rPi7V8-uH2z z4McAN)eENo0{43`{S_R%f0$knJtOn4JC7JeC7AvjPzI(~{*R~)G;hVg=xsssP{QXG zFC~y3O8C6ur3B4Gm5Jg_1=2&ovp{+%;qwE;OBsA#$b1^3C#A_L&VxpU;57CCh#AQK zXPf~C0J5hSby50l*7J>WDH_O?KKDB<;h_E5s>0qvoL*8|!^jT2?Y zz1;b>e^7NF0hrHA_?I>C5=sa`*O(JAwT13+OGuq&cbPiP?n*k%E$U#mm<~2)!tEAy zuv<(An=|2di#pgX>R`d)y$OqSuv>B_+~y@T83=s8&+TBh8t`2Q&cpPmSw(hdW}0Fn zFTgZKtGaDcdX}Pv#lrgb3QB?mn8=Vo6B!b4B13`*WJoZ93~B5a46{VY6F_&gqP-kCfjY_UDgmge3uU>nw_8cS9Sq|M?-`}=!X&! z04F*4trzo}0Zr)mf%|Px8$tX4VeIMjh2GQ!3}9j}rq|Cz(+b+L zJAKx4A3Hx`uj~TW^Z>gMv9Ii423!ZCRD>=YDMA;PiO{9xA^=YMF>HcdGoZNa3L|-x0wk7&2fJ3<)(e4DHL0y1mBmwA1Bj zmCMtrG*7GGX(_hxDp*>IZM@2G1dppQxD1c0u(#lmGb2Ul+At{uRGLYqB$Vt)IXN;ap=3|W$&o1u#oNi0gpxfeCr3sll_9SNHp=Sdg&YpZ(qedpwV}nf295rlL z->zkR?B?5jlhPq4(Edqo)CeT1&Zt*NlwF2I!(>QwOol|u7!omZ@x^XW4PW7Lp!w=| zW-Qvz=YE>M(q|=G)@uHhZ=xG&0_o3^fh-xyk|kNPG)vOl8(d4aPh1>q$)3ZYWu7Iw z40Y#OvT2Ol*;>q1{en!6kiMsXW*mh1*Sy3p+m>lky9BvF-Q7Fim9PZcv4!7)A9PVxtUqTW#Qf{2${KD9;GF}OG;Z$(N ze{hCQNq)Ks(YqrzM6WF;L~p0!x2>Hf;Dq%jH)}n_#JQ1O+nK^I`!#IhO?+XKui9tq z*T-eQK9!9(sWA5IbFm5*)N8W?cUyrw?bzLn?%atbaJQd5hQQqnp4^EYz~auB4eU$U zm#{BoU&?+Ydp;qOBQiri6QcKAlzem1vB;Wfx>)y*^ z4bXYl+Lam+s`d9GaDtKuB zL>H@o3}nermMqDVrCD-hnmm$nk5Y@CaxWu-@NN`Mj&e8ki#qZ-AJUaZ!8eL>=NaTX z47t;5aU>9i?95e;(G&;IEKV!xou3?hJ|klM9&lD3`ghM`AabGis(yuM z3dvl=o)#uVv9+V5_rjyRn41uXx)N?OQ#j1p$D^*O&8~fXc=^mcG*b?Hq>30w)PL_U z(z-wKlYdn2XCaI0GkU+R)<)HXG*IbM^-$9HGKi)0p``C+5KGlVN#DyLmePlkzL!Ca zsuy*zK|G+o*J=cr;5%2}f1fj+z6Y{!Rs7Fj6UYMP4`lHJ4p=Doi2A-1NkZQXuNYY0 zyAj#0zPIrX19#)zq3-W?{X;LS)mhB{hUR~b9RBw3Y};_3U!Z`4+T!; z4)p$r0D0PT)%_#=)V(6KozwYKW2aK1zne;Zk*$lZ^{LIN)HJp)vfa$~JGQ^E4Y?_m+VrDT z%Kx9K)EC%(%U1GVJcsR#Z>CZ`KTM^{?@pzbvOURGaZf6hWE;GLb8L68{f_N5w$hhV zsTpkN!^;B?Q$E}DwW-u?Y=38qc92UEULSfsmDn#l&$FFzM=I6Awwdiop7%KX`hLv&vi%=h@F%dTq{n;^SDHoB2!km<7ep&#oo@F|8#&X4#%WP5;(!9r2HT zEu;XWLKgr2YtszptRPVc_wU!iWanfK23S8lwOF@Y3xF7SD$@9wGQ!BZDMIUq|FtRP z>|kln(JAQQia$Vtj+Vyk8GfTI;`b`$ob!8dH8W@Fmk>G2l}?hIl^p(*Zp#E|*n?}W zA#nwn?COr}dRnIE^o{HrJ7r-qihnXg^d-}S?X%2a{&dE(XPL45>5OO3 zGDG>(8PA?&M)IdKo;}M95W?8lAFM|zvb2itW!F`koE z^pru4#@qUz(Ug-sdk+<8=&alJU6;&;AqY}a$6UU14V=lu71BPFO} zrZ6Fo0Iry|L&2Lwp>q&zd?8x(WHdPK$w=eV27Dp3^MUkYJ=eir zt|Lm`WNYp!N7M5ec4U0EFPi)s5cTdzXAk{DN3GRSYcdL_Dv9jg9tVe7*-TgC{G2~p zNT(oD(S^i}OObHP#B*PUn!PN9MeVy%X7!aJl<#FS%r8Sbj|g8`X3kdXtPJzZ(9WDi zXLD`6&dM;qY=Jq8&gLwddVP($t)_c;eu8-J@Rbs4VlN9PKzh2KTDeNdrh)vd+w@u#h;o!X&!=* zHxHH&G!H?_n+K~kn};Cg&4VT9%|noLgPVoSIP8BAhO;`Btga=ED9_*M=DEfR48avw zn55R#pN>|gf~{2tP>Z}GQ+b1}ALGD;0;J;B#^^5mi*AMbvW|CRY|LUYq+MG_Z_j-j z`Gdjsp?qbER|!&c#H&0m2d9TR>yB1DA8p;uh(^1fVs*zWHXd|;u-$hViQ%p!w)!&S zSHf3P8{x}{UkP7HWrQyyekFV*brHUd_?7ULR7LnQ;#a~~QWN3Jh+hd`NkxP&BYq`( zCH1i0ALa2sb;3MS`c=7Q@D<50j~l%50B3Vwpr(NK46dBQY3Fr<;#~!`eULGy22fB^ zh57eK?31Hb$)<=si@~XeO^nXWVr;5m6S{R4LsJc#7@L_@CW4`vSqw}yY+__)7UNP4 zn;4jx#jsSvCS=alQ@?aB1+tCUgQLoKF_|K#P~zND=fVL_Pv${Ng2B%vhxvIjY)pX* zF8eF5*uU^hDVfVA!|W7z9y+WYNUnAr`t1ZWKHL-s68?1o!PXcO&A?OB-D4Yy!$y7m5m z^9*2|>8R|<6g9Vfq%0n^W-T3b4kl#FR>@XTe|%kj^;{xGA}Wu z#1wtjG2CEJ=B3jT&`ba9^#JeUk{-4PF!QXkJpglMb9#Uiq)m)^*dN7aNiJq`k2(QV z0G&W*Z7bPnTT=mG8BB>so0gc!-E0Rirz%AvSM;xM59)i5(f=uF?^Fn#yhr+fkJ0}r zqyJNtIxGFZ$LRl*(f_G>ot6IIWAuN@=>HV@zYAR`V1`E<{hvbrH}66Jzg(QFgLr=U z%s%x0ndtvg>3`gv_2~cSh0&}t`kx8f2kCz!nH_Wiopb?RCRa3F0Q%6?|JS+tzeba_ z^YuT;Y%Ymfz6oTkxrEOu;Y-jP;R)ys>HRMHI@0g{IIZ_P`|Ewp&Eg6(->mv+qxUCCBPXl37`^{V z4uo2!tj!hcqgE%YazqO;2SENRX>s)a_R$^bc*~ewsE;OQq7zxKZX;1UO>ZER-H{5` z0N<)*IfCEVpyDk$fR51}{q^O@&WJU#D`L;#)3fGu@&0og(_Wukch zIh~AW&*|d*=XAo(oG#vfPUkpLynhG!z5{*Vz!MMF_k&Xd>if@fv9rr)`Lr?g1_$xR zM-FWa89>A~<0jdK|MJE4p$&IL5Pi-@6#G*8ARN#8rINbjSnJR}UC{wbtmXwUs(6ef5CRS8I*FT3fHP(pL`{eYMu;tF_Wsv|X;gS}T3^ zz%l77n!7tvwJx~w-@z0z^Fy&;?~wk&&XFA$TzL&Ynl5AqFGzja3qvs$`L^rsxwL3Z zANeHWRey;Gr~kQiJOI*`STKAb8VtWplMYJE;IA*Sl)p@QUdHWKUwG*5dxtbF!WB&X zEXNJ}%}ySY9R4S+@!Y_S;W4+g_Y2t;)18;)-1+=l=FYF?-kEmMdPnm;xsNOgu4v&x zh1mq}+k)nbS&#QDd|((Z$@6JT-MFmk>azZ0kGo|t`94u16NJO}?9xek8Qzz+Ty=9WV`_!GD*?ck4rlsNQv z@XPVw<5~$P1QAV6NhxDa@WvL`zyE~p%JuJk<<9H4r)Csv^Zfgm=ikRX|32pV_pu!R{xh)Y%89QWhgW5X%Lh5*2RzLM^0&g}KIgO} zT)?IB$HL`stkDIt%-d?zTn6u;`x}AdLD~8Jh&IJ?{ zlh%{#e>MlvMk3eVm+OBj&3n|Y|8hQL=U4p6>e969zk-vrS;&|5|K~`b&XGRN@&D%- zeL6?_G{^s+WAy19>C+tle~!_obI_;#{r@@W)A#59mpA0wfBW$N_htS6*rEOZSb2W{ zK=SYU{|I~9|MzA6f1f#P{C{88|MzA6e_z)B_htQm-+=yq`4Rp9{lV5TGSrgQ4aN>U zmjmPfzyAM{|Ib2b#{WMTAKKMlCo=>)u>O*!%=TTz-ZcLI6L|7i^9@g6%^Lsz35;3e z|38uO|DV8=HU9q-ShB|de*#0+`2SB}$7cNhZ)H4rU%3kaphQe}{nY_~koO)g=V3U` z(+_`z9Q<&(3j~xO<)s1x!sT#I@qHP$K94hx0k3%P9zg=(a^9AkfBn917BUbnr>ZFB z%LW>d_0f8GXuz|;+YCN%lZy}Bl*R{c^1JxJO=*1KrZhfqQyL$*DUA=@l!Fhvop!i= zo6Q`Kj^f<2r`ZK;30oDI01^;l=9spUS`08OheB<>dOse5H5EygY%F1HiH~w zWTwwR2k9PUuYnE@(}NrqIyi+M{tJhgCFcS{l|XU*5F1e1|T6P|dgG;s@0O;s@nN#1H5@XgX#=^P(2`iP<|x*;1Lf$xGfJqc=`Xw4~`N)cu@N4LFua; z{NO>OuO5`X%E1pFH2Ug6>8l+4;6bCW9vlEac<=+m56W+I@dI-99u_~iQ}}_w5$r%; ztjdX6o4^s?GdRMt;0UjIIKoteBQyy|Xlj;2zXJ?mA>L-u56w)P0#UDx5^~91V-SMV*>s6oQm6FAm zHEK8fKVRYrUo5EoOwWQJ4&&-aYUZw=-{zHP#d}mjEIG3$Vi(W-G#Ep2IC)YEYE9x6 z{D9ieaC^^%-pvNz&cicE{QLW;^;Fc_VzH>&((d5>UA5LD)~=p&zCElUY`q+{9%g6V;Xe}lG?*SUGJ7S+mjA_rh{~1=$J8${EVg7>H^(QRf$HN1O(>V4O#1bd; zp0|8oAOz)KzVA4$X!=l231Pd462jIiJxef4dQZ*yDdzpuA#<_u5n8Y)T383RNhSF6 znyjYa5cLtSKU963^@B`h4p1MU!QG}p{$RZmwNhSvoZOaMA0t&Cr^E~Y=GMi9QTvn_ zmG*0<~F6lttcsLA?Bk?*nI^G0{{p35bvR8i#W^(Ka_ zsCXV%_KpbNzdmwxNBYzxb92pNyXl2w^=~Ekc6@8HBq_?;*SYV^&fe3LBY(|;>J=}o zp}`9(_5oXkUs@|VIp){a=FBy=uGvM)jqdDvenTf5dmBKTZN2t-8OYKhYh0S>m|IeNH1&!OoU5&4Z%W`l!vL zHbpvL#{uz;j}(Q+`>&YWTg)%CDWf)38xtqij$aUH8XoOpP@|wgS%nL@Ekr3L3Wf)e6hkggZ!gA)<-&D^F^${1M~UW`xZgk9SNx)otW% z3MtVqyxfz_=^+1C_&9&>No|qNKl$QT0NpVxVuerTs2kH!mk^Aar|fl)?1 zc0{Xo#*^0-25-6yne4?etLu(cxV4v~Gmf^s1+38C54n(v+ul8Q9^BqJL4)*k z)%B_2YVAU+?(aD=RH+J17T?9rlcC$vWkwq7`XZhbWhGYS=L%Fv!gLOT61PKf&4jia z-r7x$)wg$Ryr*hUQz%ln4kY8P-M!~>2^U7K07+OQ4A%MHQs8l_ler`zBUQEIBP9uD z+wnnU+9yw5c%juX`+Nz@UxPQVg>Ur|Mpy(1B2JPQ35qK-9dZhHZI$#GxDa`XTRqXn ziMTfLjnk6l714@6#E_i_xVs=0oc6N5y5N0tJDBd)QXaQ2h})O@<973UUMaSLm00#j zCXS01z7)4O*?U@B?f8i$ODm9um=)-Z+L!WLBRdfakUEAUTF!tOG8XTOB(E=QZtV@m zD|Q$`C_G3I(&M4#eP_+6dOEoBmwF`w(ju-S8U^$%nQMlReXVUnvYir5l>Fq z9cAn(n(AO|u;{un(vOpEV|OH3ay)Aq2X8P@I;_`G^;Yl(A2&p;omxA!;+3n0<@>dE{1qDM%ey+n(4ml1!-uZgz&`m?P@MV=nhVF}6 zBS|jbK}_6+rr$b0fb#ERYMX`kqPap$HNSJ_xMTtfX zLKKh)k;D+lzzod51R`Nm2%?eI1%w$E1(Glc(6$4(pt!GGak*DqP*9MBC1Fu^1qImz z>2UyARKhynbLw=@bSFXYeShEk#|ytnSJ!#!)Tyddr}k?2io?E2D{AU|ado0&v09M& zm+%~B9g*)3mc~$m+yzj>u&Rmn@LV5DyCw~-(spaP(wvI3T#0H;lDVQ$y14xFa8&VO z63r1^?kGM20uF{9Y3_*LY#CB^&SAN2?dTqsS&G|iQ z_vAB4_;VJ2(oN^^Ck-)B*mTn`^oD2xo6lJaBlqAB&NpKXKhjD1a}VrJ4z@#<#=~g% zBk>0P*XdU|@{09qJ2IlF_d*>@$*=Ge%61HzB9v_edH_P%2Emcz>rq|Vwu^O8Uo5_c zbHOs_bukr=o^|1(l@jifwslJ2z|qs zdFZt{UP<3Jvc5q-N#Cll)8RU#5Bl~4^le?F(6@2a*A)7egU_$%^zBn>4}EdZ!q=#8 z3%o+#EG5O@fHdJw;C0R&0cUU>t`do#l<4#xxr!5?O=&h_4z+qX4eZ1Tn>k-o@}#rQ zlS?wF?IOGW}$s+F_GFECh~1D^|UwIzZMgvz0n@F7?p|5 zLi^ZaVl^7=Ws7O3y){I?BnApn9`C{jZ%h2MF)=O5b~+r$hs%@?<$*e!5%s4~MqCbM z!~k7J^s1f_*r%iA#I2MQn*EkzU$$(*7JlT#Wi>BOgz}=LWp)sZ^p#%5lEg;jg^a|* zVY6TcA|^_>Fa;44D_od^h=~_2OhUvo5iZO^#55N!Ohd%96fWGfZHvJ|czF_~_gz0} zq@n7!)T(}|U9I|0tB!={$bqW=3Oz#|wuS#M*8iE8QUB>i{TvA!C=X+UtrKng#?S`a zwN~$u2nT%z{xYinN&roclyY2J9D|D)kO$^3Z4FIo`-JqzHpQQTO=17iO&jUYb{L-6 zX81F(Sv*LtrbzL)PoQV&PJGkI-4;wEDUmKp60oFtwCeSF?CDC~j*XUz2{gaiqWh zS8VIAoxzyDVc;=~771MDgUbT{`zWl1;eW>dkM~46?VFVbl}R&q(`x!*WR6w((5Mn!$er+I8g%(KVtegUOG!5rrBiJCtZS|8MUB77S=q~h2cB~l(-Z%!m2;AaM9zvi zZ_*RgB6{K<0!-uQoOyVn6$v81Le+^8=SDGR^HxQ89<_Y2NA~P?6jV^B+4Av5{5CtK zeo^3&EqF+SaUQ{M`531JHi0nIDGeTJl}6-N+UbfE^g@qfmsjd0^z$}4rJYV`m!B*y zjZeJmb(<^v-_DL9#VIL6be57i2-+2m*JAMKTGvv#6i*sAUhh3@v1U43ddA|WD&0U5 ze$8hNB+<1Y`8m%P#%-p+T~##?YO^u{%5fI*7D=m+kHKQ z7}jDtW9m-KIatwYv&^Qlu%>M3?~6^w5#Wc=DOmy^@B<=jeb9b8q;q|Ioo{tWlcQ`> zFnUk%Ho%IcOnkcq>eHZ)G~<>id^gY*9b^iQ7v2Jz!`HPgXa%6v(bEbz+;t9VMqSYA zhG(3E(XgzM{+D5ug{4%Z7HchjyNl` zY0PZ$e}fn4M-1Y{*n9^M#1q!`;<5P_$2iUFJ$O0fCq~-jCvsi#gGmm#Pe;-Pm)s-X zB@e)+lKa|Xa-ahy2RdMKAX`_aT#_ycV>f4LV!&B9a#QUS19mlX-Ne9c@RGB~O7>Nb zg00Si4NzXJT%bb_MJ6Sd``D~fKbzbq8;@*Iuw}AeSe*gu1AQi)o;A`g&B}#GkBLsH z*F^8k?Iw3Ly8UGiIX%!oI117+aZ=?h_!;%SjlJ}w8-ws2IT=TA-7nMwG>pC1IwH0O zn$lV9h&_RZcnOm#y;pHDTmG^ck70j2(0ipbVgNOIp@=L7*Z5&n9a}-ePPhtU=b&UZ z_V;zY8FAr8ICqpQF`7A66!OCDXgJZ)I)>Ko@IU{gQ$%wX&lszEF!`_Ug!uQTxWx}q{f|PjrN*|O+XQz#==Bp_KNpJQ7Ec7R=FNVXiKGt)G|NyMAw*-OeWes z4qLEKxfQct4yh-Go)`ns<{%s*sqEPtR8#7{H73+EeBuD#Xi}~$0FXcv0Lq~$vc+ld5z`pe}vitaQ@_%v+?x>265g4mqw_Pt;E-0wcRo2=0*6>cJy*r&2yM1~WB@ zRXxxIQOE@d>8OlMrbryVg#7jmFwYQo{M#55B>vG&SEiL+@W;9WGkTavRmyQ!h0(@W zn=i_PL6{nElM9>MOM|mo(pjG(1VtLU9#B4Z7KIr*9U?z#Nq4>P=JiN7uNip$; zW>srX^K#V&(IF}hiWw>E<#2?X#c->rHj1E$C<&@Iitw6;S85c)ZKBQh2K?Ms?7dd<{5ZK|HPpzl3V4cI4_$W4%x#UQ4J}aD^$@!&lHX-MJ;p|Gzh^`Hh z=PlPE@}W>b$U9;r*_p~-G?7CxC8^JBdb*@pZC%iEmoyk9JUHGZO-YALkyD$3*D^u`!fEMIfuyHn!Xjh4<@qwH*H~(F(FMc=tso-IF2OW(}`Rj^fLSVX7!>m^^mo5>n z=&5%DGq)OMvl?$a#I=P4t_3q;xuX=N{&GNodvTZ z@ujy}*JEaR*#C3Ka9|0V#?HQQ*%?C+8NUQ@FoHw279qpJTUds zAL8heW|omW8Q_WoTF8vh{5r|wC@|sl#>^Y2XNvo#R;Yq~f}Q=&AoidfobjVRrmS#G z`DG%PHYzFX7t6WiS0JM?U)CWl@57gVi`Adz_N)H4KwJ&uftzsJyY?i%@aQ<)o?B@> zDVGj<3r$c_>r5VdcW<{mBaIR}$zV5K=1F31Mg2)IyV;fgIlV}O6?cWrnOd@9X# zRG&(-Np+?ErQ9zGxlxSf`JLlU-gMLSdX=VJ1gtQZAY4TLI;jFYo*mwR8oznN=n;47 zYy&jJA7IrR-LPdCR|nRFhXd;RzHDxvDHwXt?KfY5o9A17XBwEk$wUN!+husg9Tb#k zjA%WWYRvk8$mv9m#oPDv=ENH>1|(q4Uo6TfZZ!VADeVHBr8f z;uFo$MoPQHwDM)hGD^gVthH~K7JZ9t3*IAz-izZWwFB)QK}+}kQiRc$FKsyz8mJFP z({l}wRu_tK7-IHriIZNVkOwK3 zhW>BRb1y{x&*^^@`FWH#iToR?Z*3yqWfXbHBd9I%8zcc%S+S9V%6_2dL7V(<%0a|= z_dmy(q{ca=wm5Cl?@Bo=w#X-&^c!W=;fG^P@@k4ep-*B+rQ}?RiuqyP2DE4~n@qM- zUO-}br$?DAr60h<;ag6))SXm5xZ5ON7UBH!K~t6%3zf5(cs+#f%fSAG;uG=6b1Tl6 z(NGaPOU(5$s9Z?B_9AilzyEE9;;fL;6O1WCUz$@(hGN1-IXamWhuswyDRGfV93pxx zog>P$@5PE~@p=*@v|m8EfYFh0eNejOlGEBEP*K+VBT%(Hw^^~J7ajCgr-SB0@Ii%p z2@fR~)eIxx(j~~b)4{k6@I%R^(agzp-ou5NaogZC-!tDr*NZnVIl__2_1NWR?XA0Igx!X!V6(1=K*6)h>eygmqWYd9 z6BUIGCooZQ7%TYiMCl9Qq*VgAih->JFp+^rF(?guppEyqe3Ou^WIb^GvH7+xp|WMu zfgXgr9hJMcaHPrIO8QB)CBpzV3$U;yltbeXQQ$84AG<45ZkEzINIjj%yoz?Dcs<3X z6`|ieiR4Us1>r~^FDQr5a)eAz$-ZfgFvK2-xe8P&vX}!sBcO06PW-LH;b^6@6WKuu z*A}^0TMc$U4t>L7E8CnG#-b_-YX^Ho?K@W{r`&JkSE52S@?NYnDUoWCr*Q9M-ZLGgWT;4^t4He z_fVm?Dr;&U_J`o?V2pv;z!0-c1VYg~A3%}Dz)^Uz0eYv*=O-m*hNwR!x0A>fwi|;c ze-fO)4Kd)3Jc;g?phE!VW!N|eZo;pyV$DxBpYJHz6-&vFkd~v{L$-u^ygw=L8G_zV zK@0XGloKf|%G!J%)tVGsd#2XzI>SWm{u=(uBveqU-D}Z&qjn#MpEKfsOY)RiQx4Mo zI=XUxf@N+~=Y2U;;lIPo%s6xRM96--m=*x{*iKYc_QqD*Ck^?4@ z9Vz(i_MpWM$^ND(BWBQ5%NqwC8CXIsH35)QaEkBR86FdF%m!Et zmvjnQa0j%W+AaABHY0~&mLTtTS3y-y1TJ7WsBD7|3c;3g0Skn0th1+FnKb}Yxo=8m zQp!s=&FY1D+U>R!+=#MH`YGis_8s)zaegP#|4j#|1X-qZm;)Rjm&#MHhG23A*IR?% zA(z2xR+4v(8>mVC zEQRaR{0C9im}j_QD0EB4z98R>h+MSv%8d{h{AXFvs5Bs+#0_z}q*2?UcqMdQR9MGg z%^mVEDP>|!zFtb+9J+43eFfa5PF1>>Oth-NfZznV&`6A64!kY1e<>@TM;lp`5 z*osQ;%x_JzCSa^qB-_8WMr?3Mo_W@kKe0%FTITX)twdQZOx+pMWn`{HI)D+0^4&C) z8WsX5om)NoZFL|02s*aiRd>{4{N^D(O1w*+SroV~oOH3jMi7u|3R+9M^e5F!8jktj zMd?xf%PII1nf%3IEt6dl)oPSbC8|v=A)e9`l2D<)1a?RxrE7g)SUApwBnw0f^mZ2f zY0Oe&^>$c9aN3E=Mp^pTRAP2saS3J{Tm^@6BK`n_Fgu)I@tIqw!rA0UBB=gaO5ej8 zD)gr)%QuKDQ7aV6u55bTFbodz2Sx zXph#9MMDY|n>?p(ty`KqSgiO565;yG2WwrDQJo__E#tT^Rvu zfy7P~y(HIX&<|h23pt`Yb@?cDr=CU%#n5$Vc#z>=hORf#HyS!!BYk$suRMgACQ1ku z@fV0el&>>mzq=mQQ*6R2uzy}*s|$yBy^ilX%>K9imHIN~i%Ko5m00i%d>~}q@`;f3 zHH3e-Ia+b=041?XSLwUkhectYrg?^JOX)5= z&?y$~Xn>@>qW>|@x`x&`Y?fYCF1fX*9W{`D4Is6=-74b*p4zIn%M(rHF;J9OVM?eX zZbdk>>Wx5>&28}4dcHz*x+mGBv*o{ChyH2C+Nq;Z1)73rlg>ci;=`gz*y$K|mYRf& z*m@otKH^gkcW2g%#7b_OwAK4-q4%oA6GN^dTl7`wPC0E8;yqt3m?ub^Ro-W(d=jW{ zlgtNwX5DfrFM= z@mZynr2O8hu~Qqbph+yK2Oy0sC6#z{NWN(ZZj+X{#pB=0@IW&V@A9=@H7wp_T}4x2 zFj7+KJWxb?<&^Ug4js6wN+Vc9)Sf}Ju+=-Lw80w_(Do{=1sT6;PPg4{it)X=270W(!ux|9g` zhqxV;r61vq{`uPwTe*}{ghMOV;-f)R749SqBf=qzvi|5tHoU})Fn+O%7i*SirUo^4 z6yWQb7uq6E-UXwnm=MNhlpgUuXOt8ZXcuNyQCdb~Fi&tX`QO7Ihuj1EZfS3IpD3Id z5W*odU)&Z?duymYNB&`-6?K4>9hlrf8d53$&MU|9#std0V}j<1N0)+f%~^c;9n3{e zD$kKl2V(IDv&qvUb7VWRW;F@&4PA;Onv9j?LRVS#QO+oLPSmoDgtW;bS+)jCD4RZu zD9Q@tkSXj4{kpG>)MXxT(jz|qo8nH+ z^NN|`r~d94VlJ)whMFntyj6Cirh?#*eH`Squ?T4?`Jf?@E3gL8+~LcH29>UWzjY0< z$F#aOUcrYaFn!`oIhd1iCCAe13Z0j01O3U7{=je^{ZX8OQ!-$kph&-w2APG2Mr~J}Dm*l5x9U{kp;1Rv zrwR{^Ie1>{;h|BZ z(WNuUEIi~zq@51Ajzd_x7?&JXy~BDQZ3H@;TlY0E`Lo3R6xG7mj{aMiyl$of3*{J>hAye2vIL zS>6&CkcIGl2)~cCsd^E~&3#_v+I!xrILq8Il=Z&24)je*?anFW+<f+V~_(X|oXi(2u}p)rP;e^0uHbMc0tYzln;pdQwSP?}aOtl8+HH zTrlmQu14x5Q7ZHrU0&tCz+(4m~+Emyfcccht7uY?--Ivyr zu=d(wVo?#(fNRGTi_pr+G0@UkwM7RO*AQ{v9t8ZH0@@Mq8lVq|`vL+bT^r;g(0Bq- z9li#q{S=*@Kx9F#0lJYmB@yV8YlAirr%M=S_@5Ra7RH4{h+$gL=Ww19lO8t173j`O4O zwZw_Y)TrExYUg*3(nCS)YslMzI;QOzwS z^c9hB5Ge;=NiOU<#PJ0zznmnkq}jiR5CB@}r+HXvsFu^!+Ya9%hj{p0q|ROkH`qOe+|RN5Ai3wVyAJpVu;(zY z|Mzfs;21!TN0f&LiSD}l4kW2YO3~_kKi$I<`2dOoJBtY7&eJNBq3sh5kAGnH&|r}n|@ z)jgs8zLsw`MQpKr5rY+ml1-j7SjWC_Q#o#J#d(U3DO<{axjt}b>OSnFl1piH1G^XI zex`dh?y37!888-_1~k^g(HhQ!tNcim@97xo|3&{OMaiW!G0{V^)r(XIVeSWe&?agU zQ5J)2B4X?JjC%26hucCypjizmG8vazAZ>SSrJy4@w0nV3Dau=+mFYdSRXb!RxEed9tKgvhzvItv81hCPo0yvC;pBDD4juwxa+W|j~Mo$;s_x%wJ9>%w9PU3d~KQl%mjqppv zF9kpPzKs>X9Q^LZkG^&DFn;|AY`5*8 zvPm%G0c&W%V+{!E;en^&3V15auOcj+M_6*aF(@b(5Q{Vx7ewK1KhI7r)I%*s&YT8`BD zU;yU_&MSTJCKijL{EZMg+#_39l+^;FnLLB3U@OeAc%kx005dL+h~bp2S&<-cd7MTv z9X>O)v9KJw8|%x14lHWr@kn3nYQ{X@sT+}H;l5VM0MbVNvT-QmFJkq$>i|CmK51BJAfe&tXRT&jXSpDYh6x;v6~%G362 zb-D4nO!L+2Q68PdewAHEQQ}QdOqp3H$oFPkw(E;qeH1B{W6``B(<^PF-wD)0u%7$jLX7XyfsG>(Fe zPHzQ{*>9O~KsJx%(03tp7P#tnG%pN=ZzIBI)eN6nCiZoyMu5u0($+jkv6w6=<`HL` zm@3T=;V-lbM~2J~z)AloEn>bu*gw*Z+lAI~IXZA{5RL#TU)={ClFfTsP~WE~CMy%a zC8x+{x@snTUYo*&_8(z?FfJa#&biltrei{R;$V|xo=@*m7wwR&17~x}57oh1eKxIh zQeD7#F&vJn@9<7*ZgSr*4UMYIjwhKbvy)g}iroJdnh;k(>-)jZCbu7mhc_z&f67hFD^Hyq|r>i`3#)SN|*{_KzDQ{4#ZRi zuIVcJk!n&xXYm%-xn-Q*01N_LGXQzkfiM91s8Eoyt-lGPs5HM0wulh@u(U7Xw8@Dp z@DN8;=ff;o%a7H5RP{}SK?44p)2cQ|tUs^%``?^b{rzvwtA=Sc&#S65-Fa0xe>Vm- z$#i5jn?BsFo>vV=Udwq^`krm*yz29K37siB7wVgHm4&{flhVA~FvxZ-zP1KE`7s?4= zH5J`poH&dWCl2@8qRXPU<7&r-RoI6rh)r+U)nCb;Rs?kJGEC`sP|o(hV36*QxckQ5{=^{&l?&? zC-OwA8@M;i<`5M_--?Iqqqi_V=#DU&A9-?=LS{^$j>n3RN1Lpf_E^jO1tdqMovvoVp?W)}4Akqj{Hf3&(RzqwMGb?~u(Zh;Tga^C zr*5)GT($1Fir$3{i+Lr)LRwFsd-cU;JAE^JChR@LVO3>3D7FafT=^Chr&V_2^STAw zaXrugYo>dVX;w164!S53o1E;@p}@@)6`~-qgndJlOYmx!ZN5mU+$J58w%VdArVWvB z2@Tzc<19e4)Uwbj4}1-5FW{tWp*3^hYSXNy@LC;Nx>MS=l9FY$IJZXZ2;lf^C3w9S zDK1Ha2-1v2kEAl*_=N2B5dXhNYXP-Gn|i-Kgek zf@DBuc*Qz>1BLKX%=Dw8Fv2}CA)hFZ!FgDl5+xangDfb}8%2|(wkA}Zc68%WoPz2( z;*@7$oAQ(>h4znFrC#xYZCZP&@^cjo!F2b|S%ogSH_q?&!F0@a@s+v@btgxs?t>NZ z^awoY^f}t);G=da<)QIwrFB1LN2OKa#~6pzk<%MqY_L@v1j}+6E|D-$1&k1Q{>^#M3wII z^mq7N&)~Ba>ugdBXU4i2*c%_1VGV9ZlhOlo5ok*q`gImxFwc(I^H;9lHV@TQ(tqYk)0nrrgw22y*B#I$idDQ(Jq4rvwU)xo> zb6RH{>A~4wtk(oB^QpVX***l>UL~^qV%^F2U~3$WUTH!_Y+oZ20QnMIkYI_=oI#Yn zgr`}|C-A0AV4@I{`}L5|n&+Q`CJ^7rZil_vxC@1@E-Im&4|qS%dOh zi}I`J=*ZX+DnC+W*TTOkKU@qk9+5i=&S8O`K81;0f7|H_2xr0YQnV)fEb}&iZp*l2 z@zEU_Iq*g{V9~frybUZxE!k1D_Aprni)+&7WCw| zS>kOTeV7~Gvs?gJp599-fHITL;o6*eQ8>u{nn)I`M!1MZV#--$Xy)X@Fk9fJ5QO~gH?-GxRIOKROo3) ztL_rsX$3Xox>%u>12B{dJcfSo9uC)y!<8As zxvGVOMnUld=szcP=Wz8nT%s}D9o51O;eOi^t4LA0evm2pfeCBYicF|)WOG-DO==lh zx6vHDZD5Ty{xH-pr}PKxp!XY^vWi$S4S!cYM0sPeZN%yrZeFY4u5deag@0Fa22fYH zlC0B!6^I8NBl~s~Ah%`W^kOP5n79-w-_%X$LE}In%|*{jM?xxlqF;cz72E)O7n_rD z%CkR5!cngLje&eHa`#vJxP6l;Z3(Y#71j3pa*@*9Mut9asYs~>>{83}a6)W=GCiB~ z%KsNU!8Z_1+lL@x>QS5gFzox4pr^4zezG|keY!8#Ds6z>#|9#5M7zTS`v$WuFQMi1 zN0(2-(T~2(odw@Je4Pi#oj;)i7A>=_a?3X|4$SB-+Lw$2g;*PCG60)TpNYh`u(O>7 zwz-kgT3hsQ)0*l+;sywWTa$5MCT)JE7-+w1>b~rfpc_ZR6Zd~7(s{B>q;oaibc*<% zNN1Etr*%-C@?3Y3%6MrV83tFkqA8@JRvSNIPaIwK<3ku8JavbiFT}kdtA$*+>gN>p zGmG(3H@@HJxPH8Z8|lRTKAC*K&+*WB33vZoRqywClJEBk)1Cwk;dJ-=s5ISpsrvms zh@9^C2}f=iFIDD5D3%hsIUzJ&dJ!+W@zPvOil9_x$B;%~G(_!NrFkk|MLM+`TCOT1 z2uKJAag#P!%a77{3HR#Q`EHg&q4CmwF<#22kL0G~a+WN}cSIX74a|aflMD<>>cjij z(1@wN3%B-311*?o`<6#c$rglPP0E4WSqgDG%NmqGclCCbD{^6^JY#d!Xr6f$Tu0^=n08O)SWSCUqS)mSRc zUw}scC?Da(WYtHiPo?<-)rFf6|5Em-p}z}{|~d zpC+GiuK@s%6u7dlg}@W=rfUesfu$xj<^5AgC-NQ*fw29!Vj7p5O1OR_>qUeIn|BiF z5%&t-tSjzEXq@Xjplm|-TgpFywbElWCnVzig9A7?-o1F};(Y)i19PY^;LFOpQE+xL zXRF{`AUIPK`WRT-B+m&OW{u~Cn19L417C?my=-JY3W5Ff&AU+lM3iqwoWDN=5=~Hb zyJDeB7~)OtY~@w58gk-w@WRIi9kiwKUU;GLxcPLjXExSCm0{u?J5Z44r-Oa7m9Z2? z>gfpf#5F>3({@oA*bnigpb;h)?xtTsot|8Dm+tAvS?ZAOhxpQM-^>%Zt9+w!FFI1# znfj>+o%Jvt%2}s~crSdl>K-@-2n}ye8i9y&(`eK{q?(tlm)F zVEK_CSdco4uCM=bWTYsk zA;kjt76V@rz$^xCBH%a;n1@mU$7u|lD1g}vd=o$+rloWc;9=&iSqdA6=_(hYF!Xl;ykeX3X+-ur^fbW6*e`n74??vP$q!8mOec zLZ9N6!Oxqu34gIzNyl(7AZRDxiG%P6+-_Y#EBr8BzN~F48knT5$ley$ivnwecf|=! z3fM*e2%V3|5eA)z2l1#hkHla42lJAnIw4Fqf`~;<<$>NfI9wI!J}s3)<*~J-b*dn? zZ-oc+@H#xaStO3h{Wb(xw;c({MIcJsXT({~no52xJ5$+Geq<{S&{3z>TnN`Gvj`Hd zQ}tCAO|&}Igu-y0LNx7&=&fZG%p5yZiUXg|7lH==HeV7@^J?PHwhq(IRU(Y680x+`uy0JLZ6p1@J#`HgMr%# zI08UOI7!eGiWxRtz}^-xSjhJX*jM8i%TW(zXg>j^ZXBYXMZoX0W#xvPnDz{8Er72v za1a64Au;;ZQ1$*2vUge1HY&0VwZYnnu$YMX84sNu9uHntG42vWJGm3G1m@rWJNaXZ z>+1c5J=O8k8iYi4J;i+9GV+xZ33zfXTA+3`Bd0>DeSCLotQ~9CVJ54BGE6(wI+Ip+RBnO5JO9?zik-rL6zI$CRPm97d!5pw_5k`AcVja2|WNwfM3H zT>v}2HkQBMo#5~d+9=Q5O%vzc?}CogyhN0vAb+<*+@o|FXZRwJWZcH$X&7iWdSQ({j%4z$9ff+7Jo~^sX%e4SzR2QgfP6lkd?&c}`PpMXzrb5`fxz zC#Pc+9=cj@gUQuueK2i27*gMFK2<^Q`XqlFm?;bslBpMf&F4W%j@zE&b0??c+%i5~ zfUg}&n9#srXfNGU^FSIYggYygd#gSbxpzX+ii$1;@YAOz@F52TF2JSisN+8=55OSf z#>wRLKwYPdZ3BKmrC9SO+898?|BkgxJ!hN+h!YF=3c-y<4Q# z#_=u*;?{POedSFep;XDSy<$L~pLYH^<%VcTX=izN@is6yUE1S4USHe>>PWeY)oaXE zVgJ*NrX!u1U6ZF^Nx+>PkMB?<#|I`mB7VRMLFb_)Xp|%6{Ah>evC7ewiDkCYmfhz2 zw^&T)td>F>0KQe7mmy-Ow5szwdLlr)Q<~9vY>xC$=ZQ`kJh7|UjW3(vJDeg02{GV< z^)0%oihcqPKAveXB!=WpHCRA>sO1qPoJb{~(1~tc7H#Em9 zgm=&#>5|4YCtmSXoWkb0q}DHkYL(o{Ne(H-pNWvmDJ=t7>M8+$SP`86qZ^F{6||{lI6eN7o$i|u9Gd|;H*;ic zb>Hcb`a{E}Lwz=azb7{^3S$Y;T;c*x^63`Hg9he^_;-4Ifdwwv8s+qLMyRQH4va^W z+YEk~3+)ZbM3khc(;-=zyP1Q&*y8JqEg@HN^h}zDV7;5;qDLv~Yz2~3*;}Y9Jmjgs z;nO2hE}pK2;EMUlY;c5pm}&aiAz2YF)Cn@!``k)eFEU|r5tkr)tLj_k(%cc9HC0i7ahOiVFtqE`D%4zr zQ5vLhRr3FVBv8&_`uCMPnkb`oD!soQt=Vw1t;dT8kE=9*aftASt_M8uD^J!PJ|C(QGL0w%qJszM|GL zMv-$)x!WPd_kJXD=>#5NZN)>^^zIX^sh9$pBwR2ziUfNL9%9yH69@j717{lLTC06(yG_W2iZ_VMSqu(IKQ3}oE) zLkLT$1*X;C0)IdWyvR8^Ma$8_KnlT^e<)IY1P`Qo_6$R+^%+Wn-x3mh!#@a%+jAoA z@?+Vd+Tcz_7XS5uh)m+h4&bfUEEY-?uk9_BLw4+X1ZtQ~P?uPsWj}6S@EFR$T>=Ona`tqjLZ{^O`oPoTtFx)(9_d)iCe7Pa{ znlbMWn0Iigfw!&(rH4vZljyQ);7@e$Ueu!30_RmT%c z4fEj}a7#)-=d1FQ*}6ekA;dz;7vsU5&9%aq(c~kB@m8>wFnL&gJCD{M&^1Y)AOzhK z=Zl+%$`opkaIIaopQe1B@)W4hU+z=fHVh(AxNV^Q0;my3-xEbzz(ReCw_1yoO*5US zrwT<4@nShUJ1{O>y$ZnWMP{}I52Ucr$c*Nl1Ia)=&Zs4fy4Q%J{YHAro_Y&swdl?W z8-k4uIMOW)v%7;ZA(NQlKxWu|njsBQf+2Oe0{=!w?@QuAnVKFKk{hq>)YTzmL{U%V!U+YhC{W9wBkbjB7 z_yiB+Uw1rog+X5d;hYKJ%sN^CU8Q=S15V?BSw{Kq4dnn0W}v=5->g?(-F{dxp@R#( z@tM+D>AnTx*6|D7a3SfeQ~NkpVhC(9Ma4&ebYW6@ z0O9zOa}lm?e38i%pKTN2ZYZw2as`)<2Q#KNR>Q?7)uC{c>r}7cLf=!%iZ7ZWOkrm6 zMRAk*xZ<^f`NeLQxinUQ?r*0@L6c`35u1ZYp0bD}+})6882!sYEWX&4(v$0ZN==Vt zZixt*@C-60eCxW*VI7$bJx>IlD8AT*u5RyKe37m?clRp3NY|XZyA@x&gPwNGpbrZHlsXACF8-6D`|`H~|UjYtv#3B?z)5X2LwMxEJ^ zzd5)t1G+*#y43Bz`TgI*{x@+G=D&@9Bu4iF30rz8ElGCEY5#(c9^#f5W(mI)`UL~9e;ENiYlrb&E z98I!eTs!`4VW4c&wDEBd1P!>rV-5miY8J-Aq;$R>%Zh353O;BKUD8>lkh!HAxV2<% zbjcbwh`kY7>qaXb6R||WpJd>9N&Wq^G#@GMGxDBr;4&k8G}9@4hfdO-!!*HwF{^#M zWe9Fsvg5`j`468N4e4-Hj#SNv+;(DxDoVCu|F2)=ESA- zU&5cZO_W@K!}<+PK6|U`;I=K;KTOFj#&vlModx;$H2v`8ScHtiM&@LEvU4UT<#4i` zPMqSCt@v2ZLFE}OuE#Ol!1ioRieZ+6=CveH{F4bPR*MsdyhRzEkn{nB^Cff=Z*jX% z#Om7xnhn=-D{p)@ddXMN??A~XVc6mCY!nYt4Ns1Oc#zYU9IJ}wo~()X7tKjfHf)3t z2GLG|66mK(X^0i#u_Y&ItR`x#KGay1RA==LvFeL)LJnq=FwFNX#i+Bn7~@huJEve~ ztP_{<(`8DdH73-%#QLzvDqLNCQ5gY>pH_2fb7(_LsxOv9yKcD|FHck|SpDN%=>f3%zJ&P4>DNxeNe}z1f$iuSoQ}Q4?BW_1?R-)5_e_U@8 zqF)yV>K)uLBrd%Zc15csm=E3ulSv(T)DW#d=8$Lnyjb~-25iACg>-%9vp=&D$+U0x zG{&WJ2;k7o*()b7HVKbNs6R*j|6OtnJ`L|~gL~WEsVjt;xKPJ)zu12EG;ycxXI^$B z1uzo9wlufuA4n0eqxiM0GF&S1}^af*+jwdG8YK#};tlNG?`w>K@B)glC zbjr%6xB|;;fj4>P|IPU%YG$w>Q%?K!nAQgI*X^|L8e9>L5H|1Ud`nHxnMPucbqwwc z#n50R%5^)95r)W7sr!%{mXZaCQGC~Ri*VHSOvENmd>jikneM-D-%PYJ!wl_0(^o|y z9(Y`97jA&k3iZ&9rp~+~K>KSGs zyGL_*Xz@HxduQS68go#_8(qGMk(h3vJ^yGd&XX7RwYBZo#2?Y+1zx+J` z){VF5dpiv=yeg=~Kqj!8j;_=9c5tBb2Qbl1P9qH47aRhRv&u2=6KqCi7zZ`JqLCTC zOG$eLgh`;iw{*x;--SqbQp<|6wtkFNRZHpcu@U$*M>$?1aQ=1-;>P~9hbbLs zf*(h30yknWVBbZ;_qZ~Q`WU{fa`xSXhvHzbNE8Hu*T+Li6JgU**y}bbBFtpn#K2Vc z?L@#>_8P)ogUIUwx{ruq7<)ZLUca)}LiVDEvWvYc*sGGf%GhhvVj;&q^7=P>U1HQ_ z@_L!Q+MudI+FS5Y=CW5W_UcJqZuYv5y@rw31MD@Gz1-y0kGw>W&AgnwW${S-_)xrQ z4UJ$|LV-|u@yBFc`7q0PEFdno zLD?3g8|mGHF6Tjn5J&PV%z~TH4;5FavLJEr1vm~w&IZ( z{g0C37KCb&_6p+<76J_*O6xFQl)5yBC7C}sfE*x0 zNQ)$dP%hI<5>;cd^xgq6VS=>N>+tj?bcK>)66p9LLuda+?5WlIF?5(CPl<;`hq@&B zUwjB@@+ICPbUfh-)l**_)k57IQUJp;97N59~qOMNo}-o?Nl7`TjqUm1Zd2p9(-cB*XN zFFI8rjpge9tav1>1o3}T)w2nrOogiMe$b$*-E=B99raJB94)V-PmRF!%|%1|tpLsjcTVxg)PDnhwO5HwZ20&Y;%d9Mgneda}xk6jNKRJA*0 zPcEj1P}cK-fFg}$;3PbB8GaW5H#{JeViW_rGtg-SrW5d026km&QwAm(fp-&dGJq(V z^nKxyfh2EGKF}yr9Q1eIjNAAhEyFq|_LZgOi#$qfj1bo}+L%Bc0;{nxx0-e7j=qFy zwY#7gRI9xK9ZFF`4cRPn>7_0EiEZJ(G;(t$?-zA9?HQFkS0mG1f2xt_LuHK4ivxFZ z6j7$sI1+*WN$M5VrIye&Q>Au?rB2Y|-Nj~ZhKM2U>W?h-U+8{`ME%UVpxviPYG7b}ugq1-4U420R=fJ`Sv6!jhH#=6*x1$kZ9>0xkZ9 zEMB&b)?1^!#hXz%vCws}+|i3w?=` z76a`|c=CBsD{kFqs1}ZpHv|8}z!gT|7y>rns6S+2 zDFYW6f#V2xBwxrln}Nd_INAuDNx+p1yqAHU7?@=Q77}nF13NM>hJj6tz+wW90T8yJ z>z=SJfRb_7BXNdMf`r>a{0FUc%&)1Hy}11qwz@4v6Yf?d3w3Ah`VKWsZ>v*uv`;je zYO4dn3~;zb8m*?S{)l>=l6mqE)ot|>LD01F7?KCA+`mX@<*{c(i7(u1(8~8Hliocq zlJaehjftwp^%LG9)dTS^PeTl~x0_{sU{WQJd zWR$_^-BKTx=VM$qhm1Q31b~$c+<}MA=zUEl>TcXShZc4{17Bz0QX_CR0WV=|6M(NU z(8It&BXA7?cQSAi16>RpYy^Hs!1o#GWZ*3fY;Oc^BVZ8&lNfkW7O9Rj0(TH_2!KfS zc_5JL9Sq!uhc49z31~z1ATe7RxRimP8i9uiXy&MwFtCt;k`ed|0rz7c3ZkCDz`+b0 zX#}1j;3ixih^X@z*q(u1jKFgQd( zLH8Dd<6e-EJ)bggl@VwrpoOFUn1K=lpECmM6Yy7j<^de%FmNOT#~Xpy6L2*H^BLHM zfmS21B>|sjU}pw4WMFe6@J0eY3?SOpk@#i={Zq|f z&o+z9Ks$;i-1jNa^4NH$+$S0NCaftNH|&A!hvv}iB`FMg+* zfeH#uQ!4KZf@TI`Q%#T*6X-{%n4v|0^F=j{%Aa*u zSW?J6{S8LtBhhJL<1j;upDsv(;rLib8>!KrV;UDZhqGz4H;Jb8Emq-08Ae@N$$Z}? z)u?=`B9wuGpc$2M+_#YD0gVb?B8*D+Ee4~qjB0k?Z=!GU3=jZ5%s>wwI-@d_fCm6X ziH~Jq4+gr7!21aJMn7Rxx-+l^18*?`>BD6HDF7lrJlR4`341Aq|ON~JKY@PoS7Tyr`D-857u+RvcK|sYXQay=*E(Q)Z0%sBM zeQ-qfI2m{g1KS&cMFcG3sFN6YakfZxq!BoufRA$2=Yc?~cQ9}t9=hyVNWcyp^;QNh zW#Feq;IjlYGjIt53mGUGf$tG;KQ3iLVrDRKFat*#f$tOWGX~}{uss927=a%W@F@V% zfV@#*Xh3dY`*ubc#Dw`E{zF}ScxKJII4&3sL%%+o>SAAtCfvY#1b?nmr%`2v@lzZ4 zX*$|&jrJZl@FRsl9Bze1tJ%PBLsNvh_`?RZE`}QTje?-n#XAub8u(y|sEbj>qQpO| zG}Of%lu4Dp3S~0`ff7FmyMqCN9}iuLZzNz>oUKRs><0`KNuhsg2W%&|RR0o>#J|@6jajdCa%1ZiE*doOMU)BLzz>X2O9F#3 zs)chzNu<39_Ed&x8X1cUMCKKfv}r22sYZT;$UILlUvNm|{#?RflJoCv`Ylh^)T5hK zVM&I%lpSF`>Lywp)`z7gRr&-LkJ~(^J+0ANF^%(&X%jWt9YoV?I?4xYx@g6qN3X9_ z^~kCslp;aU^ymuf(U-G@9+k}!>hbUfgC5cKH~zw-!lthV0_yQ11K+|!r$@)A)MJhb zg?pZXk1=qX5qO+{Td=tR3imJr?F{U11o{d1HUoPwuq6X;H3Baaa5@89Fz_7eHFW(7 z9y%GX5-^v6r$ItuHZyRy5lAyy{x$%@#0*?(P+{s_Ly69_iRlUAKd463^qQ(s?^4*r zD7_7;F;np8BKBR4Hkg=V9qn1>7gT{#NP%2xjBP@bMVk*dm;gU>?KNkIs@|L+4A9Y1G@5E+j_C9#PNUT{G0D`smdtr;s+*WZLD2Ll4l$vr8aPYn zQT`J`kD|&AdPJX9^S3-COw4^iK#w{zup1saJ-VBK?*RzQk;=dZ3`{TryAp7$O(QJ=s=$FUm$yEE`0NQinR1J@aW_Yklt1HWM4LI%EU1m+R&WKR*bkAY(t__z@` zh=A(>gbGK0V^Cpg-=Vv-jR68xt^P;VSmLg!8t?oSR*h1MCfxe?1Y1?=c6jcqFa@@_&CtEf}ij ztAbQ&lVrv>P?rYb^Q-oxa!6Xf+qgTcEXtzK{G$)%Vasd1FD)^!+Ks1buf-7y3TH zBee6%*9LtrBc*G!Png2~KtMZF7}yC9of)AVD>VLIA8jiy=Q#Z-!{ z&5vlbnpW6LT};Wm^ULa1c!nToTG<3KK`TF-BD8YVB#}vDRvNVOFlEw{dxf&C1Ohtr z90Om&LzkO-33$4zDDj019M3?v5%?1UD;YS3fmR0gH3Ih&@O1!DK6Q~4-B|Kdkq>Ee z#Ut_T7yqkuoBcZ%4aSnR4^OqiQ7|K-B-Zgtc!4O1wCBK{tg!#AO8$Nh5_#mSA(4k^k;*I+Z#YUjx|~Js zs*x8l`3n|#gGx@+$Zv#2&I5CYI=|hKTAQ?1C9X8 zd>(T$l+U)eLsFkRtx7F+L7)W&2@#bb22zdP8u=EM`sLRJd6Y_Cu94fTQe!4KlR2~y zkHqeOCu*%@l{F_qa;Asnv}-Y)P^aBFmP4PhoVRM^znJ_A4%i_XR8 z5+4+d63&16k0$$(aWzf$_yA`rm8mP;V6xwRhq8)I?-^*ekbVY>r>A|d(Ilqr5TbLq zl^X2@qG{7MwD&{VPW?j3+#Pa@jD`Z!2PbvXmK7=bqs@J5dM8wM_B;M+!EA_4zQ6RBRrzzGbT zZUo*=z#}_EsvlusF9zlsf$a(S4mcv!JsFtDz&1wU9Rz%WqrRSje~cHYzKVw~)ma1_ z!%?3B38~(~!0(N~?gVVhQEz16+YJ232(%I~*jc3d4F*nUpw|fOPrwt~MXIMTFqeV% z8G-i@@ZaEwROc|T4Fgk+z&rw$Fff^cS5cc$6{3v5F$5gOz)L_N)!#GlARfBx8Arf7 z8Mu>yA2IL?Bk*AYMgxdW$^8EqIwg(XqzDp!6OB*8Oc4K})A-v%H7$_xYuEy9?u2N< zL-!)VpDoFR-&6~vEC}phry^n1qK;kCqTn`c^31 zbqqW?N^m@nhYt820sG*SJuor9fdr208MxI5e4l_fGq9Y2uP|_l5%@I$tB?)gxR`;H z7&yZSTus1j44l9~Cj;}0z%>N?7l2UVo*x)gcm-?Ed{*H*LHyrT_^Bfy6@HNNpH(;> zHb-=4)Y+%eLJ87#z0WFq26`{Z>g-cI3-P&1-l>swvrmsP2dj7_&Ij`EkI8)&ebM;roWFhDBz49etyyYCC{H#rTkc%kj|FpuMD>H*OMD zZ7Bn1Gw^96@FxNuY$qy4Ap`GaV1W_1pMYNgh{kg;13NPCZX*zF7kWjI5ml`{1M4%e zkr9X?2Ue#z>PQA2ctE6D!9$lASR|7_lY#p{LaLWDaE%d&^;VO=F#|tk;L{9z!3e|x zzsc{vU8GuKU;zUkH3G4z%H%Ht5Vic#e;I1|gIvAu7LSDCApS!G@Ye8}TKUESu0o`h z#S~4rBT-+cUAMv_2+dPF5>Yx@j7C#C67P#qEo;Mj>J_o zDB%X649SC5radIIvfD^eKK_3hwDNY!r2mhyGmp2q>cY5ijhS6jjxkfl)S*n7yCL&D zCqw3hUh|L)7Z+uoXF`#g%tMh95`{u$nTj$c-e;|6?{j|pp6lL^_n-ah`JTPk-uqeW zx6kkV&bj}6tvg;C1okJKV0JW~jm#zB2QTTerzLnDsS2OpMdJZq6!0yAS0SOtJp>QB zU|s=p0L16y!M?J70GPnWfebEy&5_^d1?u zc|r7ooInLzkjrBvSijUeYW+$r)TlQXI@W(*{1<;H?!16B~QW1seu6)`U?l2S)R@U76pie|9hS{;eC5G*TVn6e~rtJ85)K9G5v|4AMfUI{5aNAQfDH`yrp=Y zM;mN4Q;Lgww0Er*T8jIfS3katz}=5yd#Ygl_$GRTAD6dOKdx=6>)3L>w zHv19;)^Rk!NoYLlh^Iv3UA_FG?)6B5?-17Ui_zBJ~x)aTK4{wUDw*U4V7PhliHV>7T zVGu`+yvxe^P&w~T_GJ%`3QD-XFF?i~XY^;Vj~oxgnFyuG#M#1*WS$jI#R^-~1X9k* z=2`JUI=a88k+WObJ}Zs_l1X|P^Y+e&s0#71u9r1z-*d6W`?P1Uvjs!G9bDSw$OT>6 zyS$A3!-bhUn@c;!%JI1J?I{m2au+Kn6PZhUkH{fyd`&?<+tPk`EU>gE(1%&t_;w`o ztoSL8^6xChc^=1LorZZ&o@d3+GC*Fp!#99@YAwO-2VB~|s~cKMzWs^8 z%B5{ZPN$U2^jyAb+wsk_;`2P(t5!45is#n2cxlUIwa{n9i{griOWWg_rj!Jp70<7N zEhWu)X=~L~OUZi;wUnfr?Ua(olF#|J>ZPq62$YgH2)>2JQ%V*KxCS7cS%zQ+f;n7p zsenCmXw6AS@J0h2`W_ljkIMwC22gI)LBh~`3I5=M8wD)Mp?49SNpP_XZWi!9{(c5x zoJQ~if&*M|i-3m!V(9J!-y&Gg1-}(=>lU4LRf0JPzT|@62{@2L`v~5vud{y61rG{X zpF{r*0<->s;4f%A%X3P=3LN@7f{O{Ra>3sOjL)GL5F9{ogbSV#@I*FUp1uU@5p3at z{|NXc!P*30BKWEc-V<;n!F&XtBbeL;9|+hIATAq~raPC7w9LgzTDZfDLyRLA->4Ou zi)D`lb1}ON6MTo&$dglhk+R;)dUKEVnbpi?y@3YATpVk)(98NlIp9Wy^_ymLG4Kv+ zmI^i(GhrlL){i#ST>KT~1c$un$8yb%_!Uat2(~bO+ z;An!ATri`6m$NE3lHfZ8JG)?J0k;Fh{;Zhl?9WzSQO9ZHn*lNQnjZZf)`COa8eG=9 z$s+Kwp8u%X33H$8L){5~X>>33G^v&CeJ%!()yRMRXkP8P&o!7mG|AwM!&2- z{2>r$yI`Cn>`3N5S4WOA72Qjm9jt8bbN$RX`xrUG%AWgNJs4nRZNlqHoUz|hu2mz{ z?{Ax6C5EE-X+n?Ri+ZjvKOrsD@8)fl-=l4^nt5BbRzs)XXIU-uZPi*_mf-gpla1fE z$~#8+aP)H(tlw|T$tcQq9`80_YVAcl-{*1;m>y`q(MDPH?MFdy6U~2)NBRHR6e}cnZ z5Vzm(NpB|2@?#U7ET2bL_M|KKLX5+eo8Jm`<;L%rLgLElGEA@vU($~0u5zdd-YR_E zqvf)islw+xu1sXL&?@Yc18!v4^N8DhbCp2_>q@z623Nj~H_KS|hHvZsJU7X4;By2|A*YcL7twfn{7Asp0HO+) z{nXi?TDnI59NPE_L439;!&IUQ*$CzG*r539H*ME2pNsfYoiK zk=t51OYjkuwCsUf>Kg?z_Bf+g;a=Yc;!GBdGoBsk1mB8?gttTmOd!91Z>DjcvRr2% zCo}SHE8j5hRFKOV&;zctQhQR|MD9i;-H%uN$mKmYA(pUXx+k}Ne<12c!Kka*an0|M zv}e@+L+_Fy1+8p;kAzn)e`6y*Z)MN#kqlxFHMH?%oA#^^0A&cq`P_Uskk{f_NL$TE z^Lr#IAYn0fOyvVW1FdX+kK_lg?mQ#6w6f>-NHVjBKlO6s8$CXj<CTZy2n^urQrd^@c5w2wC+a?D*#QNJe?ILRK@sM^a4#;_FgdE%f(D^2w<; zGOP&V)~XlyJ(3(M*s7<`&PDke)zGTf8W$jxp5)`5su%V=N>BEcdM$1N0#&ah!3t+PSz6 zW<9N^P55Pqag>3rd|gtj zg&ux#;OdAnP!w^yho8(U*fKC2BjNBrzKdIfx1gtF5qQ~Kj7M5@C(P4A=Q+xsqj)(PVP*5Q&_G`Hju^RvmAjaa z%y5_RhW6mwtxfnUka75^SGiCheXuj=qxvZvAIfocbL%L_M@?lj z4=>frNlFm#(Ul4c-bUlu_16V#_L&;)A|!x22!88=r3K9Tyc%vR!6^jixnNlV?<7}n zBEhZ%|L1~r1Ux{n6T!*^Yr0@P0p}B}K=1{Ed0eo8fPDbM!e5MVEXjy3wpBCTJnJAMZQz=H&TM&q$Y4*_3FrW<*H;39%6U9hKs z&k>wYus^}!F4$YZU+~9Hus`9LisxG_$>&NW{?jZm2_ZgPiP^f9TZ0m_1znjEQxUoB zEitSN{>2}&#N@WJDKV{CVn!G_p_M%)=6j9PH&2`Jwjks1QJPYrK1yYRl@se-5pS_5`!kZ+-9#JTW{A&LVw!9U zl$h7C+@{2w!9%a!5>r8U!rv6#OM36LvMDjAW^0`*ZRGh@_LLZNcOi#%6rNe)jQvgV zN`I)2KHnJh(YS<;j}Cdf@`@eboML|RXc?_$O3ZkVkN*A2%sRBhq?L1cWY{}{qnDWE zDp(&)z)0{>#j@(7>aVMh?hbZ*^jr#TX0o|jVj@7mN4W?VLgVq#@3QNY0iwiYC-~qs z?JHG1`(;cIelPi&`n^0p zM3Vyw&gmX^wiDAmnXaX;Gxbu}CGaa=iE7OCS@HQQ1USk0jX$Dr}7<^Tat z|EoJbh+t!aZCr4Wfa?i1AXt>(>n=D%z_9?aKWQ)(&wI%`x(@z*+W6u@jJ>)=zg_kI zN^T9R@O)VWR^hv=%}zYWr}dWVPWb14$TIu0mCYmTZ!w6EjJ(Op`p7z;)?30JKGw$9 z9AxZqMz6yAzX-%BmNaqJwRDZ`UJ+Hk9xGW@;A@Exrd zT84+nSvWH6Nw4T-xUUM<@NZ%y82-!RYWU5_S(J~qxM$(<@jh`~pGjJVH-LcQClH*0 z#sf|lFu`Qaj3|N~2=;KnnF8*;ubI)7U^#*jE;w7jnExKqF% z2zDbFL9nh1?iO${K%{x8p20N7+-}a4ki(8>Ep{ z`Wfw)(Y`rz0AI^A-$Ri<>tNz+Xh$+wf+qiF5XhH_ z1ZSi1fTzT?i9XQ`oItP>!Co%-n}GZN)_mzeumZvAE_g=3IRKITk@d^z>)|x#s}P^<+BtSfAbS?050gEako(>& zU&K+4b>p@30bH!I$@0XMHyHV(l|5O$j7UFid=o%ETbvgb2jX0ZK1`hN+mTF`%OA-^ z8oz7;sbgi6<&T){l-dHTnJj5sS#Kn`%LS_o zn4aJ|g5wBIbHTR-ymm`xJ%(UAg56!PmVmnfBFnpXPVGI(=cREU&5(e6Eg{C9J<(6{ zOBMvO=Loto*;5F)uW4*Pcs|Bao^)cCr?7Gxo{$IW=>D@tz6q1-t39`DPiPOmFSQBZ z4)Uo-V_qZw%^sRP59Tvi$(~a;o$N{E$$}wvd~?e-iAQT|wOkB6y9UI}im+PfE!$SO zeBv6JNM+3GOGjfZ*pYI8?wV*VV#X-*YT{f$rH%3$K9qY!*I0H(+7;D_O?E z9T&P5Hh-h62D%sfRI{?NaA^in*vJK~?6L3+wTiEYHsQ%7&e(6Yz2*zGa0wHv#E?mr zBY3Nge;bWf+=jH&6fzb*uY*#XZ#84#vl=?J;Z_T^@GM-@VBvZlqFZ>f3f98<7f_;n z-{Y(A*!5#M)E+}RI2PV4n>lHOTKGp006!0S%(^Ju57W-R>ObTJWM zx7%u=7Cs?I(#WuRZKGTGM-{Av^$$Ko`I6#i9^lNh*>p3vwRJ3fT{iQ`FturFPqUS<0hlt}UPq-*vsle|c#g-zkC7re?NASgFH#R*etJ+oC71_BvB>1dbs8bYRw1lI3CWH3cHzNsCu|M2v{=@!J=q99*!sAG=Mls+0YF%7$5@#ugzE0nB4fB zGtK6jAHliq(ZZ~@6o+&i$j5oKtH=;F#X8Y&c+}?_591$K;>jsIGVDw%V~W66H1)(A z_!YDz=nbYQCVy5NKX92@x9~zM#}wscdF~I=y)FR)U}}O{(0I1cFJRa6y5K1YUe2UF z{)NT^mK3lu!3&Vk<934kUGQ}QUjT@mNsXz<|IF9!t4@>G`Lk%_d(!e*tILzg+!}n~ z@HhG})nz!c*jrsp`Iv|9<>J)d%BH%^nyNtzHS(KQ_EeYWrwiiyS>p_EC2>CO0%@vC zy>y{Qs$-&+AYM5qn;rN(l@_Iuewk*%H`S$x4o+>W)l7A%q7hM>XSLAkvQdtgkzq?( zM6WJis$i?j9a%&C{a5)**!cUexIc^w-^><{k=~cxTs1(e%MH1MjK6xb_^|0@;+9$j&{%c&OD3>PG6lEp`t4lT+AZUsowP$Yb zo+)m1IqT7uTFq3KE*@=+)k3Sw0$izJis{XwSC^S8SW_%UZ!pD=nbZ`g((Ce!Xy%w= zf-KLBe!ADcfPg915ZsE!V~UXiraGg0y^3HY!HF&yDd45k3XUMynqVgv93$X1fY_M> zO}#r4)=byI|Dra&%@CjM>@xq8Ky}F;tStOjFR`6x~Z=C$X}rE=#6pbt!G+ ztCP&DJ=LYA_TbB;O?YOBGmh%=Ps&gu-I)+H(y`whBfYCV(@6bn0H(Tp;L%!I%~Y2W z9wSw>T4;4?f~y;h)VfLZ>QYw)YoymO5{wj?L5=ijS~XJHCXSJI%Wl@`qt#_R2pFj& z!JcS5Mp`7`uK;m&X-}{`!D=qJM8MgtSDI-GcDv@n7RI#o6aWO>uf$ z&=fmmfM9jW?AhFQpSsm0zejt^YNooZQA5*Ag{>A^T`J2_8ut|%MXxSpRj{VGiQZs} zUg^~o15@jQ=Wpbg;+!l`nGbcZ`+>lM*C*H#jb~?02)O#B?sXl41qu3H@RWd~2<9gk zpWyQ@_?v*O0HV5l+|au-VJ5M=>2mmbLVULBQYngCgR_eiY;$(`7Fq1AE`xL@{OQrX zRF~yeHr3_N$y#0hX+U|5l|9vEruN|LpiTHukZ~DlYO+uxO&%LG(*I64Mp~&o(-2v0 z0H(TZ@o4d^W~$3EkC85nH`5NSF8|^R1|wyWDLVI9|5m{oX)s2DkqV|&BfW|OiOfAy z-!W2pY~a;9J+->L3<5?E+LXVpX z?s36~0%jn%f#3v!Gh8sa#CYRp?Gaygl^#0~?BRkb1l&uoEx~dGBU~_*fHMKY!-wnP zANU{7-@ZuQg79zfU*j^xM@d3WF=TYm6m4XHV0CHk+1$h^Lh5Pr&ZwhDyM`=K%~Y3r zYG|72kkvw~%OzZmV2Tt7Tul*pXLLpdYl^}c38u)9T1}B11rnw>P}ecVtFk<&d+1(g z1%U;>n_R(o_?Ks|3kq28xbDmy5C9Jn{27f0EG*zl1P>5gL~x}G78US0fY_OGb@7kD z&V>EW#9pC|uQ0@Ct1cHuacfXr7Rn;t2^QUp$^MO4J(`KQkX%kGIC)n zd#cMJ?ZG!goA4-*aT)3LM4?71X`+=9m-(1ur1RP{4Y7TU3ExzgzdYIktC{MO#G{R{ zT4;5djVl<8^i%EV)n$qb)<_%B8;o>N{-kwO`0=FbkD;|4BgwtrtCPEHbvX(G;1>ip zqVf16LckpFtK*gv{FvZ47px}W??=^fLkTt`*vGZF#xoh*u)^n`0O8@$weXLChkd)$KH)>~U*j^xiwQ$b zk!wV-x+IhVg4JcR_DoYOi*&2YLXQ?@HB()RdbA!^3#~4raHWDN_SKADU52V)P4OOj zgDEy8S5xdttjp7-reg|xUlQ*yyXszV2LV$|Be(#KXC3iqKmPv55#8&_1iKUL>w<#? z{GMPJf>jCDc0qg}37`J~#LnD*8~+IGOjtHu2mj?s5|HmQ#AmB6BR>vQmvgcRtS%{# z#op?2hog)__mbE*M;h5wmySBRzoU^4S=m!vQfm_XPH9KsZ%UkTyfZrWT&R&w3=0}* z%VEbzFM6s(Ya4*6F2y}sWviL$@|H$K1Ln6{Xmxo*j^B}C47oVmmh5s6tDZY75dpgqOiA!cd>#5W8c&Z$1*`%P)n(0F_(x!8!dmG% z`15Pyn-B5Xs!M?(+!~x+a!Y2gx~xJLYjrVS=6O~3-(L~kOLduGW%G#H@`{@h0H zVP(%FW^b^EtlIeg!(}=4IHP|&J9Ka$&H}+WQ`nKrBW8Iy${cjBRq!J-4fBZE94^*i zBOkJ|=Mgg>1AM4tcoT{9X;qL9$vpTY)bBqH3i^G+caGm*(*Ei9W_En@6gi`(_J-BW zBW5h%)N)%b^bxaCxX{Ay^WQXn4?IZviVD{6Conzuy%YYX0c_keo|-P(n~vYJq=D&* zx7Q;0J_vx-2-ZjAap!e$=Qe;Sf^QPcNwA;`-V|`q0Zoi-1n;9-pa{ly!9N9T01y|< ze?Va9Lj+Ht@eKV~z=|CDdxA>{e(8eoWHJdj^g@CI366BZ_yV5%R%7f(us*?-E|^BZ z)dcGhEJ)Drg6RYtMKC|X_ynJK!Egav0YsMnS_LyRS&n7>2nn{CKSUNj>IxPl@-Tmk ztej?^Z!_?x=2J}Hb0|I_kWTZ^g-QGENHR_P&-m?;&zaZF(7UA5Tr2BO2}k*MeX40+ z#>hjgyj5P!Z;xzZ591l;oa)c|{P^hpfjF-Pd!cDa+EjFy~KGB>8H~ePB{(b z97g`d%HxA^-XpSK8{flf&l=~set|gK2FufXcBGmNq$|tQOmr`CzGdacl&dj_0Y-kw z%58#ie#r9lwl?7hD#clzO5P7GPks}u#E@~HQ=Te&&S6^znq@R!7OLve=2jyn^3=#`WMf8qch|30MUnD&vpkgOw4F*uSL4^F7Dw^)85UT(9%ucdMg6b@1Z< zn7xt^iDa1I`P6&eU4gvOx?=9Fb@rHkyw&XaRCAdL(bH<7=hM-0GL8&Oin!hL=`a;+ zLcEBPkPu%z(uCN9oW>$`d&5bHiLyu^wN$h11OaQzAh-yPXEjF)cyG7v_*8;D2=;fu zu>$@;up7Y$f^}VRoPdh~Vt-1#;q1?D*0iZCtOX!G^*W_rAd3EQbYyRC4bG?CWD$5i zP1V=zggKw~)Sd7jD8~!cpM8vM&Zn6f#0n!Hv9jlUI*>io(#AI&WbAQniuOgP-+Kk( z>=2Bzs~yRlPrGxJye5#ERyOC;BaAb#k&9Z{b3Pr+0BdR!{(IRt{a)gBsNY{T!HVBA z>~j1bsaF>Ib_>!%{cg^u6Fu5otC{oZHVvJx8)mi8^XUv+)8O|4h+F+0IG;{b!TP;E zF8~J~sNatwW#RWhWgNes64QO!OfLY3LBQ|J39duq@%vH%ea$s7mJ%FFaEuEs6Yw-% ziE=%NU}J)9TyTYe>jB~d(12i3g0H*aW&sxiqkw4$t|mB!;A9v4Nx&=Hb=IQ@wjtQX1&<5310b@zZD}XV zlhKtY)CA%6AjVOJ=iLf*<(wW&A#vpp875eTTWJ4uR~}RZZxxnwvk$H&wVJ8I5gu3G zfa&#hp;b7coQ5OAW|oRxh5wV|XW-c{d6SJQ{OUb*W!XErKUeVMbe{eBR~G3}W8Lvm zAh18_31&m%0dEV~W1B8}8iLo5s_^+gXguKG0!9$L0tr3tCiuMz-W4!AKJq6;7dot-_mFg)9FJ8h_yVPj%=05{}<1rG@F9Z>Uwc8VGj?!65`kyI^hsf5X?b5#vCDjR?Nuf_Vg7N3cG@A_QM^!BPT_Ay|-L7{OF7SVq7$ z1mhF@^`)5BgADSr~D;U|qQ!BcTef{7YTA@rEu^n^zrI zzAKCLVLdh5IuP*CID*sAcviEifY&zaj*lVOj$n5eY%bt#f^7(vAz0M~TM9TGAoi!F zeBN#D;^4hXTU{f6L2Z0*LwvR>Jg^hD235F_q$aCy0+bQm3G+okbEoy@E39r8x*E9+ zpYQ*IRrrvRzqYdHD=M|M!uaGqD;Dkxka76v$IGGB?QqASkJfB(d^A`)W|eAW$2T7Y zd9~73Gam#^^LQ+~)j~fADj}!a$gqEk8y{7WiOUxSi>hFKR6>?8%Gdsu`l$Og^--4M zj*lkGW)`WV)vXH%EJsy>wb6Kd^gjVN14QMhM9@btp9}UCu-|$$To!_VBMVUmAEWW~ z*k8ap1pk7Bp}!+|%mv2^n4jQ&f(rK6FpYva2NF?I__KV#l&8?f-dFru;W zu=iXGKcGiPp?k4UTPqt2e@wZfk*iqQW8wRX_p5N*43epAAMH zU}euECCQm%XEo07Ng$tUVe?gtLOpyPR~C5q)JxGld{G7K;h$s;qkLH}tB3QP*WEl^!0~Y5blA-c5$fSw zAmHIg$XA#>5&q@b_EZ9Pe@i|500h9J1b;*00n-Rr>vEu5-b30wyN7l;BW; zV_fh>0Z)IfJq{w+m|z`?9gKx4n;WZ`B zr(GaTb$RJjsFCuUXeEebvK~Proz|Xdq*bj=_@=sC^Jo*TW~xg9kM=*Sg;tkwxOl=y zlk-NeE+bX2)nyfWgORqMQzPv=t^W7`e}l#2kHNB=BPwfk*$V>xm_zV0G#>CB0n=1b z$IT?zo8Vvghf_(&R zMDQL6Oy&r|Q)oPs=_gJGtOA0k;usL9isj3NAQ9z)1kH zGn;dJcP1>2u7m&71g$QgL43CA(x(Zx2GvC>l&LO{o4eKJJV$v8-OC=Hv9hTyEp&AM zOGe&lWlwc^qCNNyXcL}9;*6uZe1AODNCz4Rjr93q$4JRNRicg!z@A+^n%`=sy1b?l z(SVt)7Fu13y{ks5l`DF6DWHNi(rNStBeg!QM(TJ{jg&s8W27UpoB7LYb!iU*Mk-IR z8XAw0)(W^5Al^cjC76+5P8VD+V6R2$xby^XA`MXs?xXSaxKY6B1g}BD&|ecg=7`%A8-EHl#rlRp zQ%scsf|s0a+A}w|OjEbIeCN?}Sj|+IMjkDp)k3Sw3v!gkeFX&W-eOI!f;Ghi^afK@ z|5Z&<{}o}KwimM2{~-Rn9aurmb-`q6m6D*}#MpbMU#V0?nlyWk%Jwj%iC zXYKI>8kpid8c&bc1uOv&JJU0}cW1(?>N@ySY2#}H@!6_NmImA!RF`Cu89ckpLl%3_ zE-z>b`V*jgsV+mUY^uvA$@RQbK$1CD0~(H^{iEOSd0Gjnt)n&`34s zJ4Pz6J<~{c8kz7-b*bUeezuyaEhdG5U@%frnWFPW!S7VCMoNW|V5Imb z)kw)vAhDYp@MqyXyO}#ZcJn}Ktu9GGz)0tgDR>=?2MiOiK^b-28At#(6Wrs1i3Q9s zPaU^`-~@s*TrjDCH|8oBMX&?G9xj+gz`X?95-dkB!UeMmIFn#$g5dJB)u^*@mkTO!4T2=+$L|3f2^x(Hl&0<7YL+-J`nK^Rqans3gm?{&n5! zJ0P&v2MPX+W(P)#hbIK$#oJs;z?bIe79JqDh~P>WEF<7^1m_d%PjI*kmJ{%o*}5}@ zF%|ird78Deu7kgXHomM7pRKxVt<9}Lbt#BVHr1sfve;W)O6mUlw`F1Z$Zcg)T{ex= z>N3a339am@F7>qsUk(~+0LZwEl=_EIBc(LaN{Rb(mSdz=+B1zbxt?2Hx_Gp{Rx{OQ zoX1EltQJ~bdf^HNBkjo?y}EQ&!5XO;MuL$R9aAHHaYT*OIFn|rn-ElhNhV!thP?F&Z#b~e5&R zYl_q84W<}>R82AMkgj8;42~%#%knhx>t0U=fpzRourC_Vf{zvO`{}yZT?kesSlb21 z3Am78C4xSJ`CM>Mz-w(8Qd2Db*)r9PJ1RF@02-0IR+ zcf$WabT51OwUteEIUS|drLmEhSlLru25S$#>e_^tkT~ObXSC+qP$PX=J!qs)r#VI% ztv%BaC2aua>@wA(yuz}&xt4k^stdW{wBp9jc5j9e+ zgKDIQ=^P{Nlif`DidL5zAYi1t1dE~Z7-^Y+(*dHow>2wc;$fhcpHreJS$)of)^p7#~lQ}b-{B2W(A0ynV;6X zGhy49*dw*^O@R1p)g@j8w+7W^uq*=K8I3>|>x$M+fI(4qbtn8UqkE|?9jx4xa#9A7 z*2oc7ZY#2WW5_>Hd+^;!6H9=2mZl$$)B3>pXVE?wX#8d%&bq-kFH|#e=4K%E7-tkl z(JE-=!j$hb&Td9tV&#&7IKyhPhk^_@BDQd2e6an?s)0DO2IDMYN4gtd*E2Imxtf}B zX0&oV#`y)~JYeMeNFUveWWhKyu!kGm_ZKt7_06W8(bh9bFwP3WI49YWzGa-1Im*}J z{AN>cD<7rYopCNPaziWsCNjS%R#kiOWz!}+9%l5^0>Up|w%8L|KblqHqRO6@{SxY~R>|?^`;ALH>5e)B)NBhQV6RAaM=&T>htu{|IdpeP?yIt9ZYZ2;4L@HB1^eb}m z(9u^a*o(?kjD-5}*8$K`;SayjY+szhsULO1k;Iz|=|$xp2!KZjoKx{OS)hx z0Y{@pfG-hDNHC=frV;QR4*eX#Q(v>ZqVdc+yMQ%0^e>RGJZlJUb-|nhrsB}62u2c| z=z_Tgyfj{CJ%V6sf}LFOWdV;C)LFM6Sdw4`7kov)N$3%?ewAQKf|*>`zAl7ewifS0tE~U|tvOEMQ-PnF-$6twaBZ#?xb00c!)q{``~7*`JiUM*a)B z9KH(>pY2-yYI$xAuH~C#5qK^Cs*>3W^Em%jjxrqGOFf-wW%D?HdmY{1-pB*2?0KC3 z2z!{Sjjw#1an6f&?HT(0B^H;&;6n?*u#P~h%rK)l&Sik=xOBm(ry%#jT;IvasS0J(D_piisW%KH_r#}dQ z4G6YE<8kK*0rvw$g{w=j5Wx~II7-0C(V7?q2qqwy!UabQ*cu=zPdtJrQC5(X7tnZy zo+jYi9QtQSh;cQ+EiO1iz?2+%CBabyKXt)b0$z;N7>5&VMX;j_t`=}B!R7=@5G?P4 zYXzK0@D+k72xfG_^#XPRh%C>Z*vax`Oq;&igr|fUhbyap73#{j$^>0mP=*Os;g{9! zbk|{Inzss<@@VUZVGR>Sufm_HU|snT(}OF|>{3@=*`_-_ zF`?tiQ?f`)bF0}dg20aNAowjBk2QW2FzYDY$gKpY5S-_NKM8neq=FL(b|v^f7d$TD z0f5+_kzvmMEYXee_u@8v2=Upf@XAu$8dTvXlA5f-ucD0TPMF8}+v!gDGopK`Ea6se z!^ipWvI^f%NcnDA^J>q7q=U2vUxYT{$3e#7qXe5mee|3OR$@3m!tv1{PX!xg$2YfY zqC8p`tC`z18+GC6zuHy{y2`lxz*$46;0 zU^83g)ao`H1bp;AfNt ziAj#Q-H)@Ys9>$}7p4bm4A`dD7`|DTy;wZQ8pUOiDreUn{|E$@y*a`5XgteaK)}tz zbjOZ3XSppS-p?MHW%>j5bbda!S@OFbHSDZ z9wgY6;F|>NxL|7m7XgHYBOj-VC;v0|b$F=upX61t55#A)@Tgbl3Rw6vS$|qMC2Edd zCCz)4<+{=S%;;Xq&@K30W%FL8IW7F~Kgx%#?0K)Unmr8D#`hD**yD_T-|=kmK%A$7 zadxpInfEH^IZAI6$lF%7Up=PW(8xus?0K(pjREe~CcK!$`Ls`8m}>qnLsRV)6Re&n z20N*i!;?;5AtQAe&3lzx9!;`UHS=D@dz$>nYN78{rptLWGOW)dlWKwYDxa!gOSUdy zl<(V(nrc6yTHs1K@S&4x%f)n`WY$zW1Okb%jNn={o($?MVAd>}YD)+XAvoFv`wRHn zKuwH+1RD{2#{~xpxDFuRtJEi0gy3r~I7Yzvh!F>gf&{||rgFh30o!os_ym7lqqDw* z#xt4m0=`c01SHIQEx~OrIA6fj1ivIWn&2cCTqxk>0XplE1m7Xp*##F1xE&y}e69S* zb}-9_GQAsX6TSdq9Il-EMW`!h7i9{GD+kLk!S^bK)b1?gFQOu-^UNKiA|5S?)$BpS z^IqjTOs}sCJxC;w(`{tf9}kQx19yxb;eryp09?lOaFBRqy}Gi@YTcj9_Z(M#FN^eV z2Ho-3L12H<5%i()Y~&sR-|w%>o|@nvNLBd!Z!{k8YXRRRco`CU+(qy^7u+XcHh|cl z7cdpi{tRaUY|3p)1~K;Pwm;gPnD|AwHK@Xp=%xyfdfBX~d8WUF?u35@eyLsdu%ngD zXUo6xy~{^^mB~VQG2G5P8BoZ zo0CKrkG8{V<|HvhSB|e+XtmIj#8+|_jtpCU&lstKyi1dh0oJNu%UfQI1S9>iMvZi5 zrEdG2e;gw{k=yh|bN-s`w;xd z1uqDAj9_nqwFowG!Mg%}POt{SyabE6;C%sy5zI~SKU4siJ+TWu6tF2kc({Z7X#o6> zCkbC(-GcBI_^)x9qQbIJQ@l|yXo{RNK(M;p@>Gd$;B;?wx$V)GTg_CLNgi#S)k3Sw zVq6YkibelKuP%Dx4SZwhbMyvN9Q#sDar$#zp2$0nDRN}Q^2|=FdwmK7OtGHe4m2K9 zWE3#%|8%d{5FATziVJ2I@al&OMiP9NU{@D>LBO2=u`|d1_U=qr4P6I+4sCpUAwFAm zSyX^qgX;277J+BHmypG}6CIOcP}~$`4Qq$)C9#uRxhLfXqvgG(zp9b17c#FNC^A1| ze2zW*#yE34bDWRz2jX0hu1uUC*^zL9kvP|KlwEfi=et(MZ7-2qaj_N{xw4gO2jl#l zJ&e-EHvnYp>p3l2wXPqGb8j%tvq%74&r}R#H%IZAKz3ODgeK*kbh{U^PnUsXQOXV){&4vq72MC9o!#qCJvlIVhogpKWM0!e4(>y*v?{ia6# z`z15WyCR!kA!QF!wDG+fdz=lQ^xhP0Jrf4wd{-)Wq{cbHjr(!R(N;3@ zRiuH=wRtewWb8psa#*;R|9slgnrMeD)M#m3`D4-VUC4t^`|rFMi1r`!WDL>Qju*~w zZZn+kZ_yAB&Uvv*WE|IF}esYZK06m|Z8cnR08&6^wkw%6o#*{z8P+#aHlVOis8U zrw{t}(EJ#ka5YyT+P{O*cDLgVU^uj!|C<|hLTxLLpj?`vEH(1WR-O=y_7suT+W5NO zj%jT@(dJ~d%(9>pN(ZC8AB=Vva!(iUEr#=mVN zJt9AA@E5Pc3NhYOsS$apc7=xZqLr>oIZUvTm#^&a3d5L# zWsN9*J?*jg;Tn>^-x z4!wimbb{DN1Xb~dRIc~0K16rP52U-V1g8( zX0ZQf88*tlAK!qM3wcv3%im1E0bs#Mm6sX0w3Tx~HYe)6(!;RtoDuf~AV7J`L=P767bW#|3jFoSQ z%y$3@wFlohCBv`bkIBY-kivUASzC=2?WdCwv!1GgAy3H2C6-7&Xp0eox9e7E_q-RI z(MDlDqFV0J{>@_MXFj5;?$ORzE%YO*yK?x93@eQ2^;8x3i0YOK_Egmzz2Q`qceb9Y zicVMao;>56syc}$Z$5tf1gl#J1k9U=U}`iTmzNQ+_`A9d2?+iM~Vf9Ra%%OhNGSRGsx-XgsriSHQ{yFF?Yqw-em&g6#x+0U(ONduN>@@aG71 z_mA56N?wd9?>+CJx=qsed(q#SJV+nN{Dz+R7U! z*QC7G$Q7)-Gnh%28Rjl+!ao5SYbO0X(PU7kc<%+@O4l&KN)8oy$H}3_T6~y8N0Dk8 zy|XNClgh_pxNi%W=~+FQ=lkAd4#g>g44-u}Q;!H7_TDfSra zXr;-~nP3%ywOnwBfC~s#B$$<8UKjjGz`g`C6TAbfA;$mEc!vH&z}f`=goGFm5d6sn zCkmL4;68%$39fL#$pSuZsgs#Qun)nHTyUy@#|ZW&Sc_m27o0BO=LBmI%uBGC3(gd9 z7(nFZ&foF-9r&NQX3W&x_kW;`ZxzI+-z&hi!v9H3PH&SYkd`N8|CyFo;D6o`NUFyE zRkO)o9b-sJd~4;`DBt>+*FPgKw=y0kv%wx>4;!@cC5kK9BNJi@c75tVutks-CfL$; zxJOAe*j$=1{sm_lY*s5LVz3!04>R(A>C9Box8!hg%59B&+RC`>i7d4Xm-;G3-eG0j zYY_Q3_av{8=UEw_aoLr)#2)r?CE|gMb=&rhk7*@V;G+oM>+`n@uEfiBxGP+VcQ}_> zXSfn+t$dquOUeU{d?&403A2t(DYrE8PgXYTSeNn}MqY1avyK9T`s)w!{6zsV--*Gcbl2IHi?OQ(nM5 z>2Ks)ND8&TSx2)H&5eB6%4QwkX6I#%yxPiU9jmbOY)1an%DRqRiL&hB1#Nuye~E1+ zDl`gNgV`wpYmgsZm^CP12l|GSe3669K<}~!$*g>s@*J}UM!tr9)HOIMGQ-Tm9`4b) z4Pp%w6=(Zs*{~$h&ZmDq9|*QgFxUZhxJiuWbq@8{&kVMOmFH0I#bAFlaycu177X@f z_K-pw-{&A>&9gKbZ24%xRtg5&FBt40WS_208%EQILq(WqzO-@|%A*-<0V986l9cx`-hoE` z9T}#xtq_d&3VYbDjqi<9aTKv1#>7;_E+q>D`)e@RE_S$o6KhF5%b`x4WD$GY%3%z) zH07;EE@I_WA;E58uv0+B>V%vz2K#z2*x!P|?m*`0+I-7kFEE_upFj$FUR|70W@D1x< z+A$Bf?d|yW8Qyh|R?TYfP#dSA^L0h6)=f0~-Q&^t$CWC$AmR<{*k7;!axflZh%4n( zum|Hg7zqdC-s3>y`(Idb96AdeaSp~)GUJ?9_D?++_Xh#60l`*iJg3uja-bVpU(b?t z2^Jz)!UZ=77)h`I!2|?TxZoxMTLZ-TBObw%ks9L#G@hZq5ik*Z{23BrTupF`3+@*% zCBc;hM-lwg1rG>#v7Sz5IKfr~JG$Wa0&XSPoL~upQtnUh#g*{$_gjs)0 z@Q@4M7cdvW-2`V5T;hTc1$lVCv? zj3>!82q0#ijo|$eI_vl@m{PzO+2cPTFzZ7EPoVKEPig@R5&WLu5`tg4U|InaaOi~u z2NE3Vf;j|SR$G^+AHn(rTe@H_0ap{OL$Dx0zYD%7;3$BYb$){J2|n+F#RV+F9-j=? zS)V`yQ=CWRnf0pzmLPbX;Fkoya={V;rr^+D5FAPH6Bn#3;M!U`>yHVxB>0{SRuymy z!Da;g1mAGM2mwC@h*=jW_&mW3F4$1O*VtoHg6BWhS>Hh8nRR0U%M&~c38wgp;9eJO zDquzqy^-K21ZTS7djf8&sk0tO@I8VbxL_v%zb4p@;2Q+ra=|VF&H{*8mm!#eU=A1T zCtyYPn2z9$VLI!3XgsqXAYe6ue?Y>l_Y(ZU1qTV3li)6bGYKws!6*Umzpb;LM(_iI z16**tfQJZnC-@e@dM@~hfJ*@4=0<`e>AW{LdJWaHNo{R>w-3j34D#G`>@+y0lg03O zfn!iDbYzY}$rGA$j=AUfHisIAG2{qxJ%N$UJ;#GXG?MN{K4@jnJ;!Q{GM6^tZ%eQt z#~}Hn!Q8#yIV7fFe|eHb-_lDAU)2B{JO&-mj(MDEWyd%79QS#&N>(%X9KZEw`K)H{ zIePm{ZZ&hy@jK7!ZpAmtVeUDW)#YF;N39lm&+!jAfkuW^IAo4ifqRbURj@~^VHgQV zt1QFyXq9`YI{Alv&e7_7aml$$dbG*`0#1I26-0SUh<|x3zg)n))zzT)Kma^K@Dv&k z__=^Z2>w9uGlFYeaHW7@1Q!z=Ofb>~w+Z-bH63~Y!G;7|yWkE1*AlEpurR@rF1Sm; z(F9*2n2=yf7u+M@I|QF2cnaBo<++H)GwZJfe2w5Qkgz;!2yS)3eFCNeh_oDV&`Hbe zOok_eB`18HA@Z$Me7L*9CQ0B5o9T3YX7TvIpwokQ*Kgv+h`D*SP5Z-dzv(A^@`*rS zGN_*oRoGICNDU{oj?`*HCAQR3 zQoTuyBQ?fQzau?0uH~fOCG{Suc81zwsV_*?B~_8s8-|)}sV_-YAeEI=W454jNgBw=A^*lz9(XRQvNK)F%8O$XM&qj{Y(2QpCT(dh}9+Q;$w+$E*Q| z9-DQMr!U}%A3fSyt97Av$fHfQT3>44d9?mkGe0xseO)W7nV*@;u2y6$m8=%}GgD2& zv>xrkubAswy}-{*)l0^=R}Etw$3FXdac@jW+sUv{P;!Mh+Z>%#<3qVX(GLIDdCJVy z7ZDspaFh!s5%5%Hjj=z$1_WEVU@`&M5UfkE5Wx~I_`HCT08xb#?RTnhWmbZ8+W1cF zj^ozmng2Nq zto*ykyrK0TdnnIfBlg)#20r?X>5@@ggN+w0*e&={g1KaT91OOC9d0J08Ns10e1jxM zu(_>0PZXFKILt$adcI$ec!j2wW4k68r{@ z=bDg5z$@jnf^Q}`k>G3>%qQTV1Sb&eM6j0&77%bBKp3$D!3qScyI@HHyRye}1TzuL z<$|vZ*qdND!CTllx&EW^Os2GeH8}KjNOJurc-RHs67Y6eo%J4qvk5MB!Ri7&Bsha$ zFM@+y@NEH)0K}|&5UftHfeSVh@PF(vf?zI!g-5jc0kf3izmu&iWw1r36>IV0Qr%a_B__2N4|Qf;|L0g&r~M{sbEkY~_N31suwu z>k=$Pu!IW^6)=)u0fGq#rf|Vw0=6a?kKoB3x;z)qcxL^nfF%k33<=A#n&1`}oFrgM zf-4D*BKWBbP7&~8Y0P?GSevg>$@@R8L%4h<9DtL-X88~L=xF5rh^Q2&4j@r;;{W-- z>o1v`r{a#M)qXsbso&6>)E!sVh{!5CYe%pDHv{!_t8~UENsHnmd96i{UeK-B1PQ~P z+-~Z>l@n!ExiaM~M*izB^Xk+h^BAyR5dCW5v~@DODE|-{E-KHU%}=`&nApR9>4u^j z5!qrt3u~6^_FHf_ZUka~70YB|?`ucj!q{Jv6^!y{z&LU(XlmuJDL?3^^1V%zOI!Jn z$h;OrNDpJ)-dQ7Re!O_kNoPs4Pv19qQLG09pM)NAK=23SK7cccxrXif)2!Mc26lqS zl{O}@1y&wKc{ta+l97j5`O{$BH`v1tZG67Cf_=YhOu>%A*Idn!v94Sv_!($=J6sJ$ zBbN}Y%jS(-#eZ&@xiq9)hLOxL@^LG-Ho?N^-J}OK$dDm4ND;j(<>`nQ#k|PY+#9>Z zaAZ7uEf9A~c{fU9H@73FVqiXfyX+4$ft9s#X38sgP`I>#)5>P$+`+g@N)L=Xo}PyM z_ZjzkyeRg#pLC8P?o7eBC(2zt#=Qt>stNfcN(E};e7&{kuVVrmZslJo_vUsKH*$L` zUlN(7-p(FIXyZ$`{jkVIUT2U*vRp${9!QeBGQA6TP_v;JB)iSUKG1Ke(xAV+z;_6 zmC45G!MH~tM|HjB@CA1)WZb1qU>&Snl=AzGJFAf+tSrYOQ?5Vv#vNbc?kmGZ<+-*t zuDA=t6nDj7+{=S;{{XLR+*fdG0&(l8QT~w_LrV23E8nJkmvO&m|{!5gvhY4y^a{c$~-hJA)m01p`aXCw-2tVchqS z6gsW-lWh%5oFi#GOfcFqfF}8uwYoJq$03*(WCMuR6q3wST-6h`UQL?v{4s zZVap^S*ITxjK$uQ)sZ!7dcNb*x!P|u11RL zDwbh17dh027(>kQsg>m;QEc!J47QPxds?}6FxY?CgL!21<+y@v-9Dz3?Q=1(veof; zjB!LlJ6tkG(-0EOckoLFdlB~6xumCDfsw2<@;6q_77W%r%Em{Xe4{|dYJ;`yVzTdd z7Xrba3kKWB4)+V59Kh23!(d-D(Y$75c|Zg5dIlS2HtBIXD#dvDz1F01mcAnk6qP5}s;8~AJ#KVw8z{`d*xxxHSZVp5lDVMVfU`BY zwhYe4*tf5wEq<_aH_Gob_PIu0W#vA>*t2?KKf2wJaAod@Eu~)F8XJ>GS7<*n5 zTrMjYp!_=J#70hF~I?{fv=`|=-`Qki zKgBw;950ML_M2MowqtqQTgE zdSWjbh+VE5@XYO{amAi7rr47PV=ohoeKImw7xpB6)*S0DJC4}LVGQy6hgQBoc_r7q zyOA4N`KHM9`@5dl`){=Cu9xztJf-4{y;<`Z*8S~Mfpsq$jQs?%Kx3cI;ND>D$Cohn zudKX~@=V6Q(a1Bc{6#SKdY;&KY_PG5ld$d|;f1k#W^S_>V*li1AaSlt&wlaZ?fu{pn(h-l_zbS zvFD2^_RPW9uLfgZj4aTFJ)T~JyTsU6F5<$Du(JH2KE(bbV;^ti4p#m{WcvMAPwZpX z+1OVw_NI7Y?CajSNet`W;+Md>m%|tFjc2YR3p955tEULAlzvCwe|I5cKVap#l=E|H zKO1?4mE|v3n%G}O4|d%Tt+lZ~X6y^_!q{V9)i{RO=l>jteMvC(!glof3~ni7FK2>F zY2}ub`!n|JM!tm{(wV;(j9ognv8M~f{=N(umFJHIam9Y8Q4FzPJRXQW6Mlr!ta}eT zdO8M|nZHjt0%J&xtZQW-gOOjca=u{f>7)m_ne}8RlKv0ITq@3(--s#ZmxD29 z4aU3;?$;H=H+#e@G93(cd_H5IV`Y3DUE~hjj*UhhY~`CG!{_)!Ha&Z|rlc>=|2caT z_@;{PeY~Zu6ll3+DHNelv$vl0;Fal73Fe9>dM@qD~%ckPCI*(MwW93c244WcFh~UU-{d_dK3E0KEj!`n_9^T`FvM z9t`?|tD9=^+B~$ZwcEc-B+t9{d(ra@Obii&F2z1J&~_ z9=1|{LBLc_aXSOwW#Dora617r7`TXmQyDnR3H*|P-=Wq~>JS5mGVnep@E`#d0AZ83 zoq=5#c%2jYJprF(po@VG7?|w@#t1l)vrcE=xBWz^f5gL9>eB>l$SLjx37uj&1FN0D zvjl9$z@-eF#lV-Gz+VY?nD>w)47`tlk2-<%u-_JY4nUN8I0LU^pzH)TAmGak?7_fn z2DWhmGYL3`vu@15ANz_@pTfgd>Xrn|;S^&aq14q3+~@@65-^W}l?;4|feW0#HUvD4 z5480Q41AP<;(2D;D6CG zQ0j3E?8m?%PGElmk^lnm76ukD@MU#;;g@M}`_znY?If3^PumNZN76Zc!oaqDx3HTn&|0v8;3>?D15l-M(0xoCZ zU~Np6R?_rWen`ez&=hO4VTzUY?8i~ zflV3M+6jD%fOJU}vTnq{c!?QxNf-~_%)K)P2B-E1WTUu59x zPT&dxu7;fuS^tZHqZ#<56S$Iq8yWZz1N$(ruM=2BK)U4-S$i1Rnt>ghK=Nvd(XFG% zx+Mco`bDV|c-Tt4g@FAScpM~@dIJM@IDuafP`8P$W#H=!eA@}!Pr%Kv79s2T41AJ- z6;9xH1pJbLV;R_&fp<882MPENo2PDOUNu8S%1O6w;A}66PShxA@&t)21xOL46I<_3@5NI0rxX-3Ip$8 z;Jr>@JpwLcBgG&F{)2%2aVjwtnq44lEhIZj|l0>&ArGVopoKH>ykLBLhKRK16RMGWli z1oj{xEx3_&Ap@H*FxLs}Nx;zz%wpgVK2hqQ@vxQpdII+0tiJ~drLJP&dMB`ifQO-V zBkRu?IER6+If1tj5SPRga5e)UVc-)^U|#~_924@)eUO2@8CdEB-bKJMoMJBq<}$Fo z6L>cPY1M|TFJ|D+vMBXAJZz;dBVb?7`WQ$k^?C+wcLE zCK&iC1D{}E$O#M*a0jn_9%o=F18;W%Lj;__DV8v>Jp)}%V3>dv49sWXxjv%Q=}zD@ z0^Y${{|W?3y`6!3@vv3TYyu{8idz}Dh=EI;z!wNukAZJ8FvP%!6Zj$l_cao2UCzMU z893Yt{4W8g0*DH~je#x(_HY8oOK!l_x2Xm6T`z+>g5D% zz$tzM5~^n@11p`tPYBqAfgdn1!oU}tz!e1iAxo6{X$B5w;KNSfdIHV@5T(AGfjt=L zbpkgMa1H~zGq5oOTRDN73HS(SEio|W6{S9bhpp7R37E|(9s&uau4LdkCvYzTa~ZgT zfiE!d-%j9u0{#p~UySSL8Tc>*$2oyV2>23!DD?vj^fK@kC-4{nVTvQ*4Ge6>z{{M# z69jyMvu?q_6CP3O-|?`OIvESNSQ}39C`c&vItFfY0#gXso`F#Y{+oesIe}>eJl9Z^ zdL9GEG4LrTun7Sd0Eof_8F&i=2Rnh;1YE>GKLamgU}q<=IRQhQ^`#8_y_YC;T_>;| z0Sh?AUw}ZVw=r-J9=7UfPe2y~w=nQ61}<>|3kaCbSubSZQw)5@3G7C|cQQq(Co^y` z1IwJiLIN&j;H?bo%)o1%z#asQ0EljO1q16cu#pq!BjDAXVk!go+#sq)!^2kUn+Vv0 zfxAFL^(xP)?0gq_g`H1wi{|_oJ43eS3{h2W`p-G~F@+2u(42=*W-NG*;$Z_mNx)tWL@Rv< z5`Zfh7&Am?9`l(aEC> zvh9ZKXPM2%#3TE~>3=f`D|NX7lB=&zZmcyw&? zMYnbA)zl3)ye=%=^??BJ0Ll#DPk7jXFAy*bx8Y%^><0BJ;Q}Cx}{7>5tq!9D9^~MU343i1DY))1J}Y*Me*P zNKlI(jiXGLSWN#D3F%C~gApc}ewMjTTyO^7UoKZC_5|YVpWj59FU$t@}2EPs@Y2jm2ksi_bSc)~hYS6H*(_UJ@i07Wa;Y2k)M9j@3uI@1242Cy zZcgA=ByI+CikCAmm4OYNz+D8qn}Nv;+|^BFeGm^@*1HMVowMEv5=7$r4E)pyj1zDV zPNASM?=nzf;B!vkVFDgv;8X?)q zzytvwU|<6V9=t}B`UoDjQYTY|-@sXa3ld8GDFfFyff4~VD03+Fat1!fz`0IfBLW^} z;4B8-&%l5a*o1&lQV-$r!9X_yZ*l_L0vI2Se2EMOTQaJh6Ll$}#sfuUpiXubb}!`*U)OIjVCE-psXBp-{!s*KQuj{f2mJNXg`sXsCa8bXELOxUPO(2a^$na z=RRKkM7Mb*${AWEd`9n5n{v>S+$o*iDW$3IltJkQI|}wFUsc62UB?Q(E?B2*sydYJ z+EK8+;DmC#>W56%*9FH4wkTgz#WP&%b?p8u9a~eSrMYT>tyb1l{gmR`Q&3fK4AH)= z?^;)Iw4j!vNv>*Ns4^oI{W+9qFm`IZnc&0Xj#vYSDMM=$n?s5EW5;456c?|RWh|4E zs}lR&($eDkRr_+1tLd#?)xIo#ORw6O&Tn;zx{9b55mmgU5mmgU@*{;nYY0?_K;kW# zK=hWByry7J!473-m6qu`ih5Y3R8{RycWo)CE?BRu<9et;fp%2=l;K)aum#0Diey|h z1;+(8mImyaf=zB^qr2*GiraOvpvF_6c?x3gs)P02uGQl0u;g}al-0DiA8rW!0RIPN zslCz@HJ-MbtTvFV_NDsOF3J9mkL7vPduzRg4|@VlM0=O0k9VeE3JM;FqgAcDuy=7# z^Qn`%`;~Jz!l8vB&%>3$?QXSqx~yjQ6Is;jk^ERgS?!xHOYhc^Q`}kcI<87|sB~M0 zO2%=Q)3}=DF#f*7-#7T%ioY8CeTKge@%KOc&BveArh>YU=zp@>GkYv)*@-}wc7!B< zG%X1M^bfRTllBGEetg`doy050`-o}#EZTmP_A=8pShU?HZ8FnpEZSO=R>rgsE!t|6 z)`w|}E!uk~ts~Q3v1o6YG>K`mEZVas?F4>g7iFJd(ZVL}OQwysXpfq-Pnb5uqTOrK zUS(RTMeA$QLQE^NXah~!eM~F1Xl|2s6Vp0bw5}%YDyHRGv;vdXglSDJTDD0${UNuz zMXP7hb}{Yepw;ep<#u1mw0#!sm`Qt`Y2R41-6m}s(`qc*7L)b>(>}FmD@@ugOj~Ht zmYcMznYO^9y{Zqe>FY5!$fsYM%X z(p08-ESlG(J;Jok7Ol{v^=DeXMQdl$x-l)wqO~w-Et!^T(b7y>;(bx}qXDyR&*GKa z_B*B>uxN)(T9j!!E!uvQ_7>ANShVdXZ6?zyE!tX>_88MXv}j9A+HFjmZ_(Z~X+4}ClD@@u8Oj~Ht-ZW|BnfAOzn`_eUV%l_z_N+ zS+o`=t&C}@7A?)B^NRXMbJmj2JN9+Id0xD1*4m52=0wnSMY zE9+%tc6WS{l_kY^_>|wFg&(xnzsND69jDGh_(KTrD979hWbZAP70<@SMBhqu zrCLBT5y_(*6_6pT1^EMxjwrLFif)3=Ng%o$S@NLB{fKtWY*O~6iU~j{Q8}8LkKAZ2 zy1Wc#7yL5g>GUM8>%eCex_mf3V!r|D4IhvyI^hLNthWIKQ~6nbWkNokhB$jUOyNpu zJ`xFVB5ywAFozFDGRA^d`|_3aB)1Zc?KP6UnUlTu{A6FVlFj90`ypBIW?N9-K@8qu zq;wMN4Di$b{FDY+DSdH|C}sK|Qo55;YGkCeo>Mvuw49YsV=V=(FBrFSx z-pcl-_qtBS8dB=Y(CHp^1vQH|a$mBq>>Ii2yEf1V^d|2qu(vHEX;Z}nq<;d)S-j_%JllpSNX$9zG_FF z6@w{!KXu`P5tA)w{qgd7_GU0k#Kbd6c3TOUe>h z&X?byv|8p)MCC-augp6fNa-1pH1QmZZM{Hxabz`2lFXxY$6I&2sU-`PbYIzNx$00I zRCT#_KiQAe2qhyc$tV$3SKw}09h!wGB*4^xixhe%F^M86>2ld|j=qA5qIIAYloTPW z=AjA^H4n_@hydDerb5Vw7TzU=sXxcIQlKS`I^HE(ao8w_AXx!W{BcKf*I{7i6Gn4S zrqnWMgjuQWzEh;u1z4N#2odsI3=T&t(=mTUuniI z3XM-qn*2EL2W3Cc{0zpCa2w~}34YS>>8iXxNvn7P`G!8vk{ZBLH~>)WPZr?;fjofY z=lywncRzQ3?FKysSq;hPyS}nbYU=bm+;IQ``~xNYO_jFZ0u|FZG-A)w&z z6+FP-hM}Tm%KtpR;O{j(1@Kq=NB(5xtQ_h2B9d}dYTy4G39D%X?jXU_UHcGUT?yBz zj}a}&wN`sRlAg2-&QwVkvWH^+#~C!p(~WLrhfg`}Q+}(c40M+Y!ktfJ^cO^m#bb7< zc+4Fp9&d~mkGIRkW63P>STP?D=n);nBb*Vg5FA|;BZr_=M9AygSK@OhNuer3P5 zWj-a}b6j?P1e41`B?9dAGT|9fZP_}9kk`THqMjhFsZMOtTDu>-+V!Vs+BFZcb{I|T zY`$Htzmc{z;!3;yZ)j`|B=-nmpG2+PJ-A^~Xk1oOK&H;tzf}8}#*v!qLb$9xCd*1x z8;c;=D07b{dKFW3J;C3bA5Gj;tUXP5rI(!ORVpl$Lt#`#Va4qVa0?$tJN23WxuXHb zaCg)pI!Vo|=}B=I#EYq`>>s4(e+i6_pW;j6meOD|;zf@3kr5$D%M#fQ4JLESzwM^l z%xVBM^|4aFI$jQqFHQ;+MSGP} zZgRAj$d$_Z0;B}W-AVfvFGk@fa9~d=yhlL_%6OSgv%=0V3O|@xe0{7a{F}E^;c?|W z6@L9Z6#gB7y7L=Rkco^6*->v0YOdhFKZH?^a;6=k7f~@Yf{m0jRa)yQ3HlP~2?h&o zGW0zp15L8?A%{%p2dsM;Gyq~@E7~6%=iD*0niC1Ohl-ELHr9R4_3671fa{KEZoYiWJ_Ar*gI`c5!IGgsOgUK*OXSa;xB#6qYe%f8zQi ze9xKKddl|+tSn@;G)q}4mlfy1z8#fQQrAi0SCIm8UVwZIE>7*Dcj6*<*I-eq9SE^W zy4w-QC>4Bhw6o9%lvPG$pcY>E(U_Qq2q>*;T$Rd~0LMsQ1v`mEiaaXXfpmtHv_<`? zGy0Q)7suNaOG~5js7jskv`z`sbydbzIw!d6m^taNgE`V^4d%4Fgsu{(cFdj^alGSk zgUMkgld*xwV#F-b(5UO)MRo9(5*%c!n!jxRs2jxXjq_N&FVI`*Zc*2J%LRmLwj zi(Jb^ei6yUo1Py!9-(3kV)Rd&4q*i`qR*EGPcnFt!PD&&aB*m#Jwba%7l#g^TW8Kj{;tZ8DUBYFwvxiMUk7cYQdw2?L&lVEMKAB0GjWJd z`AS(cJ7DrM4aSL8GU25QSV7zg}9p z%Ibgh_0R&O?W#l?6F-&JV5KvYzLd!hUrN)Rer3H!ye`^ac5ca)S*>%I;N&GXo{7gR_*aa+#0V-Xy1Fd_g>-ShaB%DrarHqq6h7 z%4vYS`ujRr$lOCtV7G`l?arJ%NTyecMutAbi z@*xC-3xSqE@hd|YE-yxj{mMhN9tHM+WpMIElb0wbOOzeji%?%w#8ZbZ^r+s&#BGUk zyhQnlIvLdTTBR;#cUHAe1v+`LJi0o(HgHu*@@{|1#2Tz#WaR|Z0*D`w36aq zK|>C5WH!CJpw8~~D`&NP3`n7X1d0sVi23tB1B6H&9kkcL@?pr*lv-~>EpaOsVW~l> z`XGv9oxxvttyDq%!XJ5qnF3#@N|ZgM>TGz9m>LSE=2D!JIp0HaWZ*KY zl;wgFto5t+F7p-s9GEN@o(N3#DZ5Jw4o*@~UC7gyyr!h!Cy_Jy8+y|z{J@6R4GSXT zG$u@2)~YMoPc-k*9mb?YBYnAo4|6TG?rCaX%&#ifCsv5u3*#j|<>z>JTgyDbsr7oy z(K72qYPwc20jXIj`IS6kQky~SP5GPzvrUP$>!Z-lpyA|ECs$vch3-Ym(uy#W_9|Snp^4J*{$B( zCA2?TuF~=%scwXHA-%5eQ^ItS@0gAM)mK#5aNM@Xri)X^D}E)Mp|rM)cRBDQ7~jRj zr=o_F(FG2Y`3(RvlD&!K{)+(XSs?aaQM8GH#^h9%;b zlaGeMrMut#d02n0!UPX}Fb{cOiXsYM$n1HgqB;iR5Kwl%a>?z&9RG*&)CM^?p87|Qvn-CUHaY(B7QylB z-x?f0hzyOQVxhhZN&||SHME+w84vqIh_ylWrNpE@|3SrwOUC->O`>4ft9Rwdg=Ydi z9r6J44yIQ@NJI4C5o*6{Wo0medQL{n;1#lx`8ZzU`C`4JQ=}_aX5ubN8)|u3+!H{n2;(X%}JmP~YV-CdSt?=u-*w8RR)_I-b#K zs?5--yhBZRnYCacp)`IFPcr!tcs@w#$k8h`IDD?Ou#V$**iuk7VrPR0>u zc_)cH#87>VUiI>h73rAeU0fo{TSz~s9m#%6e9Jrx&BQiX?OmVC+bsNt@~X@$I_FiW z>=u+`;n_fES$#p2Qkf+l`nT}b0J`K;qL>}w{cD6gnu-4nGk7L~m1w1-!4(gQt$&ru7QC%xXjs7mHSZ%sHP!0VotF49P z_hSm6*;m;)Viv6vw}jT#37t&|v<-Dn4qhZjm@y|pEgcNgLny8!WQSzSiKv2rkG_ILHBEM&#Y+R$07 zb>Anp;p+tkuU4ne!Z!p5uEST4Tb*fq{{Y{+=n2N%mV}t)4y_~%k`S4x^6+4@_@zc@ z0Bee6#E>eF!;fFZ;qhgBr5PPsqF34Hh2F3om{1RB>~f@6(|Btu17a;SK1)$-(94kN)>QWry4k~e(U^w{koj>yFjFKz+wjS0QE=8;RKLE zXX^yU3jWR}2b+hMiFycJtQRq!qsv#LUgGu5I-<)J2Nv^MdnE2-vXMKGY0CuI_IM0~q#G z5{V}0RhdYYYBBf&gw|CKRbZM=%sd6K=kQ$VLej>}qm@k&LpJBn^dG|?6ml@ft87%( z`;=|Gc2)o3DXa?ShED}slqlDM5n;74eM)0*j)jNzxnwrKcndxGO{MVX)GXo3Nt;U4 zA^Avel`nE5wi~vFzD*$+em3PXX(hNrF}DWC#Ae`432sw{V!89s24BHeL35ol{7uzX zAGlTj2dT2_gg^3dvd^{AS8q3kVBFqWM|Q2J_Y8mJ<`kc6t*_o!CG}#G_lz7`ljyM9SVFVGU?1>@ zPX+F9hbH7V#pcj6VAWT)+8^n(It#C^U8Ikzp8OoSEOm}goe<6Psn__Ef70G~9Q92b zGN=zw>c-N#tB?7^)nJzZgnY1Q|*(W&|teeqPF6wubELxCjl6D{Q;M9*cr4X@P=a zU5v)NTl#3TRRZaw(qSVCe+k@_SXH<#;FZ-`oxu%td`bGKpCEM>q{~6-em*H%kT5AQ zD|G0Ku2j~!mEU2L$O30yxXnF|Xm|m(#*jynxA3NsL61+_1i=yw zKaWr46Iqx*ZlR=* z^%uVnNuP3PVqTI|k&ShpM|pc0AkpyW_!P9r3StG@CKMuEE~9goP|#iD^kS~?D09+>BQ`~O?J|W z9iVaMn365nD@P_=o3OGy;g%k0I&Xw@u9n_B^Rn<-MX&yOdGr`EuQNS{&npIDKmNX@ zuLI_l;`Iys>CuMa^>dCk8n5f*P<5Uhilzo%rLL9liv;FnL9mXPbwYaN)}uhI!b>wo zuE`^@dI(>tMo6P;ZpKT^2&sFWwIifS>t&3v=2rKeu6h5vQ?L%sg6FMV8b8>`G`G#&F#|kNR-b-O(FFQ>JY!WK?Z}h`Q0kt1)ifWBD$A`@f@fIi2a*bisKpIKQr`S_EiRQ3Uf+a^JMuy+m zI(+z*HwGaSU)gRsQZ$#MYo}qjfRzmvt2tEQNYQQ)ypQY|N_7c&aeP7xTrx}0Z!ltW zp7?~)>Q`1Q#v8hQsu)l3I-n$^8CT=G>y$naZ1pRvsmE;N0+pFQg*L@n1>u0_ZOEG;3OuY$h25ce-g{)XXIK(ESonU$f zy)Z-6m%yG!`30+MeqYsWUq$5?$>|Bid&!Y7wVtts z_d~xwu-40&*8QB;5&*SAk=9?;6O6vppAG#Hr9PpGc84AFLsA`&Q>TFMUf~YunHl8n zvCvi))WoRk1nXZ_IV6a1f=NbHb%||a5R(+Fn0fFAqBt$(a)Q?SL52H6lewWUMAXp;C>bWi{#q-ZD}}C1PNVQ=NI#B{a#CT$=G6 zFf@MQLI&Pw5NZoxx9~-7NqChr?$AEW&sb)MwgLxv#E@79gkMOAH%JCz%jkk=w)cw! z!=!3;IwR+9GTP!B(9KePi6%sa>ZOXsh<{}T)t*NcN)YK$A)&4$1qav| zaB;G?<6*0@Y%pM^J>E)NSQWgqH5AuJhMs0%kv=K-$sa4Sf*P16imiU-D_s$K|9mHL4VDiAuqS18K-DRK3E(XZj+Daq(PPXDqV~0-QB>c0okeB30#8 zA<{AEc)r5g;6aZfMxm>cFwa*iVhy18@L1W;7>FIQ3^eUsWH0Sc`{r0tlLoD({j;mF zfH;b8+cLxoE&wYatOxO+91UwnOr@S)wJjs4DOS)s4)*64LVQJLAH}!jNk~-NiisN? zWFU6^;l}ZhAZNSrfcWW$2M;FHXwq`h=Z(SS?$=-II2tKq!HT8gZ&-@SYCX9}$vwsd#ohD7L0+SuE% zJ@PGL!bmYiPOeGpqn=$|mY$SIo7tyHQnXh(G+bPSOb}4s6qKMvNn{Q}-l3j-iG$!H zXp;_?iDhZLjJHs7pF{~EA-i%xZ^FY?r!OE~x9}u$RiaL@*|Ys&QL7zd_TI9Dpw9)ETqC7$6TBsENtMF&@zjV2?8CIY<_dPsVVM?+!toFl0&~&P?)f}Re*kT3mSA+XpyGqbvnmciGsvAR* zHu(CX6MHKX!7p$y7nV~oB;9H4KpSIma-7?*$+zhGI zIX+vv_CXkzC{kd3{7Ykh#Ae@?x(SL62aBaBoV<)Gf?7g`6E@0?zmghJ zZt4{2=oBb=7e~>zUL%UW6b~+XfxYNQz(|ai?qWL{rnG+UL`kYN+xsOc>t*+*CzVh9 zGAUT(Qzu&God7p%F7HIWytP=CQG`y2fL?L1vtHg3l(z#J=2DXajnIj3_lxMhfxDrX z=7h$lrv&REn0#d8b@77b5Zc+t?l-AzAHt}hC{R#g!WZwDG zhDmCY;yo%yhGGMuoYDyOEKEn2opggRDo|bhaF?j7Lyo$t>MH7LJ04tDPuc6L`T=vR zmR#a4)L)JL3>kJ=W#Xa`t@*CP3gVbvf{?tY-lA-QQrA}^@_TvW!P7Wsmc&k17lazD~v1< z!A&jpNM0cxPND#{7zY4G%<@a0J(i5#J+4_V)w86?)Amffg%x4Mtj{P_4?6HktXg0z zfms`e7lu~4Lu+c?p>y@65E;Q-TTzqfg_YV=h(87H3+m8Hw%1Fa^}t9N*W9goR*2+n z)&uY((%0sgiEoC{9ty0tQii*XCo($O(avIhab0U2lndlWs&37xG zdnC_(z{Va%OxUJ}rFxV@?BkBz3^Xq4MJwidhJ6uC!^MK2vQmm&%q?)nnD0^cdz5=W zjW@P35eRi)jYsJWhSU-`W{}@Tjgs*cz9^ZadrC=9_e#M1E4`?b6mElbdz35+q{A~R zJd1P&HSOP5&=?p;(rJ$N@JQ-yeBuX8@sty~TJ*M-pBoB89LdCPBp%hY|8=D3SO#AN z3)VZ-A0oN4M1<_FxE%|E+{4kkEpg0PXA#|)9O;&chR|AQa#X6Zp%}^S$VpuPj@V30 z<|Njc^DFX6TE1H(L7mW5NlB~+^PB{vBDRPo){>CRMH>V%NXUJG)fk0F`_S-B(yD27 zrVCT^S_|a;?mwu!+0}20yu;#K=FQH$zjfvv_feK&;y?~_JlH>02hNB0$Sf@^)Ug2B znz%ZEKQHTF8(X%|(=fRw7a*VxX&;^4BiWP-D!L zk2zER-+e{}!INVbr7lw5hmH{Y9v{|xX2^#Qa%AE%?X#gm203l$A8=-AW@e2c7~;4! zW8wyFwOCjN+S}F}6%2nB58Ha9CB^9lPB0|1@4CJTywNs5>zV_UHj)$Z+7h{*6M4p& zNG=jFx{|gAGnqa|cChKo=&4CazPx)a)=@?adDPi`$U{yUm!o}nJLMB>f+Y!UAEm?4n&B&qPS_N`-I4VG&bqsq z^{cj?qm99AiJEY7`@vPBCeq9(-H6+O5GwdVmqlm?I_fj={CMLz-bM%quEA?5UJ>F! zk10F{dmmnDxZW>PkSaRkyMx(6PC+$OD5eyC!D7hTPr!anq~~)0Y8x@i{c6vTa~qe9)8NjJMcC0UJI7fXSFLEY5o$ob_4wJ1;PM*V@Vdjcmg4J+%kx+FcY3#ZnV%j7KI zl+Q&a7p|YM-nOAa`g3{D)ybH{rSL)2;c+P|?aP)8>6sbDQ)*Tt6=dF<)JRZP>lAu2 z>Xa5bCE29((J6iO)Vi6e_0%c9U(Bg>)hUfK8-T?V(xkMO2pJ(g zb|!syjqXa z)r|55C{&ck1R6yFJneBkaD)*^<$F;N9AyL&vPcgcZUhqYE(D^8sZttA6dKk;=_x{Q$)ez&^x#cqa2^Hk)q|sEaAyk6(u0%C;9?41 zo5MLK8^JR>pg&Wceh-T1GpMO)S$g2@fMGvIRCJ$GRMWFS$x5HmW^bYN^@h7;7y$Gg zo=Xcc5-Gn%_=;zymES&{vQp=yJrJUlGmq+&hjhvncrt|+9cGTL5v=DpbB-S6B|S=g zGfFKeR4iGbxdhXu>w!J&ft7mTb+*7h<0x*CEo9naz)-$H2t)buz>%x6n)h$1E136X zp-*&>l@h3b18Z>-Tosw(zNc7g_~gLTr!v?=TKYMhzr*E7k&kvm*vF{GD%J+>E{8|T zJ>_Rpf@73u)sc%s-(#mWdsSOFvsdGmtSR4-`@U;!k0)CNb9>yLGciYr@}UJ;9g`)O z-AGRAo8hFsryU<*c`^%vuB;yg*UBkPPsgvqHtE)Qf$p(hL(MOzWDZ6Ko1KwXda3`(dzQfq)>{h(RZe=LEV!d5L`;y_WEmy_h7%PL& z1s0<~PhSs_KY24jmoChaBEKTZl9Y+#N|Y6pyib{1Ntr~$%fKi8V?Ll$)u-{MeT0e6 zr-WzWo$P;;vAP`RQ%Urif)n4j#0w@TuWi#6vaI z;1LtcdjjaoK7jZw_6pKNcV6aGSBMIOCpf&a)RIbV5lkI&;m~El=6cf3G~;);)rrM= zCB)i`O86hHgl6@iMwBK6pW<}tp&_C$ICbMKMlw|CctsB=ari}hxxp1tiYT{hB`U$L z6P|C+C}ocVpK=n$48OXPIxZP!{|mE=tb}&rEA@gNe&rJl?YywP;-+xlx~NDaZsw)pi}BVy;$ zul%B2PVA^5;*L%*a7Or&L|OCkhP3CK(ufREi|K|u)5+@3?ExtNIj0aZ1kluSN|~-O zCT;Vt1&|wx7Tv;^fs->f0W`)TfNr-7pc9q=I`w}LKs%xMoF{-*AV>(Hd+Y*8aP3p) z=>kZav4HqjZ-o%LQx`(3(Gowl6Fu%Uu3)yUOz0j-yAT>^2%!;x_t)-%V$Bk$cd=J_ z82zs|OQ4u3fqFv%9SHO&>G2LR5d23;$|MM#SQDDPC_;f_u`%J{J9^7JIJ4<z%gfBx+==YpB24 zR$i8JZHzbglhOG4h{xAytq%-k&hhmDjW2U#eNc(wSR)Hl>yk!h_qN6v##eW+-5895 z-$LfMYJr1aI;dcduUq?Ta|Q{1*@sN$Pn{_PHRW6!xdz*Y&K3pgyDF!g6<<3?rxB6f z6Vv?k)&jJ1KM=Gjph1ZN6d;D9-TbDfFZ0noay1s~74f1UfF}I_{`)v&ri%VR@}>dg zGU^nzcrv!1)`pjgMs*(Ec>Pk*JY(NCR#lgP1EZwcd$++Nm>x|5!-hPd zs6WtY0#}lD)5Ntaey2O?MV7>PY&9ONjzn5j;)aupd_<=5Fo`CEbOj^!PIi(d&&Ysp9-y&+%Y2SG85>cb=-ZN@+5;Bh$3R|K$ z3BTW~9M$eXAlk@j#dmSk9~K)?X{4Hsk$AP2tpb@ zQYELVQ>BV5M51w?c_XV6bi&86R35{lV3^6t7?{3HPF@-aqk0QWtzJ5lcluN{JjHKC zlCH{A)fw2p2-V<<(z@8!pg9;9nas(>118A%xWEK&oqXyHDj7~H()}aeS4=~HQ-spY z+2$tZi$s%yuQ>OrZEXz$HkpG>zUqK4(vB+6kEZwXXCabUIgnADm`C)aw0#Z477sRc zPgUnh71truotV)X<$-f3J+LG%VCWKt#%RH1Y$)7n-%w~=qHicb$KVZxdbCGWv6B)# ze^X)nJ-n&#r5_Eerp+R~pEgm%rUC-`aBion(*qLfIPf^at~SE*0xi$uQtVeXu@wgS zJ_`0l^Uw)3YVnpbR}tM6j9aZAu|%HQ|7VtV z=*1;xM@QPLIBm7f1zB3ItJ&+$HzD25(PWdQ;b6%u$y12tR#uZEfpbp>4fkX{-mUyr z?>AD#l}Oy)cXnVf(qvvT{>8&Nao} zM0~9T@?YPuYJ=~w4iwnk3cL|{$NJ+#yA*+xLEzQ+Tb8&o=6BovV2($f%JTkSc6omd zjt$GOX=3GDbDrGq1i2r)M+kX;q)Vl*>d;00l&;T%-S{n0j6Qt=%ZaVT7n{_75(tv| z?a!0?&2_2&XqLb1(LBHO?ooeAmmTpGtnoamN~6G|)U?B+(xa^HiDz-3g*!3@FSrS6 zEq1)eVEZ_<7~fU7RH>=bT4OV%uqZiDgtPR;6u`Fv;FcF$3jsw6Yw+tDQ{`fjt){Ng z71}Mb>d#7#cLEIOz}w*=E!`N;#S^)sN^xfcpO;rN&yaGX`jgXjC0~9~K7AJ32kz6W zl8T94+CLh&Ehu3h4U#Q@QJNfR79RmP8AAPPo)H@C2WR*kglTi2BGS?YUM+4&D;dYx zBiRRA3QcJt9vGfAc-Zvc%_y-kAYxD9i(XrNdR5Irsvb2|4uTp=r!RCl%n$h02#pjZ zj2o=bq9!ALgOO}z1V(jj8D5!@$;?O_W@H#1EGKr@cl_UOuwH-4>`l3;p*x|VZYB_4i zz80m$HZN0StuX8if57wYMdQ5W)4En2nxh0?!It2ZUmGSR4Z=ApHEoONHiJfs%lEws z4uPCjw!oG|%2cCr9P%ozz#%VO4&jBOd^?f!drWZ81G+6PyO<`CiF`B?%h=>A8%-+G zalh(up(6%dS@Fvd*QXqfw?+ifVb^t_mR7U-ARch_30FT$`DzN)6EtRg7E9sp@j&Ua zLf?^c)=_ZT3cg`KyQ_X|?GF8hLum=Bo(N3{fza7hY3dP*q6}T;r;S!6I31z_mlBpN z)Y=a~#gS$}))`;fNf*3okIM>OYgnaS0-~=hij6JlUBpWf_Z`tDjJEWT zK@dZDgR8>Nc!MjXdCSYxhT;YiDNGCqf_2r46#1Is@pTZ!eJ_LZVCUKcHF8~y8d|@Y zp*MABI))y}KF&R%-T=qi@;Rtn?qzWLho+@vLu-h)lwb6nJ_E+r_>!@YJ`k!@$$Y=E zDe;9^kd3qHiZ(0q^PKwb7jU1+F5B28@9x+JDlphZQ~5^i5lxkn`${I{Xfs?izeXOl zQx7YrFzg3lc%WS$??S&ia4~JO`>_u#Rgf!c2@WZhsMx@QPaK^6b6ltVk)hk*Syr}| zZmU1N`}9t^YJaMneAb#$e1&@_Hua|zx)U4WMwaC%)Pg_8K19W#OUxq2ddS9KF^j<0 zW}AYo|FUza!->=V$zR?S>C)Mcg;S(tfjhAUr#UK<0^N~`T;|;dqttZZYJAC?@Tm3` zM8UR4i5Ywo&nVt3HMoITjQ0TfhDb&Sm}UP261Y@cJc7&h<+3es6HP^7o1(By;W)Cb zuu2LyN3BtfX^;1%$^Lt-H&&jm$`6t)-)wZ3>Kq}>GX8a5gKiWZ2BVZZ%mJup6}w^w zAts#bEBL)lM?K5RY`P+!d~(#Z=g_6;hJTtg)EOkG&zo;s(tO)jpKn`XzWomKZEilI z#jmqXuPte4{LS<_n5NgA{*+c?dfnw#pUJ2BRi9p!bv(P~@Z_qjqq((#Pp!xolWS?I z7q6rwxKCFm6=OY}22)d90C-yK?#98Osvlar%YR7@bi`*$;0k=!2@bo^Ec$+ZD)^A( z^muPE+3t>CCo45_l~xa5d8YQkS3=ExRshFjwL62eMVPTKvS#cdS?H_B<7tTD+J%w+ zN`5(&hi=;`O7lTfS~C|gX$pq-wVQ!xl+L2~-D zvf@`l!ph3A_+{tap`&IVfYu4=N;-i*IV+wfE!~9S!~Op(i4D1+8iu7*a&;kPVGUa1 zl)vzVU%DChvmB*iaxNMk1P+^_1k^I!QPWCf2ts_U2GJ@mG7R5cTivHBQ{c;4^=*3O zX(}3+0Hva3p@d;$nB`pyW#QxHU(XN}`?~54Vyf zZ#3?5PdUh9Z9C6EX{+IO6mJZ%wpt!ltB1Wwu1FDo)<`+IR&C)|M|Q^k{?BLttvzlo z6GH7E*d)JfcbhivVZ1SHBQ--<`TZ}KdUeb}#ujATT z8=5VhEL@H$?VY7fg>nWwnuQ zB(*gvuNEAXz~8%K2jctGPX%W_^~3yfs(AHzA$RB+nuZixy=9z!W(Hd?bX#G4gwig| z4=_*QL~K56s?UfdNCZ(5UR`v#@ttI*tS+G*jspoa$V>Zc!*O>J>$u>|-gH4fj(v+} z>xg<`tx(%U79Y`Uv$I6Ay@m&x?QuL$lpn(h$<(V1b7-gpmloZ0gXrScJH zoEVws$-&OnwNR9#*nCVBv`5+bw@iJ9){TAJ8j6kLkukjyiY~HR>J%671vQ~R7-puYdI1|#R=&MdzqG5NcACA{0G6Nru?EL zDq;g3ToDz>D@NAS^Qsj-LR_uepyi=jaZ8Fe7G@%@*6R=-ee5PqtqmTw{yl_}JdC3= zFb=7$Y0Pl`g2r&t6I!#$Y!k(1vKs$H&f_$-{pvh|| zRgRiD{%j^5wiN}<@gH9+czwt$?*AH!;%<4xXv5ivZH!cmy?Qr*FX05I3ega*LHL#O`aV5r=nCq*zf%>8pelS1RiWoutfd^P!cheLovQEzsS0QODMdn6NVwIo&=hFz zyJD>}SD#o(&;)wY+NFrLxr@jpvg(I=##MBX=iBN~ZQPYLLZlCeu8Ev+4t` zO^@ee13OPzx-H&PS!FC+w(C1a#v%Ce8IB)yvTr%C=`RGU#sDCOZsHxYZPtjPZPn`>b zLwSQbfqkBe_7c++?kR;^Nv}L~QMle0)1$ns%Q*yzNs5-WJ-WjjrBZ)A8to;fDiQ__ z&KSZ#nk=>n(FDT&9%4xlCJCT~=+m#hLDfSYdM@=rr58_RYmph21lAq^@! zhI=W5IBW*JSD(dJ;+4m3SpzX{zs3XNus0sIak~pF8)GB(4Alg$t`{+S_oa?mY@H2_ zk+c$1GmoU$jhIHr7vNDcU10Z~XED*_+8zvz*di2!PQ}g`W@eK6pvWZq!3{_Tn@OBy zo>Q=FwPo4gJphxJk8`ETYa41#8;i*d%9t+8%!%uiR6%jEQBJ(*o&;jcpDtCqon}Dw zCS%SbJ@2%38v^OsjZ%acf*#4IMmUKujaQKb-~H%Twv?h8KBZGE!WOdz*M^8@3Bne` zO`@Ri`V7@cG%Oi~PSg`k(x<*?l5P0Lg87uKuyDAh8EPAXsA8|v8>R`zIf3OU$FckP zB2Mhz6amiPLbg#~71zo~!{gAsXf8n?6l!UB0s?%z6|KTX9i~|~8h!?!6bmrwm#(!7 zp{3H#qeY%ANAN=Es9TiTgu-k^Y5sAx!u>7AY-Kgd1tu+$JftZM`Uh2!R52gvn^L?Z zDh1uOxmh=jz)ei-U>J4W%c$dayaP+qRSj8vgcdL}UDWY+cp#n8c-XrA_o$>;D&}lV zS9SJ@>FUR4MKAn-@ju~wx()vW;kRMBvQ1I-sEcUdVWCKB&edH+JC8C8a6cz>BbJ%m zP<9Vm^qQx7AV0@6M5olg*ZzqFF;85dbp8}X(};5lB6($-f~LZLZ|pbn{dl-f1fJ?A zu(_n6Zjmg04-b#XK#hb}J`xlf^`$Tn;aEgXsUlurNYd1FMWxw7R@HKPNbkxJ;p$P~ zuw_h(NiE@~st&=rM{+a(!Ft}6dt|gYPM~OL4nXuzW|s;?n@`_Ja$Y6s?E$miM%EP# zHa^W56#c=nA)<5#oz!!p$qHv7@ksVH9HYlnN0Z%Xi$=TVjiDz{eaG9%p-*a1jwD#_ zBWWvPX9GJF;N~MH!WhJx)#v$>4Zs~<`XxJjdn{}y|bi7z0who2iB+=;Q7#*tD1Zu zlwPHJ*O!$~%8869-4P{+USzy<0Bn%bs~C?VN-vMBobz>jyn|MWX$sTUI7CSj?gv+h zPMUob${8xME_d1E6^@GRZQHe>id;*HpdzU+isMmEeMk7)QJ1TsT(AdCeM_B6!USh4 zrtCk8&?#r<;}a$&cq_e`R1A~krMRq-Ef5fNYtrMn9DD~ljBc2S_tPP;SfB^jQ0KV^ z1Hk<$EebuC3iGo&v|+SI5wGaQHD)j7E=wmcj17kPc%;LNa%026jSUAfE8Kuz=757q zJ>?hEYP$uRCs}Q$>}M4yqoHBDg$e}QEpD?{zKnN(EhS%C`g^<$Zbg7SLKtw@vL=*0 zRVc3$V8B(56{W~Z$>Km0WOzeGWv~yesi6?!hOxV>%?{I`F+jvTf2TtjG(0e9bdZ*w zq?=#km;Pawqp^r7EE=9<7!kcV>2O8YpQtRjPys&cSCG@YPf5VbI~9}YDJ>5&MBEXI zbE-rEELu)B5Bi5|@8}hqu8vUCYfGxwOsHr`6a70C8(kZ41c#f0G#cq$(Ovxo35*T4 zqri2aEGvak+=hw+I=aWzDed1q(aTKfB2`pT$_g${Bq1YEWX;8;xS03{F4mqV_+QDH zFD~av=3}H|%9_hlgshR04Oz3=CN%C(5?eB6aiF9{vReR(k#ek#h*&el7%5cX<^QwA z9!UknXnDCSj}{EZ_`R5Id}oE|nnX8WM6%!HbjrN_jgWc+3oVaP9to|2~!k^z5DY!gkc9Yw0CT6*x=&9P$t56tPM(m+d(R%*gn*X=O{KFm6>4-f^7>9a1jMZaW z*$>vvU)f7p-f>X8#)%VTYHB{~ZGPo-5^sOL?uT;@`Edb|2bl!-E}z|Nh+V*l`sZu0 zfeW2+S8P2R?g@P7fpt_c%J{Ch57)L_dkm4{!=c^pIz~BD=^|+jpw{X;#?NxBdQTdI z5T#36PL_DOy8DPWLJaxy91e$Yq$j2uQ^^7wYuX1_AobAagB&X~!`%SR0N-i-JF!2H zRPil@bu5k#+xi0jx;VYW>$Sv;RCI=5Ys~gyo}1K^YVXoZsP;Y~Td4LBEgliJqMcYh zIo(wE|03$J7J`E7aFd?Pq$)rWOc~b><8|+!2GT?nl3xrr7;vC#c%!`N~DE1by=V$p3Unu3m`UUp% zb0~c{CY#CAjU(3fzjJ?^&nL*>vZrvyt_#OWvDFp&j2=lrsl4aSH8_tKY@SHF5ig<( zp)$?G-D}dWB)Xc`2@jm^+={LF+0}5vr$md8M2Y%YDPF~8biMI1edw1;Nv*|DiF%bg zGc z=5$%&WwLTZdb~aS|A|ij;urf=i7sKlQB@ospkTW7+MN#nJY+z7F#{2X`AFQ=fz3VP zBADe?`;@v1riwwlup7*bkv>RbMlEHlNVpv^0C&Q^I6_EN?5y<8ipc0PjihN)FcNUs2oBxo zG>>0Ol1lG1Zr!a9Yl@4g6R;EC7y1s`y9k3laU5BV^aTKH3hqo75Sv^!PewfDtJdy^){t< z(kP9Ahb$GY**lX0T>O|RB7R~PE75L zDpjiBN03Z;0=9e48Ni8glTkO8B05ioB5#_H(}%>#AnkVfgIT&Z{$abqX&p$m}o z3`Jf|X5j)lc?LyW%^&(;i}*aF?r%P74XuI-R`V54cyN z0g~X%B~`QoBNbZ%{o%1CRUC$-AbA)5g(M4x4F6VK_9&#;V@#{y6%?i)?(Bh6ow){v|lY}Ja^R}2&x1e93k>AH97B*#Kv8~=? ziRP5k(gmoD(78TR#itGErMDCwngK#$#^)fQZDZZA@RXJ&;%&&k85%bn_6_rSACW!G z=kTIUl#~T=k=VqnEGaw>^~;h0c_0(aDndg2$%rSh1ve*}++eIUB?d{a&?mfgJBHRf z>L+4DeKqVSSY$w<9|C3I0c=zn%0T9i=2))%NmRg(amQGGiaPLbFj`{zgt>n%ZLdld zzoSd>eA*7fTw1z0)(ub0rdWiZ!w}BHZAwx_V^j*})*cWIC89!wPo-lgzmUp1K#Q>o`OD_(+U&0?6pjTZAH$l06QZ89At|l}8ytLlNXrpB(AJftbe9^Hrg> z=*lFXt!dXj;Zlo7!;A2Vl2FHQ>e_m$%5W)tzZ`+5s<2ysTv?b^xz-SOpyY-)_Tq}ACRUm9;Wln~SL28Stb5BlBtrnoNHBq3AGEJVYa$%j6NW0b}TwGSx`_`AV@ zTS#DulFZ)r4eL7>aNZ_|>J&(^k}_|eX_!CjFRUch+%4ULXGso*dIx2IHT@`Sl&{^m zX}SWFxKeF2deCi*^;=PeY(mk_;?-#8&kmW*d}mBl+sg>y;du>&Z9E@tw4H2~+x`Dz z?M=X=Dze7!#3Yg^v4esJ1&t19P*kFzL_pG}1Gk~WBH{{)1`&6JZom-`?6i2jG~&XD zJ2Q?mIBtv%vM7?U1rP_ZS+*nR3mx;|S$-dyM!ci?crBsXWmTA@EIdqQNqq>LUCwnwD0DnTt{%#L|J_Rv0bIs~QE zTqeP&RkY!>+3*UTF*(}J81R7A+>%%V?K*roTKG_p0E&y^aS>OG)Clldp&kKd9@Yfg zKSNt!`{7jcqas8`-~vPdXDLRZ;$B1r<|El(@2fqP2f)cZy6J2SPWyfx+M=l^WP0x9 zm(9*IS*K{U^NVD+i7(cfMq?^cJ504XeFz+hF-!+o)ixyJUt>p=Y;XDm=Xtf86%z+> zHN#qz_#U0Z_v$AoQEQrbWA-@YLrFR07*V1&2WtkGX!TSkYaP+oDv%?!Js1x3tnGVr zO7757e-8o~_Y*Z_70b2{%$ zte}_!#Y=?J4!*9c_G=t_fF{~qWk3`4N}L@*Uw_smv`d<7aWEIp084g%)*QsbGG6VQ z@JF$25L<{ZzSk!8R@jSP%!wvEw`o>oE6dR(G$&U1yUso`$77u8sLtuAZV!rIaEbw{3BqdM|rGwH}w z-I2Xm&*(lKd6uNABm4BLp!Kk)BUp{y7t)v6lE>-GW85kO?6+r$}5YI zOum;kKATknqGRHtZ2T6ri;k2a0dt#TctIH-%$Wxxcd?mQgMXQxpN2Sw;yohr%fm!O z%E@D1@#s_7X(Ap6IHTV4WC>ci?bsERUu|}8=b`epkT+Dm@Kcw{cfz=dYMF`&krir(s-6ty(Y@faYY8Y>R7$9?u1$WwQo>D zL@%c{r$T4ywGL_mn#qqdh-wM#aP^#oj|X_|7-uICdbc%G$>(~O<&p#KmyZ#0T}E@| zErha4E;8=#Q5??vQ0DyBV7yK~v>zw6gklxCF!Z)T%#ks%vC`z)rQ2E6U(0=8NCt zKsoNv9cj|=waLVCMZ(H%*{in z?}dsYK1tz(#8}owbd~M)31l{`92ttyQvT!t&ixP)P&|FJ3&s5c9JL!aCFq_|JfsEP zxv;nJmB~AB^FEI*ZXWw6g_~}=)bYIW2)gxB^mVAfzWIlaFw-+SU+th>@bBlGb%EhR zz`3v#;L3#V(Bo3N^O=%n32E@x_2xZB-v3kb;u)3k<=35jiK|lc9{qQ^p?B8Ez1qG0 z0MtYGCtjA}i!fXy@?LVIZ3=}eZS!ebpVBrfc@U~TsJ40kii2sJ99*zc^u|Z>Wb3n< zHU5pZWr|dm@<3-3k^1YgTI0NooQ&2-ZjfP&=sQZ|lv94Lp`1hnjFfGb$3gNqf=45s zcggy6zo#N0oqj(GzUjB@w)7zAC-NkgCj~+IBTQx1N|qVsPhe$^V5J1C;PYvZV%{X? zvLr`{Imrkif-~csFD{<@H&~H^z0MytL>k5?i(45pPGNZudPxtx4E5lVwbqi z-;^S*PoXN>ejIN!<39p2)ZFGu4`DCRsf-aW*FP>Oa~4>USCdiiv>BOk*5z@jJXOhAyo_A~zx6uk3wUnqNMU{Fxj*Bj=zTEfY-5(ZqBRLuO;!^^ENWx)~Ljgm|xNMH4~{ ztI8Yg^@k`zG~f0TBF5~NDrA@JSe0e|%l9`^qT+R)GX~8iU=9SnFx*8=M#!%11sY<{ zG|l#v&NeocElUvd1>_2yFM1(OD^ICFK#IR#)_I;7oI&Rs>0IJdVwz|{B($A8#Y^P& z^rIOVTZ*JnAE9oMEpq?A!2W*wX9olyLJgT3)q~jw)2L((^8ohWPg_KATuzqX(5T)7 z*+BHV_gtKR0Vlh}4$kcdQ0;`;!xwreWv0&69&xA{=`7DI-oA<~s2xc*2jpG1q)^UP z-My?N+=97>EMB6j$R#T*>p~=Hu4V~Y2D>&nXoh|S*t-+*3$+oGy!8$yFXQ zybDHQd}~66rymR;-(vO@fCR}xfrluy-j#>U3aYF~OaJbb1QmN)abcsq?q^MkCeIn9 z*!g`0xRa2KWt%k+GKleV22L67_I`)7^4h2`(-{+2yRds+#tf02Xp1zeM;*M;Ky`?w ztJKuuK0Vi%BC`_1JS-U`mG2D&SIn)uSC%k)pca4QeHy$=6nK5HiM%A~7mHO=k?&)8 zlek-G(Nv{rm*8+II|QU~b`luobXARhVVM8cbswR@* zLXZ=^qhnuR>`&Ap_?6jM>}VeJ>aV1>#&C3k5_ZDuSO26Tyo=#I15lSklaOZJFec0H z`sK|c4BbPH_b{pnh~+e~jGVjQRXOh_r^d{2!tX;!1~@(eaxQ%F2AZxrm;x@|K>FUw zVH$us=z_)zmym`_$kcE-EM%TtZ7QJPYvckYQ9^}wOB6H3n7-N?rr?R2_^}(2oHEn* z)wceccPH^2v_&!5$&Y=*k(|1?A(i?Iwk#&T<;Px}PW{-oy!<;q_8eX&e%i;~ zlX7=FZnpMA>4Z1q#h)06*#k(O@cXYi+ujZg8P;Qzso_5XKV z<^NFL$^Qjg8yolk&i|QAPFsFS8C3Ek|3@M|s} z+I_q*;(f(C?FC6&)A=qV`~AkRc-JzzH-GHW$xirnHJ97NlkIuij@xl<0@jJFHmp-Q z+~dCDm8FSks<^frH=uUJTYbz0B3{77qb_arh)YiDO8BIdcx6X6OT{ZYCqryFc~Iwn zT<0I3ng3JrC*KHIH7!ZsDM?$@UB~2+&RuabpSw1EZOJi8vUOZST^%F)wl5|KiGR=X ztO_yqOr^2Ot38{z`!{Ik?vLbMa}1F^F~1Bfp18*GqL5H=*UJWVJCxJ$eW#qr2}!@2 zs&cYATi?HA>-*{ZR~8bjMpYAThn-8!D~@yRB+;dNgQm8j#K+~^x3jFFeEp`Z)vkWu za{`ck?e1pU+fR9_TKF87ZxV06_yBNdl)uRV^VU(~ZpSa)et%NlekTSSV)9-7k}VC3 z2(ftknJP~*S03;bmhG!If2bmpl^{9v-s!US3RMG!xKaakA}e{b+jbv8octYPn<(3U zMl85-+3FWxFKsaoKZpw;u>%QrF5hLyS+h^XoWy2us$05FRkw{O)>=rR8mD9%&UvjF zw8c3uS=hw=HRZ91&!WgQ`Ty0qy3gKgv;B>YGI#R+kLFqaALhRW-{mU*$8moiSNX5x zf1L9_k*oZ_;QSwq-#Fd0C-a?fYjMnE8;OMAiHb9Es=?JYw=k<8(MC>9%feSPI;jX6 zJQE02S(A$WQyLpjfGDR|@gmV1mhj^+!#$p-lS+w8-KmN(Z2CF!q5g|wt2k{cV15|g zmLt9;`~A_qIlj9dBelQ7oBiXV)3f@<12<>&i?@71NI|7Zdm~EwasTC{)-w!qTzn|6WZO-JI5pUCsZ@2R85bw8Jbw1or zhcx3`PU@T4rdf1puD^U^B#xixDSJM2;!X64=TdnuD&Jo4!IX8X^79*)GEHi%k9-y| z>+mgD5z592SqTtW=Y>81OgA2uWR0;0fw_?lGTCh-8We#tZ)jvMuW_|*vXZ4A9SFi^9FJ!%e{soAaB~Nkvq5W3B z;y&?~Fyuwu^6R%XH+KaJ-YHmPw(J(lUe>r$J{$3t-TIgp9q0Lcf!Xr7#+6g{OIISV z6SsyqXorP}CDsr?&Ezj=^(zY25C+N2-4O4S?KdgLG9bVsSb|Fk0Rx)Etz3mTn>obE z2{__tC1kPNz6lj1QB4Xjfn=rq=|k4IqJVX0F)PQD+LUc}@E5eYe`-I*WKd4NDc=(L zKA9(H4I*Fm*tNWNJ*?Gc+tm4yA*^K$RXe2RzWI}Kjd)~-{nd_UsG}2i$dO!?Y9-HJ z_Fp9~2yBG=@4~e*mb9I%F0F3i!jKZ>q6J3@Ww}Zbqlr2T;ck_v)y+CfH=Shw7tbhk zoF|{`I{N1?G()yp7Z^>v&Q%0%fk)H$+vnl>(YT)Z0S))e58CSb@-A^@+ex0P?4Hz< zJX*Z(=g~{ELC4;XHAWUYAWO&Jmh(W=eujYchWNX>L9tsm*}Bw9Mz+30#JFLAdk?@*w{H%DpTDnE_<0~zN(O$` z?onAX@w2EwWw|PqWxI=?f4}$#_?h7(`2P_<1DVbKulZ;8YyWTfxs?1K{%NlzQl?y6 zpds6Jpo^aq;o%hjj7CXs!at9FeGvTQu28_2C$b<4= z7JZo={BF5I-MRf;)SW_GQXRaFF&w{?I?)_BwIluK>QDN-%qid4XmHi$ilDjHpW2^j zww6O5nipZR2#{b!lRHNJW0PVjot0^L_- z>3j?-ljD4+EEm9dW=TX2HE4Ski*Y0UYPFP21ZHe6ov$k2Q*Cb5+uzLiG*X4k*Z?jR z9(zgrP)o!$qMH*Uf>S)FEECl+K0}hmtLhes8Z9Gb9s*It{qSLM}=dfzo6b{9Ff6M0Bwf#C%g$8JszIQ0J)QvP3G?&GyFefD&fxOi==>deYE< z^^7z#aq;1b(n`4(=-lW)rx;#LL1#Y*KwJN*?*Y&$rX3!F>)=#lE=vJ~>27V3W!ft9 zN2kHF>Q!maQyMg>n=5XrZaL-_8oWiO6OgXVG-5MooMx3-&K(nq?G%G?s*f)1EiRt! z>yQX11CFw~#(6>v%ndBJ%m!$EJP**iLph;%yeW!^7OlwAzUDg={AEZshfB`aIUP8r zP*RBBh||MY>r@Xx^Q70o=zg47 zWI@5Gi9N&%$V_^}!D#%NvF7|T(f?6V8|eEO22hja8Sn@@>9QoPVls10W4&fKiYVbV zYm4vAb~uHT7(`(q#~%9;w}>?qabRA_WX6i6+$W@=i7BrsWIoQtgUppw=3>G>Xi)NwKa?N0D|bhw0C3J;Al~`7#6PK1U{@(k({(RZ zwY9oQ*PW;9F3GHWbw=GPdbNS_EM$;)g#{mnkvR(dT%oGK6riiW8Xa%&w7MTPqu?+kRG|kJolCu*I z(JXVYpSYD2&Vb+y0EtFc*^sm%%dEIk0JH#FMA9t#{xXRnkl6=cZ7qU5MIT>juzgnP zlI}3o3?bdb4xtXkajll7IX@xm1rg|uT7sX!D4vuYCq%Ny?|`{m zk2vOs)g~)14MCh4SAHdA8~#(ON!=DID(atV(htBo;YYBi25L)2Q{A#cow}Bbhvxn( zS&k4F5CK0|H~DUQfV_D8v^vlC= zUZP1PIS9z<;uvI;5^W z4O)?&CWml1E=9W)`fB@9y_O5Dx~NjxUc{CeMu%@-Rb}S$5>?ehA`h#wwTz~0{~-Ge zU3v-7cQiweyN{u~O=VeFl%LfKg=|gdIfb2Rx`NrPi|9s|L7X1!Z2HnArbJKj5sZn3 zLmZZxW0+OTohhA3xF4k#T}yZM%v0_(4JcMJ;u9e$HHk`3M3jo;R}+~5H)Q)Sxna1Y z7~PO#f4E6iT>-9omD~371llyD@4U-2@u7?l<=69&DB6=9rO1RipqMv6- zo45X>V6p9d7Zx&nsy(P$E%wD801NcCg6yKhYUTAH8Y_yNNMJA|TAZSVv=R$qvK!|~ zM_t7g#x4IKg`biXz`E-O4M;Vp6%9&O0UycTXy6s}jnGAWo`_e6iYD85(_@W;@m!+c7(wE%ayl!Avj@#z?OSOS4)VA#S1njl3gGNJ z#H1pM(t|t^`kN!FXDf27zy>D&<4f#?*lJkL%y*V?(6LKMjOyh{I=(0vA6ukiRV^*H z$54+H8YdZDPrGAI(+n`VyW9PHJ&3Ru(ItsCx5wT@M-v}PL*jWil1CgzaR$kob}MpB zoPA{^lMW!%y6Q5|emP^%o9r$4YJt@>iX%qrTu$nmV_1Xh^yz%5UKmAIu-NRAt2Q@9 zCoVX|H!VmGz1K-??h2WaRf$KbRD-Spc2uB~14+`L>thA>reQY`_zLW-q3`<5{UtLpdCa#rb0-txja;kEZ&Z+~F+h+_D1$P(KMImZ zML4V6?fzqE7EM4D(rJ!JrFoh(uIRH3yq3Vj@1K9|`fmZRk%nTR$ZV_ENV94!p_k`a z7&5Br94J;nxzi^?xz*-6KLNgL>i9SV?{*Hr)%F(D6?5V&iMZ^K zHXNeyhO7|klHwg)NT6FKX{y){EH%8e-mO8xIOA+V3A19T@7KQWi>)AM8uNm8!f(_1 z*+DkY9HsT3*mO#dPJB1Z7kiF7X`J*ltl|x}qKQZd)yhXHOtk_zXMXAwB;b+4R(_FClk|*u5Fj3@a{DF`9;;icS+$XNR0I<_9+1Ou+K=37)#66gUTDV*s=~8!;$h1 z&jcGPM$t*;IirSiI1$R*cr{~{{N{#u%YyRyNqaWz^PANZtjdvovuY&nboWRO{enOpEAZ%gFLAK_PIKo4^C85esGbndq%4iCoX$!q&to{{CJWME>P?)gT@K*Odk z4@?LpGIp+FEBNrNNq*d%-zeghx5FqGxgTSaY4BU&k8^|8OsON3y~}P%HR6&}Q#Cvo zU5V4+vI*}>bkK{Gq7cqJ$$T&MBG#_x?4o8B)hEx!E$3asnz+gyr$)#oAw`$zOed!@ zy+x)JqK18VfSf~`ew!Ju5%~u6!OTR&*;)lWV#><3p=!NcLN$}d<7;hQIkI287Ni?cgu zk7`>oXpr3j)zOLTv%)ue*kq#4d{$=W^SqgJb!J56yAoHifR4_#k74>K zdj_J*y=Q?kXqwft9lB3^gs3uy)s-q$V{SY%@O(!luxXSv{hP( z>>$BJiyf|Nu2spP{JJPC$wOu0UNtujNnrcBhNeK+9`c?Rm@@&C^v)N1Ss`lZj8IL4 z!3d;SL+6HDiq?6Hm^v_Fi|YCS)hRK}5QDjZ64gb2TgMe1Y|8eMvmrvLLFOJY zneZmg&aD4>UBK~~^$(T$x1(oa7@zmA!?NsLfu@zWfoYS$e)M%rhFN7qn~|3JYS)u= z2HPfySTwZ6-p*GZ^0nX6hdhaR*dTAsPr!fVy~I-dJ` zDCOdT%phr*awTlS?^C|%3YNuj%Y0L`74uix+d{P$#8s_thz$cv!$DF*Y=ytEN?=x_idw+vYBG;T;164nJykarJc$1g4Vel25=3^ zlB|?(v9D6p7QP~bPJVtyb+l_L?>6$Lq}}Lu1%WIZ=LH_|tZwHN%5vORR=1_wo-vDI z#Tqo;s9D3FzrA$HjLCXOpnNOKw4J!~#neP@=B3iD_`C`(f*s!)#aim9;*8dPqY30u z0t?X%J%miB%2We401v;pf<=5e6!EXDPI&0^1l_kGZ4@f!*3M0J#!P; zqKg%xeYMYEB=WTRMxF6+E*`>bDY+2>Zf+2gG_?`Ips-N<1$~LkE~`tmoi#@r9O!t~ z66lmUMIUlrJxZ-hgj=&DL1z8EJYT{s5H*8DKa|yltYP_bGFa^vpd-7wk(LGld50B6 zaI-gx8jWK4{1B0Xm}npi#fx8-Q2a8Vrc3mxN|Xp7Od0BhDe(sezw=LsK%W1dv?dJ5P^CJ6jD|DZMFF;Hbm)FgoCCgc{V)f3RPe$ z&Wjwu2WOx2X69{@`&@F<@f|avVFp$UQP2xd-m*|UGCP^~O17-FOACb-$E?t;S*4!0 zN(7iX>JwiLvTTj+BU0c?yom10BUBzu4q9#6DbtSZh#P#5Hd4=a%G+cANtG8lHf_-P zaHW>!J!l`GT67YiAoZ zRev|kSXZ#e6pB@Lg~rc~`p=1`x5XZZbwrJM`xWq>$>K9E9sWiM0#nR`Vb;DiO0JkC z<>Ik`chh-s2@%Hd)rz4cmAAy3Hy#%eYFLYfQ(2}FF0`HyrZPXmq9~Qh$~G7KZZ>P1 z4dqXW6!OJ-QluE3N75S?j_~Y+3Io#A<;z7ki`JE!JaYtZ>oitc5pklg*IvNnfQQm zJ#e^FCp|rt^sQ9VvO1zSZDrUL@I|Co=^7T&bYQT%)U6>PjW3bLFBT+c`D*9#035C( zWdIA}^t2i;$me z1tXf$ZG2VC%DR%FIQBF+_UT&9u`>_`Gg4f8bG?=VJ19$W?w3N}CoI#P8)de};-<(P zd7aPegm{_|Gf1e<(8QiNTJ#KjJ>WnFyJ7OhdO{H`nO@;$?2G0(MOPp1}Cp3F(vEsr6vgX94+O)-w>J4XTm6O*psyReg(=$~~U#aGL zs>w*!py{(XmCP%h>}8c z=|!-vtkDJ4BABmMjFuP}SrHU@p-(841u&H*-jR0*0O_Z!gY{3S6(F9l5m_+-v03#H z``~@^E3PrCW@+{7S}>&5FS%nORRoRDV<)j2m53#{lv=a67K>8ARY*y$`Qj5JG!G$@ zb0Wl2Jv*%pV3JcyMfMwSD6*-2oMahbeCTn7)D7)jq&5fIDJ|ykHw9eF#SLKk3}$r! zalL>26KS7)j7&IjG5jtumM>8y^s>Si!%j~>)`XoFT$*C1cDlZiB=M*byActI6J*+G zDmq-K0HJlCL`!yU0&#Gbcu=5>GZghF;<#imD$kZ7$6|t(=*Y*E_98pjJ+j~h>VtNx zGph~J*Mv`ijrWoit-P0n9~|$cB5ql)QYoB)p(Wl+BIcF%lH7#M;SQp}7_%dmB3dfz zy^FI9Tsd|>26To3>4*KN#TqrWO;NM&QPt*iP-CtJLT zJ%O%>aASuIYhcAv!R2hfMh`qQ1MiRP!aw|zTliH{c#eYar-?4C7FkL~?iLds@x{cJ z#TX_4(W_ztl!HRTQi`fU6pa!E5D)ccKq8Hu#TAr=CMyB9RZkrt+4-*vXquRAK6^xg z<%CqrZ%r+=R0)pr*gd~>9AqrK!csV{PtCr{+F)DXGFz7E`rpnj7XkTBVO zk5NJ5WY#`2khNJ;Z^u*%Gi2Qe)Kr!EO39pHf!2PO>5-#{*ah@CA=It)=}iCV=r@QH)BE96tPd9J^q zH!}&X@McF?PSc^stIbKJ_?e+6`)bANB>FgN_W8 zBA)jmyKh-fE95RGf#=CC&G(I_S1u#7Pypt!L2I z#2NH3WZpqZHARh;Y^%(hb%)wl!3dC?}W{y_jUb)0rwh9&*zQC%G zd1AQ_{`O34Vm?wy!<3lbHd@F!`mBh{>{T{xMppbN) zVfZ5tso<|rC|V^;n2F|ak+kbI-9)?*{SvQDJQf|F#0?Y;mS35#c&2u#+pPam56wDE zH*1Qnb>@R^vkDZ2Yuc1Oq|;KpR-SQ`0*O~47re4z$O2u7n5R|W2kJ_m;Y{lBFCQS^I+g8^ePoqKlr(H`*`3@yMvAF1$G@ zutNAkM}WNM(wLGW-GSYpc}j|8ZWNjWsDRiJgkIB9q^nnM8g;OHE5A%|gAA1XdAs7> z-Y5!KmfC+kXn^^%_JBAa8yW*#_(In88!Ad9K|_VeZTPc7i+#so9P#t)P*?nvK!*>? zlP`e9k>%gKI8Tjv_wkE0Ke{|04XK0>&%geVrgZo6zqQC5U_HHC|~G2(aR+t*VFiF#+q_5r#l;y*f zS*rhPB}M$$L)I7!?>=$<=$0nI88|r`7UKi2>ECMU-|FzGA#+qwu>7k0NQuP%Odgxg zfL5bEG^-|J1N*DsHGE&Xr34l0XQI9+wS@p`qQcmVUQsL_yF{9SON~3&UMhpFYdQ2I z2ZT|Z*b8No(*eWnbIikJxNSxrP+K3I(UO81FdhfB@y{y|&qQG%> zb^MlmNtX1byEj8#vduxWns#XI5Z0;@0Ikqo0W!z>VXhPwIf2Dd&U3S+{5g~_*XA@& z2Iq5u&mS5MkI;m16>&H1=TP&|*97CMlqq!RD$!(X&qatNE9`zKTh7ob^XtSuepvaR z47@XF?K{{73DBG(HLcx=%uM$8Xc}vEim#7$Q&>u>`Y5TajuoNgsTl=6p_9LsN?z+p zZvQAcAmgG(45k6vRKFGv;d?F(YXoG=B@n&X;)%Kp(VP*lgdW zMVzn4sQ{yxyD%4cmSobHm8Dq;Fd3LW5Qnuy$K{1W&-zu7utIe{-V93 zV7a!JkXYKA*N>Z2d&^Z3ZO@aB(%v#|QtfRlJe5ZjCgvW>T6RB`gsjuV3A++nWER%W zZ#Ba~N6&9k`g`Szie7QRCXLYR_x9eGgkHb5hpZBM{Wj?bzVf`4_joY=k-7V#>59yr zX$j@-WZ1-zBtSfZ(!@R?3q3LfddRM3n#wVT9GWn9dxW4Y^ehIDP(c4n90KVhfQ?_f zDiptYy%5Ub%)j!=_!=^Q4q0~q!%g9X(TDnwme;_W&=Tcs8!vX~V>dT0ynAfp0s8n% zJ_7F^A9CY?_d7f?P09$ELxsi3d%&Dyv{W4e}IqW8oI3r<78irQYgrnLRN9&jx85i zu{k*+gRi&h9G?^4%nhISvX`@uQ>tZ?^EjWpS0V95GHE2T-7YJpRXeta#sHuG?hGC~$y9qOGNB?4GKz5CuH(8Gt4x&}5;Qs!b!zONa4)4SL9M zh(`1g*{GA%FnI>Q`psk!{PGttXN#*e?3#DG=y?lAiQ(H^pd4maz9552WRo>%xG`nr zY|_~ac}1%-S97OoI6TEg!{Izyg_NZ+hBa66v8oF_vAUs3q<1~h*Kn5DWZ&{HRbclF zY@DMD9NfYMY%dB-&E-W;7Cl#hs)E@_MFe=ltHn-l_g3?(vN}-@wEiOS4w?+Pg{NKw znOk{-{tO{jgyKe{UpXE5H+~ka+wb?iw$#7pooM6!@RjV?3}04OR~_R_x4l5iP)_#9 z!p2a+2BZG7PQLk#M*a2@mIVv;8wKxsDH`j-z>&s@YmD+;zS;?7uC~lsbc4boUnInL z#VJ@sKeYvA4#gj0B2`P!7kJYb*h@14zQB54U`MckGw(j@WN=VIBh8^|YNc+G??KBy zGIZj4qkKoW$WxasFjyey4k9JPoahzo>Stw?Yj>{Axf1-BvzvzHW^>;;x@|wNbN$x9 z&e6}Z3)c9}0l5N1rT+rFZ!eTF0f5{`kwCE!y0MH<+`qqZwF2YD&w${bcY{QnOjC;Lkrf6|rhs;(Na6fdJ;Gg!Mu0Am2MyWYy zu7>pcjF+wImxcWCzG+hMN0;rd^1b$vrUgAhs~x<5k$$I81R;d10V9JT`apUJmhXx% z%&S(@rk4kzwZ22Ed@(_GvR4`$YCPvGfyvTAr4f9gz&joiTF2phk!`7Bn)Ev|#xPqA zqvYfb9Qni+#mNi2)#%%S|0NTA8FJYzK z|CgtbX_WdK{kaQ;u96j6zZQMOZNKb)8bJB)K>par+@kJRB|1-(H$VBJEdN7)8b1MPx!?ENjy>!B z(O>ubYM-EOoYcYkpLi>!QDzj>hpZYXH2}bddFYt>|uvfQxxxpfP{dU9v=bF;9`mYcJ z`;3B}!Sb~c!?2>d-FX*CyCn>p;H^h@oOswThXk3e1h&uJ=KSiw)!=<+g)it*g7V$d5BHpRPBHk%s5!+L0l{JpAi2HR|L<#(thzqc= z?Ms!_);Pil1HIGyz8F`mYFuxYa*p6=l^`75ulVU}eDUM9jht1SOPEh+j>4n>_50>0BxS5{ZRa zr~@Pd{5romfoWPgLL!Qtj*!?d-i8?CSp-Q8-Aq)<2`}(Nd`etff`q61mM>Y=9ln+` zY&{OnBWC!m{t^(eYag>^u@f$FX~CKc%!`WmI-el*i@Hjz#Q4Rag^y-S;^+65D2qjW zD%PLCiuzPso&9DgdtE5|&Fbtm(Umz)OvPCTjj7n5n2MKBz7tcCmZ+GDK6VzU3978W zCCXUp1JsEQT!l*ruBf>r-lKnW;nOa&nY5I>V;}yk%mtX&zAo8*;z!0`tFS{KVdK?o zc`M%+KFvEi2PC^5y$J1EXfT&GHyGtVMH0!pvN{QoV%?{Qg1RtKG##1myjm^tH*a~c zNa;}a{HO56SPjM>sy9~+U4~-tZ$62#vNicZy3!2($0kVcBkPq-EAJ7RLMhGF(YUO0 z>9_CcxBZI+dt=(7$1;ueJ-yQJdtil9$4=bkH;-|g60Eirs>03TN%)aT=)=4-)r-2w zz@*{o%R#G|adzcMBUU*od=#6dl2z%piN5I!0&)c68$r(hZZZ@!V})gdq2=C+C)JFw zwl~z89#bMuAnorw6dV33dkiTM=c{0ZaOdcPn@E@y7H5|iZ)wt1x~4kh|I;zirJqMR z1~-~TYWpn-3vsYvreU%SJW?PQr0~&{dAXEngc?^nYJloj2OMTCwjd1D=cmyIDqW{a@f;*4sUn?(CqJJe%sJ^=9!mT$`bC8-Hy!i``p=PPI zaE1O9AJ`bJr`B_Q&%Nz??tMQ?r{cJ!#tH9MCDn9kGDSz8NiLLIzhjcO>m?e1Odd5r zr0=eAI$B5cXyySg_)7Ec?NylNYmt@wE1p5(fs%>e1L#j^g&^Y}?>{5+kDXYhOy zDdS&o9Tl>s_!T3i81byU1-%rIe6=6b7IF8iUT;|F3GruzYVh=g{~(6`*T^X|Y_wWx zsIge-Kqu}}hbDj3NzJ6rp@2rt(cZ@6n#idDZrV-2bYLjnr!l&8zcM0h{L1&*`+MF$ zabFg*O*)5eR91ymj7Xn9?_+F zYWi3HKGF24lX|90uHWnZ=u4dOG*sTctV&csn{X|sa3@3>v>w-tYZmjpHE$z0)rwk` z*PMqc{LCxF#`_pD3mG8VcWe-&Sn_E6*EP?F%xl-n_!T=Z^MAm1cPamWjqgMMDAxh_e)sx6sAtT<@cpFZ`k&(aG9tTZeD~+> zKzx_+HihqYJf!gb+!KF{?~}!lR)_NFl}l+Ek|95s&;8;N9@&3Z!XvLk#(}lBp>nvI zxBcwjWkl%lmkWfNn8S$)1!2Ol7K-G|DM)8cXgl&>fsW)idV8mXLQ3Pt$#<*m@qU3j^V)5s3B{jT53+IE z7Y8SHvdH)!@Xa4{OTf3J?@j*bzWtGsMUy3^xt)ewT~d%`ufb-UJT*-ZZ^(C9a?DyN zcX;ee{Hwh7lJ-!hSOKdq$Hwhz44-_El;4x`=MzZzu~_7brGBTr@2T$?DdTcwBktHv zbTM_<6(4RHe;AnmiGC54Oq@$=sL0<4ounr2vCeb}fZRaRH;$%Z3Qa_^SS3AXgYyWP z{#k8*?CAhRc1IlqAioEXfzt9t*gpRU@MtAzchi?Ygh%ptQmz#!H-$$tDWebdh0IKN zTsf`@JO%+yD(b3G*w%x>C#CRa(qsar3%;@rf)&BvwUV%xZf|$Np98w^nFq-rXzVN* zT1m4{OcMv=zXzYaCCR-k0|=4q0gqpdMP8VnF*UINO3o%2yh{e2c#pRtUPcqtJx5yj z@w{s_KN9B>Q{$B7!l|AqxBU>^)bS%2Pz%p@j6LBt-sV+gH9}X)f-9Q(uC%>M=H|Z{ zkNt3I!GZDE|4WUoK=H<7HyWnS6$dz+;;QuRfOO$T`nDofx`c=2 zkJ6{k;VNb;Ztrov4_)R3C-bRH`N{kSlMxZT)lRgjvnfEyPiu)lA!yB;C2!(`(M*UL zwZq=e&@MV}we^IgtuFsK(wx8z((=SCew-Zae=$1j2-X~7JYwwGNATK;tgH#mtIcPm zIA!e$cKD&nS}gD-EP1ZMCf~?dj##~Tu+YpQh}lT{CHd@p4w;+nAl$;Y^Y|7tHyh?5 zShKQZS2TavXXTaykvuPhraGWQ)T7#CrBw|vn~Nm$N7v<6nYv;N$BUt>Vyh=z6k=1T z5x;^p%`XtMUWn17#e$+xHcHl*y&N*4ct4QSE!eocx~4H$bEpwrhOff%3GWGDq(p3| zbxC#;;99Rb41lD1R*pj*_65t|oOF1I&HNqq8QJwoCd={J(hqcVs?t!8>l*h7;N=jw z2@J{J2H# zh;VJS?>c3pD;lHJggJIIXO2P6tc60e?qZN%4hopWur3BV_J>y_|LM+O51=mw=a4mD zw`GY?sDW8A!eL3T$b$$P>%rOb+T0N8u+ukPq8eDQ2xXW%>g?R^&B8}?KRkR`g&fEg zy9%;4OrR2vE+9pN`Yn>&4N;f%*nciyG~(6*brBfuwlBsAXwHoS=6p1RChDKT|Vzr+_cm_>g z9YCN#vpVCg8CBR63YEosnxCf7wYdRPRYm)Avy#ndqI|6GfQ7ta(uvq!>*!c8o46CN zI5_^tAo#|N3XYQ{A@em!KsM=u^O_o@pGrJfx^gor0MaldVOAn6$f@JBPk z5$L$zOgNz?`_GTE+KPb|%QP>{%1%~ama=fLT58mPT@r6T(Cpip2F&K8=vP}X5haSK zC7>~k`=&fYSx>93v2xg9t4NXkT8j9l?NDV|PRCyW2~H0a^W=*Q z$c&y`HA?m5{Vy{p`eqv9QnWo6r!IPujL?^@0tf3s0lLwl-srH@DBocC`fXrwL18T$ z1G6SB^T9e@sY`rmXo8<$_WQvO`$OGc5%Q5)ZQc>-=6Vov09%ssn}Mm0CAUCr-3J^% zZDlOt{x7L5e2PE%Hsq!F3+(4+jWB$-;HoiZZ~hOyJ5|pU7a~5YJ8aJYrTRiwVOaKY z;^O>P4YERSZp*$^L3ccxzO_w)-exVlkl%#F2Jwp13O)W@tb7fX+U`gOJ@i=jDVS&P zG-@#Otv7t3RiPT<2Ssc{k4P>C;)88_JdAhdlcx8}Z&CdiI5~sf|3g3g3mkgC_hCgP3Sq2-UpaIc z*p&h!1A^r%!`pwC0}iawzFF0{1&hDOnzND`lhcA7;BU^Z-^Ss|jL;7%qGYf-3i+m~ zaKGIfQ;!0HsrWA;`(M1^_Kx@XJ52dz6r(1t4%XCrXtN3=AKjN7Y3+OUV~!bmaxyP< zBtZtRgoumU)#0lp%KSAP92OaEHq?KAY;?Pi!Fb}Og<0mx`tO>v7}isaOWpq5CepUs z=;DdRW&`Wwcybxm(UVfu6HU7~kgt76b%PPRR|O~sDmP}*WYFin7x*B1i8L)tL=^3TFV-XVR} zu7t+IZDnG3ko7gqqV``NAk4jZP`#XdL;B}cisf0(f53vECIQl`o@`l)oX4!>pF(j~ zkh5)8hfgx13uMsA3Kv^ljXXU%t!&)D=nq3g=PKAV*hA#%XdvoDoPRPzT2av)=H!Ok zMYsNJst2+tTw8_L^pQ$h7$#baXtLR47xiA&2PHT~vnz%s&iiY#Eah{XslQ|2;k>mw z$Ez@zU8#b_!{(fw)|T6{&5RoFUsUK>O_KRLdvTs35;A82!uh`1PiQVoewi@&Fk$j> z^6l8@HlM#+b(@G^o|;eDCOpoI;)$IU7YD7uMb$Oe$_ap5Lpkl%=!3>%qIMTolsi_mk~j_bV!!DT-BUCyk)QGldnmrvvm|H;_-w)Y){CHv6WZ%#E60-8V}R z!=~&u8xRfQ*0TP^(Wu0mfjqM!tdd-TiD`4>Yl9Qu%9l=fKar$y(L1`IH;&ln-MjIi zj!hlBR@@{{k0~dv%t%V_p~JJlJ|pR}o@@n4tRW|B*;{&x3u$D%|MeIzls|>viv67w z(Ym_m-e%*j_WPb*KIRJLz^P*e0T270T2;}zO+7MSMSQpllnOx5{wh^@!AOF!Ts1>w zdMbIQmmu&Q?HH|_&u*L1kE*Ueq`MxE-Vw-(OvRZjb1TrHx;yn>yWRPS#=3RdKi{VW zns-Ly;zKly;)bd(=qIs~wyFzE1pue&{w|@vzNv>&+(JqI5|D;D+bGqjPYw##(m5wbq8f)l{i+66;__%t@k)pudlYSX%VZ2 zs3Kmah=bPsU0m1wE*zdwcMDzj#8ll^OWjYBtZcKuk$5oNJFra5!NK%ers$=x6viO+RON$W2_n0D?*s%4HI!d z*a}%Da{}gPiZ*j4_Fv@KWczf{+JDNbP*&_hYd|U0M7~cPMhT74!FC`5%z$4QCp0hCm1zo$7vkSFrwYpXGQYW z0I_DmPK+j2cLL_EM{cPF18mmoAHTs`fAI~7wX+mY&@r5f&t`)d&QE5{7+ zW5qD5?n$|V&zhtV@W=AL%VnxZt?8J3E8qcZPbJQz`RNAxt=_J{pB0Su%!)h^6bGk> zMVpcMwbJzSe6ic%c5V$K1l^)^^ag*w0fM}U*KN- zu2J(2M|+lp%J+s#LRRkk)!dvIw8V#HK(V^wM{+zz1eYY+VCi^YpqxCi+UkuNw4x+r z=DwfImAhcPcL~i29qOxHs;WFDXi^B7QAkIZ7}2FAhS|w5F)eisnLV*w%%IoG(Ood7 z&%pK7wu5q<_V{XrwSwZ!Bm1_jyfOWR1oIOz@yH;P@?i?7Z-4HRiBO2kEOx%BhP+EX zYDh-zpY;$tBbB=~xs!F!w6rj2Qa{Qpy%gh!hUNx#0stYdkTBKTPs*K6wFb7Bp z@|Prg-YeC#U(;-`0e1`jxaR9CV;n zN^C)iNKDc&UJmCY3?j|^jWG$oV_5wN3%L`wA`6P>i(}uF`AIe<_ELQ?;(SH>Zo&Rw zCK#>NCEh<@bjKeI@gXd8WWPGVI0D&>MMU@O7~R*?SG$=ONB8yh)xM){g1#7g2XIzc zDRFwDaw1g_>obTbj4l+nJZSw}V8+TKm3rS2cv2h*JN6+B=i8S0IRH6OzSI}nM;Qn- z6pFwd&H>r=O!P1l3$(0JBNt`SM-h38I*TIUSH9D}T39=i-2QQ;BDbputE8n;2Z~9N z+aq_2@8oKevt50$$Jv{a=pii<$ogt`NTZ_X)A&xj#1HzX?y?_kl99zZ&W*9XG(Zl) zq5TFavla?qr4#OEy@smUC(0{po{TC+y!(Y#cz;VX@^`-#$s!)3S^Ye|%_3eoMQwfN zh?LrcER<(&0tTXYJcBZl!48|X!VN2!-~QjyCk_ex9T&PJKRF?i{$pZlrP{$vemE z=3WS?Wz_of6{@-KeCpP^TuOD()tu%gHqnIt3G_r?IRJWdH1wX=2LyI3tDEw(%&>e9 z)h&ddvO3h8)qhVxR`eKq((Ssb@9~h))Xuu8-MBcAB}J;KS4SnA%X9@z>FX$+`Rh;I zevTz`VhG@9sG2P;KWNM7&U#@6q4Z}-B;J^^Vo|Gg2qbwQq}WVJlQ@?CXcDa5C=EN1 z1j|;t3Km=Mzm>=n)jIOT_jVW9Nk^X0N>u@S)_t{iiC}1|Sj}ddCn)^|3S?B6hjW{n zFIS^gl_EJ3h2-)|C4_*aZ`VmrPqxv{47eVBxgvpeAG@HrK&o{~pa6xE1HE4$*TO7V z|9?UW$J755CA5T()}y()d?Yf)4QHT4Nqn4OE_`K1qn_1@PCqUh*_R7U-A09{Xc~#~ zG9z0@oh>KT7a0x`5*H1%_5i3afz%F!`W{jr0QFOu5egLVCJRvS$pk75b(agpF_Fw7 zzZ3Uy!(yM1hWyFs*`V%N16yU7Mpv$NTsv`Hz_pa?T&^WtXA^XPjwnz(7qPExfMn#V zggVy>d1f7R0ENrwg(F^&A(PYBop)VOFFP>H(gF_ec%a{Yv!L z1Tpu9))Yl=R}&JynvhU@MMK3!(w#CDZ0;YDBW=rn`4UA%=0`3S-NyG6!j_>GW7BWRV-o`_=4DX%QGJ;+%3ax_{tt|ABS-cEN zm@HReUot$3o&Cu~XUgHL%|ew-6!2rOO23SVBlRSH>{rq+hfzo3dZkeXny&Xx`DT?M z$;x{|wG#!jYJFMVk$YX`Vd9UvD>=WWjiCJGH7~#wsXnfpnE)v<7fb7`(aavREQ# zYWuST6{7G_2HJyx>ly6$r|7<5^?4=V&_+neth#Z^c6d=9V;ajc6l9+zUC-LMc8?C$c4&83rwH#@tBT-e?7HHMw z9fQf`krULCff4VE$$N8RZHshIsxx8#`#qUVLsU;t>tpiZ^u#Y+De}d{7m^aZT?xi3 z2N-5-Jc)x1l_If_IMSKFq3NihxKvaebA`Lr%Bt+dsw@`g%C3mG$pWWJ_IxV6oQV1D z1aetfC4MWn9dApe+oIA{j&y-0?NTvs72ND!Mroj3-0VQ02@7NZ&8LC(L~rO}KAowy z{-Y?=L!Ftu__*BZ#XFFBkkKn%IgAOK-Zf_Rr7Qi%TYYK&eM0E|hNdsg>Gu1~ zz7qoAofRxCvj<&j2-OSGV~N0yq{%+o^+;drA!^cnh3HwZb?CmO)6d=o2ln$ax{}e) z(SsD-&+A1$cjXJEH}};ZBjWIAe*Dodb0GO#f4r&$#_P%)G_Zp30K)gaSgs^HiXV5p z5PRps$30cR?wbax3O?nM*xN=?h07tC0DP>g1Hi!wfGg8vP{eL9Ap>j+cTWa*R%IK% zdAA1R-I-vVE?|_k7QHGn4Em1GAWJy<4{Iq`-aTpzJ2kldF?F2-p1N&P!?fVu{QgDVmtExcWI^C{KTGn zuG7`O&|1S>7K}%RIo-t(rW3m~#zV^8^_IYfXu6BJ?aZk3(8|GCXgsX90222Xa5RH; zx6n(lrW$&gz?MO;(NWWgLmj(s)?6SV%bSXh)*jR;(a~EY@8JN*YeBt!t8W`~P5sx$ zPyUHDucLS~`6o{K^r;(;@RXhNEOIqA<`~znRtwNps|U+vB%g3te&TplLS-9)=JB;0 z+S5(tqoi}x4R|<<8?h(WCko7!EQzb-?;e**5wfy)XVH{xdmFPUuer~txkJECkiT$w zexju=dqS#gaimtQe9$fXzJr$iOV{5mdkAIUCK(--NRfDz2TqXq83PoFzj{S}R^mlu znAN+DBEiYBFxZ+GLSnV8)D1xD$&Ir}U#DSIc&jwR3S{Re+VK&*ir_>hBBKHGQ6Scl zm_b}?5{K|2qdm{lK$oj&&!GOQJtxy1`^2$I;3u9xx=EgCaG57hC!J^4<@ABZWR@?d zzIf7>>9i|JYu86q`2?mEQcR2$_2<=Jljmq>kphT8p|H!$a|O)!sEsX}@|i|q%cG5& zae_h)bDwZlK1)0V9~F(kHx=uzs0wSDxjU)?IzqfMoOqRYrW zCPdfec&W|`ACVud>5JId%>wJr=ug?PF|M*}H zzg8t2q8dJ4&N>qCnDdn8K>Kfu&sFW;pF4J#wEt0GPLX^rzavr&&wG7BHS(WoO2)~H`5 z>qcFw8`a`B8Wl9Js7MTj?gcLMfEyG$fs<67VJRHZL(*$tlGuInt460`jMuenE?X>| z6uw*yP!rTh1zFz1jR&p0IxDnBI%lGEVml8yN2J^e5=a7wPMnc`=8n~}M38GHnfKUr zw)h3_RZ`Yv(PM%&Ssb=%YmB%WpQzviGAe;YJhE6osU%5R{0-m209q2FWxjg)jC5 z7QOg-HN9;T>FkBp2chSB?8QRQZOOv?>V5F%uA61j^BqFZi3X7ps}qk1-c~11b{Nlf z;Ho(50H3b*yt4cQ6pb<5gl|!U&l7Y2g(o(LD|n;C`?*u4g|6QrgHI@@%dRq~wDhYF zc*O)LRh+L@ybx89Q@D{Lp>6@=J7zCOEvLJyYeY$ z_8q`_9pL-XoOh|DHD`|EGHEnwiX>pUVFg5$Wq%Ec8Rc zcH|iB7Q>|MxN^5-R%q~)JZ}L&cjI>it-j>Vtyh`Yyi&e&;x}&k7{}|VEaNLvC8Z{p zG)r~K_Y!;4)h*(;g4<5i;nxnUl*u zLL;nd5mS0MFq+Jh@17lkOe-dYhb!e$QmI=#%ECR++1!TM3f#-%vSmdg}dV<#0}laR7i4 zVTa0hfEmF<$kz|?KTm)bGQW1jb||jQBr^N2Jwy69b3NY)?0%12*cT}mwQ+n4dFSw? zPFL7zUyMeGy-b~cL%ea7E{21iQU;u19wfb4Rgc2fBO6gg*rx@6Tfm^G#cz%RtuLkqTK#y@4Twu7y6(N={4zTv@+lE~lXV>fu0p7e7t{_42Rs@)LfH zc;4a)*&_g~xbO3ZATPI_8nN^miUeD9+rzBsE>b7fK~PSPhtJVF3_Lmhota|*IdB@f znuLjNP_82iU3FtahmYyE zJJY*?c48`@luYyqhrKup&JSVW3_dC-sP`2Ki?s-Fl$iCP%5PrOuEdH8 zbNNZYwvGXE<*}o{51f9&(~XpR z8>zw2v7GKso-@7;a!71OHP2nb=d$l=E{!Ur-rM*AdYMD@3`MIs^gwofhw1u;lF;sh zhSSLy-ZP_k6!%QN_QOr`7|@J&he&VExDr%zJ*w|Xg~h19PW#isf<=)B&% zVVh?&w@#QjF@6#5K;{6UKvddo4v$$k~0pIBGuX~6pOu^`C>tzVh@`5XV<2Qs^EToz6woppIWkI4OYT^WGuCc zZJ`u*GBd>^VxQrjOVHck%dog;eKz5D)FC;yUC7lcc;qPIxJ2xi^@4TU8RcqovWQ7) zaHk-j*^l#+-2O|Njpnm}7@$CH|DK;T|I?bkS!2w~W9aDRiFBZ_Ier41aqCYrI@?@E zCyWzJ&E@DFi!IVkG67T6zy!>ws!{X%%bYEXc-eINS?yV9n&@kam$|xJ7VL#oW_9$L zv&uxJ8!(?KlcUbAWI`_(agzel`s?eaA&>;2aFHQ$z+iNSvUNL!1si=eN8?)Ss%sB) z2wS$EI(2j#Vx@gVn)gOR7VY?Ox%5mOSE)^R%(YHY;ouzpCJ(#@Y zpURja+naK#INg;`wNp6b$!I;z9+n^(Cs=zci>B0Qrsl{~Gi2f7C-xuu^x7^%KSj;WWg6!%W*t#+&+?FrJ;d*?c>e@&-pu$&Uu`#p98 z8S8pQqRso}@&#O0*7I6R`CcXXKG}qC(*QLT zkNOL9QpdLDm`?PhRr;5OI`xT9F>uo^ZiAk?9l*?op>EDO9T~pB2IGGSptwy(Gjf8P`o{d?*;f3(<;`uqv*s8Ry_%Q&O zjrs|a(NeN;lM+Jo`o~-QHhz-pg?AAW896U?NpiXSWYo*S78TgtJ%5fl^gAN!IaW_9 zn#eLi*Cymf{-C)hV+F_dxNNQIbmfV@OXwzkgV!^$NvloAfgqUP0=5!-@5w zs@OdW2X|(QTC&?Jrn2&iKmqI-6`7qBF!^yjr7QQHU zgm*Pg-<2E9FI*8l(6w61n2u|Ee7HRdns!Pkads7Yi^bCS32Q#}I+h7qCDNo+CcMo_ zg)>D=n2YX3r&Wdv_S=F@x4>t}3a;Z>*%!&X>(cK;-(kPTkE)-Mlq!|<-J#m530CKR zA`z@O`C~Yq_0B97lamPy+K{e-EU}r2O4qA}lFle9GwWojq|>C2f@Yog^w8@NPSq?0 zneYnr4W?S0jCd{8o52#c4XDbDm6AR+Nx|b`Q|1tmYVT~y(cngFHswo%JYiFYk`r(X z4|Q?dVN=}bGO5d@UQbnJx+*v;jajLX!xK5r&YJNjn%BC{o18i~o~!D-vuCS1UDRz^ z&YCbR6ng74oGe>o zk|U_wsfU$2+?veG4w$<-D>8o=Y%py5*^dkUv(yRC^buHMAIE}_sZ7pO0yF@>5jm>5 zqG#loki`*n%-QzA4latuU|)>=3sXHaS>`&?Zc?38QXlr3EU)^AYf*Bc&! zFp;~hXR8>q$myaKQF=x5Ho2r9IXuDk>aCJHC4u_Rm8_aHu`i-?rw$Q8T<4xCDe?A# z0}NB&Tb++o)p1sKx17Z&4O*(Wpo#H=x_eG##eYEJp9)HeICf+R_~pI)6PhI6CjYfB z`wjz=Po0eqqO|W{8BY%MUCH-)`A*9^Pi0D1=1xN!Q1D0fP92WBo_t`^8LctNdl*h( z(*8#(Ov?Qym{iSrDjZo6u%!8Wv6&N>^mzEo-GDN=Hko7rP^-TY-%Y4ZyTcBM{41H4 zBY3vQ$jj%{OBKTTEPPViBlt=FE%S2xd%V1wpX8mHmmkQ>&*bGzywqgyBqAKz1Nm8A z@Yk={0F?3Q{F_5$XgdZgtDB8_@&3Yr@fCpXF;H~Z5tfX*k5>&XLDJO$W$r|ylG7WupKt(KOP=sfxR z&iOlHV@r$t4Sl<% zza9T>X_3FdymS8qf7JOEeSW?v@QI+DJ|XBmc6!4l?vc~U=d&LYOhi9Pt|uiJbxKxe z+<2_&)TNKO9VSk^)1C3%NX3BKGsucm8LRyyCo-)mkN(O@;Y_LEi+u!#`JzyEX;7i; z*sKa7N2m%ep#swBf%D>U@*e5{tn4$!?;oRb9h(O0R=`ruC%nh*HNVmNJP&7bn*k6z zcWJTHInEg$j`&z}<^w;6x^VkG`&klT1c3>S&s?9o${e*C&t!?K)~EK%%vpUj48zch z)p!fx6l9+joOO~TbisM>XN~ZJ(XOe>JoD`)BGR`+MzaobNHM5fEZNEW7bPfb^xRnO zdhfZ~=A6hHoe=pjxp2KoG+ZTG8?0txXyWC>zpG?RS!P(KW-16Co@h$fw~60X>0jkPozZ^+atYX6&H_Atm1~W!J4`g zjp~>s#nw%wl{c1hgiNY-yX&4z_o*JclV`Wb$hzeJuz!vjtXnA?eOdkU?oq0hNiJ>o z&pyL+PB{~im9yWWD(CMWa{K3W%1(Fd`k|UoHhB8WXWd&S!!N2Ap%xtO|Alk7f0sVo zPbA%q(SuS)dC{?oZd5KBBE{-_zteru&Z(oyH#!fI?oDT^(@^5yAY!=86j(TndgM`% zHyCLjyYbkwqn#v`5r2`faIjZ(zXb55m=Le+j*<-qZ5daiewU0I9E~bO?kP|qp%LHg zJZ>f-Dc8!Q!@J2F+-Yv=02QFZsGQ(@v_SDd3(pV*ls3|bkK^RM487IuDM@Q}g3~kN zop_aIGZ)QX6dy8i$BS zkMqTLc8TnV*#b94l#S&b!B}#-?AZ;O!rQt5Y;&LQGwy7{onvtzaXG;=zQeS$pOl*@ zSj+4@tET&cVD8eE_s9}Sb>erT%0AU^^#wf}lRXK%g!a#f|DH^~#2=_R65E9#x9G>> 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∨C552wnX35(W6CT^y{tcr9NVuO&=`ix6@%$X50& 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ʧ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

id4GOAmSUs+dIOzpn3IINbIsm}sguXa))DpH@Y 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 literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/lib/libpmpi.a b/macx64/mpi/mpich/lib/libpmpi.a new file mode 100644 index 0000000000000000000000000000000000000000..1fdbf505eceb66d0cd868c43d81e889158e68585 GIT binary patch literal 4135904 zcmbq+d7M{O`Tql`?2D|!DvBm*BC^Pcf()}TBeOLNf~A+)XJj^KVR1#vMAIZoBh5n1 zZ%P*K&SyoY%pC|aYvsmQc8$~)VJWOtQMr8XvC&&+pzdBcB-$}FNW#W6p`^mp+ zy~x~=hsiGDW5hoYUnA}(en=d)!Nxn3cq}oSc-ey@TOODvm;ORz+dt;Xq92Rwo^qT# zf49i8<#S~h_*qZQliv}?-6pbm;2fDtEG5bBMXbM&g%l8 z@jc?JKNK1AuVZEL?MQFo92x!-kv$h3C*P(&A12Ns{Z!%^l;23ahIl#c`vLQ@@Gg`9z2_3Q5pN?tLHsLGeroNUL0kyjed}>@8gUcxI^yfBM|aZB z$A~BVT%^2go|F+gh+icBm+@|4_+Zpmt(QjOr zNIc|zYu6IuM#|SPd>-*S;=M$Vc4TS2`go2^gg^Ive7r0so=JR~@`84*?dBg0??F4w z-Zxi1WW7J1^1G3~w!8O^8pggutI8MGoJI_J=+Ou?_Tur=?{+Psk9!vZY_{$0x%CCukCT;{j>w632 zGQ~R=$o0UxA6_6kfn%OtAj^R2uU)JMzat*PdUycZt@aZ$i2wYh$gcmJF9RR4IF!5*MSt zncFc>=5W0H0Djte^a2@*@>6__emrBj$V>AkNjq^fajTE0cU!KSF9p!Iws)S~2-N;; z4Cq?l4kgYf-Ud_bIp{{8)H=E*MleG$TUe`lUN3jW3`=E*6v^J(%| zF=3D2<^R%~x^lsvNlpg`UwvSH8Z~N&ySq&_|bDrD+)cMby!0o@BC(XaG<4QMi z2IJj?u+EQe2X6lNJh=}zX2^Wm4ctCyzB~tgW#0DO9p>?OWV ze2+NzIm<7ge?DTpUWM>WW%FgrJ$Bx7HE_#QbEOvajn(tzMxgrrzMtCh_9^09#KCu4 z`ga)bcH+atHpJgsJ74ago=w2_&z>*8VE7Bb*%!~3rx<>f_*eS*f5d;Xef%AIwLi~7 zJ<@sCQN%$gKONTxVjNWdSmI&C6Ntsc^VwdQ z@vp>-FkjpK<%O~csPnh3J!lWV$2^bW>&ZXuw_(FMs@}I_dp!4MaFgyZsYS(elJLb)WQb0U|crI|y$P?u2#5;+< zBmR>(68(|N9Zg(8%wc+G5T`P|f6%_m>4zT?n-Fj3k`rV%!xu38S%kBGw@|*$@IeTx zpJo!*aQs@x@GHMV`{_AB{s4LHCtrOUe)!=D^29TC9rOnAW8(iPKLg{Ju9MzkyafzT zKz!BrL(q5UoggboZy*jseA6Ej2SKl%Ojt-vkrETJX9VbetWs?kAF&h1@tWo4wVmxqv~z= z%nfMICm$xg#7l^arlVdwKUh9XL^Y7YZw`=`iPur?`@~TLP(N=UAQxVUdfsxlTyP%x zzjd?Z8w}q~yy1M5$ECC6dh#D2{)zY$huKTH*u57l`i?r>(d0xx`mjU|hR0OCDuC zTL*gK(8J_X;&$TbZmf%+JXDS$<`F+f>;!In=1{qUxP$mh;-85BB~I?K@+T2J;yJ)w z&mSt+5^pE|lK3a$zk%}Fp)vvaQp_gak9M+J2Fjm-%SH_pL3_}4a?IzE@5_&pCB#zV zT4ERR^Tg|kJBhy}?j@E(_1y&nWj%1qs)6#w4`9awOXPdNtldi_>qFGv*Otf<;I92k zWXwnCzmHlf#{;uZSSqIj_bpp0R{^DXsm%Nz?0aOXi+`QX1ZNq$ZGPf33R z@v?qCNydV|`msrp1I&7Bl8iV2;oSq}QiR9+caltH_$|gij^U#U;J-OpGP1#@S48?A z#M?V0ONN6lM`p>52yY*dC2s-Cr({VN7@S;@#cOm zOXh&Tu{KM7iu$qT`D5i#;>cXY!+POx;+$I8|MVepBC#B}W#CLXo!AN7K6j>^ODse> z%VrFc_0a!*PnN7=_$RcZh2clR&%Pu}eoy+vq+g|WZOW26fI}|KlJ9}O_qajwA;QgH z%aR{6{2t>y!tl+7D95L=WPGD7pBG3U3;IjjvgBA`=Pg-M4=nsimRt$k@yjeZ^b080 z?;Iryh%1O|iL<_lar56tNdd8)_%-6a#8-$zFSYV>h?T_k#OsI;5??0{-(uq(M_ffb zm$;qyE8<(kgDnWd;;F=S#4Cv3 zCq71ektkQ&_|u5l#7bf}@haji#D|Hm5iB}PSLVSTZ;94s`i@1__Hu3Akdx@_QhkV_}n?w8z z@qFS9#K(y55~pml@s<&riC-q(Mf@XCzG3B$Ag&~K5Wh;ii}(U@z;(Y%q2DhSD!Fm zHW04^cIJ(jpDUJ)mrW-^{tx41UZb7wtRVgd^gVwcCyyVBd6+j;-q-*+>?3?c+zx*E zE8}F;MoaHH3U*bDkUOVC{^P-NHc@daWv;%~cbh#WQm>j&(2yovO7wvCYcp}(+ni0ptrR+kTzA4Be? z{~IE!W};j^7$U92ONl=u?jgQI9EJEQKZjU#3DSG=DESx4V^{lld3h83_w-@%9&!9R zHhc&0{g)4uUjbMD=P((4F8nogmdpiiK6sY212-NvORfa&IC7SJU&9M#$!x|yiC9Lg zCtgUro;dD&yIwt-xbH&Pi~XLVn=KwgEF}L-;`&*bzrQ(Dx){EkIQ%4=ufvF6JsIWm zr3vyJaN{>7NImLt=gLWPxdT-zeT*0_zU7Q#J7oqphx51 zMSWQeA5SbIdPF%0>xh+uZ{<6W7WeqTU)MWV<`R9^93-tYe&ywv3H(xnOzJ>7n(^wWfW7w~C3m5}E6g1udx&omUz?A1`?)c) zg>r)sR=IC7dZP4F`q`f zBSy+1;OhA!PZ6zb+8iwyjc>5V6qg2gq~Al#I~MV`jFgLj z&EFU)J*=l6pubrA_oL*35$N~-ae!P!{4dLCCOTN%2fm{m{E1Vg9Jp=tRJjPaY}{12 zh4S|k_Y!X}1^=}v@&Usw2*32(DRLrk=lxUUO5lzcrpU1);kSbi6lBd{F4JowuBk-6 zE}1ItRY2bbQ)M>7`!AX*t0>=2{1UPJGpMg+Q{^^>hakLV!Blw`_I6I0D#vO#Z>qcs ze&_rHJnBHx~Io0S--k&N1fG@o}Rn7p;{Aj9N0NnraR2eqP#y^y}ggCnj?cmX= z;xT*y?A^Ns=>vD{oGLd0w|;r542E3RgHz>d$jz)iP;MeV$@JeL{*?5`iTj8ruY$kk zPLrXdZTv@I*WDwh$xXmrgQm$O@SA5(lQ)z;bDAuM-2Sr#i8Z8eBz}!} z7xe5tb(;Ky;j0kdwS1bK1>Cs^`av(h@<923_*v?^fH-E1p|`Vgnrs7o%q<7XcZoMr-!F)_LcaXmX>uR=dx&omF9(0e+0$g$!B)@b z5T4ySO-@93+1&?90r6Gp8`xs~@#QtB=YN_eHNdTZoF+xU9nVga)s$aH{5-LDHRAnj zn%v0nZltsCf@v}Z^ts=fCT}9V?MlQ)cPo0i&@U3aG0^z-XJ5Z{Ls~K-2@xPGUyI{IBlYbuZ8sfF!@18zg z)~mkp)8#JGD-rJeXqvo?@RrF3$$sKC>b-|}z&OjF_*wWld%8?!cs{X`c+({GYhwq? z{lw=O|DdyMIsB3I7uTZwk3K{`WO!zljkl7x6)49JmRpJQ7~doQhV)T2s0ULHk+&Eg zJK4rtO1uQPx^S?3i+Ba&|CD$?=}Vz!>*0sU9~u6bc+?adzZJN@cCdVr_zL5XT4(ch z3+b(@=eR@UVTRu%PMB)rpAMXT!C>hjE@u2j;#Wz(9(uMfK1A+hcrOuMfQkQm^#6BX zaFqOo_yO^WW8sgVkCYLZCn$fw9O!vwq#O=h_UDm;D|@o#?-*}1{Lx66M!9ekaQBCqP(4^Edm$^R{JKk?(wYWtop zlaQ|3{RG1Mub3|Fz`bWomu~>qwoRACK*^adXVVXt5WhwI3-Xiwg&Fby!|M?)KV^n| z1Gu(qhCHhIT|YxEpj~f5ZsW}d$$P|WNgq7X(kBz=62Auj?*Hx#`MLV}r!!;?=-ci; zNScXvG5#~e?Q2oq2Oc8lk^dFqt;CO^XWuI`O zRq;LQ&1$pdcL?eCBL2=HhsZ*P%ZX_cMGf!{dfq`BLEiM-PyHAl}?Nr$`gSr%~<_ zhA(FLdknu0-1^c1GNBale>z1zX84Dcn?Azw_cENraG~}$UmGk>4MI8KJnVjin{OX1 zYe;V=UJu-J^I&N)-rI~<1%GcuV|x$fv+d_IWdO=S@kfVY9(L1E`2e_g_fR>3 z{mu&F7RcQ_1m~>8BZpvo{nsFQaV6UMhm&Oi!-G1k-wGJ6EJi=JY>FI4`kAEv8}Z6z zii`ulbJP?$88~FY6!{F~_&z9O~W0 z@J-OWZ~tUzC;fHOyFf2|d9sWL&c1K5ECud)bh5k*eY3BdEE6H8>0Qrwa~b{u`1`&% zS$;u!Iq9c^zJ0@F83G(rJXt;sEL<~L{s?=w9XDC-;QHkm;+w>Qx*oXqD49k4wT@GH zhse{!&%-}^ryn2}!XMeEPLVG&{07ti7Q@$ozq53T+ymVFxhe8<&^s5Q9xJ_lieRWP z;e$GDdA!8%0jRG#K0iecQM`PLe2V=4kpCCNFYKNoGtsWLc?U=nZ@mIy#7~`vdU)zA8F7K-A4XhAEFq4BoPJ+X z2rR6cC2L9VCVqu@D{&X`CE`cK6KA2m{b{I-|044J?oo0@8R|3cv;30yPvW8FmOiHf z<$(Jvjl^q-j}YJ93wy3#Bt!mSaTYO~SVF8NUcChE>-Q7nS>TSBCrJKM@^Y zIA^>S;qt7BQqAyx5#D~xMETSy@c)vDvWa@GBAyTWklKlIvtloh^mh=Ri$P_~GK)39 zUE3$hHlX}qqCBYKhbPLrz%6?w${{&O|GA0sIpC1jCdxG${@X;^1=PXj4dAw+ljLsd z->?An@}@CzG4V&h&G(FvUBs7x&CiUHfeTT-Z;z4cjV$+g5ghz}7b zT!{2hUoM*sdmb7t#RzY#I$Yj72lGGdqb)rge##jp<-~)IKs~>Cm`o!sBK~R<#@YK1 zlUmf9nQLdsDAjkvaC!7dwD&I!mwM=3U30ipgFf@N;c^D(Gfx{X*D>9Dp=aas!(`cJ zo&9f^T*B~P@U#9kOqxJnHeGS znl}%V7l?y^?;kl#CJw#G%2g^dF zyYC64OWZdHdJi8ZKh8$~bly1mCGoM{(2slPCq0aMgnPO5^HKk?=)92SyN!4|@e$&2 zsBc;?pM`!c|GyAl{}aZKZ)eNomtfDs*>ctM&{v)o(x#zh=u1iT4qIOMHR&2Jv6S0WaHlqlr_AM-j7$1;k3?iSUE^ z`4s4R>9^T(DzTbaPwXLnfjAub&03KyCjob_%$5pbE%999kwBH3@*L{J^NZwY;)%op z;u>Nj@f_l%#A}KF2ORUxBDsV3GvZ^!=ZS9;-zSd#qm4J2cr@=U7V+lSd8)Efbp^dsOM^HfZL85FJA)cx!UbOJx_Z^5$9>IEB|xj zCHrLfBYT2ebt2;7eC-vWo~NCLd~Z8-gd9E{{`mD^xf^snN4pVWJumwj_7 ztrYg_x!LD|dTw?Zn&gnyae^hWIWIeW2I@7=%PN3+PWBVX={ea4K)uhq2m189YzO#y zUUn`}&&$vSN%@9x@-f1CZg#{Wh>vr#CqdW#c_G4MHVlz2pq__a4%~U|5IJc8>dEZ` zWa!Zd<6P_+#Mg7N8^Pa$$z(oo??pr8W$4*;}yS{L+oOlut=U?Z-Z?nA#ayoEl;RN{rsOLoY0QKBx7SbJZ-UvAfn03hr`3&$S zY=SoeXJ0=;&IM-g7$H{zJAXJr79E5z&UM~HIzzsCu(bXM;f+h=*kd4%bC)87_q8sO z?U3Jm=Lk6+;r-o9~&R{-^wHOJp1z zzVC)5awM?u<|T3paL0}%a;DO6TOzMQZZ9TnT?p^`@eO?gAE8ES28@->+UOdl4_|u%+@Z;Qk|)%A26?TC-FJ{ug@d za6c5dv16&63@q-po z@(bX{NblXHG99?_W7q{;JM0u$1DreN6q%29t@l)y1GhF~|LX*#hfUwFYJI?Y+B-l! z2g?F|$oCGG!+>+|J6QgQ`nkPls2qWLn4V`X1n&I&P`QEgvTv)t&7-6NxU6fGTnTJG zca%JR67=KzY9(;*zVWgdsOMO>0`=T#+R32f9P2L#%MlagzvxHxoN5pI(??Ms^_=NH zKs{gj)Tdz&&XY=jdY;q+)bpg9fqIU#7pUh)!;eLI;r!?@;MPqeWj=7sMI)s_!#F?M z2GsMTX(QneoEJR_)bpE*MxlM+Jmu)o@ITHo_5$_1;nFe42hInM#=f=g=l>k2`|lgk zFY5mHiRf5$pZj+}-M8)@hw{Mw@+IJJePxt<6}b9uqhx&+5c|bvO-6pP-&;8aVeHo~ zn~HR>-#TX+${YKo--mrezCTj#2k!XMNO=XQ`<(v(?)=S2nSgOb_c@mWb)T~xsQa8Z zY8d;Rj{|job1>$GI=}oQ=Z9l~JB}SCqh=yKEMAuZb)R!P?A!U_DET39_K?x?`~>*< z;)7)Ac-W79!37BGKIA>%H%}fdZ$r`UDU)P1HChC?3vMvnt^ zAE;pj?0M+`c>{jZeVH$*zp!6(8&LOSTA)|=U4DUjsrxLC19#muR9*(o-ZfN4&w^jD z?{Wd^=iH5>!w6R=L()-*!alu;GXY|mb;)w_b0{)46Pyfw_I;ye1#s8n zqvbT<%oj&XqtbDBb-v=*F>)Dj_u*sYb4YjDmNC){EdS~l$pP-Yc#IqZKkR#EsGJVe z_4=kI$nO&q*w*y(a(&-z3!!uduxJx8aU)%n9l%pU40z*`=?Km%?NM9 z=Iyn>&M_0^*Faro{~37qtcf!I6!-({?4>|mXMYAbyL_TF0r#$+C|3h@oqd-g*4YKn zTRwY|>_#|i^F;X*u>7)#vSJy^4eOf=fx6zl9jNQ=7c`9Z_J|y`1FW}~0d>87E>PFo zKh!YR+s^`Zy*&W>b-jHx{GsdY8-Op}IYxd5)OGf|KwV!?#Q3P|>r+pL{mUju6V`va zF0MKP`NVqo2eY9c>*udw-MROy;j%!(SpVLR@XYgu%in;y4(=TQ+&e%zz}I!~xyr{n z_+f;b-yJSr27mQm2FRn(tLx!^pj>9o93~ectn1-hz#sB2%v)4W2FgsVTXkK$AADU8 zUyQJ>hkp#z_3&22*Lx>#YZ&X|qmiDji+>9H_qGp{?;@VAkH3Sku8-G1PS?RJAeVjW zaCsl;=yw|5fu5~{hM^4M_mRWoMWC*a-$guKA7^X2BZteU5!UtbKan3@7k>;~cEkud z1?_6@FUQF;oo8U3+zQn7@s&Vb7vB!lb@7F02XhyVm8*dp3&zS16mj@hul@gDN5}&R z?_4`p_5in@HCA2*?%p(33c+9d!U!2L5al;xpd1dAIRoVb@XIe9E5jEdKVKOuQ-L$D zA1lWIx7{*UP62MYeXLX~{ob+C0nC1AtSmE6)K}4;UwxA-;Zp@^!@D{NEAs2IyNxj+2j69*2pe zbsji#oO}w{dF(hj0l4$Tagq<*m^)6YfO|{ENdvHa^*A{PxU3d~%3`!z887c@fA!yS za`s;6$M@7noDF~AyQwQ4L4NRE_btSq6Q3v6?uVbRJXyMlmlMBByqEYK@onPRf7p0~ z-iH0SEO!jUxqpK_x1S`RC2k;IMO^e()QeS%<*P3v|I1F4?Zh7ue??qIeWwu*+Xw&u z`9xVnEFrcKw-9e2-uf!?fBuQGi}*D0ZQ{qo@qe~*#}JngtBLD~mlD5AyqEYG@kQc0 z#F4LAy)%hRh^vSl#7l_R5$`1aiugS7@5CXmTfK)9ml01Vwh_Nb+(x{Wct7z8;+w>Q zf3bQe6Xz21iS@+K6Sot8LVS|AkN98WXq1PR!`Upy`&d3t5!a*sEZebIYEbTS!in+* z=_B5-<^2WVmO~cHH;A_pA0xg-{4eob>baTq?PtUO*iQ#J)zLi)?`a0s1r2m6B;(Z(c0`jjV-c2lHx;4Z- zq#w?Bn@GQccq?(no7R6P6YGeV5N{^_g7^+`0@|tiy@c)c|4>dl9$qZJrry60KO`=u z9hJmZ;uneAi9aFkA-+i*^dFo5`;kueV~gb?q$_ocK@Ui1;G0270tVn*5F}=Qrusf#@H!f0|1CGVAFahI5ED#7)Gn5a&|gbi~vC@kHY3 z#Iu?1(+HRUaj_Ioel79y#BUI9CmxS_zH|6uDJC`%-(&rp_;=g?o=iNQ_$$W$JJY*> z^luRVNdEtbhrMh4Q9xWryoC5|;(f#yi3j}4#ygytLtI5Xhj;_=KH?tYo5VrySv|9f zWyBWZSBO6*K2H2AaX8wQj%)Wae}5s)CVd(4OyU&QzhjAG;Lq(xpCsck-syNYk61!H z0{mUQC&>ewFka*S=>gqH58o$m{8+>*FDWnba(a5Yy!wXLhMoqO($vu720MEZgm{IQ z+tJqM)pa%0^fY+u8aA!3Y4uv#I$J56%5|gJWV{+pG9Jm{xltOs8q%iY@Jy5!2u2%_XI3Q)ffei7q4J3R6f%J~g|B z9OfVt4QVK|BG1Uh3{9e)*3zD6mC{pegjoWw6IY?bE72DwAzqsu@w6>=16c3g#-MPYmfvDN$WzSON70D+ar8X8f#Xuyz!!jnF zhlU;JAD9KKa#!hmwm2jNwwkfsNgySh&V%%1Tnju26rIENvh8lsmovxpaKuT30 zHPO_dtixs()ay76LadZ8qAEXj#@(wl8+zrX~)+811(wgf?q&79H!#B4! zGNCSFFjAyGEn;Ydm|i@g0>omblt1}_fzB+tsMgN3oienPsA)#XkfMgU^c3GYiV}+1 zaD9^++{t{A4MkESDPomNODmj^ax}3fcMVWvLlJExMUr-DX@wI?DjF}Ppe);WiVX#g zl);4L*xF+866(9Jf+d+!Vk!JsU5{B5^pEZeq$o;_m>Xk7T$;q|Gjf89ll7#yIx6P7 zE=r9oB;xtvQp9OENs(D$sBuCt2t?}$}~5UEKaC5>Q0pAbvJSx0G#@wHh%i>GS@>3pYV_$q>8iEj5r z)g@b(U{TOBPEo^Ekil*)+|RRTMbi*)>cDM@HU z>Gh@b8>ymxEluTQa747M5~4;sj#+Ny zqL0#zXv>&UBbhcg=^c>1WR1qySnU>r%g>zE{uOIfU*DNcpQm8vonmfu3ZB5uT&}^i z+UbYVDd|ti2KxHWt)C|xE!6h5wDz?4d&znXVUG!&4FwSETe=$R{Ecjc+Zx(<_!Y!p zbwSviFF8krB!vQXIF9V?sp)B1@0@Y8bbArHIfYQ|DZ&+Y^B4QAHU1H10?C{dB64R< zmraEyjm#h7*7dgPfoNMzXJ<=$lQAzU0}hS0%IFy#9Fpl>HS~%jpCH-P)zJ&hCWnrs zN4nX?G4%T0PBw;67Bp9-ifm}_`$0xo)(08JXmi=nCnPV0%qlLyB6T5f@Ih zL4}p!3hOaqqOi|!g^gQMZLm%Zoz;@$EhW01?y70WCVlA5?v`^RS?+3R>p-1IPSRz% zN=Uc59Nl!Eo0sm+))xN|$dOd4tFfm+kBXd%R-}K|Imh@;`-=0JUPx|h=xT}-VvLn) zpdLadQ&|q7+ii}_sbza@bG>P=9XNV!iL?<{iZi3;jt+lM(A2(&NY93ju615dM`yI! z81LD%I_lF|*bY{vsND^%jjpr9ge`Toy^_#a)6&}8)!^0Wv5uBijBXCh>(=SUro-)O zSl_WOYFTqvi(l!eqMM}9i#1KbMFYw>6fdW~zN?|Tn?|ody{hpkMuk%9I(pk9H7g)G z(Qsv?t)aaKnu2&f$=m1_ZIzxvYYuB`x?Acz<8oh;kpq#CZfdlq>yx~V6fTDs-6pJI z+GSV`8&SX8gZ?~1^PEO%7#fZ%qmZ$n5@Snmx4Em}8$vS@I6=PCMGf+hR|CE3mzH+4 zVeJ_G5(!+PL}ts-v^z_ogVc85l$5Bcf-UX!4I6{~d=rK+rmgOnRHiQI3}5xCKwv1t*)Vc zeM4)9_Q9d!qV%Y|+HKo)R6dE`TkG1=TAN~VYec{#YieGKV90VchSUTHyUchbRDuT2 zR`SH89Db&#sZB`}bs}qn4&BsN(^J>%b}_aB*|}btYREaHUmHVZWQ27*m6h6N{Ta7y zR(9hp#Q{k|t`}k{XV&7|7un=<^NrC4y%I+@dliid1e~w}x>pXYl1+83Ep@Jw8Mz+E z12vlx7~Q?PPp>Sawz|DDHeOf?W0D;kGcZVc4P9M0kFPUx1LJy!*jf{epdl4SXy*P# z*i1vPFlbdh%{A@yt%(!;km;6^jclt;D8URFrm6dZ;*_{iwi{7Lkx*qy#3-9S$`2E= z&QGP=9?az2k%k$mqDUens)rqCA}%NqM;5fS23I9R!>PeA6EnL4`E1mvhy#_F;A3U# z_kku_JgcU**wnPx>Nak49Ob5$QmQ7~dVP^qGsR59i`Ru9R^0x8k!axxU90HKSQn#i z`9&Bka!adkX>4rhYG|)ZkPms0C=DCyBKLZ&BBe&e;-i@rbA~fZXlYN%vZhS{F z<_lU*ig-^mA|xsH+6^ln0k_F}G0l#YevpLEbR%gKiQ64^FgdtU<u#xOb;hM4Pyz=zOw%hUlTn#?IZhs|E}ziVQD>G_b}Tc=sO4l=*>rO&y@D1j zP5f!QS1>o*tE|eYs;rld?5twSbynHc;qSd^ zue~090NMfzLn*B-wOut(8Rg`lyU?{O1x-+UGkUyOxAf{dI{hia^6rLqU)KC>Dgh%e z@6{eszZ$5iYmUrBOb6b?9*m~*4J6kj(>1a29Q-yI_F1>6d{ea=D=xTr~v8`q14$&Ru7_YS@xHKK(n0@D{ zIy0OZoekX{#vs21uu26Ax*D3G7DH;-aQu~XAk*Db!@g&=7bQ9!mcz1HK}$ou^*_Z) zVY|J*!(>{vsrkMM4X6kW(0PONsZU^7j9x+i+DdKo`Xn6&pc4B(`0&29y0t z>jPWV`Zu!YcZeuH=TFBcUX@{)NctyRo6%~DONmiM2*nk|1ll8`kkQcYuMjlU-4WfI z_GvWnw3=XlL;rLWi?PCVl@T+HBu8mY)G#9u7^b1PVLpw{ ~HZ8K*NK0zyxbEbmT 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

8rCt7 zcNm$iu)#BXFN1xqiyVG(^;j9X$+{k{0Efrdt|xSN=`(gX2G^-ENRP+$%bR?##UiW? z1q#!4!^u~sP z!2Vh$rB}=J)_^QlFsrv`tC2!2Mcs$@C2G-2sAZ49muR~bg_%{93ZwAxTeJfSZ&&Hd zeykGSZY3;3iQ)O)Og{g9A4ehmpx`v~Z`7NcX1KcEoNgIzLw&%E!8g3CpW{)*f$z>=4wX`TGD^-)}%VLpsu4Xxjt)4}?f8QL(-#qwruUD*U;C6f$Qp)Ey-(mnftEkEw2 zCYja3K#k0V1?#H%2&&Lk!NtqD`M8LM)=7E6=~iG;DHLz)ElesB-`zUvO|Ns6wX>7; zD_3M4bTA^5_-^~BPS5rz*F}1+vknyfHny*;^uxi&lw-YV01(ew>~O(D1oxHrcR_|S z{$GNx2tEcx7vlE-ku?5w3BOVBI>D8K6M%SI)f@q2`gcI(vfO_PJ^=*Xlv)SGCw0Aq zHw#`Vm=-)9h@xtCArs4aP4H#GzY4As{H@^4f;S0rofvu+@ne8sQENU4Wc&UFB8KI@ zBKVTv6F|n_EB<=~Zx#HWAlHMLpF|pQ5)k)B{5T-^)A%4D*Le>Ivfe`^em@{c{hF6B zSiC+@0Ga>Kf)5J*PU0ztXFT`m6MrD+19^Qu4`h2MNx1AUi`9sKv>@%M;BO7dDyIJ> zkmdbE@FpOJCdK;@L!aXP#rQhG8o|+m@8V^~>%$i}({Y`c$aP{O*NKVLdn7IqoF>S9 zXAI|gX1qR6136B7J92zTYG8>W-UeiQxmOpT*!6la z;EusR+fOpk_MhUUzs8B@x|yB+F2_I5$@tYu9d{kCqb*nirG3!W;_wU>1MX`&++1-3@7`Hc`y{$d-vQXoYs8 z=`-kD#Z1|ww!2ncB0XL=9$sD4KC7l>L|62KS~uo-E_7zy*!VGr?$Nq2>0&ywZoC4M zMn4AhaNXFHLlpzM{V?g+4s%b)b+>N3Q!-RaF0!QT`g}}sQbnl9?$(XVW!yX|Z;X^D z-X5<=nlV4e~HdXBwy6Xu4OYJgJ%@*7jrJvx7zN>s?lr31? z7uC}OjkE9`A~KZ7{(EH5b{WsoC438@7Z?_)%y?6pMa&P`F5}6l2|byrpzJhN`(*qY z#x1bR_?%97v`!dT3D3_Z?6}!XnEy#T5aB6G_65mwucuP*WCg7u>YRnuSG2vuP}!ot z5(+D5{*d!XA^xa4{$~p~YdSLz1$riq-pG?EA9QB?VIU?DC7&nq4ki9l;%^iG&4SdG zX8dJ9(qq&&!4yz)IuKJ`oN{l(#}C&SJ4BH50`pNU!1yOM#vT=XNN}Uz9YAD>uKyy#Up}w_}99l>Au%^xpjvz&b0`UItK>b+a z{sep$C36NVS5kXt9hru!=b%|TIE?Q0Azezgh&j6ZETBXO>OW5(lj}c|0CciLU#Gr1dqJU;9d>oOU>vw~8lB&2GZB53Z{mh)V z_GG{EY@wITycf_*vJZJQ$|b#VG!P$UQk`hd`6-ilMl$>@TvXye1i9Cc^a~{|m||*v z1;msUCtZc9EPf4;>8}=CCU}9wC&gbcc!D5x-I-75tN7mVvpmu<41Zd1o8X@WzYRpv z8cvd!&*Ee{NXJb8VrGnU0~p&mQsM^!OX2SiBz=c9Q$=?HSWcg3fnCv6vvfKpSMGKE zB46P6-}aAj{4SkEeP}!VXPxwSJARjry2Xj-yl9vAXUG4+(^~rK-#NFphGNlwZexwp#INmp1 z>K)=Hr!(tEJH=1n*N{ECt9M9!b2>wR@tpag4Co>KWy%>UH>KJb#&X25i?-`-{is&@ zRV$h1V=^NNwHgn-locwnTl!1NTP)?>A?1mea|x%Gz;#D|-GU6CWNJ)Co6u)?^Y-C# zDA-8D`{M6zJ41g3`*5)Vvd#1Vtj_lMx7i~#CepM|CX(BO8|==#3cJk4?_h0WOQ<1p zslCIDM|w=a4zo^`hJx^a;m$$eWV6d`0(O~Am;z10=&Ji!jK6RT4hw-D&YA6^43o+X zu2MTGUqie;0|n+pwIvv@`7(XV5Z)Oeh5W=~X)^wXP8n*~rwp}mtayEKmPl~Q5Db2{ z!Cy|ppTJ>K1pbae&?X>G98wkF?`+i*Dm`L%W4qt0db>Rs(H0u$&(bIjc3UrRi%-p&olsY=Ng?|Rk89N zeX>z4I+vw^#KcA%!pWYdG8b0iJfpL#^npfKF>dWkg%33P8XHpNK%<HnNTpHY zgK=`vbe>%F-pYq?3FPFWe;|-27d?!tjFXGT9e|UM?qLge|Ky_cRwpvktMtJ|=u%l^ z?Q?Q)(Ut_fIJgKMYiOO$lZ&S7lZ&R|`llbz;U^>>P zoJlYI+Pf&{K=3Iq2zGZa&h;mjIcMd?As$mWeY3PX@BS5kM3br#&bXRU`bNvik(mt!6VS!5pmY@PaR`xfy=e zPd+Jzd<%fo2RQ?H5RhZee%DLxj*hjyv-*f zD#UlWeBSX$z%<7F7=LX4MNa$#Cw_$Ezt%~AjuTJnz%Kt1$A7Dnf0Yx@zS{XI;uI z;&y+F@yjC(dz~kzP`$D2Fug=V^%WJYkk+ z9Ns1K&3|Hd{PJ~Z2j=HU8#1m&g8%`)%=~n0C%>4#d+b8|@)UJg4b0r&4FQuY`CM|G z;d^jcO)p%1S8M^r_W>wPZP)0V{JjAYx^hiltUNC#vBahTrTey&dF4 zRaERe0D89zPYv2gwbR16`k`ak3BqG-CP7d&tLqI^C+fpsumi-BRnemKG8)Ex+vBk| zLvX6iAl_9d8T&YP4a76y$*DF6C8EFD7!C_gv^fw>n1LN4-19(|sbjV}gT~oO`jiT^ zOk4jk?_e5b-CElhYw1j5=V$JSoOWY78?~fQ!%_pLI^OtYw z_zX-Rr80A?%2mStNXTugO!lJJybjiaXJEev&!F9b91(6Fqv5M)%bnn28^D1hMK5BJ zv$4=Nl~InA*@Rr#=kcTXKt8VM@C*fIX95y!3H%y{@iEvnQ3+@B>N!@1zicJ^GD`f| z@OSoG*yir6aIj!=`NlRV8$nbU|I^~|T%l2rMss_)tu6ugr~ee#DKco#;(1FJlDa{5 z(Or@XEg!2fq)=CqIG4CUnH0yl!IcB*DhJHPWigKL=R$m=S<5YEFK3zTvoP=XKrZL# zF>&?>KN9CwJ3KA1TLix;n34Fa#DA&aVnLqgf;%f-55!|tb2t#6IL~pxt2*8aWVzP} zUM;vx@Is9#+7rg7<_#pqJ08!*MQ`^crY_Qu`>iu6`UyO$`@UIc?!gt|87C@ z6ZBs$xK!{$!SO)y!L$!d{;WTc{2C24vR|*_0x>_IOyaYGTY!xJh4_CgxCjV(B2K=E zeCa7b^35j!Sw7{4j2{Xlzc>)MFZ_o9L8AnESf|2o^MTYC!zXYqA9x#L?D%0$`pcYn zQY3czUpxNOo%~E|r(f;($20{VA@dxLf0dQh!-kC}r#5_yF~3rnU$dmXA1J?8i%E#i$Ty9D zPx-a8Fu9rXFh54-qo5%S=%IYml(R}6f@Wzai=x9^6ms41YtOJTaFyy8a~ImhrjnnO zDndne$FFhnrmI!I7(XdbyqwGU$OmpX{#D?s>MEdL_6*vA_fw=DlOYLEGikyQ&i({Z!zYZ|xpwKuOh}zEsK)Q|B38n%pigrA@Y~+JvaIS&B zt8-A=Bi){Z@&p=A6Z31GTD~13Y%CtT*U zb@LtrP}~To2WlGr8KpqSpe`AE8bfBQ()~7$?~A;V&Pn!}B{;8S6229#(%>3o%RXpS z>I!iaq)ZGq5!kvoN4Iq_;(`MzFSHU~juOrL>OZ+LLDARtJHqBBtneI(pZiDBUgdXq zg`O}Gb8{TX?s5~F3h0)X2sb|9C9L3(ejnc(J&`X};bKz0^o*P{V%|FeA0hH0&PJqD zxmbhSICg^Iv4TfSJnbbiJ|=j8AnAO3YJQ6!1jT9i7oXUd1v7%H1cmOe838};!PMLM z!Qa^Hf`1cyL2xq=^tIX-i&s$%HDd9Kihl#h`Yx4p+^5QN76|ewWW1{{_-TnhSkR^O ze~2+-Io}ohlHm1%eEH!$^}h86m!ce-4{+)JIfzFS1Gm%hGtQ1rI)0ZA=!3*|dd>>A zf4$>pf9-fqmA3zzj{iBwZxPD*=Peed+xKA4Mo^FnZw}p9xaTK4CF>dc>$< zioUL_EKE-u!;glTe!qHx9v(V6Lq{7wgZb^vNVwhA6MRrI7`ew{Og^JoKo99?Q_fns zDgP;Q1{Ot!XE@}#qoY?#{#wb^2D%mVN2C%2tCSTgvO79@ikg4&m<*?*&xPn{HjrP^+dXxLjy8INSgYlE9S?KyGvWWU3p?w{4Cfk=f;1%kjve$$ zXhSCLsteXbT~J#OB-t|>gA8@Slu;L~hq_=r?A`wl*NRb2P8`DX*7eFi#32tNirMc2 z%F_L}aA$!mybWMcT_cg8D{;utc$t8#ovAbPG-OS!asIOmR%yx>XL)Ra;*hmt0*XU0 zWoRi5buSj-NyUo5tvD-TiACN+g?*J+gz^wjm9JrBKu)d)pj#Af6zLYZh9i|&D#YVJkO(#JU>?M~J^l)i`KWGAd`57q z#Q#D3zZ3kmV6Dc~U?4uJeSTFe$rtiey5IIv3Ujj0Iv-sBu zegTN7Bfc0&zHAn-FOaJ(ET7ko@f5)92R~^|j`si{$GZ}UDiyUxbmcS5M?THmZ?0aP z%eVbNmxo{N4ntmi0>}Thzt!;%b^ODf{PUdnR~`Sa9RGI5{|CqK>g{#Ow@uAyjfEsG z0q2(Ez=CI;f|Z6@;W^>`3tOy~eAKd)o*SX>>fFa-eBQ|Fv7;$RDaPj+t4kjgpSKAQ z1D)aXjGq(@zk0gbeLioB@IQvn+lhy75-aE-pJ&RsS00*W(oPmdhq)o-y5sZ8C4a5t z8iRIWo{V^yJfy5pk=^lmQ>46QQrAoSnF+X5LMflrf}T(QdI=#(Ae9F^&4x!GOs`t3Z# zJ;tq0`O1C^utvK9NzJ{UV}xOYSQOr%Kz9d<`l&AJi@GQZ_HYS!8j@8MiJ^QER8SOK z_gm1pUM6!BQsUgkrq5*d@%#sHiX#tyI5T?V%?!^>0yDdr%5m$Gkjyh7>iouvj`MJbkzPeF z9|K^d4%OXj2Uy*^5+!w95Hw`8mzlA}^QRPV2s?taDLPL=L&lfG7X1F~eQUofbY%;4 zWk1C+uIvI-rl*taDafU`aS~%_-8%}(I#mi1bcP#$#q9o~wi6O=)d?R{2`OnX z34ac)zw@F;)J1aVKu(|5EeBq`S)Wh{23!pSF2)RX^21+M4+hXS13I!6pr=G#aTFD| z;j1|B=N!HpGa?ip{dMHIDUQuDVRgIletdZCfFQDYZ4>wr@Y=g89yB^Z5s?#`{cD2c z%+(eQ?rd2wC*3r!TS=nT$$-^1VF6ohvF0X@S2A$4?^}qEUW0JDTkt(_|K7ND!mc|$ zd-a>-nmapLzH&wQ=D~>M^i+=7k?t0i7(XWcgyue9-1~;!H)2MkOW?f@+9-ZB5PV*| z1c-+!#{F-^e+ll;^~SdWL7K%k0{epR`#umie*CLIrf(IzMsS(LUm*Uuf-?n=6C5Ep zSa5*gU-9xoxpBS(S^fsW-wX0+UWR`ch%9lQkH_=}0NI~n{QqCjf9B(|Fw^}&{M3PG z_}2t)5Tx!2KB+4Fpy-;tfEcP2&jbKnpZY!!By5f0>*vDHa%KviCdmD{3?CwRkl_A; z8*yhazFn|Y@ESqazRP5UgMN+I073HBkpBnCTk}~Uuj?T|_HQSyHOtKkJ}3Anknz-S zWc(VzCLs2Q#2bMJ0=W)=w~eyz!g^{Yo-4zwZwQe0ML!_#i%KA>#t>zf7QTd;)hp{@MPxlDV`j9I4`h{<3W zE9l`mg()W?56AnpTf;-B=xWt(B(e;X9j5Nc9he+3-_Z$ZPj~AStEIffI(ei`$`fyo z*D1LFE{4pdm{fm)KEoU6b#e&ImyN`H++!D7r@&gkzz^GQ%}%@>i`cDMi`I8#w}!-a zVDqAfc55PgC488g`3=X5w|0Y{vh3ERV7Dd(yEQ4;tx3Ud4F+2!f!&%E?AD}Ux5fm` zMo}AyHsHxT7E3z+`~ML(N15Mjh2PS93DTDsHZZn)?Zu zq6y5^j7329cenwHnX9>!amCEl+`xtuF;^2k0voqppV&HbwC67cdzUj6b9}Pb8xvc{ z?LX1KazttC<*WH!8u<&IOL@rYn&U4o2*Hwa%=9vgMugV)9`7&{Mw)_#g~7$CTng+ zW$4w96_nkjs-A&gvlj7^S+qD0%|ya4=!Dm(gjeShcHB}(f8hTayEXY#ji@4@?vgt> zQG4zm*?N``s3L2lHDRXTki%VZ{CUkl9pw7+!i!k4xf|1cAwIty;dCi{d!lDdzWp$K zr-&UJmam-Q+Z}m&6(Y&!KO=lT>r>98x9r%EZ=)R>;?IEK*W%>c@tnlICHNJ=7Kta{ z&iIQ3c|H;SNg(+`^6ljF1_8Yj|swHam4hJ5xJ@RJ|r*t7rj63^v+_HQ_l{B(aH%c%sS2>~B` z96Xd2oBQNm#M^u^qC$M3%Lj9MVH)Eo|F``U5MldAIDU?k9e<7!|24<&%IU9l@~?8z zmpSn+pWNugKjP$n%klr!@eg+L%a+0a#rA9R=e>{4e9hEZADx97%oA`$^|Y%C?|U3E zqNx0yQ?<4ARCCAgS5Ny6^`z$bV&li$ut)NH9^^`A_~I>?tSEKuDPL^LS%UkY?lozr z_Nh6}{8iYU{JvK5S4yt=Xcwl|2<^g16__@2t~TO~D?roL-&T1w zjjlAhcOU?)eUEjxKZ#pTiTiB>kWhxU^{dlUBtYv{NA^meZc+r&_*JOh>a^Z3s&u`> zo#tD+W3rWUIvRjc{{o<60D8^i4n5dBg5WoHdwjke71- zKGIRIG|C-QGdMT=HGS|g`fpJ@t zl#kK*A*Kg2QrD{gyjNl+_=^EOA7I^VXQ^Qd-E1f{{bQ6f+bZY8TsgE;fpU%rmqTjB z2;S8_2Prq&H6HDP!J3B5H&!446~?zlS6zufDt%8>c50ITF0XmV3J+&1cT{@*V_s$| zgzrc;gL!qL9bWSW2(r_#Qu7j%_%k+{N}x>h6nWUpj7?tVB(;(RV>S3oTQ#2lc=|wN zXgPBrMdgT8Sw-3WP2|mf0yP!2RdW&>F3RSAG`4DZ>IBAgFyeyUr5t{fa4m}cI4Ehm zZ(@t1vtH2Pu#k|t)cPNOH5=EHjie}H?xIVPb$8{&r^DDp_ghJw9-w@~3|bwi9B_Kr zC=D(J-^+#g!0zO^D@1SFyw?Nyti$KEqkQlcdFQ;+Xc?Z3*f%8pdhs_4Qg?{))RV?t z6rT>nQ(rR>h)2>Qe*~`rl7A&F0RF0muQ||Uamqj056a7! zp8Nr^zaV)n#=nYd#c)2AMDiWPKMLL?_$9$5K=OI#0?B8d3MAi5evkE^An~MQK&sRn z0|W^aKNMIBKY-)jhi@F4zpFwZK7kvAf42YYj^E{{MmqVK*UrDx@w1(F{6r`J94Fr8 zH?MQzpK<)RJN^e9|F0Z>r{nKZt~qrUo?csgX;yaZu&J}cYSSvqybI?+Y^ID>6;YC= z`mvav!NV`jU|wT(CaCM9R*W8B=s4C7!syJN@L$8bmQPw6gg+SmYZx9@IwO}f{ypWt zcuut`5A$B+3=~9Ng`V$$9_rK8I%=a*Od0bbfkH>krs_8^* zD4Yz&hDx50N6-cv$Sj(00LeKUV3DqM$YBI|R3@feklG zqi8THuMJmzGAhd{5$h!X09ftg3(1hgt_t@lC=K1@-XoMf2tLifrBxn_f3tT8?t!hD zGjYcnt!-m#W|68ib|wI0`vy{=2_*0fwmo|@xF>(@+U(&gux0af*qVv1x&f`k)j3@i z)KBpSP|wu`k$ebkbDeGtLr%N5`Mz?k2m30D@0e1+Jk9qU^E5XUHcu1FE&)GR$ofqW z?abVbhGe&}vm0=%Ljzik(V>_K1pb+-599D_2>h{zW#95WAYPI2uK-#8QXun_ekaZoq#hpQDHmb5q2sBy zNPoHD0~jOv?-S%SOh4IS;ui&51o^Tf-*h?<@4h`gmyYzbO~1SJ@f^gXiGd@ZVf*>t z_LCp5{c*>?HzMu${itc;TJ3Hmsck(&A9M3EMb7~qQ%r6#cFY(k^}!X?>oeOr1C>5kZb9<00ylP~ z5??spch}h$QibMzc7k4`GqZ+CR_7|CBNITnNY#{3Z(gNI$p3KiKM-E8(jE|c=sNO|Jr+`*|NaK-56qmcsZ z6A|uzWE0s4$~UIKPeQ8}#Pl$X0m{phV=yhhNZMoP$}uYH{Xam(4@zy=jtFxzShD1; zly7w3g!gzmqKDfdkF;J%zP>WpT{jnZ56HbmfQ}URb0Jn)ps7p`)_ca9sU_)!c2n$rrOCV(GO z`FLI0@Wndz6P@WzAcCjESVmxUaTx6Dl)~O#%YJ#>I91!uyg~fQGS{RX3xmabO(&2dKBiQJydu@`M*4Pl&T6_0?~9&C9n$ zqAlD|lBKSLj2O2~pvMQGyZ1y`*3mGb%&3?(o`IKh7jK(KR20xUpM;q3tT4OiqHgFRt8qX!na2xpYG?yE^ z*ba^Xckl7qa2%Ru05(OMuBg-Uvv#t3wb7PeFda@P+^AlKiIw+(mj7m=`Q6g!wFA{4 z>`n4zVq@Q1yk2YNDtA5$Rn+gWl|~6K4^P z5#@?068|Zjcrp@OY-P|DA8KytE!lA({2MYYD^$Z%o46|kg<((cs!I`*nQ@<&QO0kY z4iJ+#=~uEd5kq~}jlGz)@`;GHyi6fSA2zSJ@g1GAohhHhk79y; z$bwp9YZR2-4M?bsCEZ-HE}BYJh=5=RQ7q4MJQ~xZd&M@Nr$^0(agyJT=&lbaI5Qi z=U~<5VBSg0;Q4v>l%pOV#RCtaz14+@l`o;eC6il6b~dbi5zqZ7^cMo+JX<|@$kx7m zX!CPXkwYDS>S3H}5!e?JK0b=4RxJNCi$m>R=HhaHYqIg;%2f2OH%Fz}OD&HbQcOkLXjLA5#VHTREvEZ3dYp2Jy}oO@y9 zybI4gzYA5wCDb`Y`_*E#k~`TUTIOV%1#-G;_)%*F+@MeyynifLj@iGE{Hhk=bjRR^ zC=}nFd~3e!S7iCh8NEbDzBL$;oYt4&S*2rr%9-?zU7+*v4#)HwpA5v46+0LRzPIKz z)C0OJ#eIngFRI`81>K(bML^8RaqdIJr)D4gfb@$~?SbXGdW?J_GX75zPjwBZTQA7- z9?17@LZPhxM;c@QCHQT@uL@o%m=?T9@O;4;K$a(VhvM5&DC>Jf@Q;EU1braKfvaWs z#HI)~2%aQ(xS)}{y@m1SxZMB*{TaU!h#{?61Z4f>)6um!X$xeH8~NG*?T;NUNI4bb z|AvbPjJ+WEs30jWhJRO(axVI*UkTDU{&`?u;OBtk*ZDGKJ0?gxSH;*K&VLx1comS> ztrCc;kyIn^w<@%F68tvbK1TfJzTTzN<5xSBp@;+HU*!1tLSh=@C|9)o=ODuNyXyq2 zocISE|Cb%VyWjEqPW;P`ze_$oPmWedW)@5!dKX}5n%N^6nt5M*1m`sL+?G&J^$%f|>L^)uqwCSI++3;y3?Mv6R2&xO{W0)4%+cEKe^lz&MgXqbWjgOqyU45g zcb<~~b;U{)0wuyZ#^z75wF)Z?&x6w#fXX5r$vQvZrcgC9sc_o#A#VX)La_NS+q#6w z#@S@^pG%fhJ=D<$8PFB5i|x2?Q0<{qT%^|(sddyr$FAM~)7q?~yf}zqmJOjp?aI8y ze8t7*wc_G*DhU1>Txpi7J-C~m!o|fV&J6&JSA+7E-3hSnMo$ei*H~~i-qggj9r&kK z8o(GqZ}BH6h6Ejo;W=I?hUOq}Z5zYIkO(odS*IAbN}rJT#i|u797ci$WlB8%er+Tu zx{8vG=#4*TTxOy&6!e^&qPMAI|D^wns55F6MH&nml}SC~gZ1{$DD^hhRw5%L2mPS9F{hXiluU`HRr z^(z^>A+P?E$BKkVAB!C~WcLm|F>JNzT)xn-O1j!cP03^S8E0Fx#O+cpmlHm1%S4#XM@y{1LSMUVEV+Dr^ z(w;oadjc;qVEng01SxyK4F9qYk8xuI{i_7WYgBfB*q?_mBQt)ZV7uUN1gZbZbk~Z1 zg&>cmWxgeXl&_=cn!Z4MQa?o`_~n{!13@CDy5qaKDVgOREcg#R_4IcLwgN#v#;*W^ zWUaXXSPK8=fNbAzAk%Ywgvhm6BIV?ae*+hl{#OM#m(Xwc@9&G>$jz6*e-QGW55#Lh z$;mPE#QDl%{dE#g+5|LjO*N3$y%NalPSjOvoCUwlZ}Xm`-`wY}-svEnAHUk&20-$_ z^@GRuk97Quv*Vi`{|Szt`$6sWOPqL@U%$zT-|6^W{+#1&m%qXBb1dxmp7HD52;u{Q zdNBXwc=%9I0Yg5PxE}MJG>dcD$5RjXgR<3Al>Z-Icpu`iqedWxE>E5hb=~vNZJIxC zNx=N$+P`0U{%lMJbViAx@o$Zkr$g0THsAaw z4#&3wU-fKS`w)*t7>jB{J1`HcMlfAF{GS0ng9(G%!3wPh;6256Riq!jJ#|K&KW$3O z8_}<}d(EAl(XXwquim<9eYAy>Xg!613H(WBW|XHIFJG4QH<736)pQj2szKG;!C9S# zFtz{8ThLDFofsOo&y&nnNiJd$ee{; zPQBMRG@e!25WVZE%-I#CkW5xIG`7RL(QDkUj_%XS1zuys8@qn_zKPZeopmj{ng)n+ zfrRfLsF!veocp_P@K+gN-3V4;q%1wG!y6Tp@uL7u8Mk5>HDMn*P%+`Jqu^?5eWnkF zrD=#{Z`Rqr8)W|yvRAj)`H$yT7AiXSsq<<26$f4@ayoj%3SKLYzc$X9vl~j=8#5}B znVIE@=HISns;0xFhnYz8uDzPZHt*^c@OK?Eg1F92&AUo2Jqp}Q3o?0)y_>yW+d7}g zB^{LedqnQ)U$vsuJKA!)3c-UEUG*LOg;nJfBmm12>y2S8Is$4Hj;4$JtNPj$+_S!_UF}DyBZK2!*EZ{q!v9NmZR{(g< zpDJJ3MnHJMht((AIG5;ki0mQ+$n~d%bX@;TUZyElrrZq=MQGGJNex2HIGr~RpT2i) zRe3lUx8bWS*uITxG7V}mo$0pD^ctSnG=ocP!NMA@z)MO0J?qS-?ibdm7o--}#^lbP zS&z|GlT~uTGh5IMS$Rq{Us=^Va@Dj%^SxD68jVC(sfS1}PF?{T6rH~T@Ow5`_d*ZX z`S5qt7cKJYpUMCptIL=OC_d_;0pz{*Ypk2GO`HdMrH_NcNqc9sh4)N-%ip6naK%8% zf4o$+F&1v)JoH7MYs;KX7chZYH?~{9S{`zP>Fztfl>`!P3}4y0IMqYd}{b zeWDFNk?a~UkS*=Y&SK+&2d8iP2>KKL#>CoJ59h-Q>+>F7*!3+K6s5ASuh#>3LUFxL z3>V+5is$P-dn$_e{Pnm+%a8`o#5Z-0e*&xqad@(%wNdSs=&$bU7>c#5Eqnv&_ZZeA zaTAN?inPxX`4Ne=d2qd*M_UG1U?3 zZtldLbvL~At2&!zCsuS~;ya)1SkZ|?%V@!c9WOBVjpX2mCO^DGW^A!%Kd-TtW53QT z>HSc&r5>wrPRtHzWt2=lT{-J}Liga*OUI#Z7@8CHo3r*!|(7zLrL#lSmTYZx*dz7xkO&(GUyk1nS+tAfe9bV{!BGh36_43 z2Oh&QKRg_lvuSOd3qm9wr`(gUS2}wzMo2B_zR1hf8sj!7tkd#5rbL^E%x0bTb*zl3 zgvX%*B;2eM^71FzD7G{Sm!en>fsFkoO)1CF0%YsGpO;DQSBho%tB=ZV#!bXqJ^HJ) z;mZ*H)gO@}dcz$mLG3V(Ma#G8(bFEaHPF=zx@BE??q$y2se7#5kh=7Iuj@;%R>XO~@9w4F)a9k$%BEz} zk|_VucbqMQK_x~E#$t?#H5fiySope6#Ffl`Qa>SPoQhthBRZ0}L||2O6z3m59)wzKkwev3 zRFI%x@p1%26vR{xBsI}Q5JXYIfB^;NCY+;aMbIRzrxCPPtG!C?MfKD$N zSLe>-!t)o+i|LHbTUdW~Ng2oBB}WXN^{JAfQ)E z8Ct(^*6g8kXU$zwzwq4Ii_afgzi3f1J!kIXS&L>aPM@D#vbcUIbJ_aU&lxKF&9nS@ za>T(S4jw)<2v^~T<|j8g&JMOkU8$gIt|Ig2o7SCM^pRiSrCss}4{6d#L2kSjh8%Ff zlGzJpot`;^rdc#^X1(Na&73!P<`S1=W@!2Bvc9ktyZtFymv3OCI*6pA%}wJX z8!PSN+4bj!iy*g)8>Lq=3taPi5+L6uq$E-x?{;c>v)o<*izur*8LzI=ahy*FD>UD~ z0)HJ0%ypQ{JM>>Hk&XxXbt~!CDO`7zju9R@g|D&jy%_Qr;v@se*EUV#(l`4 z^1CC(A4sl(U+e2$&g#Lv-Mi11b{HR+bw)P}drtgrG&$AB9f91q2E7BE+*RO=H+*_l zuac5eqUjxk%a}8@j+Msp_$Sa^+llx5dBwt_> zL2^$Uo(t|ycz;mxn*2w;_A&C6+(U-{11kIyQ0bikGO?08*}^9o>Vr)2$}N1Dx%W5R z$FL`;^1MvLN?u=%!Y_g<&%U7Y+YwZGp607V;g1?VXn42bmq5iEX72qB_c7ed@O?(( zO6M)ZzZ?G5@Q0w%In~@J7>+bN*zj|PWrlAsfK|FL8~(-cPQ%|A)`N`b%e7y&^66v# zI~nd^_$;GBrT2v4a>J#D$AG#He_(7Sx%&-e_fqY;*xY9uP6e5Qtv%S>pELXf$dqF3 z<2_1B%7}LtxEJZ(3Nj^_{647k=7Y-T48uA@?N_Pr;pW!D0?GZ8UN3yd@KwW?45d%X zlx_J;bDv^(6gZIdlHdTaAGkNz2UNLsvT*5n{;{CauP_{J{=Lkt4_}49&dsg-{t7Dpr$FU%F9;7=ehbL0Tiyt&zf1*n z-B*AlvEvNGv4&-afDb2=K1_;#8@D){;JG@RbGd`(u%0<`ui&TS34U@1$4%xAp1T*3 zZYa3qh?rYp;qYm(@a3`ahY$|S|2*bCl8X@z-y`OJCzk%7V(#C>+}&g8SI5dTJ{G=v z%zbK1UZYn2^2eZ9e#2w(`d$gkpA!rJMlAlDvG9My;_GuGoZfXYw}z$R@ZDqS8&Q@Y z18I0SdvP73gqic|JRO92nfVK`LUVfk%q8hA_&yDYqDF0ku}jo9y7o4bJA=#97ia3v zUJ@@_NuA>d^TP3PE4mw*dPU#7Xn4?CLXyKn;ak^X92Z>lU1Dkx!_a zRGF%%JGy4VxKvGDs;1@(Q;r*7S3Bi|%BdzXo=w5)Dk@K`9$#5EenL%6<@gh-Ppq6A z4wW}?t5cKf##dF2KQJkdh;qWD$cN-uF5pNp{844q*_bL+^7PGZ?%oz2M;8J|{RA9>R}ti+?5;;AyX=9E>wu zAtbjN_dZ}NgCOnRNP3<0wpDKZ9N`IW%Ms_jpa*A{i6*RUK4ocT)6*~kv7TQ#fP@KX1hEIOX=^`r|lRe@0@|4)>msxM+RN=%-O@Pw$o( z;CgdOs(X)XtJ>F9kA6Dywk8lYzJfT*{&8*F-i=SE%U68REq&yQ54vZL4D^1Ff;#%+ z#eeY}wef-{F~8sIzUumuG|BkK=4qelNg8eYvWe+{#BI;E?dc-8nboKL>>fiy@|m_r z&&1778W%aH@3Ng!E5}1zKbdH}T+QoAZTu^0FoxTwCVRr5p4r_7VJx*K8?5(CH2xe> z)_itY;hj$6%x|3ocslAUNVHv4JdN~{Nc{dj{_uSKs}%q9TZlg*693PP*UA44z~{e$ z_yHljiF1nEw!`rD%H|$}M3?U$D*N|*+}rbUzk#?-l(y|4+o_S2>|PHx&XcE3oD50M zU6AQp!F5PA{Pqgv+CeP$ZQ!a_Hhi#y=HS>BhgXm*SKE?6Lt(G>`x`#!e%>J%hW##4 ztLpn*Th(n{`(NS_#>G7xD;`d=EH06Vc~GUYth5dSLj8W85wzbefN#Ielptuo5D!Qj zvTx^U)7PEN)Wn7SzRT}sejUX48CQge?gQ++S<8g`>%jrzslv2p%3#pKepvN}EtyVWr?;DguW*!1kJ*ha=&6zl< zUJ0f9nk$W_v9+HuqSCTm zs`rIW<+K3r0;%3NLc2h!_YJcyfe`^&5J)tQAQhA>{>g_SVnNsI-G zUw}wss@wfUjAXMjNq|;O=J4uY58^%v}otLX69c>?qrfsv_zxK zc@uT%M91?G=F~lUVW&id<~rUrj-QNRt=L6`=2S|$- z<0&gXfStV<2QSA&lhk=#T{|~=(GcCD4IyH@2y^u!bZBl*UI~tf{4!5cnp0Da zFqYQuk@(l_j3I* zGt~>x%5a0Qd;K7cPZ|bcu&Zt3c_W@#y|Qvv+icITKG;ULow6Y`<_n(sBNeHt`Jz6I z_#UpRKUX8ZH=ApQqtW5gYdFGbzw)-MM;6tjc#Z72 zVP|t6^2&RI`q6QI4R9SF147sF+hmw)Kpw#lyx>>8;0sZ~uOsLmT5Z$qVK~PN{vj%O zjT6MLB=-vYRZ)(ed^vuLALTg2$NE9BSYEZ|Hlh||zxQZckhrb2GxME3iO-=`my&4K;HqQk3LahY z?q$wYOLL}=r`_G7>5qZN1$s2kIgN{EB^{B8C|tCC)|$5HLt^i?W2>@jx0)|Mjr!Am z+NV0yDnC;DHK`A{_N%-drND~pyGEI>ugz|TF>jrinnEjd40Qdf!L^Px&kdyIto3zI zk%!jDh4PScTy7wFL}vrf4Np#X$*3d!Uq`8*+rg=y+lf>^7jjv1dLIX?Ucd0)L8a%p z`#gt!zyWc3eQQ{C)jUG0pBv@Xq1O4UC>uPU?h+gy(k~0~+QFm}qjDW|rRX7^Ovl^& z2A1s5DZGpan~pIaI)%@$@ZA{i7s{V$Eq8RgU{Xo9rG2{f>GjE;;*bu)7e20}l|Jyua?r6-PSs`2Jlzk>YwUC1pmIn~o0 zL3%NMeHtG+RHbx^;Yg6`CO1RQ$^Q+*$3WVq_7;%$clj4U@pU5c#0NghEQsWvFl;fr z#c(00_$PwIuN`FmnnY2&-3=3luQIbC|CbDZZ}?loUmAYf@M^pL6)t;~(gUcs@M(rq43D<(Bg{R*@F2roK()`?eEle& zR}7m#m16{`{B{S`E>h@~+>3^PHhkRho1o$aynU_t>$67jq_HdPW4M!{K3U}dJY!ab?WrZ6eP56+RsI(Dq{{mgsPg{NP$Me3 zR`RDHmp-YHEPqL<6jHS01t6C?DdY8Al5*KIplOrCK$@al_Mhc`iA0tDg82gXDwfwCrRl&EOax zbMH$)IQ)!Q`1P^y#}N+8>vJvauA=?J?!hs4x0w5{vHb3dxuwh>PH$eUJk_!Aelhn& zF?oH5hSN*N@;f0Wuc@}M{8h2=AI9Qq4mB*V&J=cE97|6F%5b>em0|aQSbXCf^K|OD zakd+e0^>#)S7YamtM|nHzk#X`hOLFUdKW4>SZbn$3LdDC`mj#Mw;h`vrQQFp*mxUJ ze_V8Y&@P4e_`4c$as!I zeEj0svoiIwLv(znbciC(Pp0HO)zt9m~umtWA5C zxuuFHD{QT+n|0M2IF-c!w7V>Deu+lCghM1_qOrkwENj`Mq$-16rH8*ValmRpVncwf;sC6OBiaSN5KUjmsN0&-P4cMWO;xw)*Vg zy-%jj%-YNYeyeD|`d|L#UgaNiKP{D`&$%#h`6al_4!k$Yoq_Uo6&Ta^qB+Hj_mruH;%RJ8Td7Pim<1X^B>HO@v;mqb+!81E_ z;^I2imB;yWX2DnmE#mxFSCC$Gm3g=HaF&|apoid+ZX1`s;Lv30(uU35(|aM18Q38* zpyPD6j?~?&0M|VsQ$(M{y zx0h}#Rg9Tg=G=Su()%QGs$^*0J(jRf4AzlPt;{~mGIExdqCxX0_Z|1%2lrIAC`u@= z$RhHK*WuLRllxTtp?X;^wP4+Es;IKz#uTU$E z@~t!$$o-n)g!eaKCHYsqmt(z~IEVETi9mNd-|NUZo&7V4*q+1 zYk0Hhe}t_vhA-Wg`E4n(yL)PCXbE|Ke}uWOdwzQ)4bNJ*i{Q7XqK9Jqb{5Z2OBly} z3E!=uW@vQHa3-Q{$8I6r8cY&2_b4FRramz}=z^!ioni}q07K1Vd1-xBb~*<1 zHw{L>sOepChM4K|VWu;ooPN{O<+Mw*%wkIea>6cMRr7SV5g?ynL+?k3Y1>(!>l3*Z z2vz*cE)l(Ob00ugQw~RtXAYp7{oY0P`(po3M?y)T&}BewKC_s-NY-Ec9x3#V+%Y?P zv8=>2$G`I8x7yop;JI~P_`cf6`H3*DPp?+$5ieS!JGR{2r%{W|>Th z#j#OT$FY41x1(8fa}?s((BF!xmDEIyRz^9tm&u2^zec%&TTGO=HR5nzTupF=8qqBv zJcnivU9(SmNwMl7Nokm;TDXoSxucPH1n_u9Ht=T?9PB(9NVRCjBVdY83ARG`8EGN7 zpBL1|D5;h(Q~VUPZ82`GEGN4H1?ja!<0&eYSKR8BsbGoe257X)C?wrAvC54rI^O&T zlP_27uRy3`o<<~{lH3BRO6XyMIfG2KOD#Q4aNylNup^cr>=y0%DTRxE+7i-XfTz1&-ITxDU<6TPjRCAtP53weZ<7|cY<43 z0$Y)NIMKM#rTA)yvWw7hZZUD&vQS0epJ4jvAA3(O~twEv?C|(Iz33k={mgwa*@&*cY&^S&AFWyC{LEMJpD;WmR=jZ zIw$+p>B#xj>1}&<(WY7kzIWS{;tgB4ReLkJ$2E@8?5jIk<~TGzFiw!!Ll4e|=My|_ zC@Ed@wf5cC=Tz#km}HnV))`{>8cz2vF0AVlwNoHnpQ3gOGRKmUsQuuvrqy5eSkr_r zWljU3p6~-#W<9JT@3CwAN@>207H*hCDeJtiZXs_&8-c^m=w zF@lUw_;F@#3`q`uI@bm(thoPgKZ3bSKT}eG@{SAq7qQ&F%p$pMo~L8sxcAs@ihKJB zZOziyn)HQ>j9ceqVVY7dJa4wvmoHpY63m(6ax2L-k>?hUZ*j$X@m1v$7R46x$JdkR z+rx-&?{-9YekJ*YFynm|_h%u#IasgAC|n2kRrFXvJRP@q=oCJdr-F{r9y*1uu<+f; zpiurykGZ25-+k??j_z((`Q1^3M;=6A4ZkP1lJ5@Iom;(loJ7}&E4^>?3;1rUU)OxM zHDo@$7~h>{)`KP~oo_f5q|uTGf%}4e%zr1t51BHM{F{cifrrD3WkKGf{im7#6vL6= z0Qk_)fMv*ikMF91;5bm}j4|BNu$}VC{~1v6?f@0<8c^kt)i8yhV0QpVUH+FE zE&;{Y9ck{7h95FISGq5Nq+5F*m?GUfK*hh!@MgpBS@>1vUTOFx!+OJMhNBG+G1R(o zrMs8mpBeb7yk7z3-(Wb)aJpf+;bDdc8V)dgn*pZczhd};;r-yg)aPb%-)Jb4Me?sS z_va0VfbhSyvX`v%WG`8`0c2jc_IqFj@h%6CqTEuo91F^P(O~@Nfl7BGsCd%Kx^nUcmfr-@)skAz%Ox*A*WAa0`{4fta9?mFsPqpuECH3yBNR^l_ZeObDnEVl zh=(3${$mWqr*dm1pD6Kq8FzuqH<#ZEGUZ(UJ@7EXF9Y|)Jr5iRR)b}r=C_$_=)DO% z65I$51)l^*fSP<{D!uo5@IbH?WNN&33%EbH24sG%_l@A^z||nnrrsL+eIC?A;BfF# zFbOUK4+ZCdW55~U!QfPoIrQEW!Ck;A@BnZu*asX14grUOPzSv^FWC<)0}1Qh7vyul zH?k$j^zI2B1g-#Sq8(=#jx{VZ1YEf66=-lj7SwSi=W?&$y6AX@pWMOw=^y4+n2tLX zAK5bFHGXF9fH%=zi!MD&Uv?BoE`RinxfK=;9~KMWNMJZzgX^&S&Y1gM?!$2SY|0UK zzZOgXC)6bzF1?YkTly7Ywd|wg|r(YSX?{Ts6 zEsDt>7IU8zi@!V;{>51Mld<-rZ%4{g8;jo-EB|q^_r^_(Qh{BdS1{J>cH zuf@W<@thCGzc7~nVX^qqy9vwpj>W$^7XDtWd~0L*9~N`h$J%FOEdRq}>Cca~uk4_N z%hx|9FFPmU@VI>l**6J?OT9hp-YHhz8)D%P#N4;V+}igloL+}AgdZCFMffOjh(NBJ zy|jMLOg2&cKeV;rmhmr~fBM`7v+HDFD`aM&qeRYVfGg3GdiHa4>-x<&c%cd)zGVKQ zLLr@0Kq7gBv_n324Uh?o@|NEx)j4&Nu8cDTMbnq(N7n`kQghbQJ{}7URB7%KF4}yy zN|~9)o`bcxs~sT=xSVw}&zre82&kDlVG_m|X4jux=M9N@ZJTk0y=w{!7xX=DLfwRk z1(KdTrM7@?ZEETl3VBx_SIB!(<;0p4)*Lz)eBz`D6$QL&QpXkY9#`0#!qiL{Um%&< z>f;Ir(C+D(r_T#o6=$euk)WbBGJJ37(CG@?@mUXNe5If|PNY9=Nn(5Tbt;cbjjO4w zn_N4wm>rEyrY!<18|r7)7uC1yl>QWW=FeQeF<<(MojDsGMXYqF@0b`DC^&U7u-!4K zvSJEdrMT@5qPr?}$QH5iVJUU0W4MT+Cd#L0;nr!*rH*Q+>YR3}4r!;p69x{~@wU%S z$l)VK4J&g;A-$yZLV813Evb`U60gUSzPzJK%J^~ctxzHsuGkUi*Njpej=;?~kkd=z zb?T0-)k_+%vzJ$Tio20P|8jYC(o5R1osb}%ZdR_7MD~Xc^UnKpWhbP};;*(CQ~B6o zXi@SclL=}wj!2SS=@GSBdYgRQlFgQ$IrYsqCpZ`K4dnEN+@&aBCqy5s`nFLa^v%-~ z_rBmLF5prMN_w62id1g>_@3V8BhV|FJh75#@X=E5kcALu=R#{G4~FhYAB-h$)=Hk3 z4Q$ayc5SF&*M>2}+jANZC2qUBZD@8wVD37VeZsc%HtYG-&8MMhp=}#Z)3y!IHCOm; z8?=u^dH@!CWsBrOG&ER)zz1aa<^4O1FbuD{=N?VYb@&X(%Uu-O!=b>&4I^v;SF)Fz z*gp#J6Z_YbOQ1j!Ug~XzDBQLU2U_IUX?s|Ko$`@?MC7nBV74-FmMA*5Y#6&e`!#ga zehoY1H&$qyk>?_{UqcVKU&BhWF0fz2$c|VaW$T7Rd`xiDYm z_Z@yW^7}cz#DKA3U6_w`|AyA+{tYevr~5bD$y2b){Tps%dWi0EGw`3^zu^>DnEvAc zX!xCd(e?wPI|<0DO`uYvt`pwB;Yp^ssL#tlG}4q%r0_kX{TqJlaw`9}k1HJ>-+`ny z?>kTnJvX+01Eg)Re?v=$i3yB-Z1esNOHCv9l2Tk*T0;=s;$6Bm1so9-lsZ=K75?SzK@j6umu7!iO(o(TKBDHl z<2h_5B8oGK#`|a`RLiDHwQL3FQZ4%?sG1Z|eL;&WW~#pnYY-Ibcdi)yHKk6WhWJ9I zfKZ{_E&`g2a4pC~sjwCMH;^c14dOAv#!PR`Oiwj84!VLW(ALM3+#0k-S~5pt)jo}~ zquUZAgYtqKML1hJ!QK_C=#{kd=b|Oka&S{#xE0k2^r2d9Plpb@qF(F{L(0YXbQs~2 z&H|xIFLOz2Sd%-Mq-m;C5TK2Ec=1$JToyC@x_ZCxU78%>jSbFsvHFklX|z&7YO{AV zjgBmBV*{C(@W$SEBl*zA2KP`bZ|MCw-yJ@djSYTCTGaCNws`8BzUz{OY~Is&y<2@4BF5{ExId%>VMJ5K-np{?5C3v)f*A5 z-es_>WmqfS0d@T_<4g4H5cdp4`{h;)eZ=LqlJ*M zhR(_@aq|rwJ11<}kV8;!(`Iqbs1b+w<_Od1S%vmRn1R0zM!Gu8OpoOQzPhPG@^>IjQrcp8EeLO3 zyA+f@$cKEhGG$VJ4Jf%Q3>Sftn+QtoP;hV3`<#WB8SY{DX$$|5aw(mE7`|@!IM|o? zE#{UT1<8#CmH!ib0m;3=aJAt#4CjNcJRs$%9Re!7Pg!_(!(w(39%k&V^e+dMpY&4X zmR^eRK*K?X?=bk3|Eq>C8QyKEv9!XaKrWQNif}Rr=U%=CsPg`kVV}zT2&nM;4A&Xn zZny$exsEjVNJFV)E8gb}yBq$K(U<(SUzYGG!#^5o$11hY>E=GwunJ^qv375Bf7b9F z20-XF)ZPsaB%by^;C?9o0f?SN@@t^dn+__!6AdRAjG|jg+`JRFiw_-We5le>S;U84poF)P4-L}kZRM&q z{!vNkFmLbRe^-3yFpIz1Vg!8X8eYDP3v@)1?1~TFVCil0akrZfRi=zH952f_sboEl z9=z)qGZf`N8P{#|;rLJ4h0j1bR+eG-S`?_GBS)l8oQVBxR}+~(haX+YG9f<=^;ZTp z%s*@fJU4JAS+|YKQ<0#R_$2ee^24I$(y*pB3PJ>Y5D!bbMO6hVKFP-o*9A} z`-!1#;sZ1G9qkid*I!keebBat-+&$a8@00E8M4>FiRm+UPjoV5U(uW?3&OOz-`k|O z#_DQme--26*V~V^IN9-4?c*n=oR!}m7y|d*O$O{~812s2HmxH2`d|vxHsbRahhBlJq9$!5A4a8VNbp<+qL)6F70gCzM(yH zqqb|0+LUMQ==Ru@AIcYmqy4HPYwq7zn~T{nIKCo_XUK-ZSgeZ#7MvIL$=-|c=7*~4 z{g%)*E065faC_AGmiB$^tiT-)vqM-DC^02A>XWnzovdjO`9 zzv^5&{{)D(u)a5f7IqBmRU}*ZilrKUS0JlY!*YxWj37|UjZ4yJ*)<*Db36nHT~ME$ zdsZD_g75OV$Hm`ii$#lEe9fwB1%9ge%PJ7h#iJ^lC(Lr~)6|F$BtmAnC2uU~Msf+2 zL(3feGcR{NDG_}sH>)<4zq)nBTitrD%N$iRW_C+vbj|4bt(g(wJ3H7Q_w&Bo7e*5< zC*jdm&lN0=L$e8+V#${DmsoJna{nsK0bQSv208 zXv%@j%lcYQjaqA5)qZ!?=*KVo35g~eUzJCQkCD+rxYTL7vmGY`7xOcdDZr&}^S0+{ zrM0sEw;9~fb9V#ivNHBgzt{|fF5Cn}bARO@g8O^HUwA?7d>IlvMuID-sP%)(y;S$8 z)Uil;-X`}=t-@Z}zc&J;{TkvF;$$D|F(8z-V&!J|LTDvEg2TLEb5!tXm%PRjxx+cN zq8JORtv5r7RykRQ7$v!cFUkcjO}867IXpzCqCK=xXDn9kF;%mJ3o5_`ZlVmu_~i!( zqeFI>W`CIEFdK0ap3W@5mvFmP=b~E*TCX=F}n#oc@K&fdPk`E!gjKt|w!LrUnpf>7TCMFsCo(F>%{{HFKQ>{+jM?u$;K&nd|Jn;*cZwKvt(Gbtx{Z2nc*F6J z)27y&52MR+_4HK{x_W0K&^FLScJ(5%*%}f#9T6kT_Rd>KFO?xyT`H2)8jz6usZJih zjsa&ybL|7Nm83VqOXAFSbJ{CzubS_=gzhJu+GskHI;WG${wYXiwUT)S4TOgG(IRnA z%s&K%>ie#Ee+LZJzt7|ED-@$EA~P^l-#57C=d*uT5kvK1nTTbKkKIuHm#99CqJ@H? z#+`$2Zh=~FW#t+)pRjz^iiw09={y^>v3qScH!-CrLS!iG4b?C7hUy;x9CfX>;kN#| zgPp$#q+0eM{ea`X{GDJw4?Gc^?*-3sf|_6p1aBn8$jndPuw)mz#JgD#g#X((&~x)7 zXxN~=FYR{Ipn1FUg*J@eeoFv(jx^7J22+onR{a-W*uNDtXvmzsZ-`)3zc*szPLiXr4;;)0R0v&Xw=<&Ka^^PkPztv(K;pIBT4`w3<^1ZP=d}trzLsfov1pH;l z?tBFS>$hTEzrMZKn4Ie4jsodvNFVU4R59NSIE58JU*GkR;C4Y+H z5$4~|+@CT0I~_oBe>J?<@J_=&^0}dOe-0|2Ye40DvSGRRul+Qrbb1*6i{ZZ9`f3s0 z4l14VLB-cPeer?AE&Kq(eGU5=e!wtO@!vLl*l@k!TEib1UT1i%;a3e88O}94#&Eph zk%j{e_cYwqu$SQj3@cTSwG6^ku3sDe801ov&oTE*Lk-<@J$5qp4u%^U1}OfY3~vDW z7O!1k?lTQ%7)s4d@_*wU-G_X%&KdqO`4f;SxAO0T%$1gFEWngtvJq6ivKy{=QpXY= zVVJaV@tgA3`g-9z{Db$a{TV3t4ThJ2dz0Q5L3q&Q*&uvpvJO=KQ!QM2SSrUju$1uO zpm@S}>BQ>CZH5nn+zRFEK)PbNK9f}5t3gFwWhm`Sik3VZq)R3>Q9=_Y^?gHEbNnV< zrF?(fT%zQzAeX58Z`_n}-wP_;+d!pzv*DHIf4;dF8%_t6?os9*Ww{8xa=Vus;Z z!!kp_g(Ktm%T}Fm^aT_Ag6HZ&{N&!KK#s5QlRG%LN4%Rt>zECOf=eF35q5tq=6);Y z7S9}(uZ+2$iMd;2?(1W2wP!fJ(J}YCF}JQmSpL|U`xCM9{wC%g7?a-^bI**qSH#Nu z!&ta@a{ls1GUnFcHynOs%&pn8aCnRh3Ym|$QH$q_{%`opys7bswRfL!SQ*Zj;bULw zyH%@ugVKD|)xFzGLMn|FoY7y3GP$JVZ&l-(vB z0be+Z!NEoH*haoENM|>mTROhYU?6;$ciyWjzVK3uzuID~;f2C`v}6b`W8R-SB1v|| z7YL?3h}&_zlZEVgU4SkuVh4Owt+NBZ##`T?vKqdy#qotV zQ4%JF-91r&FPzUd7y0$5!T3LGhCFF_9nC_=xdF&MKxjqC zkTZtBZ}48u5V&TRnc+NH48v^3AKL!9%##cSCY;&+x-3GYvHf*fm`00ke|-Q6GU+VU zTPB@lo}5Xi9em;R-5A|{c?8k{Bc^%h#ft4KBm?49=y@O-XG=V#s$a9R{7N4;i_3SF zueyBnIBVe-EJ-YbqtxYh4CNXa%J$4^2+J5x$==r==J&q#S8&T#!Jp$DP+(zVnGv&F zyX*CXTzMK`BM_Q9^euKKmDq}1ufO7x_znx7x%4exc!1PfRW@afNq7E$KRjPE;zq_i8aEUi^GPnpGXj184de@Lu4jy6h_t*fnn zzpB|y;@9}Q2aDyEvcP+oIs#Lnz+9!==-TL zRs9l8vI&>HbM4E$=<0mOrN&I`n^^gKJO{VajjEd$^{K9}(!RfJ?Az<{OfvUl7v|O+ z`t?EG-fK9&rX;hl?X!+6@t&UTZ~-T(qYrN%{_d~BljPhjkJ2_=_!WGTp2dAUg6 zqs5-H7Sk7Xu@=+4+o{F$sa>qaQZB4>i)D(n*tC3$%_M5TSJ7hE^R-TksZ*WBD%xf1 zE3;3;8m%(>eogbTBJK7`DqG!tckSp86PGQ6qOQq4q+Tla>Mhu-b@up9G--s!rW0%> z(s1O(C5g)uxY_f!hCP2@&S`xToqVb86J4i7<7brC=-QS<(rgLyV>AaDYi~P-XZ|HVMKO$& zer{AsL}RY8Bdtx`m`F{FN{LSnF7H|FmqKw@xa3NY1}Ls9&Jiscjiw^_Xl(~j5ScMU zw#mzG1VRns8DOp$*E3Lg(rtvgi+@+=eyT-(EBn9bqL)786C33d(+Y!7VjbmeyG47+ zH-136^q}hO8;MoY+IJg7U+g!CR%dx5=hhlF*RByqIIODSJ(Nt2P-pU&{t<3u>i4~9 zHVf5wCE|@Bft!0=+;M;Yi4Z-}{sD4-CK|QZ15dR?)0LbA+*#=Egnb;ds9$EFo@>kY z%HC}z<+E$6o0kSpwugAKJwf@bL423i+*tKG7(;ZHwg|>hi8yS*}?ly3IWfcD^5oGHMF~>aCQEgrHVWu)Oqo zC#W^M0i(7Vb~8evuk7_n+US!#+jdLbw!X^q-&FzseHW~6sHHC&TGgC_L2k_iIxu&T zG<~9hrVMpGtvSp6-RUq?-sHK&7P!RKx&&~EYuN5OHpcZl;=_(dbiIah^5)9W2iHBIVKjoT@As2Wn`&kd#;5eo9W@Wj&= zw$*m?LJ0r2QIO~5Dai9edusdAZZ`$ld1YjXl>F!vK7?rjE9`Y zIEANA=@i5LK&D>G_W;GmJ;WC}jhBq?SDnURa%X~)I|3A6DGN|!xqn}@Lw4I%KJgnyS1P zsCxaGaj^Ks$3dpp%EfQ0o@+qG`?2AdL0yj@G8B~jcR|Tt21@=SQ1a&)P5~vqkYShP z#ZyXt2q?LMhB<~UioYI||60SFLGgkbk;$JOu^gTT@=;Yg6zosD{vh*v_$h|2R)+q`R#6m~FPnPj=sF24t@{>V2nl90y`MU7I zJ1cT@#ZN9`JfdT@`(ILWE#n_v?ImLw3|WyQNp{6gYE^@dO&&_Lg{IOA4u+d^f^%V4 z{NxLqB*g#t*E6zD?c|Bo*>_oL)UbRhv)k8@3;WZC=&1d|OKSG$*l9Ms zGv}K&im+M&8Km$OC#82x~)6go-!{Nm{|?)^jpy0DidgZZ0%GUi(IZ7G_y!) zhx8!S`+ZG2+5@k2FYQ$9_Dm^h>*WPL;h@u&#DAtUP}X&TukX#2H6Ukw%>0(bvWM!n z8}48QKb)Rg2PXzJk_N-40Tm@q-mOnOVKUVyOJzU2r}7zvhOT8~li`}?!3t&} z!JuvB6}8J=XI}9`Qj2ad{8eA)YXI9|IJ6!y*kD*|5)+M0M21&%8w|_To2Fua+h*(Oi}_+XpB!S38`F#HO2;krouFgKnI zL)}XzRS1%WmFQYLr5G@e{%YS@kxjb|gr!R0Hz4f)H6L9!ufO60Nj|vZ;SGe_!y5?O z_1H2?C}l9m5|(Kl<7uh7>FbIu1=ONHb`JK7{t}H@HActAr>~I^Rn&+-G@+)&p{bTL z5!KGYg%*Xn#e|WagMa8#x($dnmQPIgQgC;>orCY!RP@TsGc~p)e5bt?Pw)v|Nkrd# zySh^Gtyhw3BC>3-sp}@19>JA+g@0~Q!xW+S^YYYYSAQ4Fta)yHpK}#ns8<5 zTrW7^35Hice2Wy_Sah6!zi!QZVqWyWWj4{q21A1}f|+!)a&G55;uaPQSUx1I89H-? z_xpQ`b}nQeE%?Y`c%Xx89XwxYqb7{3TG~8w~?J@f*!8dP(7z zfiz}PFJa9eoMiqJ4UYgdKco2=$?s^Wy=0j`sr?10d7JNpnjg6m)Vxg-sPyK7ig&u< zNrsx2QTPGo)_!f0OBnVv)I5#+-!RmCjpm)CKQ8}ShSEpgoAeF^HE%Nr)Vz)MMo_sv zW8pnO&6E9$N=v`|?;xsVM_Tq zNXoV-L&l^Y?LCPnEenQ}$w44P)$$$9{Tvrp>D>=1ox2Rb5AKTpwHE$m^Iu_jBB=DM zLCwz`0Wu$#RR7WZQW?llvwQ`pEN2*wH7qj(T=>~w0>Rb%bg0~N2lwf9_{l9{9WDHv z+qp_g&Np{(U#h)L)JeREBkb0B*sbdjcE1n{SN+4`cf{l`j=8UkxwWn!9A8h2uzN%- z{a?hwqQu`<|c$nE>n z$x2itG!%baYSN_Y%3v2F7uUQBP0MW8yv$*v54CBW&hs+5I|AMD_`D3y{B7EI=L#Oq zI)Z(70ypo7?V6W4ND~Si!M;1|c^NN}$2QK(1nE3z4~tp6Ou`3`smRgQyo_E(I##>? zl#js!@5z!Gy!6y&9FZiunwME^>FEZ-D#UIJ zp2nxKQm`R?gtp=tjSYy*=#I^GoMi;6UDeEhMR0+(*14yuev;H*9zm_7PtUe}hqty3 z(5^gt#y9VA4Tw;;o>k5Mynd&e`e)gdXB`SYRf!5L5UfvJexpm;T_SC2U~@^qB#J!r zWmc2Drv^(&mDz`Cv%gPe|51~jzJ8NRg~B+xiXYZyH&tfez{*xDAB0n#PRf)G71?`h zvu`*te2>W9v*oF!cNpjJQQL!Ij{kDJgY@0UJzu6dr!d((cBxuwe{EWn)Rsl3qVuvL zWJ$fh06IcA3o#|GEPg)FQ5mF}v@yw%Fxb{f4l`^bg= z$PDS+I&J$E@Y|)cpPQYk>1vAZr#)Reic$9MsIjMgMl&xroX=>xCYi$v%+4+F(Hry8 zUv|;svvWg2rkD}~iq6ZWf|Uf}iMej+;Y`4}LbRpwGi2KRsQY<)qs4b7Iab&AxTL1r zhW3qKY)=ondf4)u-D5ml=}5l;d;@68Aeh1N3FPPOuIJn9$NYZD@3;Jd$+_*G$Fuvr zZzYoz*;=;tc$C`(QzjeksnnRC&gSm5PD=&?|7|ueb_3}Zo7D?e3e5H`qD9QP`zVBF zhX8M3EYb8s@8xFnzQK7gqbKD`&FK9I+|C)jIhxUXxu*L;%;;$%4ed(VAL1g*(lir3 zGBC}>+6YAT)uqK4%+_h0fXrW+s^r&w9O*Db<6IJo6VY)ezbdjNckPryeh1_7ouk#o z;W-}H`JMkwH>{MG?(9GsZ8~$oC!o*FWlmh)|2^{ zUo)*%+0?%DxSH(7!Q|!oPOr?aIGtsqa{PLwXEi;Ic^$9N`Z|@SwBw_t{km&z4GnTr zNmBg*0Xl*-MiBo12vzQCC$6Cb`m`ra&J7_BS-RXZhY|ae#OCU1e|i$R&?oXlG?7rA z{gqzB9aoTGNqQ8^4S4AM>%tvVqbp}EKZO(N&~i=c8njdJPr zq(aoCiBK2f@hkV#|uvPg3m++ zuXSzA4Z#%nI=@BGT9h{T|g4C+ax(y$Eke+SZAE(#P`U*rl> z!sckk`dH0r23j$g5!NZO605$=iEGU>InmmXX3#a~r`-w9q#>NB@7=xj)jb>jmas8S zSlzjG%sKrs`;0lh@3Q_*aEn%g4sgl+EhH1M5|sO?tCur;q^Tw9atjb@ZLbSV{phHn zn@6|KGIU&XFVS(`{Poe~#5J4jVCR#7RLceY4<@>YF(c>%{T?=@Dj7542Rp%*kl;^9 zmWtVB@@q|OsJODnr`*;oj9ixQ-F7@(EOFb~s<~miUW|$e?Yu$F5#&JaUIRk4yV2#& zzmnYbl&@xG?On3F$Hp?WuUiz-W2Mq$di`F=Kfjxzb+X)YjdZP%>Y$H{9u=jgTJOlCoP!R#|#0{*mY@GM+@D`>+7 znR)X9Kb@BiUQ#k^CfiG&zi2l8ix)0b2?UC~CCfszxi?zfq29YCqQL6rXab#wwpC$I zmGNBK$RVDtkpArJ`0HS>uR}d6dgxB#xY0wW@Ky^SSS0*)3zvPCLizLg=Z-jUpm|mC z24ijC5|!T_!MuD-KXwp-H4?z)mJX{AH+5(JAdT3jx4oRztDxMsky~NuS^YZ6shoH5 zyVT@VPj>|Q#>&}?4_vBJ`U%6gDJYGaYz5{2E5q-A%#+ui55gyup9b!W-0>EEjNy30 zkrqD0+ye~*eOz5&KC+T8@NuVno;F+pGIv_OySWpFulDr${{bZb+V6mh_jN<Qv8by&ohkM`5A5ghZr7c_$fo#xl}sZ7e)2cax}TWWvCtd z_&TheW^U=xDtsgePg1)hxF7M}=Do@_E`JH!2YePBfd7M_(p?QI-Zu=dG;Ff)S>~Q@ zILvT=!+i|*GW;_G2j)M@uLhOwD#In<=g9ALa4or1y3mUd(*%0>m{?AU*!Zt>g&XG*p7%$eyqvlquJ6c(IapIN+Q?zyw; zW-ZK|KCjDY^B2Vvi|Q=9rU(yleM|fY>?&DF3Nc!p2IHsCU9fQe+?n$_wt<{xATYTe}8iFGD2`RKaI)u&X3Gxs5rt0qi3q2OjMKD=haaYt_< zxD!Rk<7UhJ+Q`Cs&xeg1eOQ@0I`M0>m!k2#zzDWDzs7K4o9r@8)yE`9p!XcO85?XD zzqTtcaUFr)^9lwt=gMOn`L!S&={x8cV?3aDxiLd<>aZ(*t*^yjVX?+CDB)FBGK@i{ z+Kj_;@{X?fwQDWCRxe)CYU!C%W1~62xlrHm;?3NRDOrIdvDo%l4B zQ$M~hw)xO}{N#z4W5TR=zd@T6pQ(n~Of__9MYfSC(+wX0e!8I+smQ!P6x5iK^kJbm zzw~h)%EviA9;a<5w5-RJWbQMij7dupy-F@7DGK}?c^}Si3`sq-d7Z9e&9?r*E8jsUiE|6jdxk7@m7#Um%^e=Yp9gOg4RRPvuRq%woFKNd>1GmZ3`hh3f3Hu3v5Cwl2S*E5~`4 zn(SLCx9dYxp;{lswDNv{DO7jtSAn4>jR{eC@1#&Yg_}+Ei>5^@vhM{3@cBIAd7`Of z=Na1V1cmDN!&ApK^@~Kmyjj!zP^OOikqipekMOw@C{*9-&YeQ_GEOPuRX|R&uA$3) zx(`|mV5=uID|nw8uSMm_>j+n5FB~+CYuB2s7{rCG+yItUWM>V6|EuJZR1D&(PIEff zY8BJD)+ZR5?|_f*y84U>x^7tK8Yb=8kYOfWw=FX-qj*R<=4DQVdD-k{O>5@9EWx)6i$HPU7`cVX78ZQHvX z&tB>CVQn&@WY6)*$|zB&rY|5HSZLYAIhKET9CEp)=S4pEspABEatnB%$jXH?0M$3MSE$T)c(EFZ z=`FSL;>Q?BLtrZ zQY}()3mh*7B4IjhV%1DeT-%H0 z5dkz2bnSmHF_cl`?FEf<6h*|~%?153`=-V$h655` zaq&yCgGv(vhQN-=FRH*#S;8SRr3jl z^sK^2)a80In8yjeXtZrRk{K2%jHXd2%;IQa-f)E>o08mUil7n5$;z~0 z8J6%y((o6B(>U9wA@fI}3TZ@>5)D<7dxt)vxLmkh@NgGS^E>XsZ9qa7ZZpV*OP}j5 z+EuvRP16N!H&C=)Kbe>bF>;;v_V|`dE+Q16?b`NoPd?u@i!x-cfu$!@m?EQr$2zM# z;l??RM;HzK8QLh+IPXv%Yn&$`wi=e*-Yv6_9#{>}!%%XQsrHbgyNNw+x*d_+_wZY> z?DmrMB>wZV*I%k-CZmx|zoG<5; z;!Ck3RQ!LEw|`LB-K|pYPAMtSnyS&2>q(LuwLLwKYn?8)8cA&odsZEH!XZ9!nWPOR z{z-hTZEkmFwkmIOh2a&#Dnu^znhHlHYCDwHKyS<&F1i6TMOrt+>ps!6Gb=iB`}5Du zR8+c;$?&8~F`GewBUCyg{1~Xjg^R2loGeT;ZL;vZ*`gyCF4`ikXpv+;2wO#Yl5xT!qUMbkZGmX? z?SinFM(+sh1;H~`lntH`VH+=_>vk*YMjwkFZp?(&XhI5w2kRI{`)Hlw_n{N(=+4k| zTX@7l#OcSc%Ixf@eC`PNxp87d9LM6;Rj&!`_5>v;AU6;B^~OtDc?;V2(L;8l$*J7# z2-1u3f^YHBNS4W;gH*NjCc|q$9{lBtL3o_xiRM4Su)P34e* zMui`3IK*(EVK>9~c_~QlHN(Fc{>o50xhebx!z)15KW*;$hFTvcx!n!l;^Il}QBeL5 z8vYWbDz#rRcY|RaNE6l$1L38TdxP+l<-I|MOv!Gb()%mDR_Q%!D85hb>p_LbdA>Oo zKGRU^+$4XDVK0zNTz(gx@)sW^{1*SXf0ADT;meX2fXo{u7l10)nHD}3WXh>rd>&I; z$*~|)QRSZi)vw>@pYS>U(KO|M1Zn#6pMWawRiL7*G|ZU4cp>>qKS!7{e`({$y|3XX z%>PwxGWow`_z(#Hmuv-@T1)EFLhkQ?pCNzEDJuUuQ1PZ3jx+xQ%{|Ca)0~Pw10>5G z#~PLy0?z+>Q2bu-T+!guv_gAcGtw*Qj!aY{~?xMD(05i*s%PW zvGB#Q^mdK8N5$Ox#N1zvxow93V`j@b4VpeW6XlXLt3Wo2=^*+#FS44jsIFs)l_P&T zoO!~p!^@}Wtv!Ae>pIntG~voKJc&_!YVd6(uc%D@oZ0nf*Etofy7bJ`=gkgXxcW|O zwIXHc%wJjX_EJ=xNSp|hBxb5ERa2dsTsOX|a{RGj4ykhLuJTG+o zok2+WFz>uqSNzW=i@(}p^x-AVtFvUyKHImx>QX(ZIbQcrvc}Rgr^Zfmf^*>^{8R)U zPrPUuVd=-AddUAt%26idh4oK7iQkF;;r*+3u*MhLe7N;gCpsG`tTHMSIiRg7FyGofsd(NF#bIxYFZm0RT z{A86Fzmjpy(?+<0w0&;)(`{vm+n#OPEBnWyl8Kw|PTc&YE@Ges-*?$(v}7Q4Vk)r8 z-Ij=XKme7w)lb81aluo3Y;ajy0e@Mqq$I&*4e4L|ok7glO2>+I@EbQs zN_X&4tVd#&gQCfnPz7_znPaiMWD7#ts`K+73NH0>-7@Krh*N(Lxpxnpf2!l$YS*3) zYPYMe-3xq4`Px0crP|R0qiJyyjN~Tp%P_t~BDB=k^J#@|fKW??Z-YeRLd~@M1S)+3 z)A9-U+aMG*cNEecjVpfC+D6Nq4#>9?GKCL#D*Syi>B3x>~aXA`hHkVRE4Gqa&o-OT>(RoQ!-pR8`bo@%cc zG?sOD=96ez$$JFfnn7coS2g@qm4qf<`~g>_M}8}oPx?0M1-J!P*(V1R9;~nW5$D+_ z9k1{$PJ@kDM6+ol7BLT;7MSs4BbL6A2|qSs=^LK!tErzMhVO-%?t@_X4k8s6hy0Qc z1=f6A2QYI#&$)JP04j&S7@CmNlt{qdX@S*witR7?C?BV)Qyks)L7Y$rfC(ZZdG6xc zp?ou+IP|%H5a0LT8(lmeX2Bw>n(X^ro5}F`Y{;@+2FqLAmMrYYvZiCj)kLnvwr<7J zozJ@hTe0*t#&4s(2x_|P@;D<}P=1qB4Yv<6&aVk?YlIQL661kRt)^jrTV>HCm;cn# zc#UsA8loL2-uRJ*)RgPZur#UW#zA@>v4QyXK8eQ5IpqPAXc|u=Hhl1}#ASP_Nk>l` zG%K;H52p$jwqv-V2@qOf){pJ6lU{njYrF z3V(<%{53$R0rZ8F8^$+#)6+}SD!|f<<~s%<(b&?HT$`u2Rx00{)sj)(QTf8ohx6T& z)Lg!wQ89h*`!%(o(FR2G9jAO<4l7HaM}n^XRWJAe5Gvs35o{YoXZ($qI@?SAC@Qr8 zsg$(Ad84cM57TZPD@(P18Yv&{<1|F$Xc8dRLIV*eHM#9xh9Iq~>OEUk)mw?}s;apM ztLnqOT~!Z_=5q-GIn87lJ(_5`N;$0TKhzbgbPs?+Ug;yZ1EK1xojl`|+lR+8by|-A z;`Ltq=BW5NPF!`$y+yY}{2N~UP%pkBDt>W?_+9Fy4eg9%{-Ms(*q)w|TG7r%6#s*h zGsuiPIny;S@Mzm+j#OGjG{Hz$tkOG~JfTjP19X)i0ih}Y}k6!K!YMP}tP=M(+2 zKKc_r`a~c7j%alCaBIPh9UOI{>1lrv{>Mcsy~-!CvrpoJXcD@Dmc(~R!Z*{74A?`> z^s9U`J>r{beUWBbA9)49Crw!&eg}j(pG4C&zL|RaLVk<6NSaAjDQTwVK&Y8C*JXv= z3?1kTxiVVFu{iy;oXXk9buIT+S}Xg{b;WWv-YMidz8NUwQ$VPYO&x`tOd%a7twk(E z&|cJV(xpJEr3|@%lRgG^$O+E$)!)Ro3WD0RI@Pi|B>1R^C_SUNQ3{jS8@T4h$m?6x zA3Xp0TPoDBthFSu>Q*(FyDKi@jLXeHUtaFcDD!9B8PZE}t@&{fq3#VK3+FMyG{S|t z1%Wv|=k3`undYFqUjahxU6pU|{5nP{-JyV`H`A^n-+Izolzn~iR$Iwu9<9cPC*dWB z(g#R1o*WT;N%lF=m%9S#AwO%w&Jg?sZ@$B0B*F2wT@335f_Fm!h-9itOMb%`R2XcWdSl^{#wl$?7eQwTLzgUAoIU8tXK+dU0LTHCBS6`ri2o&U|Yvr(mwN-lW-l zYweM5t>ISct!}L?(e$phw7)>tz4H;(x8r^+$k?}`Nmi7sC$G*+TF;`=wAL;(TBx-& z6Kq{;7>npMl9`h^!v;;?)~(&;py`K5xi`8K_k)*zQBg8GojgOCP0HU@xpk}nbk{V| zbOz1ruZuRrvfJ`@pMZ#~Py*77vC>{b0=%Ym-FOJD^x}U4LgL3eaqjh!Tz~GH;0>q+ z^QEpeN+0vl{YGLt|0WteRNQCjNxsKCrrPqBpXPhZr8xb)wVE?`Z*|s$lFCB#^(B>s zqOY&aSrl-xt5K=DV^@~S*a7W%7Z9qSR3q)xRj#hS#ixx(N0mwl|Z~9C0H6wU~2IMzNZAVr)20F7k@6SFQUYwXV9viuBDtVPol|v z7Wqnvi=<3%0-;t}=E}ssl3X9kK=#2yym4p%L8M^uoSm#yKwL{iKtvBzU&b`zW4t)Gb1u1!>jYsAE(vwXZK zJ32`TiS2w7O&8$EeVu=H4W-;fQ$7lWno<)yb`2kV)fASFcB{^|Mq#N#GFV3DG@b(Q z{}w$aPv;Ev5ST#lg>))N+oQ)6Ghgsgj3Q`RqSKiQSVaouJfv1NS4I-hMsmtZ!B%H@ z#kH0~DoY0(5Z{b#3rbABQAkiqOx_W)m%v_UUX`hU;RNXk6xz3JwK^ro59wNk>>*F& zX4auMc%k@fc*^J);{mDY5v&V-l&QPz(RZ5qH$DzHRDO2^dPhe$^jJmS2jN-4Z-dFH z9`5Lni`YFLL|~fV#7#b3)yo}${CJQ1T}jjsp1zt=-kaUtnfm;ZGah3M%|6 zQ1R={f12S)3oo_sSD0Ys$(Vc?R66SoZ!-T?=Kiwb+2&ts?k^ZVOTAU@b3vuE(C|1= zGU@IJD!r$1e@wH8I;^69Flw9uoaZt_d)(@m-3G!lBa-@ zn{4{-tA>B_n0!#4$jNR8kC@~wpyFxzl1FR#Dv(EBav{hgt9%%! za(ou#uT=VKLJi|3_cEyTo&dS@ASi>?yz=cl$rB@fcZ};O|?%@60VBxDl9pB=o@Zgwc?%;iVC4~$H zm!xBE*+B`1|19Rdi}b?bQvV3M<95=Yh=m^*bI0}Cy3*5oH5UJfSoz|5dUIp)y<_rm zJ-?%=Ot?O&Sp2vhkDtfF^|=*}AJ@}6KNemebKewmht$6oEuKAL@x+Bo($xzXZ+fLT zr|~vxF5}F=Cm5b?$;yR|s=YCdz!CW3bviitr`q@bAL1x+`kb zZhF3~QEw?JcGmRkTDdPMN>OtZfq<4Z)ct$xQ8v*ASV0oR{=aabwX9;q`KlFq+s=bK5F@3?n&AV>9^aZ6HrX$c79Lvl1Zh35@zF?4!^sRL?OQ|k&n0MZ% zD}BK$EdFYX(L%j>C6_GPXZ!R8hv|jEvB^WpR0h3DFE|*6&I!(ihwxJo+%vU+zTmZ# zgYinq9A2!~QaR!m)fbF41(IDK9r|5E&^AKVL?(U9CU+F0+(G1C`N%Vg9GOX#vY=BG?9h?gw({NXv$!7cG8d%%8j1`~h`qYUN^9p>LHe>#{QKijmqP@#NjfQ## z=%N<6ONkfBVo$Qj91zbU_batSEZ^J@3V3q4r{@bY&KG2Iz97Xf_W^m$Q0bmBWmr1Q zNA91GtmbUnFE1B#i$61LrMB+?zP6pZg^XmRM_96Nc=6xm#amR17RIR2YgMod-s&S~ z^O5g}N6U9Xv!4;t&pRlrpEtnk=Q-`w_RJ9OnTZ|hSRERA9r~`p{s!phwbW+sLO+k? zoKw*9`A4<(GQ5?7a3%SQVZIn;z=-{gist!cLD)9iJ@3XaKW={`b@9K*r$a5T!neyY zK<)uTDzcjf1A$)N4c@DhVxDw^q?lKhX!<3m1=KQ7%qxp%WuTZ>7FNorsSjH|A3-WG zTW|5D19SH@Ku5a4xpw{?5VgatwMBuFom7*)sMx;qE%9+0JH^>06eq;tWbY)u$yC2K z`&P}$k%#)|hvxgqY8OqNOx>*{`$SFl&F1N4=;Z~vc`d0EP|%Yd^pnDOH=22`v5jc< zPWM8{t_xqrEnDPR%;%-k&kOG$KwFzKU1wY9$9LF5Z={UY5_9?5=JvV(2+g?rraKd{ zwu)j2F2C85*v}_%I8gioL>g0+*iWSP)ZBChc{H`6GtQj=-yG-h4yYb>}q$JY#K*{{#_Yv=fjclA%?dhoxs%j-ImgqS@6AAJQ<#b2p1hzw{<5<0vE0%#~mV02Q*lxspU6wh`+Z$$t?b{=6|3~eOyy9U3_uIB@oBgjhN>B!V*pR@`(H0u;|0GF z6%^O+Ym>VTackQ$FZ-pa>={b*1f+ttok3}uoM`DnfYQ9g6fUKi5{>9C%JE8mW&h<~ z{wOd1OD{h-D(^BHh`ejqjZ`~tYDRN!u3>-nF*a=4H|#oBn9_*=Rq5x8b|?_)Ut+*> zU*d6HOwp?>_YnQL$W8!1Cx{z*)yv#|sLM7S*;ulC=c@MBs?nP-d?WX$Zc4N^sx(S` zOm{`Y|HIz9z*kY6|NlYIqC!KfQK}+QQ4x(85EV7bkwlX=0g9-2LBN25A|jk1R#9vc z^%#R#d(qlfT6@vjR$8s4)waP42DOUXdcUBxmeY7atqR`wzdtk2p0m5>90HN{>-YEn z?kgvsotRIqV#qc?>Q^Kb_NtG z@mB}Ep8^s~w}B)u2Ydnx7)Q9buk9_K@K#57ZHREH%mIDw+xXmn0`QqZTc`wQyAsff zp>?XO?9fuJCq_Yt|1; z{u)b0XSa7>`Wc;TIS{(FLvnAe8Z@}Aw_<6O{v6G<;bxPlzK}uRW5j8~lkMaBj5(j2 zoKu>)(b6=z((tb+J&>GfZFhH@uj9tK7GK1PYw@G4hh5Btpv9l%+_m_>IobRzzP;nx zS&OTLp~l*D!x`(+xwb22)3+Th7rKFdqbJv7?_wp#0%KZn^A?2b>Z|6}HMezXxz&yI zT5jzLhL&5hvuC+gJA9d6Zr#tv6wdBfyUmQiPHqB^^$2JCC8afIJna%2=b0XPo!FEW zm)4t1FY9St<~(Ow*;+E*g?i5dLM@_FrthW?xn)*!9sSSsok~vZS?KQ*u8k%P*}DB4 zPio|IJOm80Yj~HVvsOgOE6B&stsN7L@BN;zEJ~=aGt6>tEPSbkJdDBqOP>AJKGk|4 zRE=yZ|Fy=>BrP;6eW~O8yi-#0v??Z>h4P3Lo{wsWw=o~N%~pc>=rY>N&qvx$)~d6X z7Ng#`M+;W#s>8pcbfYr~bTWd6Jnb3KMkkLdC~H&q_y)+xU}{oN#b%I7+1=G?2GREw zza$kss<=s75?mvtKFoBjqq*W9^OHI0$|Uk+b$vp!!g3~&wM-)HQ>bAk^^@M5ycSlG>0z)$8CzF@Bcp@Jn{!T5(OLM*~ISb!Z1=bmY>+(GI-dJhdUGn#K* zHs3Mi>)(GQC!vzgw(cg*^^i8*z)4Mg)wD!QuO{t5cokvBk#5QTG@2v_m#@(H(r|(d zq60T_EA%R3hI1{o?16~;GQS5RwzzrsKpX~FQe1?Mo%TSStKRT-OKo{i|Fp$y$38c6N1J$V{@e>UO3eHU=__I(7zHg+<-cG3fh6lYeKzAI}>cNG<&)h5t*p}Tcrw$)^bw>f5&;)SE!WNsFr2?czI>E(;? zTOd?~=4=tZ6E)|XyYcpXjx-jZ|7=69x9b>^Jx z|1G0FwL{jbZ*J7A56eFOa8j0I+4pUpwS0DYi}et46p9}~-_!9lm@mD)EYeZo!Ki&e z|0h{|cSL_(vFlr6_IfIxI|6&Tko{dH5d;6pQ^c_$x*5atSFJ{kIwS%|!IKpr{kaxVgchHXTc35#Y$iP!_r{VP=MJzi8WPwt# zAIJ-QMK@6NSE2?GeY4>tQ2Y|0;MecngV@ z{&@b0emE%lJNc*U`m|8#jscZ!gy8`o`oyw5EG)@~;!6xaXYn7vRM+JnPxzYQ3d6e% z=Yjmyox(qo)(x}k`y1|USZcTmp@YizT~K_lF}%{S+3-xmdc#u;k25Sc9Avnq;U~O9 zitqb|&l&#B@L|LI4KD*#o`Wr{54)9qAH&ZZe$G%vaf)BZim^GYjRV_3+4-)xIN5L7*Cc}R8N_XU-HfZ-QGSl6v)Nv`WJ z87>2!M zSEBv2L^r^~{S5W(4MRxTI~0ncs_X?&;pHGhV}(ABSGwy#NK3wHDBYLn^y18rSfQ72 z(MjJWx@`^LV9?j~zk#~`u%Q&hO5bepv+ep>hNJBIFbnT*D02s;TL6;9R+9`z7?v6W zE*=_ZzZcBIWn7Rw-v~u;T+UD7#R_ozke|ZA!M$_gV4gmgN`#_|j*Ep4j)fm2eVAVL z35V5A;qVKw_+w&W`DF;x|1=iv7o&eS7FPR)(|;68e^)I0Tr4~xmcArb-#^6SrK#XA zbBu_Er^dpgV_}Jb`O6+*E4jJm*UlSd5%R8wF?ZYCwtaK8F_qTT6Z07HMP3~uZuZnE4fX8XRzEq3ZD;|1e9RR^eR=kZO8IeUT-4{Dg^tS^ zq;(vkG#o*gxu;9^b-&lZ$RU1AjYVxG2xE0&6Yc8)K1W))-ePbMA9gu&sWbaJc{tLs z*!^c8CMGea)S^{1klKtR!m`u-n3xoGtnpB^()d|WYs_iExo`+S*0Fxf3fb4~!!_0` zMLk(Gu-qVr|-!dStb(Ri@TElx}I^skCS!)yAgwjca?( z*}8m1`D5wsbiUNG#+TMsx1PVY8ZpzdH@a7^U!Hoq@#XH-jqCf)>3e$dn{DOq@qdN( zYG_^n*YwZ$_h)t6>V4j?ZoTl(^;x3Ri~Cm=6}?k@&i1#RUi`^QPAYHf!`U*}RzmDCC(6Hkxo^zaICS z*zYY7v?LGci9OqU9lICb@oq;ywn*W9KBFP@pWL=2yCEJ#uE^#>Eql_g?Bda50P^+Z zsl%7gKPlC4yL`1dsV!TWAl&8~TYAAWRjIZ5yw=@fi1((4WcLj?mjyh6zZ8J8EN?U? z5opI$$2_&VrQ!DB%P*XvY|hBTTm`C1-5buMDzysYLnGO23g~f8>ROLpU;bEa%T(m0)QP&u-`!GmuG-;u&;LS8uWJsgy{1QX z>)39|boq*oEq|}5)ZMK;zF0Z@?F-*)UXk3DlZG$VrUne4NqniZ&C;=Bfe7dSa8zn- z-l5?LwQyyNDxMr1;{PB+2mJNnn&* zWg={)4JFyPZNB)T+imm}im!EEG=IN{Jc^R|j&NgZi>$4Z2Q;$R+CjCc?FYDwJI>0) zu5WK#+vB{wYFqnVO|qK$9*wo#o?5>uOFANZdS>=?Q1-Nc_H_H~>DHN3cQ3-N@=spk zXqCSJzE!+JOtV+UV`xylc|1?o@%u5qTlxKgUtm9niDcIQBrU(Q2G*R0^39Z1qZHl` z?cv%~6+RN{R@S)v(0KgV4{eFkgfffRW7hiNInj8r-w*A1*RUJ8AKG5LVaM$;@ure+ zMr_gj(9ZLX)dbjnXlpcv1ZJ7KX^i=dWW`O*oZ~O?gv0SGrf;~i`=Py+v+WZ5p>Z*~ zAKKetyS1oM<}R>fhm^sTBG@72i|(AqskP*BqypT~w}JS6Xxd7NsFgs}Zt!Y228Nri z=~8!B;-U5cI(cM2v|8H_jaw4h5ABLf=KYTMIY{{9d(%H0XWyH``=PxV-49LoZNt`= zH#7I=*$-`v8{=!I=UQKm&stxm)OE7M^{;!nW>^7)lq5I0lAZx+$5*(Ch4@DHLp#HB zx)_KysAr~U-X0>`4@T}l*wzf)*gRC07wyH$;Mwr-GJ@%7`zx_AJgwW~Zkk+n;Tw2@ zeU=-sGSky~;k}bE3ycI^O$(D=$+?Vn4d;d``49_N?)AWEC6~BLYQ5JnBsI?MShf~I z+g#^bpXOO0)G)F>32fH(pe-bPK+&wH0GfzOnUJ%jdQs!_-ZZ4M#e0OOhhg?v2fbee5=-SF zCotOkbzt3BLlzMJ#uMJ*2%irT?l0#;daijWSf%DQAn@LC*ha0O<1lTbmb=T>!{kOS zCA1CIav8bXT`ZRcu;06`gsbXWy%p;oPOTQ*UHpI(-Nod2{^9(l+ENeaCf>g47Hlvw zR)5vqd%Vc#SKM^HV^{dz{pWT;(^tl{&xJHosD19vw$B&b&B?oA<7}T+&X>|3QG@&& zHr9HoGEqGNRdmC~U-^b?WBfiGJDEoaYN7C|kSFCTi_S9$${;zqmzw-)7Tim%xcM96 z)w-qR;=w@p3iY&s@F$$o5cdM1hPdA~1ao=Nt2?SfgU-1=jU?!yH1}lEq`h~_Je$Y) zS@2J?R&CX$sw`MCyQnR#4ez3swwXrH-?_Gn8jFPD<|hfH-{GGVWsZ%Ag2K|oLc6KO zQ+!rz7otL~!O>t~$q+4kmkk=~&-v8bs|85d@Z zn0>=_ydzM(veQ86%MJw@U`mD>?hYa!EZfS$avrVte;ckgya`0qS~1bW;|+%!4l(?g z<&V<8XZQq&wUx$O1H-F5>WZ?XyHDFAJUF=9k*Yd=>J4mIM480!zvKgbpt`lS@$uc zx#-?A>@a-M@J3MiO|$T1L%q={UEm)_``f9!+u8MAhTRNbH zN$NgefiC*M-_0Y0DRSLna4*s=1WPH`MIfT)GHvlJe#e1IH_A}2847>V;@_cTEBu<_ zQ-+TkE;syx;e{YgTydaeI1b5e`gNXJk5*FSPRDN%fSo!?Runj~%|9yS3!y{Iv zeepzhwZ&gyI1yBNjs{hZhhQSQ-+9GmxxQWCH2jg}-*Ax!M z`PCK{t&ZFHDLxpdpQgS9Gsm5=@Vl|_KD2X~UavusFr30+eNGh)?-vX28>4TC#gC4~ z_lT88yu7D z<(!7ou&Z#?n`&eby`T1qH1nL9GS+BFPEJmr8*KSUn@*oYzlvYa%VE~!>9fz9J|~p6 zev@_*%w?L_Gf^&CUYmz8Bu-Al?a`F{4H_7y{P%1j##U7xH?nFX+Y*kGL!yzR>oBxP zjH@}mYGUo^QO8WIJNB4~$JU%wW#t_y%Zpf=d}b7~qd4$DZy4eJXY432uE3sxYeSsf z1b&GQ65+wa4|L(uT>nI~qc6{=sq>mOMNv`QUy-KKO|hpKVRi?xL5 z`o)%FHT7odDVoRP&z2q$mYvyCjA1dQV~vNR%USe_UvRKSofe!6JF}-)OgUI*YHjB1 zE^Z<`kn@2o8h^n}fZu=Ao?>8K>XE9{a_tiM*Xq=|s+Q?-V+!mHPL{S0dy94qE7~xu zSeklK>oG*K?;EDs$?u`m3(MZvb;N>Cx+RD4zkBk)^2fj}8cs?*gA%|=Q6C$~ylgfC zE#r3R*>Obq`r4MW`=qtrDZb;$j{Q^5Ec;h4$d5!O_d@Vdvb$3?E%Q+8ZvSLW{XBh2 z^hwLOLwgqA`atka(ihQc?lt_;`MZl>ZE8Q62dqT&++LY_IrVf^YE4~gohxm}^x=Qac!{!wYBRjSYU9D=Va*FkRL-Igvtq%8OhWni%?#poC zvo6(+;y3IzC9Ct2ns`E5nRsn_x!T8KYdY1rM+47 z=i{qV(x0%OR-m86VDA*@<3pw`8&Gs#R9JyNwWn*OMj)gBxX3kw-s?7AfxffnG#rSwsb{8# zJ{YFlUIsr#3x|!*yn3|gD{E70_k_Tl?QBOd>uV=@e)F>p4WYaDYZe{c*w}aX-c^C- z*Gx8OBvz&mCm-E0{HAUB7%5F#GQ%_ZEfA{s*ImUm!KOb%RY*BBi1ufPwS1(L~sNB7Gevc~n9B*QVA*)ZzWuoU))cd>U0r zgi7-aQYfp|w>YJ3Bnk^v>oTg9evyWVn9+521F?3*YA8+r0Fu0)tQR*m5`}`1Z83*& z!y+1R8QhTFgVF4+a;?a}qVy~>&1k?Y;j$79_?5)Ksd!-{C!rhr6a|9YRZ(tNXSwYT zHd_@P~*5IkAjnQ;I1+<9*gL}n>|ZyF%)W#YqBgK@jCD}^ie;@a=xCW(mHWHhwjS5)(TOSGYG zWdNX|j;3;h?3L7^>U1T;2G`W>Q|?y^=d7 zsh+!ITX7P4@QR!CEeLna?LX}mr(L;Q1(e;_!h8dFt7E7COv`AqMp~wo1`4%|Tz!}& zKzFa{Zogz51?=0fbLi2U@6(=4+6`#BPw-Snh^nBbTjsrCP4_>@ETrk)EIUZb{Ek6x z1?355_IIhL4RSJlq9OhUgc{;|t|6FugHGB}8ESwFeHv-}LuvHMO+vPGMd{^IWn&kd zU6ItL*00~b-7C6f3WB2hE>{AkmFm=sEcDx0+S9*laoSOr3hTM=cY5yhJ~&~@CzNvU z=Uq^7Te{DtqI;q%T}<8WFXmTz`?&v8eYD!_fK1!{1=c~3+QUbGi|Jf9v~ z`xoe7S*nAsA3a7`{3HHyPW%B33p$2-$cdk2@lWtP<;x#kkUI+L!586ELx;-mjsp7S z0Ypl-w8-?^Rv(_^{Ce0W;0jZXD+N04t!4_=O( zi$*H@sF&A+{}rTaC4Vuz3zWWXv4yWQTxj@p!=pgy!PoItuJmskK5qDs;dcxd8O{Pp zT2~87FZUb`CB2;9cEx9|q4r@B-4IZ8+IM9S%C(KfcQ^cq`YPQUpyFS$@H2)oS5~|n z=&4>mwD5Ng_Xm~#gS;Y$?q0)NL6#d8^DKO>;UL333_oGXt8%^!QqHpO3ia|tMY_zj@+;ZwnG zgtZTg@JNs*s2B>;v=!YzmG@s1M&6fLalpgv=AW7XmEYgEZ zA16Kd3{d*<6TvSLKFGq`g39Lu3c+c~JBCk!(l;+Nl+i2i;AOuAMXv>e=(V;KN=Tsm z$AK!>KA_6Ao`+oJ{ToPEtoR+MesvkB=jE%Q^xQSz?jZMgll0tusI2tdTF*E=HensI z5mI;rh12n4elFg^4_H`nI@TC{Fb?m{edbc;*g6(IFBTpd3wI-NI6ZA136F}!ZyyWq z8>62Piys|}A3?pt`RP0y-Zz$B`}~CC)xW~wM2uejHxeJ?zbqDid@OuMjJ`1ze_Jg7 z4`bo@{xAJw@wN{Vx%guZ5H9bmSbZ*yrPs1JOt0r69G2yGIQ)}Xyy>r`ncjTgly9V- zJF_B2`?smuZoeYxRFj>_;(xV1JM;>WQCLqsw_);(qD;{1uN!6-)?hm(d5r{YO&;Ub z2`77#*+`9e_&#KlY(~9!ID=249S`%_%sTQ6>y6QrXNbF`FZZecS8C0VsvSM@D|uZI zYU$tg8FetHu;GA8yJZC`$SWa z|E(H#19Cf1nX3D1W$OOb;+{x7mss}Nu89R7b@V{ERr>;cC}hVZLm#u>Jb`(WxeV4t6L%)bwAls*{5gK@G~#G=#Y-{(B!I= z3JvO*UVO)W?zDf$sS&k^-|)MoatoL4;zVVN4|pj|o7?1KM8g5J5Pk*RLwVR17on>2 zt_5g>d=1dizY_v!m!0x|bUx*O&_3falA(R30lt0yNs%(%dmWFg_MZ<(57W1%RV`ap zam&iAjkota_Ra8k)A2~XnB8FHkdCc#HbyD#-vnKe+ixeX-=}Bvt!3x)MB|-{M3W5b z_qRxv^ATENY{Ktj-f>h$OVhZvd$JVWf3gn*4ZCGY`e#qK&z^3bIn6Xyxz*`R-kfQd zF@SHE!|5`C20vS`J`?UKZ<}yWR$b5c{ei-j@7?+EikE91HR+E^^kA=V=)1n5kL&$j z{hwBRBz^q(pH?ONnEPY^v(fr`_h`DT8>O*1y1= zJB59vFW<>3pN5N&^nM>7H5{lae=j7!*E@1dVUITl^zw&DRewNbYQ_L;G5E}}vXI_h zUUa-(q2E171!$nBx#Ihh-k^fM6xQ3nAO7S$=tjDK8`j&GBOS^4@SVGW%(Hv#^ffD~ zOKtaIG(I11V)TE}35mu(&EO(q_T~H!wa1ryN%sLljqxMb72q5y)w8Zq{oA0vGi}y4FNwzW>^d}*LR1aEXiD)y$xpb3 z6X~ae*yd)%qWZmD28iyHSvW-Y*pUx=r*toFl7m2OmzuSz2$gvkUuJE)9jbi0t2~rN z>9^47GF{EPkaEnsi0|pi@2^B?(#@M^XkVWi*l6b)2@gVf>RTk*sdqHbpJ(#SG?Ko8 zOrK8y)c<62@H3#9)ZZvE$Vn_IV>6G}Edo9r(< zoHWs)N>)zmJ9qy(a1XVC#ObN|?Q-y5+@!CA7R+yFDtK1)$lE3@^V=IXd7Gsl`eu27 zVg$`{x;uBxGT4{yXdu)q4`%yW4}AB#B43hIyzaHe-={iCycK`-X~q8xnr& z&KGh@gUYRLsL0P|i~QBV%HmI`3$U_yz(H^M#Z4^Ln`K~Su^akhXSY$VoLWnyQK@e2 z{S!ynopuWdf9jOi83zP;JY76YA1LJM;y3Ca&N)TX_f#|QOhBKDIpd1UIdPB3Xij7f za~|l-Vct@o_>eA9%oW$Zo!G%h|>`lFfyxHSOL?3%jQIDJQOJ1_w>^O|JN+xt9X^rg_DR+L;~J zM)tdM-QNv)AekC%n$7Cyql${siRIcR)JU3s&AjJYdJrp`X$^<_K6oJwb9KVC~Gqdo{(@G-bT&M^vNiUWT>28 zOHmT7&9uhPNONA;Ds8MMJ6vRsLKfZ|w=ZVm{*u|7Ng$**(p5r+#VcHFI_H%XBXTZ= z-${|ogx^W4>$9Gvikq*74Rg7a-of(YpL!nT(WJFR3qdM!KM-o;*IkP+)CUuA)YQzU zX@FxW%|A0~(qF|Og+gX6&GfxU#?MHv>MWUUE zTgfea&iX*czrcR%GUcVEDE%D!{FFbN9wqJ@(INLr4`3~*3=3Fq7BB4X2yEw?_gJHb z9+i1yOuLmv+wE~z9R3xh>nP5~mE(KjyrFVj;0UZ7Go$5LLtd0ac7CCI@%L;w?!)LP zY@#=PW-`zZcH(#DGqYEYHyty>yQryMmyPQ-<3>4CCi7`3AMF+ubTpIo9FyyEhPcTy zrca(jO>(`@d`d?%5&OCvi@KbBb5_%t^Vzkn;kpji`#RLUqXz?lj@vxs#J5@e&;s#A z439ciAeYLQKO%E?6tb%uZ~NS+{O%}VuQq_lT7G^1#bm`{^c1`{5dSAoOf&7(qZ0FOxV)(S-UktATWtUWA;iC+9H{99qX=K&P z|1rZqf-EU2F0=3g!%3jZeHf^6Zx5;*l2|Ie{D(U}pswFx;ad$yf+VSU5hkL0%J5pl zs|}Ag9BnulDt?mT zafXK&mK*M6SPbfZ27Z5DLn)#37aPtq{1-12qSMzxioe%T9z3}fbzise1%`S9rc2cA z1MW?_9l_mcmuVe3Fe0~S&`Vzw{!GYv=0k{`<7Pu!k5!@Ym`L<aVh! zgrua-a5r!_=s#dEr|VU`3Nj>=t+cQfWOSX1TS2-=#UfCArhwvG2Fm_(0SK$DCK-+} zEHwmNd>xs~J~Eh3PvBf(HJXl}@l!aMua&=xS0sn_4{~Adla8;DPRWC#EEe827S??X z(@Sm^4&M?BpAieMCZjNY+}=_Gzi|980^#t7vGn`K!j&=l(XsgWem>$I=CA#Z!r@(F z<&poVaJ)bOpq1U4S(B?jy=mu!4 z_jux7!ZOy1W(b-4K8Ks7bIzV#*hn(!5GXKr+*JQOg}m;J)MiTf_nd zy4s0YZsxszIXevn&E?;2HxSL;r}~p;V1?_p<}qVjy?aG->Z(Oy)u_Z#wRqF18-pjE z+S;m-a-n5@syg-x_a4EVffgXq01_QHo1H*={od&Fxk{Q^tT#^Q}BwrBy1 z9-Go5EIaex)7RRq-S~~*r9}LKgJzf(oC}BWlii`KPG~+ub=@W(aeJh`wW$XyQ&oTU{zGa~@3KjGt?hAy=n$JHzwZfqW!I+O;8WJh z)H)oc|FtIdw3Z@89i^R7IJ33#kl3$;Iw5Y`1MmXK@$d;OXdKhj{TQZ6@)zvuvQH@a z6D)s8-U0aJr;yxqoH(CZizQaykjsm(HCCm!Pt!If-rkYLyzIFUIm^gwiw0cr1iQ3s z+;%E*ze-_F$Q0(HcwMr-Vch;rfg#Xl+&|@!VE+_vP==pv9KifSH49}HaR5`>qGdC7 zH}ky*m`yS#`z>8Bk2zW5lJ&5R8k1>L5?be7z&yZYJ$PVEb~OnqQ)`_$Su^MP_fNs+ zMXm>!s3VNsDx;1tq6THV@T?)cUrZ?i;eDe!cf$KozKr!M;~ApNs&a<_0>{Zj%bFx--m6BvCO=`{!a9_{HG=uxitzO3ymgGZsDF`2(_8#W_5 zgh43BjEu%EXh(+om%xrJMa4qRu%9pFp@80otfVh;mRPFgwA{ZG{#8;*kBZ|A}2h05+(2fbee5=)mu7Z}Oxj;WU;9H=s}orfp9 z!x8G`HXytqsKMZtj z|68bC+dr;k>cgAIghoAKL#7NJCxzO0Pnv+c@e~khNr%EcU)O$w4(G_-JQnyOY+#6Oz>$3M$`T~n|23F%e~PJclTy%PTaj&37ziE zT9A8_oa^q(Hwks+z7()pxZbfVY_;&8+bCrOBNPqWjW!B3?7Ni5>`T_kl5YN8-5Pe% zc$A}^PG6^XnSWPNaxDK*z+dBArY( zaWY$+EMd7Ur8KTz+Uino`K7J%Yxb~n{o>~F;^qS};7gAQyucjGTiwQZeerak6)!J( z7ai0l%2u_d?z(scPBbAdhRw zFvC)iMMA|o-qfUDcpg-|-X?_)8vfa^5p?E&4}U&xzlBQ1p{P=<6y$^h0F_gQ7dY za34dh0~P;y3xCc~LLAWt{!5-gf|6TXaW<&(9uJbVWVGR-9?J%UJmX~pKqOe z+blk=SCQV)qFjp6v2ZFDZh9okmp!}&X!H6B(W1iE zMp>m)=we7EHO}o0P&4!NV9N@pUpcK|`V5v8CZ-SO{fW`bVrbeEf9h04s>$rB$%ff8 z-IfW)ViOfozO0*Jw~0`tH-~$Snu!thQ~fzJ=dg1{bgzi|P1^4vRKUqOnj{z5RozgI z(q*GHKWxr0Dxar_Z8+FxVaOp~(c=DR_E|VM|2_-l2MqBWFXZ}(m{UJFnVdS?t7hW+ zDlk@Vl3r#KlevySFB60r^Sh*%xskzJN1&IvoXO}OUD!muOu#4b!}lPQSomPLi5#8j zWma1H#g=L<^=4`tR zK1VOZ(nV{`uIpuvKNi(QDXtMprFChUfN~}|pigz`lmR`1t>@9n42_s`pUw^C)%QHW zi;z#J1c3;7HRpI#kT%6W^ABrM_Vr0eW|E!>bySm5dUE2_3HR7O_lXnm*f8$c%G85= z&EL0@uecM9AAHluvzdSmjB;(CrAObf={HLOyH3s;ayUo zt4Lh(ioOA_Z5c*vQBBLKeMYq${$Wl1siif=w?3C>Ii)|_F)UC2LTOt@&LbDcKRFxT z$#aprG$c`8B~mX&*gm%rY&%XUe-_pqd%vjex(W-%uMYrLnj@A%6wZElJgNYGPv4ZNUiVhaqwNvA!h!W(D3CvilA+ z;$fjq9u^K!iO_;Ij3!M`%sQ)r^kZ8jO9GO4A(BD9CYdBV#lqWUX|0m$lYvu)H7skX zKPo8Vc;KyP}1~~ zP-m5iA=TQTOgmAgep0aN>7`)n8%psIF~&WFs{Vv~(p0g?=>g+<*nzbv`9`^~CiPHt z>NtEu;67mf()+7!SBg+(5j`GHVGt$90wY~cndfP4*ek>yYZB{^9)T9u(MU-9bEXh3 zjvC>v)TEBChGNVmACg}WcAWPO`ws8G+@y6t`T=56PwmNn_Zc_}yq~%&PH%8Mr|9oa z)WBmb$(X$=`0c2nm0F6V>3!T|jkfzaP88lw1k$kc{_5 zn*~IbNk>2(Xy@pe=?j$FS7(4vGb|@fStw2DrlaX0VQp)P-offpf3I!b^ChGKw8%@a z@ZI(nmsHQ@Qhr6LC)wDT8*?lUPmW#R(4IIh0jx}%u)bkw*4@n*r%!)1b+>E$)IH(b zxM9WKE?em?(4E5jtI*a36?UOuFiOD#JppA-~Qe?;2Q`|g>7tzKKaSx#v!Nl-WaSyR2XZjAYsnX(_ zwQ(YT8;UP~ffLExGaa&51Ab+~`n}>Ny_M^W(YHY>^=`h@mjR)Qp9iz_S=)$u-b}Kd zchNNdPb+TLJ$2dDqUl2|W}nuQUwf)ap6Yv1syR@3j}PT->h!}=GS)PH#21`Seck+e z@xnvM%!*{*F71|8|;;?>%33tz~q5XRALCj-=O4iIX#uVf3UPwj#_ zo=@^WxCA9X_Q`kg$@Ni1D7hX2tK;un@^;s$o1ax5XzjPsvzY8zJdHGx5*!m{p*w6W zlCW?pvvDk!ahh>j>KUiZ{5-)0AJ9mSTJ&tl{Wq6LLt`C2r`HF9* zXI-&Mv^_J;bf7P!Hf0Xg^K02cK0-fth150|p+YVS3c1)9GT(*;Dr9?}Lbew!x z-lM&`8Rgn@axa!z%ZTq-2ddMWmM`~7X_pjId|4?Tu5PK_re|7iD^vr9#}%Bq8nn4< zZvCyzv$-SsRwr~vj-}eB?|ahuX>hc%-GO#SlvZw!D^vIQMXipaXXP&2hhn=WXk{i%2ADb0gwrPnj9v)?wbAx!Bfrj-84>k+5(w2#GTvB^4Eo}B)Hi(#BepU45MD6&c9cO&VFr)! zk$?K?XlKsr$e@E)mV)1lXCCB>hE=z?kF^_ujy>I%Nc+8qsx&rx%SKWH-Rb19>L}X$ z>C08a-)tDotxJBH5s3NvRh}9*K{x$_GsYNA+szW^d3=kT<=enLyZ`3I zRap+ssd90XJj?L#`f8s{Ahkvhuolw6?cAyHRdyb9Js~nT9d_<64H<7S8}k5brP}!e zES;G3nhWS@G|mpu#yJy$*aJ+hsd4Za*P^9Qcb8a$DW&+1dpic}VN0Zea0(nsou|+Oe1sL7q(c9X+l3+Uo9AOKXR(!jqpfk@E8&y;36u1rFWD39h94 zD@xzuoj3$Tci};yy?_%5KU3t62q*ZQCDsk)Ea8LA(&gkFc0{sRZY|sZS#>+!G;q87 ziPn_0sh9AVQA>XwgNSK0W#%p*k#m+hAL04|j~J(HgeQs(j%-$m1vaeF&vcjkXuXgk z(}V|8pHM}I zlp7mqp%jn?pNlz7T871E$aqNwmHm=a++^Nl4kT1RV>CkbQhn)0lEdDm+bem%DGys06#ENFU%Ja#g^1CCjH#(-Vhipam<6~WQqLwu9`rmgmTRWEl0^dmiA(MemfIPK}Ieg*wuEHygS(;Wf7 zm|aveN*!wcYun&0;I@ghg$ql!!LlMdkbBK z=-NP~|GnWAAk%)uIUo{@iUUD}LS;Kxe6iv85U?u#2vGb6f$*!7MA_zh6?7--?$3_n78r*b_9D*kp*_4qcZbXOV9 zvFpcKc$DF@5UZRGpy+2Bei;fFX8v)hZaTO#=}!Tb{y4)?h9fL~sD<}4+|zIi!w->KDE+?;UpKr3 zRK61|e7vDH4;Ov4;Z~sNmh%3r>%TVqx#5k54Tduf&oG>1c#z>>!-0mo8NS2|vGTbZ zR6g4HS*S08gcll)H~gyMmkswc+|_VL!}YvED*al+w+x>!e8jN9aHe74A0xhh*|rwn z!|-F?cf?^a6=jaPpLsZzyl zAWc=FF9%egOF`v(vEiw9y~@Jc-c<4XfPJC=qQ$S{qOMD$Abj3qnfw$mgqAG>8M?~k zH$&;Z1Ik~}LXe@d>>Q9GuR``%Du)C)it25+mO_h8p5VmquOMBa;*TKDZH3lkLiy29 zfBu+3Uw9=beiwk^moz-Vu8*+raKizh%C`W7)mD=XM;MkG0xo_&D78#5@5@xjqz;b30=0fh`j7cGc|Uyg&;;1`b6=P2 z1t&5I=?LrvM=%*L*M&{A7Yz86Gj8d)jL9c_*yYTn&g=yjS^CA6Vkz}ziY}V9d)Mp* z56}d{vD!n?coxUv7aS~8rv>N2A^cPXH)iJX<8UqIVEs}wjfr+Kl_PyYd%;*!K-u}> z?1!9v*Fda|us2B@kGavYS!1J!eN-8D5ed_gfHzv1Kn{5f%EIYw1)KviMP%q zo=oD5PD`Rkxm|FEf?4~hO)KB;eHJ$WzI^9xLiyy{k@8K?B-R>e6Uv8Vt+dh%8XK1` zB5_f&zS{4t)3S3TA9>D4MVzcp96u&w!zTeDI=m*8He-eM4huU9@-)y%Ez*~hE|SGg zWYI7vo<;ii(B)kGah{9Z?g^QK9N`NxCR32Yw|h{=GE}ywGCnNxiFe8*R&#djm7xo| zg*;nQ+qVH<+njEJP2>9HP-FY1C%-F0{yWto*QPOV7yOM+d}$`}og~hGi;Md&Adbf6 zg#(d4em3^AbGL6(e{Y}XtXJ1J4CI*^leNmqTIhNEN!hy|hs7&Z7+9713w|~*_mO?x z(wfwJ*ypu(VxL#pGQTt^hz#_+sh!>T&bDp3ks%}QXCrX35t!#y`F5!V(hpHxIbr|; z`@Em|O9c(|N;hPnR~j*Gz(B7wY}Zg*KTmr$eNfx|aQ18($}ot6=Uv{wFr;}Npd;Pn zLcNy(RpskLa^+H}3mE7neVR*i(&$|xNE5LsBfsOReqE}gwzW)#ee}tLGW|qiIp4{a z(iYA*?_VtwN-@s!272B$Z=7uN7(d&yT>%5V^*Frgf`Q)lyjJHi&?_~2y0t4QQf>DN z6(`YnF*`V6p!a9n!KsOh_Pm_Q+c#CY5Xfn|Ga$Mx#BIsD1ug|!5@jG5l&1A=BbFTyV2 zxZ2dKsWq8S*{k?l%P#o@)+36)ako3+N?Ym5p6%r;5-qzd#Ek6n8O*zA*PE{av88mI zlwn%8nqc+%W!1yiUHG@!)GB9y=1h0K#QQO(J129|85pf(t>eDR{|6^|EU<>4@QL!%URbN=1EejVcrEp4bzL3&f75k)sUfvc>+S$FddwH`i8kf`L^~u*)>JU zYNQY}%xwS-^AHefm;)$r`eWU|)_%`kU zW7DtWv;$k1m6-Er-*~6+y-%g{Gg^PoWKEQbJdm2A@MhAJXxQrWKBurtB1oufVt zke#E(FJmotWK?(GDC_efNK5iVb!E3lyIk)H(?F&*@5^`a>Yp9IoA-AT?D`6!iZ9sDi}Q zlsA zb!sYFiI9D<7(=UnU-kjb!qd8WVQPk zMv_iFeJ)M;3Jq1w+S`ZGDA>?-g?d=E?JZi1o!Sor_Qg$d@T@*MD%wZ4i}cZCee<&o z6YUNSWC1~&$-FSs#$P21GqCs#=7O~JBnW6?eHjn=F;Vg{j$AiimM7^&DE_mz_8=9v zwcpJyqmn~CA4%}xQyS%y&DPr|AF8~4Pg>v;?4smsh#M-amK8C32kn!pNhz>+_)tc4 z2cgM!Q^EbTm%czch6^>Rbu0=nxpR}kSYn*%PxExw=Bqk0(Axd5uVQ(qiDtRC&~j#1 znQf@5yZ89eSsp&G(%>-AN3fS*!V40d?`_#g6t-ns&jaB~d%i1e@?;v+m2nth zH$Epg$u~aJzoHXYY$MI+#MKKf+?_k=I6O$z0C#yi7wWwq5Nc>ilhYG|R@Armnm2-S z>6?33uIn~Sxu*DX?cvL{gxQ;NT>#K)z6pfNb)m|2AB|f00e_gTS>OS`jVRfso{s_` zc!YZg4|%$tt1_zKE*3Y*J#}^CS|*TMUG^RGpUnJ}>H27yX1h+wzoPWHSSUHe+&$eI zp`_eF?_mJb6C{CQ?t$2*Il{|)ZF_pcUXJj)A;NoP^W<}vW{2FjREp?hp~Ye+kHsr8 z$16gGY|M7?%(OHLHSdv*5&w$PKP3SpQSlvr=@`t~BD7;`ureA384Y$3A13yCq`H2t ztTW$ksV&E5h&OM#^r4KHCut^bIc{lneUGnK*RO!2y}El{d-Y+M{54m&Y1+MHUP&uc zxv|mmd^ua59Vm}`NVajEvAF4Wur~Fkdr*GJ6O?*N)>=zBbI<6qH#TIfmGdyywj}ys zQC^>jnxua0*Spm&ugqhd-y~IL?PR?{o17h8lP-(SKD2Rl^NPAuc;s04EoYH!mN}Oz z;Cn$mt4SKFH|-U=al^9>^*Rnz@;n_KU&#AV`1(Cda?M&r#m#lp!mXDoIdKhM%!$TO zdA^{*gF)a|%mHo?xQCO@2G3Fro;$ZR^x2?stF`t6FwBq^GH#s$QJ!krEI*nG<*jdV z(}7mkm<8~*y2Y)%p94be+L&$EZ#iQz+Q>Co^Dy#v?X({!uAP3#iP~vrFw{=f1YJ8# z;AFG5({CtTr|tBKtFC*-2I>a3_P!SgRq+H@MXoV8*}I==7|f@#)=RI-8Up`awPQoH zD3gnGnFI{Z6oVF~l27q$)TDgZSg3MmEarZrfPX6Le5u|CLRFjNO2xmT^pjZ3ZTQKo zPAw~FZ|HK*H8|A!7j1D#G*_99+Iz%ga!s_jS7*I0H$5t=!B%H%*j|goh=Gv-0e4_* z(3Kv;=hS0)y0Ri$Z*jPWIs3^i!XwB6k7RPY5~i#vf(+cjltaed6zZ|)`-`#IWt z)_z2M#?1ZZ2KIh)gYB?PF*W!9EdIP9q#7b*@;5hdUWUP6Wyt<7V)plKp1yqcdW*TP zqfq<^`k#)c!F=gUHDYl%xmi?I?XFL<`1MEtyJGLR#O(M~K6eCmbRoOEN+Jf@K3N;0 zn*rToqf>p{k%!+mi5PG8dseT!c7At3H_PZ$KX(NDVs?Is9lZU=p@!Rmyja!!n>89Q z&lL}W6shb2ka4UeY4}x8bVESVZE4p(K@A|f$3ey44l2GCM6yvPyFSHFGpx4jgDkv< z;ja5?{?71bi`QqkO7|_p zg@$JtPBGjGRCzxkGu7uwQ0Z10t}wjYunAOokF@Y1hUJEX3}1stbhU>6hB;AXkAdPZ ziHY!shTk>3#!!M7#h++6*6=HagADgDe4a{hS}`0{efs%u-Fv*mi_e>es|{Z=Ty7Zn z*NfZxU2gH07@lGn-v?``UEj}ePs3deyBmJQ+oj60%J6B!#|(dGxWw>g!-a;I8OjH^ z_~?aM_y(_I!hagBGHf?oX7~rg`2JZ}+x069YeC(=OL-F#-}ru5=i2q5pu5j>X5HU? zLD3H|{2~aeI@#;#`b&n(K#E@X4RB}DEdUu3D&~MYf@gv}0%a$H;v4wilN4KgdKs=~ zp{)29KwW>*@aKl|&!_9(GyIm}2_UzmqPK;&GVEZymR;X7AgcSa2S8NtW%AFb^8L=@ ze*vnTdgbF0Dq95ds8^f_Y8)G7I2fdfD)s;=a)mzXQhDE{P%76OhO*Ps_4xi)-?QuT z8^>SC*9|8do@7`7D*XTp_cQDXGE|klL!lVT%H*9u;pHGhX~pfJ(p?WiTJlZ93qaB7 z3onMs3JJhPC(py8+t%<627O)s8>s6K8%jZ}^vxDO+peEwILfXMv+(|gGIvnA1t3{$ zHOX* zi(g6lF#W-?u#_#~_`k>EYhvO4G5TM`!u@0PAH>2FW8t%7;U2N_$L;a{9?MUDAj9R? z(mWj28&^0Sw^uwX7JpnU{DW9HYEw5iYE(xsZi_`6U%F2VEC2KOfT{R5wY!yyoUTw8|vBXOng(RykF5|h|X?E zPMs&y#hv?Fopug8md%*qcR34L+dfBmDNDaNNWo%+DYj@alkt}RT7+e1`zFm}-Kb-=hoZ&C z&w^T8P7BV3L-=jT-maZ;Xigi?tqBLpxAta%iX}?x#_5$E*rkpz}3b7c9<=1JUQ+w5PtfGITZ*A@Lq!;t`x#FGj%_@zrRC@CUAS7@GijLL#dlX z)=|}|XPk@2<75eiO;lUNW!VUJ7Xdn*GZhd zA6c~}!K*=QzafsaWIKS;tfKJrdwmWSDve8cHbsaV4{_6GI$)zI5ss2XpOnK!CS-;c<@{5>bN z{tC%D60YRb5T`V6trVl~dWDb~Si_!ab)3Qk#Z5hl$1m2g@*ZM97Z>j$_&z&ZeV0z&m7ZYd^m=PstI4s#6Usxl7;R zG*rEAlp=T}5@Qp`c1+c?=IfNRU(fiCz6m@gL{)W8y>x`N;oq3=ETgYRGuk4QQD9Hk z(y&r05jUb1H|ezwmHLTJeW`)Wsfd2-n&hpVCK*D{jw<>qQ*TF`WV{rY&(w6^rMa%ed0#5T(4rbmh7D^t(-}eKO1To-JWp6xKT<@czlVQ*Eh`TpbTrQt)9~DuI}EC zY|y7SoYJuaEw#LQdhB{-`TE8SFuFP1+UqAw!_}#GxG%d?fKc{Zhq4cvEA@iUySn+k z&+*?aZJ@q^w(gZ#c zkAo}&7*IL}8v8fl27A4KmOmTLz|#ihb+?vzvibYkO-5QN97@oHZGO)eTzRgpO1+iw zCV|7J=vKL)#UDT*vVA^`9@Lt2>9V}LTsJIz-?Tl9%{bo*53C3iKVabKQJx$ z8MfR#_y&aM!_mFfjmlXM2k!>j(Ra|G(5dP2rs`7|v{%F(bI9^U^)%6lEMUWE?3B8dR^{Ydoz^NutoKm9o&@B5@z%H-Ar2GZ8#Muc=V8D9+}=^x=^tPjv%qQ@i)7K(4P z_!q%$MH+FV$6~uO++WU#Uu9QbWxDN(-ewwhB08*mJRQ0F%v6&1;*Fr20o_wZr~0@f z;CGaE1}Q2U!0(&<7GbEP!|GK~Z*!B;sebMV_{H=#e`HC|dr6thp%{8fZZ`app$wxG zF9RaQFEBjcaGYVC;UOSRTc+>Hd9^BA!=g{=(uRLFTx$4hLwN-j-PMLy7@iD@Plbgg zj~1N_i+DAx>jCo4Rrdn*6y05*;(u-UbHf`Ar-HmXSL_Fh{_}RdyW!gmx8kdPX2ka= zp!j{)FxXe-N(+w##cxlLqSW;Ose0XVW@@GTv*A1td3eSC7T()XMtP!JYxtJozYLcf z{@L(c!!r%*4NozY^$c?BvfaQhlHc|qucj5-g1pj~eMn}i_k*DFz1Q%MhD$)jf5XBp zhF=DympTMQPF}V*SOUrl#pPr1TZ78)Z*&6ng9i+61!>}n8$p^V_@2B>rnh1x>o%br zI4OV085NePm{1ED$>B9)Ne(Y7H(ggI!k6jfihmO9L;R0H@o5DWf2rZQpy(+`Zn+p{coeU~G$-);~*n&kzS$LJDKa;}R zsUxY4g>UC-I9})B@V{f>`(t75O@zKXiNon-6c`S_5ToBJR-Pp>`e$R|K{5IpWBjy# zP&hxCO@+fJ#=;|G;VWa|KtRYWHZdX-4yL>4)jYHBM7NJzzKD%jn|S$fZsPDt=YLFw zoUd5`b1#%F-{kR6Us_ zm>P?2V&G?9(qTFIKxgvg1rqpjtoBf(PhZ3@IEbDWoC}BW+mJkYCFPJjc@hKlwUk8c z$M6duDyM#|%QpG&pP}{%?+>AOMD6Y3O&ovBjpIF3_5}VNQ8QQ|{tUf^PPnJM4f$uM z{4VzV&du)&g>^`hD_=%bkoji#3FJnfQhSMlBB2@V|ni2dub*L`YQmb$=6({_cwt8 zwUjJ*d*0&^LWTsjPL}+4Crfs6_=qfdPtWw=DAP4GUAoQ5l3fxfOFq((mXrdN<~0gW zhukVp!hEviKYH>Wkf*-`_qZ%MX|m)QUY6`d$Ov4ofp)<N@EQ2svX1f{tG<*4)&fpScG>NgH>0_7QX z?AX#;@(AyN2oHY;aHo!Pq2AX6q3X#?W$<)3dGeI3j5J4{e3FwVBPGp=8DVYsJo6LX z;nZj*TZS?@6MM)f-AGlJ`T$*#v(n!PiE^%x9cgato97%MdyYgob=(pf<_=fNem?+c z7`a2E%wGp0;?!+JrB>6pLZfY55|t$UX;r< z_eBGHdAZDMQqTCj>zW@+9-e6Y8Y1OcM56wjL1Fn;=^OmFTQSx%{xRSOG`%V&mYxBH zlPR~m_>$`Y8exE^o)1JC!6)L8h|82^6h^tLT!L^0o;EVlN~XL}GUbds`EB`duJay> zk4=nowNuq1BIQLs3)RVI(9hL?SL~wn0bZp1?Lee_2N$Wv-41#$2NFyF$^Sr7tZ$K= zNZEgiTXLNz)bo~Dx(9p%!r6sI$`Naw4a<}>wkr}p7kIZbdzdfSv!SY@;c>0v-bL!8TJ9YN?gX?F_DoakA zK6}cn$w+0(=FF}ijObLq`e}o;8|V~&UN&_9q5GE)4&v+2nK2`e2zhS4YlY>?GOPbz zC0Gu=1DKhkIPjkYc<;Z6mi-^!28^Vu_+zvOI!*Kl*3yOI7aO^z)qHYg^>-ZyddT6g z8AiuCX3wt3l_!}T*vd!G&o5WLd?V;2S6*Uts*gJYepOMq@;s9lTfGX(l>_;+>KEY` zlPkCN^m60dK!%@^Ul{(x@H-YC*dsUE^$QJ8FdSoe7)aBW6@$EDm1#vNzONhJV<;m7 zUH`4&uMD-0*Y$;l6F~7f+`{^HR`I)nlK*Z6^6pi)ih7FfPoUyuGay`Ic(dUdpya@^ zj~4wlcD*yX@(&n_#qT?Yiwuti#cwZ=qSS2(QuQ3Ua*|nGa^*pw`0Qc$A@h>L|2BNx z@KwXR4evBO+wgS5iH741W#=rpazF5kBu@2?%ai4-L*=9|oDs$~3w4A^vJm{O4KxxrV2JqDxr(K)b%1 zA@_2V^NYEzV*)>ggYoR^7FL{&o%ty~7>{OCDT0|}Tr9klm~i~C zSa@wL{9r76Oe`$5baCmqud}=IQ z9SiHjeEzaWA<1rF!kjB?46K=@QH@HSH&zxMS)mjxz-LspY)hw%+<5A_4U=aSWrE%) zxnZU^OU|>vqQ0BQR5{O`QIpA>Ajc@V0PRMKm*-|o%r~zs^JbMV2W~_+C|^#VgQPrU zuKcO}gO1k#$PvhwgD`Vjm*mTVopB&vUeHDPa=@ntYp=XACSP7ly_q75^t~YS zlMc(t2Rf54&yoO`W3`8(Yngn+FF1&v7Mu%*@MAvpV^<#kply^x^5rp1rk7I^u@B}D zPTiq$>ep5IGB39qXRrJ_Ry6*t@kFxACnD{WZ-42|`A>y0FTPqtdj98Z3ja@IuiQb0 zCg>JsiYJAV( zA*OHAS~>R0vY??f@(@F5o@Kxw;X6P)VLlnN_K1W0E#Na{ue`l4*OX{A^z!__&|djo z-UX2@{{r9+4HtNO1m1ss`L3SW~%vk?A=QjThd*xqJ zKAPoQDrRemY=o_}4V*>#M5yepI3DptB>YG${4I#X^goZquaCvw5(}GsI;s322i9SJ5*UQT(_-ld$HL=c z;Ui+<%VObAVW;fotU!V(-F2>HI79M3zQI&jplYRZCdWDYb{A>xKyngg#m1irDRQQH zJCz}4C_9xPd&UJ{cZ2VrD1U6LOcqcqhK$d8}u zqWn1E^F_uF9S57d)`w!kUM_ZKpDgF;Iu^VC$YxF6yQYis<96fcUR~k2=2Oa#`=XSU z{P-pY=>L?zicsFFk*`QS+2S#zz0`ie9 z^DSV=mbsrVkIWyk<>@%4Q-;a7L9;%zqv4ikgqz`pTTQ092F>^SB-dn;`~s?=tzD9k zL36gLi~I9p5wdR{6t-{fw}BgBX3j3X$l~_R7^U6k_d{y`^!Clw$S?Cc$Y5`-hQ9i6 zpUM_+lJN{tvTuG2G>g8;zO7>R&Ffr)A>GL%bbg-{2%QJ|gz}W`Z}2cy47oyQ9tc@B zvpW>R=gnr`JOiOk9`ojpC~z-l-h3aegs|vV0NKffF4X&5KuBB_uB1fICCa{NH2@I${68DOSFeDrFnzG)1yC^Ct*I(^PfHWmXLqu%$xV{WlI8~hW*g> z9jLl2EBP zVBY*G9cKKJwF@m)M(&~8BFm_3i*?DoSw==MmhG1x)4t?*o z4LHu&+f~E~q6c{^XE876IO8o>csEt1uL`W3Wtv5`BaSn)<5?hxJ}aMoaQN>?@ipjLvvX&v{AwUu56xE0@P{hK~p=nlld1^B6eOqjVhafo>B$CRwmh ze4E90BV|52=fH08Fi)4mzYhwhu)9wX zicnVxQblL)taP6+jSFuBW#_D2v=lzg@KD2{hWi=rY1qy1112}6lV4}yPYm^ak;30G zoC(U#S^hM5)vXu}@~T^LG>C|x>>yC}mJycHt>d5YZNqIWb3PxvDLXwr(uL7J%IH=y!~`*pt9u1j7Ci;~HP$AC;% zW%8elD50XiUGHo79-UnAFM)lCzX=rot3dI&+;9#kx@wCbY}W@GQuZ#{IS1p-ruxs= zN%>KSU_9DX{~1F`Px8$1?^yW$Shy+{mhD71{r@BWGxAKXxqdNh7W3lgu2?yH1{)#D zcFUO0o-F$_Y2qAh)D2oVXGu3sJpEa+Z!RF8K5*zE2b8*_bNlA=LI%#C)_=yTo_+`k z?3;ryb6S_=)A|lbM$z*zzE^MMd=77&~8>HlSD||4vM~=?q)3T=2vDp3RgKs8f zroy7WOcqw;2+Pjwo7Wn@)yA)s#e?_-2i2YyoC}BW+mLU0oHg71v#1b!D^a zYB+=-9`RU3aTRaIc;K;!Xa3Jq_4Z74&rCv){r>#dCz+?K>#etruI{dW-?!dU{v39L z{{YRO%i%Tui`&6JE}y24jaKB-;daQUZ^t|f4PFLFRLCu#PQfrqK7EX4G&0V}>^U_` zk}RMLb(VwUS!fGpcecv1Tk`3nO!@TT=`XbHg(IbW8a}O+|BWK+nIh{|8WwUBO^A|n zZAmzNIBRdrBD@dP&NF>D_ukPmq9A0wr7BM8GN+O|TF#I>)`(Ech|$_{aAx!n5j)Ga zf`_9EVo#&>reBUsZ_T~>6nt}dtN(ywxHLGMK5{ubq)P*8$5Xj9XvHCHsJ2}B$kogD zLm7u-%X0c_g_L+BZeYl^Rsta3C|9v=+*REn)^S)CV(ETtE^C%i8@5-fibGfAq?DO zHz9>6P07)7&JSD=m>9S)P%?2{!db%>CGyb@ZL59@#{grh9uubkHE5MI{uEqq+)C#I zjK&+*n}z8)E`Cs$aJ?j${1Qyk_PX&L(pv!j9ddS+ADbQ1%r$I%i+uxa7XZo6yH*5b zh8uuU;0n*Os{v^RWc>WFIT zezJgUep++Q`4BkK%WFHF#J0y9teQ=-jFd)}^9`X^e968(7=ep#hw=IVqt_WGNiYe0hQ&AVPW5?LeNtN$@g8P~JsA$U1y{N<)6* z8wF(jLXz$WvYz5E)AyYkm#O7AtbZyw4$r5O<3L`fIMN22d4Gd-P=-~4nYb4XC{#$>rnl5EHE4oqWA=y;=QnsGBK$|g@O znlsI|KvYH1i%n$a94VcfM^%(Xq7`#W_~tR|G`q}>rmE1-&o8Ndz1hO5w&g1E9@`z# z{}*9Y zfRYmI5;iUow~wyJ!;rz2r)Tx78H{t<37@eL54lR|v|R@1JCQi{UbOBaN#MtsDc+#zzr$r+KO z^S7S7Pjmv#IW||R?ZNVEFUaWJd=k>UtKVoI6t*^7Th?sv+K-#P1gtj$OFn2p&xbW_ zQSJFyu%5ZDsPuepW%Fk31v#CS|50mKz`L@+yAp0X71QAv3-=4um9zwFzKiruoZFu} zd1yhy!HL8D;)mM41on&h@^$tHyn69<_Ao$yrapuk+Y*b!XIV~jr+jqD`p)O;FG+7N z5BqCkj18O?mp`DY*j-E9q;}G&=&+o)Jfmt?MkKpx*FKT%+(xH&+>)fZSK{#C#NmGN zLsr~efj`aM@2XFnKU$W}iaEa!kyBUnIB&0N*4QKUci8h4S#&vvx=zg6SokuhvZ0NI zjie53R5yU#uyDZoFSf)gvYrcCh3kV>aYLvs`m!M?slF1K;4(C^E!ue)t?1@3KzH+4 zjH%eo_=#7&YF8(3^{dEOwX37Inkz1=c4bCy2w9iqbq-mF=NWrxRsR;L4*uU_W(EEq z12lhn7m5uf|GI^ZYCxcCj&$VVhQ!FjeTa3Q3CzQlv9K70J!3FlZqWJ^&Jx4c=fPUE zx3;)J7<#L3b2s!inrUgA=>=rElAV~UAslUvO6BYPedGB<$lqL%B6H*tN5)Nfr+HZI_?OuO*tZKl1as_;_?08;zjW4>@vM`O)xHN*7L30Bh8!ioq4|@&KK_Ol zTF-{9!iJEwIbiMNVBA<(kM6NYNEO6&A!~e7B&@0wuI^uO3aWqrF z=;l)@Nbs18ePe6zQ?zK9(tY#Z%kQvn``WN3%m4M}`PJooUgqZgnih0?a6!X5!ouj^c^~5-=u0csA_ja z9#orx-sf;Ay&z63HY2aItt;c1)E05FCs=sqc79-nGkjp-2~;i2^epb#JT`smq7wsE z{}K`FO7xr*%Uxbj*KsJ;xP5d*r-O6z(L%UM6Vj`nvwmiy>=!orhc8TwYu?IK*wKdB?%u&gG z)Nof;&jSvR;siH;sRX;~Zt5Tdeu{CB-@skoYUrsCj}eSGY@w&^XZ4V;4er}Hb^ubb zA>0(TAsjndZ3x$h1HOK&HA#EI4MpV|9h<@(LAy!4E1W$*CUJngqX$SH2FTUmhXK+{ z^dAqniWrRPc(O zKry`@XDN#7!@3;iUA;C%S|_BTWp-`e{XSls^K@-?06<_=Xk+UY`WvL1v0K3h`vW%T z^S;wFee2aFA99`_s)fvsa9$SY`JvJ=+{Wq=yUpOOl zbErdOc-XE;MX0W@9@D^ZZDB(g_rmDFc=f*Et&Z7ULI-jiF9)`&MM3)Y^{J{fKk#B1 zs30y~eW<1(dZ0``L$w9{TM9BmR$+ZDs#ct1b%2^=6e;z!p$rHNz32_2E4C@F`0>R4 z3L&x5lw85a)n)V5kInjS1O)2u0*S3snFr~#B76=fK{!(r&Q^p}71@L>;Hbn#Me&dN zl6j>w%BH4Ms2FrV8!bsfATc0uXlq3h6>gXJ3TjTGb0TxfrYj|iKFsYm)wAat@G0Gj z?F!Pa45eh)g)hEaU*d>+_Eli{YuP*|Pl-;OJZt9Ud97{LmuNgPP$`o*k<#S_PGUgl zK>6k54wOnd!$3KMF9n9A^a43EHBI^|NvFIPAu0b3IYT9ADm@IJ!wl*2mrHtIOd?a| zKUin?bhvbkr^AA*4q09I?YsV-1v@mI z^aF0VWc%e=pqnIgQx!A(q@cS2r&kD_v@5M1r$Ol0KPuS#TzVYV^JDxseWB~w8sCG_ z*6l*aep4Y0->V@<>jS;PLLjP;eX-zN!O4<7PU6LarwR5IJY4W=yz6>FPw^s<{5A`& z2BKQNtAP0P&%_U|oqq_B`j>1V>3<>EjBoq{p)YzKco6VjAnC3IlCDy45|DHwfTW{9 zi|OCsLK43aY!=)MB%c)$zf8Arx5C2Ad zSTG;Io|umdPl*c!FBY5t#2clU`z%7#SKLX?w_w^$`WFPB7Igc?z6|FfV)P#-=?4jR z6{OISeCXes$bC(S{}Nm+$d!ORe+3XT5MKnC%k}_!11|*r66cG7Y!|n+CVf{yF27@( z4&#{qB9QUTf)@+U6`UbBS#Y@EV8Qn?J)R@L=LI0fzK{DZ_62gYX4dNgAk(?_jP>L4 zunvfi6XfI!L()$>a_ZG`fUK9>e*Aq*lyJ#>8-T3ulY)N+LPYATlQ`{Bm`=STM5w-E ziJvCu1LDuO3q+**T<{GbEW#ZRH2_J7zAP{C_8cTeHo1-J_%&I z9tN^qv`yC-4#=o_{{hfytl#EV?5;M38pb><@klqo`~eY!KfDk`MKL z5oAD?Zsp&-a>1KhH%!(^a2*5S#Q{T=`#drGMv&zwe6EkG;uHG?s~3V`4fCt06eA zo;<5WE5D%UoIN*ERx+h@GG=I0kp{)Vd_42V`s|I6?03==FLkkAFium ztvwz4i&RXWQ!=F@T6$3mDs$4FhDJ2UiKZo&73X4GNNLS)B1@t-{-0at8Oj425gPAD2tSTbT%I9xbl zT+xKWv1TeyBX3b)Y{`gF;fOQLG_V{Q7#AuWQ!+L*YRtHj;;|!3#ulAdn3^U$>dcWT zNs1DDlIr5=g3vdAK)dwoLx&6ogRNh;o%W5@f>FOR_p+DOwBp$LxpYW*XcKhVVnBJTnz2T zE5x$}lQp&#K}yn*w)E>w_;_HTM3-Tg@Y69h=b2$269?fR^FRGgN#Tz@3zMuPkzR>O zR1lqxIaAVl1^b%hBCWl_*00lJ$k@?E)N;KNu)Z#`zNdz`wm2(Ld)@+DsXh-%^+iS2 zv-vI1s~;AI0tg?E2`Mt>kLKT8**+p50nJa51JhWt%2PCKkERoixj>dJS8 ztS>@qKFSESthHXKdOIUj^<&PwDbu{4HRQjD-%X*KP2QTWp_we^0q^GS3%+31`*!9PvVnxD%L76@f2PoF!;J`R#%bMs1h^(3BEpI#% z2aVIbL-*M<&AVt*XxNs>A&Dw43uJVy47D_bhOLW!g?_8GC(P-#f^94`a<0J z1VGC#|Blqy<>c80qewK)dL_?e45+)pr?@Usip$PoxJ_ zHqpGmSoGU=CO7vnj(=$!cS#&8oi$7*Y?B9(^;Thj*Hr$GvREJ-T|uciT9twPxvlv> z8d_{US8Q!8f@MBN0WBwj$(9pE8(CdX)sxg9c_M|}eoz@tgv4q>6~zI-3+>R#Z^Q!# zz5h>u9t33=aIwR1XF5$La&S6aI%jnU+ywlK@e%!4tBHoAZ`zQI+c|G0bVHqHLpIQuzd zzXN1#wT{hnv~G-M6^yf@wQB5Mkg-GiutV+fr2F$2XnuFUKO>hqN~0(W{qhPx_sdx* zt@$L|W&>WY(EMDv77?e>#tNPHmU!L@oGx8ert|&_pe8Noh+A+Bu4m|!B>*Q^3f=w!X`G}g*rSiG z?jO-*=mhR==&Y{R_(C$s>e5K#X&g%HDbq!!rvc7PYgHSWDfS|@!P*a1Y9ozN=~EXS zZyRYuel10Q1*RzSY!qpzK6NFhqrA9*2Ia*dJT9qjW`h#5hAh3%?ReByDb}k8q6sju zQ!`+-Y4l^@j>~b@$@@eWo}3Z3cEFker&3r(9EW@k6N4UjLYNi?p;Eoyb0{P8x#+pD z0C-qcHv2{ZhEA5QI#=2lZG0USip@s-P_$$EodG&D`~dIj2HUPfpQ>6AW)r;Ci;xvB zvSDkY6XVt+(J@sE>phXPi%Ox=hW5I)>k>>*L&|!jFK%&~e^hf1jQmZ?dW7<6FvHAS z&HOjf#z3Z&wc#$EV@Du8RJE`X1}t}@Iyh{?AuW28`!t$J!o1{sWnMA}5%5QqyfySc zlA;d>;c@Ed!`_&UrRzg)&4H{UwaK zOwdo#^jsPQ`jC_U6VM0hp-u9{{tL?s6{3_Rz%%z{KbP|IS zo&^{+`j09B=Ms-q^fca=FeC8R+)kT{U*Wxu?n-gpd6A>JF+RRi4ghcUS|s6euMCjt`J5CQ5Y|9D`yxlz%T?`I>UegWhADXFk&dd1VLAwerizlf13 z+?ymJXZsoXc{3zhhJ{Alvzt+87%uGomev2~HX3mwjI`z&r57u+k$E0ShRbIq3^<(o zUCJ()ZX*qQ|7)YWoOT-tw{WKE21lLe6Aa>1_760zV!)>c14orJ@cD!=AOES=(N;?O za7C4zzd_R1rzw9KUepZf@;6EPKA2gis=tUWlk7K+1yAT5Jz1aN#f8B3t6 zHJ$2|4F}KX;XjQ3Cb9RB{=l7)^8)Q1LBVh-T}lV_g@dh5cAIlvfdMbtj8!p zeruu&e1}QgwrBYfv+~1mo*NpH{$9arfVBIt?N!c`^8p|pkv`f)lm0u*CyBI*Mpb>! zNqnQ=gFxDS6a#6OaiW~3{R8tI0z}vO=uen@>EDoeEq>T8x)f%+W&u&8ZxRr)PTx3S zPhbd$=cex{Ao(8#?2h!;XxBo!js~=c;X)we zl@h;I(mfL23>v1}@5fIi&b$n$n@YFePg%$Z@_2X_?K9&Okz&Soy69hY#aFxH{75nL zAByX2#`_>*#>-vhO>w24;EG@FqW_I6oqiBZ{7P;yE|7RpJA=zRD&#%_(M1~Daz5mkC z6NU`VRUxIFNJZJyXlYq1el0Nv@Z{iG=*h)D0_GN;tIP+TI-B@u5POHA%!6RZF;`Lc z6L>ADu)B656_|`LkRS8Xe&TmL(M~%Nn~zWG^=C|q%^;`ar`oa;SuXjvNscXOHy-(( zN^}t0ir`?`mYqnY*qsze-_~OSL4J0?9B77pOdN#&RCXdq;XJEWk9uI9rz%0Z2E>mA zR$@~13_240(%OyiUEAJ3yOFV@ZNrd$Fbp|Dd0QBj-r2%n@9O_F4@ekr1Ym5kn%2v&ib~I;n}w~~&BFMsz_7C}TYP5FYG6eh{P-z|p5k5kx@eq-=Pb&P?~(*z z` z3y@X9@4`Qqv6x5~3UY0$0<@{>pA?;Ui1v%?%~6wtO9n*tkJqvJ)HspLRYQWLSK{#C z#NmGNLsfjDzQT}p2mRyBQD}EIgcXNK78>|W-AOugj1BSjsw6n*gZsM;IKW zanlg*h)|LBHT*OLtY?Gp)8O{ea0PffE{6{v(71lR0Q&lIrWxCepLn&a8oo!j%)bw0 z|Hk>E(#$2{4vj6_Le|Of&j4Gd*W^ljt5+i3!Tvei7|7QE(Cm*Qds;cCHypS{=eZ`H zXB6`cWgcZXkjYZRw5oY0XvOHA!K}io?iQY*+4!V&Qs-Xf&iy>Hq4{g#xrZTlb9qw1F1HRh>uguYvjv#V>DEDSm4YGVv=Er6vyO^q zJsVjaw-*MR+pWX2WrHEQ|1bWJhwN?+{`dCyT~KH}Q)q1nD4(n_7FbvhM-R)pFHr>2{^KfrhSB_BtG*8z^dueTA`6SktoLNbUJHCwhUi z%Wl%N@00dr-JwC{`lPNS*$BtqXe#ZZ!t7YC-PPLq*j*?oPz;W>xaUfxt`Fu z@{)4hu5zL0Jh9K9E)E(y)xi_Q4LFZeYv}R!DjZwIe}`6EIsILOD2)vE0|RV-l(cdl zPJeOISUTSu4?0`jMW?^v(gj@a|7|$qWUTey0(Pu&T}K+t*q8AS>X>6I`+E!kwEGgA zXo$18(BQ@CY&5S;%F&kS_qv zLbygKP|tpEK9}8>hTo!9;1{TRk}nPD@^%4?d$p(LegnX`Q8nx7$dIVNasWZgw%X#q zSAEkVdKhlr6;*G0KH+3b$x5sdlWCRBTWueDyfy#AS#t3%eV9k|aKZI%)my#Q zcL9}AL3ee4t~m(@>Ph?jn$Hfa`VifyCYjcAYd-A??_Q^%+M9-7dU&+=@QR#;hqHIJ zFMx3Esae*Sq0-Z-seQgEqw5wLBv%I%JDZ4}0<4{(+QA^yz5-&j)Pmm%RjZTG12A*A zP}S&9=m(fN;4(FNYaT-+g`LA-*3@ya;62OfkHWlI-kNIg!3CRvsl9!{PE*I~mf|Wh z^z0EhV_dMmqlUJ6d^_^P(b@X^26f3Apk!`7nN>_-Tc9XzCj}ffxQt6w+T}=N(_w>v zvFok*6>dP|I(OH#;ZirJV~>BhD}>xs)(-%`*f;o5%K8HKd|fto!hsHcG$2ra19Hl! zi``}`>mNe_)aq-(BNgFxgYZV$C!n8g!getL=;o%8I6{yC1d)`?wB-8ogA4Qxum=dv}xQ<9DVfM za`EGhgSio`5t=){Y$`I$EmyhP@8&y=D~eI%H?M5YR9HK}3rP8_$)&6pVp2Y#JW_#k za9jZ{0)-+5Z=A-U2hL96Z3$mLUs?q&Oos7J%eX5&r^Ivd{mHPA;#|jQjc9FaofJ& zOvLd;?&p3tq&q>!{XiDZlh0S^SMvEp@Et*} z7T|eW{`W=xIlw-^Fp&8MO8QZPv_Hv0{a(a(3-fIjd@`ybwoIMb`;{6fKe;4wI#3p@%)qu~C)Okh9o z{{hblrhfuF0`W(H9KU}SycUQd;jaSX{p&v)$Z`sRtj93HJRmNKucO3{)SF(CEw z&qws+UUxDZ<-(A37z?*=%z-xd# zffYdV=kkc&h;wBPZdrdZ5RU>srFyhupnnS@g);2Fw}Gt3>w-@K$)6H7p1)s^&%|7u zzY>UB$Uhp$`wL@4JqH?qVBKlCV5Q(B!2-ctL4cyC|A{P5rib<$v`eT&oPq0N8D}LJ zX#C801J5B0kn~)Mj|Vc{ejm=4xTf}a=yXu!7yiFOT(T;XE#POy&&63YJ`wrMc)%6! z>x$p+ig$3um$>4826L1DELZtoyVC#ViZ61}%YF>1ZTz8s7L)(WuKf49(kbmQ>Gk|0 z&Q7J7>F2rnua7G~znx6_6)yU_T=auo_2YeL=I4E4#yLLC_**XeKe*^Wb(MdHD}IA3 z&fU6A{@q;s4Lb=vpA$!Nk&3dil8Yu+T#`&+I-L+33Ca3Dwvmuh;^ostgVLwsTV!%1 zLSqQq(|vNSoo*OrN3jV)`7C$?iB6kVR?!yuJa~3!h1jgoyxHZ++~Neu1{?7fxSaTD z_ZYjghlBlHfVQ-~wZo|LlElUiYD0)bG|nh-iq#4mIg%C>3kCszM#Mv}}vJs%}0yakv{hYUIGKWZ63O$7}e1 z5C0UE82awLv#$m=$XE}Bcailxj4`Y)i>x0Y{fGTY3i}OSUkJ#fFK_1oq`l4^D{jPh zBl`X-fbRRlaF4`znBIh9iq11Go~H-%T+KYVMjV`_^w02;hi}iLj z@*F~EuV&dH&XTM9Ot%HlZKvC7;w9XQXu?wf-Gn2N*B(BqxKu_7=DsC+{rb>vL80}O zc3beO+I!-Am?W&?C9n%?_g1kLc!apE5wM`PsOo#HVw{bIpbN3j#9EX9m+A{n4_dqU zND_Ym2L_g49AdkPnK;1du8~Qy7;}W~J??1XRG{+XI@SPMt_npelrx8D+FnVtzfnET zXR_YB;1`VRg48}0N2!e22Wd7w4{f8yA;lo3RM~^d>+YS%qEbM9O zww*=@cY*^t>_}CM9$o;hUoGm5exr+7XUAWm`VXf$7G2H`Cg@E6NXm3^JX7o?=s)AG z@00BhdNz+rpGs#3+LR#f?BHFS#hq`H|6O1url*}+QG zmQMh0HHBGx{^CMFaqq2u8gX0;wMR%Lj(II^5tfnzHOQ;8j&id*3p zRb{pJ1Fpz7xXsYg$vA1Wv<^KR`x5G4)-8p8TCIKW9UF&-2RAoJ_I}{4=JZr)=AU7c zwnolVn)xM&sQoRZQB7$Y<Dqny*O zgx7{>@7S+EhDJ4|Y82P_Kv&GoLjHl41cyiKqZjf@M$QrQ3n-3@!^6uOq9gG@kHCtw zuyJ@{Qxpnp3=tTb@MV6iJOCG>i%`u|oYlM+WoWH(><6t3hSvbN41?_h_a;$Z1M0Qc zfU~!gCm&GYn(!FVPxGaKRX?2`QY`r$68p1a*<+m|Q8Hij*H=hKMYyA?(O=6|E{JwL zu}`%MxmAw=db5O~37-ozhXU8*om{!h%QlHHZVVbB+=xV#5Kr`%DYJxl(vrsd+eqI|EZyyKeepQ_WgTWYJc zRouCTU+cALXI^zmSXb4EP>mkeH6}cc7eEtP(pUr8mf#<8_v#bo;BBHp;2= z(v$G`U`UsLxuhS5d0eXe&{?XGPOm-mb525ATG)OSY`w8-|Am2~2bO-o-IlDcrmi4I z=-3}B*mQ=ToHuKw&`G<}>a}kcI`)r)UmCr3BkV{STH|{#cx@9p_FHRwpTZY#F7!?H zKs@TQ|0ein!9Pm+wGzKdaEah_AoNqdB8i_Wc!ZqidUW#bAovD47yahUxCa=lU|~|Z^F$I=bm!R*A2*ae~d{q>E0J~?~kw?=ke+)z8shZ94&N3g53oV z7VIWSk6PsW45pr3XMZJ-@k&8%HP#p9Q-9nO=_det0gnYz-`E|<`n`)6H}kzA_;11W zK&Ia%@mmFN5UdkCUvQjYv0#6}-h!`S3dVA{FFUbOaE&1K$~=FSAoX&L+xxR$AaO4+ z5A~uxxet*0viAnQ17th50-4?fWP7U}G@lBC9*QMhx`!xJuDEK}@C7AC$!RLXj2ldLV2lo}A zUYzcN)+4+B;K(S^PRKe+>~cJ^*LU zcm(;(_*t&_39k4duDE;M{HHGdr@G?Dx$46=rdj?t7roz=Ugc_Ejw}5SuJrM)_yQOI z$6VoiPKDOq*%l$W*ravsE|O#=sf*xev8G+u$)y!_R8%QNou3MZZcmXWG@#fytlbLH zxax7w6`XMv4(%n?zK*6SooD&vnHBSA&a?HHDTr|8Y@!lwxG;InbelT8)>ArC6_Hw{ znOqgy&NZ=#ghA6jt!I*|u{}D?aigGtY(=GsR83M`7%UoJoOZ7QO_Wp>%t_MhQ;=@` z`H*3Qhqk59G`1;7(r042;OUHKh$k2S2zb}Ey8e6y

DN*GwfqxI(;S!#k|H-k9zb5He#|f7>wABqw#MB`Xx!C1J-p{aW*F(D%Kk-Q!svv8@*rDfX`E!yWVz1Ut01nT!TRc>OljNU zQu~zER?UNJ^kDM(>KV`n-CWECs?Qf$*wtPXc2KA;%-vY{GCv`q9cpC%gf{XQ!lQHw zyL~aCgeZ(#(P@d?t00fDa4LbY={Q7uWh-P=>hf^y?A-KF++~3aXTyT7-&U$1#>wC!R*6qzO)}Ffek>4xV&-OzOALP%4tnujOXd^b+ z_{kc*eeqqGtkKJbrc;abuRvqXWvE@F(Bna<2|eB*y;L@_Z~T3oRVS|kIQ1dN;~^2d zlHI2KUUyXrxxXmt>>B|PS6-y^UY0s9pEBl(XV*&SX0YZ;=XZf3ZKc0AT=3*&tu$~< zA+e3?#6D6PeOvLcL4KN*>j7h_e0*C_t7PlM`eTC!I3Ul#cJWziqj>FroXRmnH8zRc z`|goy?00yFB&){0K?S-h7v$xtn%QRo(1}OrN}mXDUI4SvbV1$`7f?BbPbkPiMBR@&Owiz6t@_1d8d$~ z7D4+GpBh)M(WV^w8v4e*SG5}u2;^nEn_FEst-ntmt1pg*1T zyD%95J(nb4D7*;(|1p|=gOi@(5Vgpc&n67!_$ERQo|{ z3!TYvq}K(r8{udiZy}}XqgM>2>N^bwDb##$G@j#Fe+x(BIi^0@RPuRi4geQ4^)TJk zmoVW$Q>O#am2|aebPe@Ju~Vq%tLxE0)34L?Cu;f!ob>0Ap34?M|AwN-zFyPstLcC1 zq(7JR3-P1WO!R|?s*F|8?QC{n{n1FYwMR`@1FH!CsCgc(36E2ROANx(pgK!;WpdTd zDoJaBsfYDeQ>ldu(;tTv{$R${6dG387(GX6CdVW+lOvU8GJq=-7`7p`PBI(SLXW-= zFnW}#MA1p^;*#DvdNThIa|tLU$JgVYz+3{}%<0MeY;bqX4IQe<)nEknT><(fp)D@> zl8D`|IQO7@5QF&u0J^nCXZQwS)TazlaScClH&m1Tl{52t^4HGH2WYOZIJu5dTyd3f z?Tm*CRg+%ijkRz{X$BNxp&h?>GMJQ}!E;bH#?Hn=)F~Z+t2N3D#6P&xHdkJ} zjF}Zv%dyMlCBAtTr30Yv;(zIk0kj#Ps*iogA9wt5`2+0q(z&x{CG>+A8;8fab%k_< zz58y!f1*w>jq;BoEb-+%Pn>z%_Uv};WbbyCFO(H7x8J+JZ@UsVm=3`8341jx7Q|vT ztoHw{k6jwX<1l0pFhrbTphWR)z>t()piX-{)SdPA?30wfO43i#n3TRl(ibBomHv#2En00=%gQTgD2Cm4^{{rk5#bgMpR`k z#m$?ClQ-ahhtNs8(&`U8+xkem=WKpy^oQq&Ua&R3)E|}$9s5m%G<>P=gC4<`2SitA z_YkDMkLTY-hwwc0enk48hK$BvC-Ex;7Yi;Byg+cgU;z--^8J9%GV<9e_&yLx{^h_d z=+~-&Tn{=6NWDl2ko0s&L_AAygrpCV_yEEFg8K_*3jTn8P~{446{IsEo_|(wgWv;# z_Xyr5$j={DA0YIO{(XV0_eYqAv)&CrrvFp$A;AX(-Ro4TS0w#!1t$rfD>z1wwuhvn zev#$=1#?_ppQS*axAlt`Ar8?|@yT+YdPS!91wsT={5fWIjDIBfxZop#4+`EVI2(xf zqu;GB{1`JE@_Ap7vp>dP6$@1p`n&yCABFSe!~NEo z{x$9?#&-zbCrEt~&;LR2I>CzsrwaB4=7LWauqTj0FX*p*Um-K=#eD&oPW>V4_a`97 zsrW1Qaa&8=3jTRO>Z#8GvR-r#gTHKgogvcd2}8}t^@NPKfC-W7?@*+VKAjk+85ogz zLtIK9?FJYR3!VtXkWzX==G%&!m&oY{>+vv<^|%8FIh@i9LImgI^9Uk2|G7ZwkEtId z<_R6jQtOf%fGDEVa=}W$NrDA}xq<*ik334xXFsoLZ0*Ir{d}kO7UQd!0b!V=7pRzi ze=vQZ#FqjYw*$ts&JR8eFCfiG_E6ty#`}WCjJwwBX-2g)V*%y3%dmMOuJIIpuE5<*>fZgoQqXZhq0+4FJ^#)_ z1`Zm?udv+Ql>VJnf6X@*47%3~;x*bX{n|FXTo`QqnjPo+ga72mu)F%TukbQsu=Q)5 zF`1aj6YbQm*?ed%%WybehGxLy&k@?vuQg!O$*@iRdOX|FZoDEqqwykQI}sc#+tRNs zm--Y){kR^H{Oo|_8TK)85dQK0*3Z-w`+#4CdSJfdnSsd?=PG1B8vkanuL<7&?G7&e znnSsUr6W%DTAF>7Th*^&Dc%1_zXlx`CZ%G{uKX8k47YEEg)bdQ>m2p>6jfx_KCFZj~E6`t`Tnx*j4@ zx$(MJE(FA0M1eu42iCvpQ)PW5d=~D4dqy zlr(FR&URf=Hktt1*$jbYTrXY@mj;57EKyiCucv4N_` z^Jd{R1lu+EmF}2}Hz0bE{*?@oumHSHjVylmg!i`7Jl8 zja*V(v(sD62Lt5p4XBOo@6IB9JqH5?-?3v64cGPH2RsDvqX8JZ-{2L9+HtE*^cQIQTur}8 z(|2~#Qy~}QwFJFa)9(Nw_|q&C{I>uM{?r{cpMx8TUyrB^*DZl~mL`6{Nqi=Wr-L)S z)`FN8$RIvN6Voq_!FeQzwF&_%4yob&msS|vuk+GN5b|c|yr(+zjxzGPmWkr26kDX$ zm`&^-s@WPr-3#&Zfij!xxA1aMjyxNSt=Q z%8L~Hg|6yhx~eOYfT~i9g$y?VjAl~0VK)=DIH=tLG+d$2ag56YuWt$M*h}V9*R&}t1=V_?!QscEeZ(KQ)6nYx28h>q6lxmNf7e09IL3pitr+X&;yQ6 z<;VP=ukvGlLisU2N%=7!>IG^R=v-3{0pe;?);<|AI^U$9rKtDK`UTiS~f4@N%;wz*w|EmzaYP3Mbvyll@Zrz=mVEp0|Gr2aHXAL zphRVwpOju8>9c^X={1IFx}^L&B>&||Nu`&l#NEM=E`Nih55_w&RentSRY<4TDEJCD z5`wfJH(#>8A_xv4p_6{V{gX_`J{Tx;JXXP`bLlk}2%WSmtzKi9(6N6U{L<((cKlbj zr!~IRYjobJ>DX_r@omO;=b?~)z6nHEXTK`gB*=X#nf{2x9~7j%g!ESdAwTt>EpdCF z$|8xMDtLq-9UL%U7a*$X+l&c(7Vs}Xp66nH;_ZSr3DO{l=VuB|5jTwEaMhY216q&{Lh<{Q-WaQzX!WBr?eIlu-W^eH~-5!jF1vYmWq3)<_B zXl}yvd^ykE*-7^;-q^%11wR&iU+^9v-e&&uBtBMY2`U6|CnYKwj@Z3v#^?zSaF)2htVDbw;dT5Qx8QzaZry)EDe0@qGk80W%cQZhgV~ zxEYx5bwR#_Sr1cR0R4c{7f}Dg`y3($r7xg9gYs`;Um)o)e3YK10f;JfS}s^AI7zTT zFjo+u=#fXs^DEIVhIjE#dH)U-^LS{f!uTqQeN$H#{89oc+t4?IT=x(=N#s443?~TsdbNM~Gp{?zhfoj96FfP1 z`PZW+$e&hzk9lUhL#p*IdT~o)JxSG*%g8svVFrLg)Q^JnwVNdjs>-Mz~HiO z>Vr1ztN1o|RA6nynLfsrE=8LC_&9qCjGKqnj(?9;!nP~n#9k|d9F6kooZaI&UqMb= ze5MKuSQ}tvjnzpxSe+Co(d&~qUJ|utebK#Iha$tq@NO4OUXRot0`-7ezrz0Wn49E9 z3RJPXxk26!xEb8ibX$_%-RPm$aQETjZ3Dy}MTstH`tS59B~7ovv28+6`x%$f3yIVo8* zS~dt#G5#LT>@;^zDa&lC#eQ3z;`sz*yh|4hxBhR$}@LI@R%rAi5(^C z-bx64o!+lfmP$>Zo-65)F)`qZIYWU&{Th?fD<%CeNJ-`QX&~-5hTa;I@=ucVzu@7q zC-TMR*nx|oHMt>P6P~MfgO0L>a-oy{z<5uVL-Or9L+GSmQqpmmNu|)Se^jvf6;*Xy znt5#opTqCrzcZFjFi1Zo@jDhYUBM$u=-6K>*!*1b$_z|uFz-v+*JV2%Pw4XO*MUsu ziZRAF2tFxD|2&Yd_$e1-da2+!f?>gdf=3A+3`8}3-(*7W0el_E{4WXq3kZ2rG3{)5 z-V!VWQvNmsNO=}Cn@X;EFc4$dw=alZ%2gjw*}V%DewCmkaD#>ho5zfjJ2A`o+F{~WuU6V306Q`&{A%AY@X$)j-HC{g(h)9v|&2Z>He6K$bfa$Z}5rl5T*c^IL%QoICS; z0}w@aS}s^AI7zTTFjo+u=*I(DSNl2fy~Hbl3@4+~OfOI|j0GGso-1+In{oR&cfG_V z*)vt*lfZ}JbI{^19v*bX`yjfRiTQ&EYT9IbS2fN>TJ}@zTpRFmVzA|8b{x-qB|pMz zQH9-=lf5PrC0kCm9S=^v1KKMmv-$A(!O%g;O!P5-@z`;Mw&Y~XF)3i!rhehC1?|SG z*|Q2S7q%6_!LltmS*6scK|3NQPU(do#aR!-KJ z4BHtf_n@6>)yG)@>*+vk!24>Y_aRU;Uzo@fne3qdm!^LSpy}@?{c#3;zJtC_)88GZuLr$D?1Tn4&>6IH zi31^IH3+mE$t{-**dBRAsE9aidOAdN4XIS*AR`hL%J?a4z!Ax++O<#Q00;!52buy- z^H}=@l3b8;?t$E^*jjJB5rVat5|j;rQ9&SURtF9uL(9_vzd`+`D>X^AKyx zn(bZtaTD?)Ys->%_29vG05?(@1C!p&wMBYg@t4BZI%Le^_-QEGsO~b`n9dUk!7C6v z%D}Ys2RH_z#~&C(#s@_u*f}oR_qf9`C_V+~i+nEl#gwU(u43(hRo`~>oiWUeSAi^4`U>vSwZ)~u zyafXK|wmyKlU4!&tBn-=Dt;V${Lo8L$Xd7xGW-Vg z46aN+0xe>(k9oV~yj}3Y>X!35HW(?k{u}Kcw7$dc9J23+x0+Xtj)67-#S-y9;KS<% zfYja)#PN$RrDGu2UUD@o%r@`Td1uADnOb+<&3t^pDG+3+urm&f51g$mj#nkN#~2u< zQsYf)t-6BNI_ZPfcgFY?-e5^`RcW2_|MM$Vqin9Gg;cMDt{*+Eq;DIoLwiDk0cT~6 zg*7iO$kk4nGNWfo4?TuL(L)`qT$Ur1^##HlotU`{tu{r;ESIdUW|=Bfst-{ zjlvckE0Cz&)Of4^h-2Gaomb%GjIg!cTk{eQQ<UDx%wC3jKMHh zUk)y~Wb;*Bdz9#!e~38++B71m=8vnIqp7Oqfw3`Ts63=IQKaE)E`>x|<{oQ;kDH*i zT?E}bnvfFC;KwBf`JznE;=`MZ)1`5zjwfazgD1XIM}aQ!_W)yL>N-vbVSJ~KLp0$m zfU|05dy*`^2cfdcyUkkgf_Iy<;Myi~nR07$1J2-CnY>4eI@uM|8N6$_NlK5P^{v_Y zq0)j}KJG#pna^P}oVp$vs%qIEU^HOJ(2fKhPxBX}MeES&*hQ-Ab~)a34);Au6NT4Z zD)&89;V2XJ$jESAF)WeskbwgiRIax8@nUO-{hUnfBk>+DOS zi&bT_r|7CbtTUYMtomk^i?iU^D&~T#m{3Z2eM2o&d&Nz3)}rrqZ%r05#ExYyZ54f% zF5z{6(K!?~rFan0WPdK4>L}-3O6b3ceNdNuwSsO-0fG9vklB{yKWiH^{|P5SI9U^x zDZ+OQ!asnme4O*sKOqdTKfT4Hi%IkI*$hH`#z7mvs>iLHwG3l7+`3Gi9GM*7;UUd_ z5qqLeNaMUEZdna2g;-V7YI?V{3`#5`rp>B-#!e4zJLdVgys7MvD{-DdJ})Jv&+&Je zoSCCfC8gV6cfHf3+w#G?aMz^L6Kuo7lp$Sy?oZCJ379HBKJQdWXU9BA{GYJ>D%f)O zkqLh)K_t|RKNIN(+&anngISfhNUoUu#U3+}>Hs z_g4a0pQS*Sd!=BR;Dv&;uRZ{LX z{eU?jai<{NCo=x7;5~x33En7pt>83ZfA%A=FZhlCQqMC8$o6olohk>{Q&Y~QzNG`hg|6|fiZQ(!J| zJFqA41t80L8rU0g?wkY>m;Y}-NND`afw05!T_HFP$o``IokfQPj|Y-3%`B*6l~TtR@M zM;@hzv7f^+oSQuI2?zEbh{a~ynxR8d^v ziev0J(s!bKlm0PR{1sRHHdnmF6{oX9lV3K*ry0Kz5i@?At3H&NnCZ8;;sq{xPAW}$ z+Vz`pjw3U^zpH+3yX(tc{Qu+PH^G(O$Cdt;E1d!mv-}>e`b1pmy#Gx4i(T}8bd|^Z z&7|kbLo?2G3ufHCA4Oa-qIFQ(2aKM~wL>9gPrgc~&V)8a>$0edan5d`>Y6rdvYqO( z8P~L0X)~{Ma)gR8@ZzojCD>hH`sB!rvI<9S9nhY52arqaSCx=Sw6 zZtCESUFc685g0p8a=Uk^A2BK%E*vqgXhNYwN7uRrPcbYhE;_Sh^q5g292s@e*wCmk z<5KP>q0_^o&K#LCxk#rc6_3Z3rwc-R^@BrB%pa1gLb86aYys}#Ia)#ZQ}u)WF?nFH z^@DaCbDllY51vEC7J{uG9F58Cp6CZ{KHQd)!Pdv=SbQ2_N8zUjAH(I7OCu%GIrC@E znOag34#pF4Fk19^4RUe;+KpF;CkK-jOlcYL21taq^n9*vvfjZ@hpEpmAQK0WwsTXr?B<;cAVlsc5aSw zwa&?H8+2i}fyyzEp>i5(sGPVtM&fc#TW07|ll}JK`Z{kU>Vqe)i?J%kx)XCeEGV>| zDdaXM&syW3f%*v>Wh`v6cgYCX`k6IQwYa_7r)O}lC2OCy_X9V*H#~Pdfj6cGs-T*c z3hD=>b@f*N7eE!18U+b6ckVoo(bfWR3h>`$1?%~U6ESYUS`SYbP5OZn%o~b>71#p> zH(p@_uzwJnqU6>VK7(WUbAl%f9N^J&fwKO;0T)IMt-2mp>JlUIOEmyP+rCsm_&<-E z|GV^5?5x(+RCLm+)Km+MD;-#(dLViL_%Si6W zF_)2iuF~I5QnO$u2Ank1EZB+R9aGH`E;V&r4Pe7=MeXcv?WvAcx88=qithLk&^*m( zQ;k0V7Qor2_rXr|S=?_L4M?Z6T0Gj|cY@}3t>%Z-JcbfuXPjm8_*VEWS{2uU%{4f0 z#ehN!SU@Va)4^Qs4h&q}AYif#=RA=U4JH&_feClBH!Aiu$YNgTKjA6K&KBK-7iaVc zysdbrd25CX7gt#p*h+iSG0xD1t^ zL*3cyp^U?!xa3lOT+~ZZZTq5fS(mY|87Pz-ef=G(>v&}7PARN;&s(#G z8lyjgb3t`WWK2P23kKmes(E;NtVtS&c&ZdPI0hnjt8XwzqC?>qM1{AZW_E?SJ*HGx zRFn&F#_0Y|>Y>BiC-Hbw6+Ijkg+h;BpbFR#!zb2zmFuTa)psr4>L|`tEqn&47cn)l z+RR&h9#1457E)p>mtA2~UFKRBu z-DfoAWiUcheuEZ)#QM%?&yQg4xaM3W=&gC4J39;}m%5Hqkj=g>Me0~R9Tsb*KAbW5 zb;DWPv(k3f9CuahDsbcO80v~zZ_yWE?RZSLV%#93I58*iIgC+y>H=nfiJlX%!$r~B zpB!t!F{R3Ml~S2zX_YBnJKmZaw&za#=#PH=MdlE+DCvenKPf~%9|fhZ(14lpJ!vmj z(oyIE+uV9$YC=ajw_N-*;b3kAf~dLk;imTJqvw|I@v#J^n9w_^^IDt}x0$|l*@LE48KC0P#{MA`Pf z4wH2~5_HBs^RtjPTJ)c6uL?Fl+28(HoTR?8Ug+3v6>Pc`ddT%4IA=HfG<^)Za-m~? zsE~&50DSsF-{tQD#FHpHL-1347NSbNr+^0n?*}sdF2S1wYXze~(z*4K{c#?mhvNN# zS->557wEaM3A`X#`|0VPz^*+}D$*)#$7La_3C4QP9w}9(P{U)Y^ zr2km(6(Bx8i#eg?`9BKQ3RVkVA~;)c01zS=|MQqdF`un>{JX^eDtMV-RM1|3c9z5k z3vw|&`EXM(;x7e1!Mvs?+QXS2^>3Sj(6{=Y0J5DlJtO@sg4YV3Dd__w-d~WDl3vL7 zJP>bU-;+S<5g!JU|6e41IS_Ile;JVDj{cj7rvNc@{Ko?^H2vLxtjA7Ng7x@J@O2t!% z{rlij`wD<8=O{VfN05zRIbY!>WH}!JSXeby(Q!JbDMHMm9CRLrvn+c z!$T6cpTn;s%}Dm#7Aa&B!#VVm&NG4&3eVILC*;UDu^{p?NQzo{Pez@KLq zUI3HyoFYl@WM2~{IRI^Y0`)XhIl-_P+nK`^^XTo&4uN?tg!aed16`XO-;V1Ck-{SY z{c&CfDq9L{7>rL`m)~G2gKRyJ(z}cfLg^5w`mrT4J7{gj&J4LwNaf(f57FtxrN5ra z)k!_88@$!a!Te;nR=SG_$#`pxFUWdC2=NZnrQ2Rb-Sx*6iVb!f*^ zwl|~F?xA5@7WU-Tpr7u*1p6|X>vC|_IwvIQG4>1lpE|gSxe%Y^1fl=47rpfr*0tTa zzXl zzeB*a7?VDVaD1ePo_7Jp+*K-wJ$a+<>N1RH=pw2oZo|W>@*aqZJuT{*_dG?9t z*^hayV;*W1mAZ#}c~HNCM*x)0u9gIAi`U!L$#b;i5qx5yCHDbzOE|S|K1mdRkoQ5O zRGe$)b*la@(RnY5=RF8{?I(%Kf{~D<`m@(@#;<}WvUkP<)}1vLLRDrJLtHt&$@&tC zzZJpS+0YXeE=ONs?b!(gEX#pDYlNzx=mU#t=Z8YpMrmfW?~Xvr$by6eC~wVdJehHF zlwPn_WQ`1g0uRB3Sz5`J3GE;BZW9}#_TC+tx^ub!Vo#$~N{0bTR|qu`pMyB1)I|IO zv(-eU=t4dxX(hNv8ijDFxpT+SV1pGoj~vLWoP8SrQtX*3)@=#ExmmhU8VQyXo;>EYY(Q;YPXIbt;7;KUdq;0lUvaqrJ6KHqAjaW zxlhLgE{|2qvb@#&dXp{~q}wn8V2I6ipG^l@bEq}0i~lTanjwrrS9}jh-}}aUn6Amt zqu!bap=@l5vRS%W)RZ8)JM@W2Rc8wm+M~bx$3T(cOyLzi1#jJ_y>xY2Sg#Nk-O94httN`QK zhn-P4))bbr1`8I=ghFQpiZ91$6xzT-|H3YXlQUPLO=h8d3b9Zw=9NMphAK;%9>NyS5%NUP^B859|=sW{; zo`udlTxb$2F&fAb-c|$eMkY4!R-iQSMO-2@aHx}eJ-Po5HCnQ;NnMbdtH{2t$MLE% z**ySg^zU`%3}#Zo`{2#plupO!t%;CVU5_GFne11( zsW#jNKz}_7Fxv3jM3d=}e#yc{_FD83WIsk{Z`RpMb@msW**S=%$F5V^rPE)~o&JQ% zl)XZ;$ki;CI$7|F35!u+p}L5|!gv?mV|UTNbQd+I>7vG@E^18QMRX63HXflX_%I~E zxXgCwp?R$Vx zwZ~XB?kKF(vqvKltr()9+ev^xJs)4T*7euegkBL^nrAmncz_~&!yx=#D;=BCuQYuI z*Vnrmo)>2}^hd@}Vi~HpdKIrdo@3BPu0T_&7B+aiOK<1VclffIiG%8`cvAq?9Y8^` z>cb;&p!#sbnokd_`T&*$xHxFq+BF|_#f3bD4H^EM!=t^2pOv!^&)sN~b^;Qry(G(e zDO4JuX}|_7t9=W~QoaJJk5U{RbT5W#4}LXNT149C;3uR@=hy}g1^wDy1c@(t`B3zT z(aVd_LR)q0d}mXG97M0iy23sJb#F}HV-Z{>^jKr69;56ZJ%%^U;*> z2&(e{YGqXCAyg+e7Ecpq!3JM=*Byh$DRX+4_T~}$`A`g4_H!0asD6F~g{Xdhj-~Of zwY&Y?*j7Jtj}0y+Ht16H^Bi4nE2F9|GySOg4bs%xk$u#V=%dYOANuGXbd}LZv^Z5)6{8eL-OVLyx@tUxYsPj>M#6>u&kB*YM?sgxwITo*CWt?L+MIUWqEBUg= zc*+RPY*aUwcr&TX?4ky2GruvKysOtZhmv>ov!R+zXzHR9u%FXF8VnpO)f|rLLp5W-2;aUy<|J-I~F7=qE6E*~wseqOR+qFvSaZ5D4(Fdq$HV>LkBX zk>kFWnfVRKW53#t$Fp@b$iX8^^WddHkzARWvd+zqs?qW)*x|{4o*F6FAfiUfy*N;J zQ)=5F=SzvUL1|w~(YdJE?^Rv0`vB0oPth-^Stn=BYU91BzdNqfgQk^-4<|P19zGW! zjZYHy!>2-*eVnuG>p&f&Uu0&%6P}0q$@2`4_~f|>2fVAeQc3mIFm-^hw6k%rCr_Sm zZ6FJ-LP`Vb315_vxeKEkc1((0`o~Uet7_WEFrv)92YrN|JOzz1t}&e?x}NO(6vM3( zh+PCbBN>y^b>@AXnYq$2WoB>nSo#OBzK!*V(SY#it9ej8YgAxqS{^n0kcgGyBSzhY zZ9NYf(?1WqOS`I$QqKf$O-rIvuEiaRP8sT~)5EGx`0>Qffw2XO|4EM{@6tM!s2@q* zn#x4+S-SXt0*o$Mmnis(l$gvpq(Q}QC(~~4Up9$3lJ9KXL zGu69#eY2X}TaC657JftcgWA9Dit18Yv?kH$+p+RdjRe|7& z{*4eKwo2a!#Yn8TYsoEM86B zOKquaL2))=)((%B!w=3ZhikN;>V5@VzcR7P)f#zbsEvGvtN-u$o@>BGdKqnPD_GgX z1{XQ)wKA{0#>zx-^Xbs1=P8nZ8N3TyQoEZpLOtZ?E=hih(tmt6&~)=Mpj@$LMAOZP z{(Cgte1-;0HVIas>E@kZTS0B+^yv*m7L@HOWw&wD3mEF?Qj;z?im;HLo6}-*8g>Xt zXPaFR-G`}JobsD@g=~0mBB57-<2P>4L;HNW)Jr1QSaWF{%BO#} z+G5-V-9|;Z`f-aGJ9HiFA&0-d?sYv_fd3K(TU~|XueI>!S^LYEKNhv!Rmh%4|2KJ6 za9R0z`lI@Bdl9>u|FK4=dT>`jcU0pyF4?rz+3=SCF8nv}zvL~?SM}nqfIg&8_cH<# zZ+ki`U*7WxmqRz!=u}Vc3i##Gr~9V}(p~f25niQ6r}}eO0lqgQ(4(nJZZJ%Oh%75l z0IB2hL(Km`!<|6bm$#u@#`jp|B9O(}$|OiqmEAz``vNJDa5c!%XZ>BE!Y?-eM#EDq ze29f_VgB6>Um_EV|7TF~e+VjHXYnKcGYpS4|9#E9m*F<%{}GuK{dACC{yFuc`pvEj9b zr-4d$2Xk*@*wb)R!v|Qa5ZyVT(w${E#c+b*frbMO_b}Ya@Dn<<;=gbBj^XQu*Mmyu zRC6D1c#PqGhUJF48E#_u6(8v0|FNO;OXXf+7}&Y_uDQn`_;Q+(_hP@0oGu+rv zE9>IF+E9z$a(~Zo72kep?^{9nFE-SAE=^xQ$=ouRsqjNVx>CKq8FwPyS9}*CBd&ZG z6Ch5h2frtI~(q3_%a_IboI&~fuh&uA>l-DXVM!5_5-WI zGH?*6d{tQZu3#VBvR9+=>qWzRK$^bt4ur>vK{leM05) zdQkb4Jrt5IKMzFZr2KoJ@-014{z{HEl)mT=`1b?Fw-iL>rTi-@fuXwcMNn?(hl-CR z3_Mbm`ncBkBFUmq_Gr}am-8|aCP1Y(0EA^pe?!7tdTk(4HeF;m-*BwqP{T4qz|nsf zlo%(N9~{WN+^b1MmsY{$US#g0f^bmRh5RdgtQ=f7@Gp08%`tZ{zfiq|f{R|p5q9^3 zKJ5M^M*n=wy$y{Oraw65ek#UqznD9I9_E@@_z^MpE+iICZ&)lp9WnaxvGAstd;ggG zo)~|n6;5wvEc}#MxXzpl)2si4-Lj_?cB{XI-I6+l-9L=E<91_A^RCuUlC$4I*fW_m zY5GiWv}Hr;k=oqcv^@it-*%KI6Jet&@!8(D`OHx;$w>p|h#r^VFPrcQE&wh-Dx;Eye8@|jt1-6c4e{_Jtx``3Z)thNS7SEOgeyQ#xxCi=Xp`|*nxf?@x!I?sd)fvv4P&@+2~!) zvem)&nRipb*8yKZWuSd%7aR_RLxpijc@EcRI25R&c4zR#9jp-2!`sX5TV&>=uh+|T zg~@H0jAmxWK1`sOIT}5@MfIr%YEzG*fSdZz+hd__=9cB?WvVI=3nia)l|rIXT}ge1 zP#;e)J@xhRDCFrk`N1H|($uNTt5Xx&>aZ@4-HpX{EmO-1t5Dt!4_JLa!|HLd`UyYu zyOw%ZrAMJiIdT_l>9p5jPotM~DN|eSLbjK-B$u-T-qw>zr+!h8-KZ|5RxU_mmrNSZ z!aifZAJgx!=pRIls#0$2qo$d3`;xv$)SznzJ!W)PBN*Lmtf<8GYBxyx^{4%oaz+Ju zl+?(mRZhG1EA%MK0wXFxkD0T+HdG|KkK0f|Jlo%NC^Nc~f1nzu$U6b2>K)Ua{4I48 z=uTeCePBrbY(~5x-FOCznk+L^)2`ea#Std zp}-x>5`#ZI?f#9JdqJAI44oe%>qI&wGXYd174FW`A*W zPq@&@pJrKx-Zl=Plke?ZJ&y!J%_AL)^dOeNq~!U%n!%&y%$rclK9J(3V|lo1nmg7_ zzjI62NYSD@Xl?lyYM$<}Yc#!TrFRAEHRSJYD9G3kJ>la(C}W!LIQ`CLo@%YY9tZu)r*Ot(y6knbgSt$ zluI-4@d?7Gt`ZdABDU245`Hh&~ut-TkxY?XY|XYx7fn`-y~ z2xam})$r@I3cYVTPq@SreibF0n<-8DPROlpn>?-bIzvq7iRoylg1Q|`Zr*XEB~JoW z+0i~?OoP-l$|$jK?fr(Q|D~tj!P8$1#1q;TdRMWlDRxGkQpb3>iq+!bhN{>GU$Omt z)^2BwkD|;6sMxE4P}a1@lD?SX+Kr@9^{U1>bw$at^doeQ;yc=M!@Q`S2l~>Fc>L%+ zjYFD>&hMG%XiE(K}o!p3+m%_(=x`?a12;yZ_Fo0(rVInkTJCnjIc3 znHN;_EQ2mk^n8%Bc^%;;zO)fVPbnh@gcGFb=~JKPQ{P-MQghovwbJZzKrIq2csaDp zb#DT%EK}U9#rkwn@UWaq<4OVOA3Sgz;^T(kV*FCiYO96}E@-swLi?~xTAn+wJ1IEn z4Hck_k|!!a&r*@K>^^euqefE7kS1DA?3I#k9pqs>&j)E(Hx!XibnD`ZtI2-pRjzUK zYqj1+Sbg(HXnHU@XlT3iGHzTSmL8JII}Z%X`!SW~x^gc(U03d+ym75or}I>>z*_wa zYZK-#@y%qyn)fnVh|cvtyoy3it3~9P3X>`{Xx2+;s`NLguFk9N0|v)J%D_((rWana zf;yWQC?sy=bMpca%FWMQZumhK#o&>Amuy(g{+shn^m)vSHaOdwdgWY4E5?#myVz zSwF63PJMIR*P3q0#Du0>GLaFQZXJO$(Xp&<@G?K$dJr>#Sb!^T`UwHDmUb$SH3ri* zE^d<6xi_6Qk-I#vN4_l9XU4UUl5Xui-qk_L`>N#DlDpOTtv#OtLN#&{q;7wpdY!(O ziknB#2VMWEFJ!YJ7M1 zgqKDMRUiI2OaG7Z(AxV>M^|zVKvAT^Pf^Aeiskh@|H&9!=*{%)_OtW8mKsj4VGe)k zC1f)EPO2N+#yd&JH)Y;Q7f}rVP8uU`|5lJ@IvFd8W^8=6noiN%)zj|fX=U&x`T{u> za!yr@4K$p?7<-HKhF7{?ZxQt>8PcFv6*uYo2-|6?&okXiJ<&btCv(%)W1jCt64xcI zPd%ccCiO~j)9J7by-L_xkVj2hA0Sq0$wR3j9q|_G8CSt2R^DJxJ&@W>r%^7YIM$l^ z)x5WdAdy;DK(RA;_g#7sNoBMv&ymA7hYormV@F0ac8SXvKSk+l`Rz0V+Z9edQ(?IS z)vi8W*%1m=$b@XV8dfq7XOq4ZD5%q|yqSAFs7=>%Q#-C^QdP^AP0cHdn|^?s@noZh zy)>#c45(PCaVB{JD@3be2gkAo21E9Bv=3G&TJh}zrQaAjKQ{QX+h3%KmU*mZZTVZuqB>W4Ovw|s?-y+I@mM-yH zm9hz_C9*u4mDmN8R%QBxtSY56jY;EFdS9qn&crvpxhzTkJ6gV(zWBLQS2jiCcjfSX zaVwwrT|g-DkRE3VPkmT)I6EuA41|Mu6gfjw!LbcdCjV`Up0fi@&)IuNRXu0_|GJ)D zYN(0`DSOV2YI~ya$zQco`#hX`J-~L2_DBzlUSrK!D7?+Wg`J)MR_W<-__vvlM&5k- znnM`}brp&~-@;E~jWS<+R=V9)NZ)hqn>;#PRzAj!sJ`be#IEMQzv*vwMmGhzu}0U% zy}JT_hiA`&yOMxUjLyoHSI_fq=z5u+r|QRD0lz$Yo_~j6>>6L5&iHNvuQ^7idh3ku z-H4|c^Ga?vyclH7tp2+o>!6i~n*Sif?Z8s}|H+F4*5xmNivOhHJs`=KPXzg7uB-!D zWv=W8ir-=yO!U_po(C$uQ$d9fH2*yezakNZzX&Q^7ABPLkNFXwg@!wVO6Pul6n-tJ z@Shka4W}9I4vOzLLHO3c$dBlsGK}kG{>uCVz0A4ho^3eYaG2qdhFckKZrIIG8}^mn zUqG@@scj8%e`5F)sQhVvIZ-P22Suj^Inmv3cmpW9?}O0Qp8~43(PmHKFAaZgc!A-$h7E>O4Rt((;vHt#+i+XMV#9y(%`G~e zS1)|a@D;;rK;`Ecb0-X|40ki^YglR+*z?q)kK=22g<*?flVNbq;0fl|=0wFCWLROi zr(v;S55sHtaufYkhT8Kl_r->Fpvp0xPZzcO;h@5Y7)sxgE>bUJk@EkP&lcfxAYH2d zCa@3jt^$$MSIU6)_MpxUH-rV0Z)W=_6_`MGH2A=>?RVaTDRQ}p5{B}_JJR8(FHO=rCkS<$!I7nBh+!<8< zwgi=rO$^uKph?Rg1Ld!Sh=sD#2}$`>bDv>&EJ#(C%ceVjB|8{y3er^Ne8*{0SI69Y#pu6`xxW!}$MqVeHv~!MniS)IQq29`82v-BaP1`v^Hcu|yCu#DyU&Zc zUx>M*dY7|{BKnXx`5@WwT9?6x59Z8eZ+y&@$#ssO&nlJ@dxFyGN@Lxlq&?w`k-h;Eg#s|Kp<~Z9YP*@Mr5p<>~ zX*FOSZ5u&GVv>Osz&Fg`hM0{zsT z7Mb6EC$G_>Ql9CeGXA-wGbeKbg|0!o^mPqV9HF^+M|~|lNQpFci65`xBJI0smdASP zK?ZzwvwZESfjxAYcgCknJxGhc+F~Rqr(O|P@$sUvaz$8nWxsQ+@k?0UYJZr$avU?J zs~UPUm);8`<;Tj99^@YQiPb6sdH=gii0)Z_`h%mHY&TJn@GGbn*^jXGy`+8@KG&+0 zCCZxAgHc<@+;YjhNJ5j=#)Uv9^PkYSTtm31Jj263pQja#i-7V4hS?R3OGm779t60hJ$^>hb%?rqBdNDtDs^$`V z{58=!a=VT!k)6BsVe#~BTFxl`Y85xtExou~#$8=Y8Na8r4CHrw%TRn@<^MHYBU^@Z z_XPhw##ru_yBIUL`)i_cSy`g--tNg?lZl4C60LPDy%Hb4l07L5(qq>`c`r9xWny$Z zn0yPzvNMWjtQf}4iZhA_ZA@9_Jz6*Tk%n!v(HC|b@`psn1GR(SPyS0QvY$}6Ivu&x zr)g!w!Sg@esNtabpLR=D)}>y{Sy`>~8{KPL&eY24Bemns%&e@o?_RO8eP-=BMQg0uV3#FFfj^S3wzswVYG_F$Fbrs3q1b=Bw-u0U_~7lLG`QveD(Yo9>LP{8t#kiV8zmqHf3?&p-zw0 zTQc=}m3sbI?ZwLNpOlTFhRr4L@D$wr}=!o9yjonOm2{eG8YfWb{1$S_)$szC-y7^z#N4HK0tZw@8uG)7>G+C@bEG zSM0z^&nPXb0_WuQuTMQ%ow_eokFC;CXdZlo4OMh#F`l}L6gh;bW`$x0Lrm?1DxEau z8qTO{xky!l4TO_3x!NRoOppO*r12vrS_5a*S5(z^e;;-COjNI{$R~23#X{SK zZ2?Qwm**=}(;KM$2i2q=#e}YVpGfx^s~Ol!rP-G%+Ywu-LtRNs4L#8^D-p7l+HY;g z;X@OtSFEtb&69Z-#+7`lIZqCz!9j_0SLu+%*WDqBU*M1G#fFit{D4c-o81eM*XpaTP6=7TNN%_B|88J$=g|}p@188T0q%h z{Wi~|*O4wwZez7`i;uhpXrElw+8msU7=%k;4|CZ-Y_AO~P?sh-F!G&c@APRXt6I=O zg>+9IVLVUraefD+rE_84T4{onEICCRqRCY%Pc9}nk&RWSKFPE)CT?%RAFpL=`grr- zO>L=Bw>6wH1a*pg2^!K(BD&&cO}O$XRIG!(VcobnQr7;guG4?jv%Px) zRPpy2C&{|h5u#cDvCBH%(jqvnYD9Vkw^rT}K9cOqMI$w5BBd|T32T9fv2OAwUgxVpC`%~)Dt0|UK z3jC7q0wQcighXpknP040dMqK-Gl6{_Q#lOr6?|8>uxvkY(ZG<_Dcw zFpgbp=vO=L$nnVF=WSE5l6T;W#vvCMCFk<3kYHB#0k5H1B)F+h@L^x)+Du1+T1yQj z_&X9zAD@+$Z|tdL04zjxoy!*NqJ36*svuA4TVb$-^Ei1aHFk6~46ACn%*{GhCJ)b= zi(;agICySba$wmCJ{r7m{s%B7Q{$t_Ep^H9Q7+L=x|F)hqr0#)e5RqZ3iU_m(@*f@h5OM}gX}6- zu!;-zl}vZ?#b+7H zU2(mDz3@dYRJ0b$Xu4E>cXc9nuY+Kqoo{IM!4R0MN6-LWsnJ=zEXodnW$1?A1V8J%_m^d+79!QSAnK*^I+ zAWMDq(%0V^KBs|>ui*&88Ve8P%oXM@BhjM&hM^YXkMlQ4>3H@@MFGBdXe7cp!i&D zc#h#L!y^n2HQddxuVI@0p!lyDzF;VWv-1B9xEtlU8tg}UDG(W9`5aK?tOi9_X?TF) z9v0ri-1Ifvy8MF5@B0KwPW=`rJqy_hLOxxty;CGren0qa@On^u zbs#oN#pSaNM}aEuA)xYcprMv-#qTpb<^Q4K%b@tpG`H*n@mC`IKuTBV0m?0zg0O?i zR{r$G%cEWSAjtDoDSb)x@BR!PDrXyr*QSdM=NpbS9BNo*2srvL$Y(Ev1u5K;^9JL- zzRKke-V--M=fbHsUB9sK;60?Z8ifb%tryKLT3y%h@A%PAbZrGc$TL?ng$=uh5)yWA zLb_r1+p+jkq7R45{!`d3ovg5XM2!DwvGCnv?g=sa8L{y1#qy&GCV!c0K`dMg*5Pp7 zhute;^&z$8aQN_8_>M96@EHB4v2f`#g!$=x8Fs7Rhuz&`^goU9)6V5E{Tng&BQdwW z9>Vk{KCF$-pt7@PWW+NkOr72^0dP_|CSwwcdfD8D7i35C5s1y>zMaqbV{+|i9i@cC!0kg?CHe# zT8^C+q->n=)03y8qTmGXS#5}~FNW_t-D%UONhu=Pa9YFU*?}~kMw&be@qE-jqY@C2 z=XX}98K+I2dDi4vA-3bz@1)LHh53faVA0HeQHR%z;q=atGM9AtG4=JM zMpliiJ-%j4-7&+C98*8y$T1^oPpYwwbNKO9v`8#c9`%7hf57Y_mAR`cJ4y!*K5!pT z*_HmlnA7$B7#LNG+f!n$v0i!vy_jt43iJp9H*==1rAP2HCPTUcJp$RrxIiB3sYej- zsbPHA^(2$*@MYc^udeh6)>!=27Nd-E^J*#@&16qy<%+QEN{>KxSak(@1e#2VUvM!u zoD|#(yV4_ANIsa4x=b)HEV>G}=47Qz=48tfe*YVK1Ufkp$zMc`psHoqoYY^dif?_g z`SIc=t&FB#UiNOEp-mq(95!_RR~t19<+oe%Q2B1jHs(VicxA!c{_sxqN35khSKBfg zDfxaM){Yx3Dfufc=k@7Pm-<`#&J`UxFSCR5GG8XHTVnmFKWQXd+_HJgc?YsjDT$E$ zGuy7zvNbDk!v;Sy_o#$BoY4u%tC7!hIAcUcuBlfIQxjoK>; ziM=Oe#oi}ngt40>hegHSoSexny_nQ{?|285@n2e7Hh+Cn^@AeaPJ&3iA1WyI?qJ{` z+WUZyCV@oyHWzJf+Ztt<&K)(PW#=f^mKtQf?yyj#-gz<}6M9RUO6ppe z@TuQN~^ zFa&aN=jVZKtGbqQ)gpF_LT7~TFR$8`*1R&^J+ zs?#edBI~P4Ek_Xa7it(Ojf_7N`N~XvOFrrA+sVJHQ*Q?X@I?r}t4`=hBL3#k&8P(Y zNY6^Zms8(F?oQ(Y$(f1fJxg^!E^1aT+wY!8xzjbMH>6E^fL?xAjjV13XSL zaJ7SEfse@hv1RF)$aU|K7TUpy(z$)YV!*m_GbH)`psw3~NWQOy15ID+GT2-8x2f7+ z(Gt{-Ho8Z%E1NKZu`wt4RtBt$XZlFmG7^pCCH;68r7uEQYbRdUO)%X`D&n|9~p1&pg8Pgu}dOG|={oH4CB5AhoX@rk?!ofND3l}Q1znEu2 z((Y#MuSXZD@zafx-)4|n5f;vNNH}{Xsh|gVEGmG-%@?aebe`P5e*)HFJc|#zOqW~@ z&@SKfMZhdtxU9c)jiNpj712_Fn&vl(n|Jaee2$c9l2)b@iXJ?dV|uikAfyde+_W3&QN6pKQM5yL(b-CfED19}ubB?KXIsgxjp$n8Tk_WFtDvu>i<4Y>n7TNV142zEf0 z|6pQrPT*|>s?g`wsn--YFPDCT7Xu&TbJPw*Pw(}%UVN6U2NG9#(z{`d1ln`Gnu83& zQ_}kYiue^pp@_f16)K?LFRw4G^yfr%+6y~DNd(O$P;=PFRe?6425JuT5hy#tl;g8L}{t+H_c9Uqs7+t+=tZ9cX< z;!5;?Egi2ujU}hEXG{q4q1C3z4MoVl_uR99-2C4ViTeu4FE00Cfq2}Xk(6INUL<)) zKKXJP{<`=&(nar$UIQ&$>)Kp7;cXUf^52~BU{OHhbH4Q37-Mx6jIXyV*Uy;G4uT%*C?8+T`D(hXUU=wp<>)_y-{^IekIyhV)swpdeg)*? zMe8UZFEu*VUuS%0F{+j!2O9=bRV7Cn?gNsga-B!BGbmx7!awDUT=;>Z4lY*sGv;1p zsKo}+Nv`4K338BP;^-!PC{OHSPv`t3o<=l{vKgW^2_ivA(Pn+&fv zYy??ytDgW$4!*DX?`8NE?Vvd>+Crl#x%Gr2J>*mTgM;p9e|~J{sJX zeCz}E!Tm1+xh;Rk@KMm^7gT<)1tn+x5x4``0!kh|AEe0TNlR~ugtZKcwzSugoNEE(l5g9gJW*#KZL`RG52S2elhovL=MOA8FPOxMz4uv znEns3^6U}|Ul|M6zWi`}-G|-XWAqba?h9k_>tb%{YlQj5&;2=wz;O72So+_N)n7Um zuIYa`zLaId?r+Az+hXA##li~+J7crx|66IepT1@1^qtGOV_E<2mUf3eJ-j$RE^LjI zCf}($d6h;x;gw&tz-G^xE#6)Q)hVEM!b^L(y)?WNxp|}n0ey1jEQHZxI+vbz7V|$Z zL(ffpgGC(o#wEDVHlEZY|9M)}H-Y)Feyy`f= zhTFc6c~`fTRyBUUaRb}0Ki??1O(uNn%w3P*j?_v|KJ~ufyeDJO$Ufv;uJ_$VG$O6 zJd0i#76ZiMBC&9Lt2s?6n|n63vEE$WLM64-XT;Xg9o7%?9FwPe0AD+Y!!UN3QmIu# zY=`v~K5A1Ysyv*N#@B_e0yRpv4<<^r>lLk=q*-5*0s&Hq2e_rV9s;6KFLO~fSeu-pDs?|yqBOw) zTSKu}01QG80T`G%Wf!(4kKd(C{CU{eoQF4Kq&DZP1GR2)HCgj1_8#d|JUi3MT0jU| zxf+Waspnl=$M$iDE4=gF+($83Ia&6ckfjLf(p6)!TvgY)iFStsnfqe1Aaf;uxUsOfpUV;EM*xFN%^{X~;}=W?6(d$`r69%x)@ z^6x!(CPL3%Gjl0Q@(B=<1A5jIsfO&+!>)5S8Mn+`o-C7H`R0dI&Cg{;+Pono(yk#_ z!O3X%bFUV88MM(Lrf#s0vxO6u)?x@JEUk@hw!aZZ^!_Bd4O+#WQsD=KKQT5@mVF70 zR=uJHmK)ZP?IKFScu>>)kK$&nm!?mG02}!YNBP4RG$N;-%MmT_CBIN!cT7DW&T6<1 zVS%P~lQ+pvkjF5^d^F`|I0#L%^{Kd4gXi7%mtms6zsKpG48wfxm}O z{#GD*j@r#G8yfhnGH5W#vs>{>&(qWMK%%vBU)4-&$)OH<9u8D3y@;3=Cp|KdO#hJt zAl%jys$f-1UkeeoN;2KL$uT0c5&r;p@7n8h=&7Xb@d>rpT`r5vJBre4^+;jp0F{RX zzTW0Rb0xQpbDu0KzEt*J8t1O!EQSuq=g(b5Q})G=I}~yjc|RT#Ey3zB>EgVVophp) zYCQEoFtO)MpZHM>#Z8{wTb?G-5%r?T@>XZ!vzYB6a4#N@n3EF_v&qJVP@ zJ+8nZ3-k81lNFMChMIpfT9b-h4TLII8+6h#EWzu!YVZ-0k_S?usEEx}WzL%tiocS2 zC;m;*`1dLP3H-Pw;c+Q$ehxJj-xQBZp(Wb^FY+9kqa0R>L#yYolwP|Vw?4Wy#QK($ z#++}-9{8yx8)oxME9&EU1GeIgj$Pqa+LfQsz#uk5i?VOGJ-P$Fm1xb&@I;bas8j# zE%^5|Go-sg3E0mx8`A}})r={pahiF^kinjN&YCc7d^j-gDzzPL;B{AsA2Ml>qpN|^ zM&yKpUUa2==M%_Z7ZYn;=JF2xmYL7@UEoGJ;Y-YCUmqnWe69I>4Cd3bSj!lst5E!b zyoGdqNCxx8XF1DVaXpP)@MVdrXvsgEIz>lN&Wt`q=sbdI=&mw*2UZU}@40#xQ=pq~ zbgB<`1$2isx{@f}EBRkzbXKms_6zi;D&mM0U8)~<1^n{pXZ#(4Ri<~+8Q*Q-wZ`aF zZ=Lboo^?><#pPeIBE_Ir^0DE|AWj(Brt64^PEA-*A@UM36c!KgryI{en7k zA7bHg`vp5&_~xL>*G^%@{|&>xfG%Gk`Kq5{{u2!AK&rX?OQx=h|0<~X&l^5!c%NYl zSVnnH1Vw+4`R{9}y$OoHqv6YZ_o)0bpVt?Zy#mFX28wQ?q3jf(&rz?#p5?!p;ro0I zNWbMCQ2t8|e`)x0!z&CgG^_<#GOm1$X}aRQU?}x(x&LgaV=m>^!iaF3;VFiJo&5dH zEqnQ*>tiSzVY^cv*&*18^mP2(&frQ=`Vn`7D(^L*;$3CfYFKCC<>ubaa0f#jDyVqv zhKs=d@VgA$4a8`e(<7M$D*Y)Iej2EJ$PR(pcN@bFo^HBI<%b|$zH$|){QU`3I=?s6 zu~{@>`8;!O3y-iAL8@6;UgeTQGSQHZ#9(uhx9LIgRI9_jy3-i z4K;J23zWY?=9S))hMHa~|9=3L|DS_YRk^G;^#)TQ<7N3wP<$tYeQ=))^5|9$19>DX zC6AZB$hL+Z3@)mNw?L9EdByOrp!nTx?pqA629@3=AVW{(C{X=;0I27`4TSZkiwx%* zjx`)=SY`+~`m0D>dL6<0M0yX-4eI&^l_7WVzEb(*F0=5fppiRxPyEr`imU5a#y@x; z9faGWx^Ru(VYlwX?zyBNc8`gEc~`uxYjM9M4X4d)2(~-R;{N!_Oa}v>V0sz#9X@mVxCygn zL8jwG3=2?A;|f>{2-IMFRvKnb2rLW~I9$NKA?&n?z!j;Y zu9YCHbI^CZu@CEyW(P!{H2J!l`K_a-M9r|O!|JdlP(K_y0(EsYhs%sWF9O97Ek zMH*98S6ek=%;AZe!;iMqoy~zjmm+b@aU(l5N|2L8m`f;!o?&38Aio~Per09*50puQ zeFpMVRxxnk0WxTCz`lj;6ktSUS|PgxOi$KJk3uhhU4b4&;AXDzwe%#0W(@Cm+ybiP*jVt9>QUFlKuxA<)qYdGcR6;QO8Nj+0gT@jXD=~1jPex)|( z_hRxQe!<1uYEp17>`IT~S@O{jx;0FGR+AIr=jc%=pZaIMwcZzY)U{;2QL;;egEnd?$?(}CV>P`!Yd}5qAnFhULhD#ke`g(QIp9~;ze~;oG2t4O!tBAL3=q)+ z2n2;2(BAq()#wFOr5;8OT$^HV?dL4hsFc3Jb2}r$?Wa)1r1W0hf~ZkD=!1RK|H(wXhNzK-$tR`XI}p<^+|cc#ec_9p zocbC$>FroVb^E3ztjg@0ew-k;Z~7f>s#EXh z2)Efcjb})@&A#am3W>Lio3)(5lO)+I4X48uX|eNp@Th!kJqguBhjMirrEo%93GE<# z%0bWPfU2c0LJV(wYP#DgTztm^`K+cd zf>BG&L$aE#o%yS>Y7Et>kEO=&L$aiPK7Z~*$n-8(X;FYEur+^Gq~iLpv3XUYnse6E z%UnH`yyS{jQVURP+E5d!wav+4Ve9EvyS>yhjG^OCBy(#^o{O-pt)roVajIc@NXFK1 zx^uq2`7(S)=}?qz!E{hS=Uw@fC|s1lCSQaAZn)1$Gp>|qA+Uy1DN=G}$<0p^nE zPi*a86*p}z6+pkI{aDZVTI$wMCnOU$<%63LIvd%Zo=oc~q3YS#(Nd4}htMOV2j*Pj zru#CEQ8S&&x5InGf1^kb^5Z}K^raE(8__p(M40FT|9eD<%Fckv?%OEX)h!2kULRRu zL4o7+878;mW_klBB~CwUf&`J%wH;eqvn^P+_}B(*+rJ%hmF+sK=x|TtVoh&wAJ&~% zI?pi6vK5o{G=Oe(;berm&yf&D#Dhh9(xtfQUeRlyIcIsy314F2gA0VOweV5I%qPDa z&hw?KQ2d1!zKFR?zW7?_)Ky6S_lfO)w(=Df9i1!Js}=*40d-k9c_MS^ra(5@=q$f^ z<$C%)m|=7(x4Qyy{E-BP1deYmRt-*0U0I4$n?bT#o-lWnVO&nNwfS#h_!)CtZYx)SO6NvU>0D>{Q^P9_M}v|tXutAy;Fcht z()I6Ao?f8rXiIMJASga3dX}7xR*N^KkLba+`)J&Q*?3<6a%g^_?J7l{%Y=E{CtP7 zP;k+&V{V0o!>=K|uzNwweOJt_F)vK7aXIY%H0J(w%&qzh(@VW9?3Q_@usbfl84wFU zFBbo(7=IZ83iH$08g|F!N9w2H@WvRu&YuW}$K_{}V&UqSVS4rJu-mOLXT$&-Kz^h- zKrpp)yGldSpq#J`BkZYla}bj;_qYNfT{ISjwmRf8;56iRD z6dj9-0r}5?Mi!D!K2lM!?|x2TQkJ{VlyWt22zMYN;mIs2ira7I^|xMfk{P_jbOmyf zz|Ffu?+?Tq{u(oevxgeY0gM?lvS#$itUI{d?%Vz@kds`+OZahlt*4wM;8VePr0Y<< za6*@PXMDPnlO!zuYKx(A@?I?J&w#9Qaz$8nB`4|62D9Nz3dAqC)>lq4mVE3& za+07;tjU6;)(N%$P$#+aZQhYAW5Z&`AX^!0=-G{%?Mzx(MCe8{>Q!Cz zr|J9z>*t{_@l)@sXbX!rGW#1xj;K!kO&dIs&jn_ehx zx(1f>F`(G=b9ci6%+Hia>Y1u#?`>IyuplkiJ=QTMnN?Dvp1{On5h($!b`#0SnPpsaGOwUt9;a?I%>c0PFUV z#do|ctV=zy;B`Kl*dXztq)oO)e^|>Y`zj0VdsV#9&KAnQ72okn`;K5iVvJz772o=7 zT}!geR&Wk3ox7D9g~f3!lCDun+lyl!NG!^n1ggT;Os4QfK_h(!@Qrk}>R>6~7t!Ss zzq|I7s_#^d3Aa^nF7b%rv=bSrac$MObfHq0@lw~pT6WM**(pj=n`Ng}jTjzea7u>6 zw&Yf;3HYEu zTOT>vp5eu?-ko%G+n4L&XZkDWw2mO7oLhT;LcQhbs?^7vS-H8ZLd)8RRLbKN7~ zc&Dqbxz4T8zkJ)0utX-WqZDy3}0cgr_d4PrZ`d&K{#GUq1=JNkpnc+i^J;_XhHUmpd0% z!vU+?C&(bMCgj?rCq=HWbqH(JD)0cXP*18e zK$|{CvHkM!OdqEyC(g7`9DCu^Bh&U~SV?oZtB1;ceEfYg-Q_(OPh+5yJz|TxF7+Aj zI$lL1sz$i8m}Q9?L1agANk?)~RtPy9d)vsSQ`tkAyEaL!k8~%5OoV!*n#8{*ax56n z8=19H{BE`urts~}12Ye}hn(9}EurB}{2#iCk*HmgzHDo}%c_0->Vc4zqM0WaO)_cbS2x_mfm|K zPj#!O`a2LR!SA4|k{UXFzG}pX^g)OtG3uLcmB^xT?&6N(W-V5->5aXEFLGy@JI!<3 zCz|Fj95;T7(*MxrHq<6m=f8B7QL`de=PSZ>{sysB0s7>&G`^$(sq^vC9J?)bH<1&b zu7e4p0-p4QJ4Feb;gnwD3Agryzwv~h0--w4V3WSc6Q&7*;{~2@Rg~~v5q<~41#Fw7 zrz8)cde=D8lE;0-S|3rfn@|dBG_ReI-j(Q*h&F4@iyB^3RNQz8qeZ zX?vHG-oIu!nWD`E=!z{ssAy8p50p+aCb+Z1e?^-!v;C2zdDU=r&Hj*{1)7})>j#-; zPjP3RzK2ig?r2KdC}48YD`Dq29i|HOkLah4lOECcvYh_Hia2@J*{7jAKb+-s6r3z8 zzu>Lsd*GGaSytwH1{F~TmuDGl1_K)7bk`VnFj%_ActWFQe);quiMJ#2>D@Y$PbX3} zh)|_ePlKdfZhCJE&>*ie=u)`PfQmNJg^IY;<&an!(*n!r*=BK#a@r>}ik8hY`ESMH z@~CqdtCRd+`?2K8 z&^YykgWda}Is!>hjoNM_o?e#SM(Tma)fV(2%mwi4NC9wr1>uK zhVC>dJ;w8^LFoxRT$@jIqZ9MB3%U6^gOVF;o=A+V(gXMa58x}Gze9rjj`I0k(be|$%pkfVv~xXge(%}T)Us^k1%2%sw>nit2*6Zu!@L$s~XA9W|@+1pbylndF}%>jlf)!|M((c#6XC zES$-kC2EiVlF)+?olr?N;bhpQ&k-9{8zcR(KRq;$^2)2O$CT%`veYA<% zPhk%BIeP{OJ)hoMf$!hB*;%xmh~6W=V1L@2E)E@0)(jom;8e+TC<3ZqiLfn;zBX1Gptl zw4wDrL-(k9qaNvP74F_9O>a0-P2J{T(=0M=+eYr}w5?%$^9#wbR*Ydh0o3a4K&Tj+ z(AvBEd8Gafgcs^bX)Vzi$dFHsl3(k{d5Mv49eQ&Uacs(v+?VOX6E0TCc+cYnURLlp zD#|09Wc!`&O}Q9$HcIrMY<`sZO7BdKYBzGDQB9lu+^9Cu-7u<2oaPF=u2Ze>(;put ziksY9z9ktZiVP9y&0J3GefnE6?cPU!Rqj>oxs#i(^*&k%Kbk=Y$nZXTKvSpI5ua<<0~mbVNTSz3bB+5B zal_oZQJ2)kC8QNf z#9OLyiA*CAO;!qwL+AenZuUv7PwA%HsU=^4nyawevxryk5>3tEu^7#{rFHNcu4Ugf z6oH3nxfbGwWYp($5I6bJiiuxJd%=~Lilxuk7;imBMSq=r_%z2=`43CE${m(c7CJ1Y zFQrKz?242b!SdEuSA%cyrP4^X3N3ElTn^uC8g40pc94c@w9OTRpQ7}RKF`4`sc`az z>YRcXUwV~O1spn%k{36(WIOj(K6$+wL&-mqP5$SYOvtDMO0X6Y8|NAsG4WfLD%eaI zW%6I8IjCYemzQlvD!!LDh>>A@rxg%%FT_yH>m3h$7+fdT3*+ z4DuMOA1=Kyx7wmRztKy2KDzGWf1@I;@kg&!7Jjhz&I#|u_@wJWLh|Veu4a(bRVaQL z?(@%x?O z&p@(MegY`I{ms9h;TK5Tl+Jyi;@xey5ab)RG6_pioU;LKf~<}+aXf;8-_0#-feih;deom=U@DY{$0aI zLFMySkiW_%eqddG1}M5QhJ!)Tm4f`${{x5U9tB0W!tgqfzxoCIi0*h$bo+y%+uN`w z$Y1?hmO(|=0FuSZ<-DMU4Pam5O#~Hhtl^19m#Eh{MmrJj01z>KGnw#s!($A$0_ob$UX8-<<^3W2F}O47HG}=Y2CxjA1S(&rS@Ir3|m2}uzaey13lnlaq|i(-`f1QF#HHls-j$m zDaGd*!+Sxhy!?7|2j>;ZniWHC`Kcg7XQk|?@K^o?k%g~-%I6cH@+mttBvr0`OX&TU zYcq}VExRH7m7HsM8n^@g$AaRU0MV%_m)ioG2c>Tt z%qygCEO#&ud4R;^4(2VA%eZj-b!qA?_gFc&Ug2Nv;JVb@!MtQB@j}5xU*ZV6bsu)e z?VWrXiyyZ?b0CcxjxRenVK;RcajU+=;ZjNnyLXGxkBNm(i{(dlg~IWhV&ON$+#_S| zpU2WWD(1d5#(zjG{Dm05j#&7&V&RKo{L(S^6EXKbvH1T9{a(${BVS=5OB`mRBbeBG zLoQO#bss!g9bNB?e!0yW7qav*dD?{2W}5zJ5I>S=NOw3l{6BoUkTzP4nL1&r6dA_Fkn2gHrH1tQuG@Le3d9ITs&j~Z9oi=66tg~m0nJ{za z^qFI3%*6AIqKu~UtO-+ak)aHWh}Lkngia5*Yg;hE_q$7aOn$v#S3PdyT4w~VqgdVl z$90QQEgm_t1}i+n^gE)k5to24M~#_Bys#ef{sr`q2ktjm)?3O7>mkn$DTtvF?X31+za>NUqx`_dCt9AO+Ly9*HI6j zP&ne}*lP*e#EJsNx?j?}lx8prh8@ZNsAmOArM3W?)kI!I3$lFpC%`X&ow2b>&~Bb9<8gS#B+>Hbv(^dG?5mW^C2*!!sJaDqHG7L?aF7 zHls$hn1pPN^fl)06!J;H7gCvMAKC?%{n4&H!#L=J91d4xI25QR6o@+-0tMn0AL-Og zq#N^>J##!yK0V955?Mpf4Sl`dtPsq? z%AH%5qj*ausX6pv*XV}j@~9D-N141)6&C@%GM|Ae{Wd>!si{t%5<@nNt5b8A*QJt+ z>RP6j6;_gM^t=wv@X`jl^iTPr=W^~iEBPEBGIE#Fx)kc+Q+CmbBRx`E%0mBATj^hn znk)(8|;BUfQ~GBvYh&!n!5xI*+t|glNP7Y)TSP4INWE;YnLZlW+f7- z2d!|)err1pADTVWsJL1CPUH4%Fmg_#^+$Q$otni6m9ce`Y)gJS^*8hl7kr8@3Wxsy zr2O`#^5NwX-|)DqL;Hd!4?&{)Yd#do_T>O_$cfI?^DLlnu_YMp#tLX{<5vt&7myKbr0{F{oV^wx z>hC!8tO{p|X3K^>tV*}=yuX#hdmpMMy%=GPkKhE&-*&_$pRsI4wpIaj;MG7hTQ2H& zl3VZ<8R(wTf4;^?coA?4?jd7Gs6St)EU$Ii&p+lC?dOrwe!f#>K<@mRf^)5+42&5? zDT~@fiJngKH+WF3m$-cNZU898W}u|O!hGf}&Dgs+#5f-4InoWoax-6?iLN-2XGBuB zCy~2WwOq82(B?Ky3n(padY5~rQT!UK7gdd4p;5e=8mS$3!uaaJ9~57z??$}oY|8?I zW}TtijQqZS>AdYK;Iqwwn&!ugzrPLhnM6lhV(_Z-+G|r!I}HOZJE3QGGN&Ur1%n~D zooN49Zt{rryF7>{s4GXjQ|8?1k#-w^IR}kyZTtr}3{H zcmAB}!5f=imnQZrj;XC zG%W?>7L6Cqs^oeWuP>Y^-uo;xQoNf0ig&1U^}G}a6;Jks(@#tPsI~VmJmI#UFcl>{ z8bYTWJ;zh6rCI6YU7OIZE+?gPtD&RZF#3D^S?G6}2o!c(l*oN>BK(Bh?WuT|?=%Kv=burgkGx`Z7l2Jj!3~TXC{a zOx=qvCB-xKSN}A>2b1QGd52WAH4eG3=={yC(|*v-p^Vb9ZrYBtAn2W+fTvs=0HCFz zo37-R&dnrh@Cx)Cak*x1(vk7CY?TjDO z0W?jV*569Cv?-i8)#`49(_VU|Zdu$cU0-VJDn4fD?>gI!HaNz)dX51?mF61jEmT>p zN%!znk4C9ZbX7|lRBbRCQfaC%>11e3{EO5{S5W8f!QPcFEsdyW@u*FG>c*_4w4r;j zS8+pybfr1DZU+MejfR=W;-<+YSC=Yyx{TMLoJ8_@I)-{cvMjv=Ma}6UPA##ih#;ms z&5yfIa;Xj(L(_@jyK%^ZqVs#&nEh`06#}fE>`I;Kw!=kfzTbs7U8FWv`FVEcA%6)q z$JHc}-ip!H)#84x78_2cWnB%*=)J4KA_8)U#^gTqv50PQKPHZaREvw7oz8n}@8?}k zN`3&)O>|%Z`8o>-mD76|Nwuk( zRerA7FqX5DijpT;2|8#?D(V{)BveszRDx@yHrm>I7D3eL)1L68DB)SIuKZ}lX07yU z227jN4kYf2E>g*#)nQsoe&AVL55&{jlZy3cIBg3vo#E7Qs?KjJZjvg1Kf_7J#x$De zs{gHLkGT;>WNxv~+-W{@A5no+L`^hv=R%rpRYmw7v&vH~ic-xGRX>VOfA>T0r#vwl zIey~$I>q=A9rkSaVtUAjWA#THZE zx=RjUJHO|FrVh`bl0pqE;Yzw2gENg+XvEq%{UKBk6d1IgB2+!yJrTvt`%)M`>)6BH z=@>Wd{ZPm8Z!O<>G&A#^M<-OM^K_xXTBglHJFtDYlf6Q|(wB%~KvzgDUv`5E6}c>3 zMWG6mcQ-32I7~wQK#Gl zq%PcGEXk+qmkYUB&)VsvOG<&L%i7tGB(3MnQSWT+*@xnV$~6xz1xDf$X|ui~ZC2m) zBq4;sOF)RhuL?7GQmT|!yEm=h{#oD{z4lHX3fB`Zy~7RT_B7lmhtJY4DIQrG9nI2D z)K>puM9Dr4`5(sZAxNZ_6;NDN((};Zb;%}!?jgGyB>5%~s)Y-b4eSWeY(>S~fc?9t^~P zal4WdFNMhRDv)NvC7z2V@L#7}Iy<9WI(zS!cIoUulQTfm;&j@bx|gxXjQVFrUGwW2 zom^L))Ie4mR7(r$nDPh|jn+?8Wx#oib-#tf+bsNJ zFyDE2ZFFH>ZqYFh{~{iIUD7+rrzbj}u}D{;_-z*cO%_e_#b*)KU4`^apM8^ukju)? z=pEHF-G$iI{P!|F&(7$kK$kE&)rY$RexdX6t|Xw$^gFFwdG$;0hHjA2searQ@XMoL z`gaJvzs8rRGrrR4S!8sox6b(9f!K;BD!JA0B9Ilk`bi+micYT+IbUU|g>Pl}1s?JvpR z*SUj=|BT^M!`~TdQBL948%_Ylugu)vHoTWLAF@>cE07}B?*@wQDVBtk&L2VXSz=g7 zZ}U70{|*SB%0(1Hd|N^BJp~k>QHH||_ch$ha96{ghMO98m|kUY?%+%2{yB&UynLa# zQ-&89Hdy#XbB{GV(J-#hxt0%T2sB;Htn)(yWJ={=xY-!5+EzP}&;WK>sD84=ug*wGR zc(0+h{L!T?K}cKODj%6l*KZNido+ESC^L{yhz)+rVwPzUJh= z*iaS(XoB)_=03&nNRTEj|CGcPPc~eHkAljF3@Rue`c6klm9pO?f9XgH-{&Qu@Yg|x;L4jo@xL5Y_{D}vP;^IGc!l}zX-Hfb-Uh;Y z(?y2!4aXV|H7qj(96fQI-sXG?txHC%oE|5c(DfZq?luu}X@%6ey|d^tQ0}qjUSe)@ zYK-yp#(yoe#>$cWHs03#;Mq#+duHnA^170;RjzMNw5s++jt% z4P(bO{I!H(dd<|wOv$I0nfYXrQsJ09ikTsT;L}X`J#NefKjLrQH8W?A$)lQ?$!I>^ z%)Fl(8Fk62Ni1|q{q=j%w%E{mmxWET`u6Hdy^?ZwVz@Qb=Kos?mWNdxcUm4);s zb!=Vcs@VU4{juA+@8AM@lLs7lfRX3gZ=E(_^2AA}qv=X#_J>$zH7NgG{mC9o26P4b zlYyIencinbyjI<{u6A6n+1%3y`jZ10p!JS{(R?4`f6;fG)qvveMDvW>g$?)|#(1Uc zL0*>O%e*sQUFlB-=hLmW7{U2;&oUWNIk_S%yRzfDf=QXKp*9$d=CT#=tMhu$F&9y74nnIjZNWJlM z=ATr}eSoi;RgkB3TUd?pK_BO`Oq?ea=VHad{zXDci`=j}EF+)qrC#P>pSskiHL10Q zZG1L(mNNX~v+)ev!ZtpULe`hA!Bh1X)mj|n<7y`DS2)c08guToZQQv~M!-hREp%ch4bj}G(e+h&tZ#OEzAIj&H47W^5#C)?OEolYF&51tZtUM8? zl7*@T9b_P@ow%nbKNCn_Nl10-(@++>C(pz~=lM-;Lbat8g882!%e}(gpr3e?i}KmB zceZbQt=PNSTtjFud9a~mceCyM7-L`qg>D$eR zQ~F@aXT9fg8i5LU9SBvx?yeW$SCsyWgoibwX`mt5`)OF*f##6v) zYP+Uab61$4xT%eBv@eetvT?(?(!BJQ@oLV2bbC8vw4np(dNcL}3Jo)QrB)`!Wo-y1 z$I(7VxRR9Y4bVP+Vn#!`biPceT-sijewY&JDN_-mnoUlprC<8@Rl!$LfJkZLrJo=gFcqF-ctHC%-e`k zg{$I)oJi`bvZq>gTzk2t@kbwFv(6%fW<08b+SK#K%`bSJ!_uOL;}Kh~GL8KJmHN%)zZl!!mZ%w<(0V~I$elH zJBtu}(HCU>-y;;wEye(rD{?;i0zqkRP#}~H@INFnEg%Ec+65^q(HRZ04rF)XQ~C0) zL6~?mZ+V>HGdCn8_RPpXBL;TpUb=>PpqoXn;pQw9zR1FF1M}J08EYK(^>jJ>7n#op zFrWM~_(&`iU*CSZ#xR@77oX2ncNLOImS6rkbRFoXkkTZhQ+>EA;1{y5 zqgQosKA@GWp!~Dc&izyUxGUgSK>nFPX+&3Nd?o)JYjmo&&iMX_4^rd;<#BnDzJD2~ zN~T(PTwZjXh0Fd2>*bZ3fm_384PT6k_o`taAJReZ^1sFK*M=>IO@`kC$$t4hp!mhl z4}6sgxcEG8_=Mp@hPN30+As<7LaEm|g1tZ;XfD2+S@_0=uTxLrEB#2}Q-+Ti>byXf zZYm{r62F5$@#|&bn;C9w_&F0;@mU5c-c=y4sQR-&$*%@kc!lBHyqLcU-8G=%U1d1K zaI)d)h9?^yXgJXDHKsF)|AOI@h7TM55|o_i3Q%(GW>9h>ofG&i{HK7bp94Yh8E6=s z6Ig2DpYdEO{6oXvgMEm%2$cLuawW+l%`Ql#l+qP`CaClVfNJMm42wb5cq*lEPFJdY z5$4Lr{h-qMi=j+n(lyFuu~Pnly%3ovCu;ct=CAYJ6fXGyO;WzGxj!dS`M(9y^yQa< ziq~W~9aKKXfy&3Bpz@(F9mVTwxCw}ysr)k@E@t(WZ-WY7ZTJAF@Vh|9sLF+)_?%_o zGYn4#MK=^w`0nOkW~g;9g|~qux#=Rq`G#W+hZ>d{0*?MDQ1T)bQrB$mw_#DzFUl5?HUe0Dwf_MvGB36@JnLuc`^P&V(w>S^!hRkr!T{*VfUS}@K<8) zl`*&0mBaC)GK&o$KgykQ1R|?^Aq6Lw-X=(X=~FJF>@+u+wR$mAZD*wa_Y$c*xeLpt z@&ucyl>gUBsqz%1pu8$Sty*i!#OY(kO`1M=+ys+R6>Q%PDZ|>Za;m|0%wQh-9=Qe2 zn)>*6^sZpL)h6U8kE|$h+J-GPrfv zm7MDP7Js$HT0*(?s+rGAS7qh0l)R%WIn^X4S-OVWpt+DqoV~i7Kh-eF-Pq4QpyW%A zJdd1eDf#G2_+lo((v?v)2JcF4-4(Qn_^j_GIfw)cs8M%%-rzS$nB|Ur0Kb-^iA5k0 z2(8}aJ8y7Z_^)O%1pmhY&%a^a`R6|$uR3F#Lxqc+Q9-%& zC6BOB>m4SJ@K7suR!4<|TK|#r@hkK;gf>n@TY}XNEN4$GEiCTp?ODCS4B4}KPON^wkNOI$d+vZfGuhDtp_dl_ zT9V6KMzs;T1Zy26P`_vm5hT2d9&XnLSDN9X40Fk9V%9p!f~ZlsSF?{=mx=l+QG;IY zqOgt^x7JZe?zKVAx9jiicHEC)4$eHpa>oXed;Oj7!d$r*y#h-)h`!eDO2Mw2MH@tWWFJM+x$oRi&z1giG`f9I3z_sp4@=giDG zXU=n(c}A8F9;aeG#sRW4mL{+s(4!PNf4A&Q-D5C;ZH4=j;PTH&JsN-sY+$+*pF>UX z=+eSw(G8$868Ax4ETv+@be(t)QK$a}K;KIZ0LtE*q3j$~MC@RPr7t!|7q|&p!*6&_tYP7Ju&0xnmi> za&Y2lWC2MKQUs*_f8`W87aW^0bW{vMFQ zyK$3hMDCRUG>J2W(WDCjR+GYP(#vV<*jwObkc;XdD;H<0riTlcbu2w>&_cF`7P7fy6W18hS^QRPK9c+F?-yT1;muEZ(3U_w(nX(Zk^ma#`c z81?+Cf*yYZ1RML|lE#FV#FAxYLhGg*v|4ApLuKTI43qIGP|T)^NKFmZvnONGN?2%S z&zNf#31*PmTB;+m6aO|_(JskkMoTX^%+PXUKr{H?Zb(ZlAkm zc7UaFev#mrf?>g8!IK5)f1l<263-EQ50V_35x4`$bh93-9&y$qn?L^3B%N+sn6Izk zdk_J@_D7xpLUj`P6;Ra|$b5?g&lQ|3I6<&Tuq%*uvHwNClHT1w(&PFr(pf6FNbq98 z5kQvv3j8O&S&^+ksE8uuu366b;~$4O?P=b1TV!9E?{UF(f)5G)Snygwa(>KzqTpb` z0fJwEL83kFEg>v8yCmk|j#HE4@B%N*~c)mn%FJK>(+ky9% z_OzFQhXbDl@;XlfnZ5?d>smq6Czhd|bYvz%Cu zGl48mzLQ9Ag@@og*9*~}Mw=7Q=Lo)wmyhW$0clTL4J4iGfXuf-um;F{AxR%B=LZPl zp6r%A4b{>1Ff@{Z?r2z7Gd{0DWf(W(`OhT1N#*wW?glb_y2Sq>af$L?>+(Xs0Q8VO z6+T16j*mc!9X|@??06SXobra9KHgLQTu(X`1a|)KdGc3y(z#EAoqwz+ojVxX=|A$s zmwD({d*ZKp^7Hwy>GkxaukobQ?rZ1geY4}V8{6^hhKbbDtqiQh*IQP+5j*wF~Xu=F0B8eTLrCeIS&=cpl{jL^%Wp<>Ttb(0(AX(y>_qvx+zsWbMv#A%D&a>zdp@TT|-Y4x@(?6*R-+z>rq|i z+Ef`Tr*?1sSG6WNIz^H;wq0ERb)qgySCP62G@+TNX*-UwYUTgde^C+5`y?jh$I)AO zCAI=A_2&Q#SZS5E={qd+U@2H{zK^bkCbdBqJ_|A3<9;ZpgSiruS^tXn^d>h^dfRBR{_9qiHTNn2YIBw@=-EtN70k5$tG~{E z5#Zak{_7eD{2WjLREXa-;nGHN4k};Y`maNDCFcOFrc6?m zoP(!MS+}lKnR3qop!KhTZ$s-xBj&Ph=|X%|J=U#zbOFx1&RW1_VcJvczeec`k3wto zm^xjxiyXLF|FuD7$-NhVrse1Y+$+-R4XTpFfMu=!`UlRU8|Zh)%1iJ1_U+w+>%Vvv z)bR-gJ)Q;x8}o2EW0Oj)|Kb#MWc;h35+4bPagC+`-II z%$B}Nvi}j7$zH`*m0_5M7W7xi8NQsE>`hA8Y^8i5Mk9ufuKUW{h4oxTpdZ?We6&|p zNj~<63dX+Vu~+4YT}k>StGz0(o$J0P?c%zxivL^prR)L!x9&^ZMgDKym+puEzpeXP zj&YZECNs`*9UJ3jT&BN9Wrt!O1TMW-={o9L1Z3QNC&;ZZZo*F`zZs{!c9XY}Ze>@; zcAWM{JH7+;vEx)|*m0;OU2(3gx6^lc(vR`Py>_gzp6hk<&^y?Pg;<*L%v7 z|4C0e*CX2Xzt?m9EuQ#VPrR?E{D0Kqq&N=YJ=?Z7*|}S{HhFS>yKGIma@p2zxvH-0 zOj$VVOsnNo;q(U0?SjzlDBv4&OW1%A69`E5dAmDrIgU=Lzj5#&lb(w1FnDkcFj6v|+`tY_+zsLrDs zD%64ev}KoCC3dNmn5@Nb-+#g`mEP0Ya!-gU!Ipc%W^GP73YXWalWC~GF#uS~8t-y1 z<)?5L=x^5a*QU%>3)?~8v#&FJC-pS@I;R(GW!~3$F?uG#a*ebnK!e+vi`94`|WmYn1qER(*mzNOr`HduWO*5Uf|{O zZOD$G8k)DP#QCbkd0F0=p1RA90$4iF6EO6pb)Kr{cnz)27Aw~yC;}^&xJdj7V*06A zrpof$V_Uffz%M7(dG(Z~UV5RIdsk++uftv0jkz;AM6L3&cVkA|jH5#=^!f@_tiV?Q zs{Y9UC{g>USdWo_EG?$3D+d#ocWt59SJIP@p)z=Gw*V} zKu`N(^14GU_4+FRW3Kc%H^KSRC~cN;h35X7v+F{gPXJZr_3*^Rzx4&OXE`YG6td)h z3_7hW^lGOY#6@m5h)*jwi1eg`2WdP2H|=jQ1EH;SifFZ!<^oyhwYzQ*zXMWxXrY(4 zIjMzS*QrM2E(D-SoI;Ey(J7+Uq_f#1YoXUaz{FrwTaBFOx^te6oStz5+mfwLj~yI? z9@?daUVk8|EDOEpaVAv%arBhh%i#$z8gf3U{R_<@@P&92e&ty_0o6nmInCK>%mu27 zbC69L!fsWWau>2mXumFUKEP$y(uHuNy@s&Ag0sXmj&7}h@K&Z1u(E4_FM6T)KfGJE zZG#WQ)UvKK)kvvEU5vQo;;K`Nx~A(3eh;nC!!6rwK5-To=d9)R5|i|zF1kj-gS!!c zRvw{g+zqfgrc@E)9IwQuEY*f9!vS<Q_wNA*ICy%S6u_0 zg?==Zh3Dhcr-hHlFSrt{4@S(aE)uzT)>yvYHtV}Gxky}OWqdB<`Yt7GW|+I0b$OS! zKpRFfnRl8&BIiWK{xv7{pS7=V@RXYJ>YBkbtLMzcU(Mj6%Cgw}@&(bF!DW@R$_LM# zHMgd$@{;oE#e>VLssho9xz)3(W>iNP2WqOz2E*3F|FVj~Gh=h-&C)KWBYjBaMn+k(pW=mPiUE;DV?ZSiX^G#8|F4demGhLt0 zn%*So#7z6dk&$9JNrS|6guhL4W+^a}z0BxYvz1@Q_Yk3@>$_ISdMs%_hM~;syP9?( zAMIs3C0`RO#bD@p_K7p=yQE!N?PX?t7yCyAL$8hXU9Hh=&-$*ukhBlOx{`x|7zT5_ z`*Q7sl*;rZkm=t2xgNmz1Cjo7NxxojCJ?HGf{_x>7d%$*Xu%#pmj4iP8|l9zxCMwV z3ET{1daazN1Ape5EI2{1NU%WgNWor$+rj#SH;g<1gsLR+Qy}SH1|+?U1+%T|Dv)$e zP2@VQ$AF~AeY{97+q$j`kxu$Uq})z0o%no3{s!dwt{(!KevM!u5UQO5vme)o_?|O8 z+q$klNxE6rb(O@kt?TM5>FW%hq17f~%!Db-V5Cxim>=*h^w!3TiI5~!4Tg&_AuM%M?9mN?l8{N-|`HEwC(K2(C`xMeHx zIw0#&3uHa!16hx=fGkHB)x=>yuE(OAeW=a~4wUoz2~r?n`fEVgcnWRi|f|6M_p*(2+^3eh-*OHe=ByUe(3{3I^JIR@h=u}Q^zDL;wRCB6k{+skl| zReYJyKM{=+QmVuUh}dz;Om@7zeiB2T^1LrLJ+Gg{^E~wmw{1U( zb{Bn3tGRr>_S(%(IAO$4N=bQb_(@caS(skXwY%%NHsT}2Ksy(MiFd;>|M6K?VORI_ zGJXI^k7aj&IXRmY+PR*~(D_0Jfl~0#C5Aqf2Kz@b-!N2HlOosJbTTl=1JH8wEp#~w|mPz=xgSjW* z6WSeUcWI6d&^{7v>x|26whWhmBI9O&R=8Y%3uREac+F=%1nKk4@2E+#dRt z-3*(4VdJlk+0C8=Ym7!x8?773O0>&vCJO1xQWUauQ)au_0NZYMc-9*uW;6eh%TT=* z`+XU^8T=xaIL|@iv$E|_>5Kd_s@q%*BC?3BYR z;*!u=Gg;7QS6cO#DBUhbSR*jtK{ z4L4xAAK1Yii>Bs<{CB+=>U_jg{`%n{1MTe`Rhixs0Z`)lb=8IeT&ilVg6EyUnhp2| zOMD-tMI*iy&BjgM39yv1T)3mHGgQikovo^yN}R1ObKe+s+1@v35(guuAF*mx+HLN` zUO{l>$ej{l=Tn{?&w<^~wX@lDx3$kaJKXK9^_|V=Eu@8K$MmL3TeSU1Jq5Mjhjn0b z?So<(*oi)oj(7$iHgv>$0IMT(*Udq;WN~(iOMfp!8Z?pH0a@>WD7pD;>E4XgZ;dXl ze+JJEeVwKEK-w5~K1+FaYnlX8slCx8Z2*_2Yyb!A3-?4%=zE~e6TAm$wYu7Qiq}ny z#+CA)!G&X2!SG1$Ab6Mt0`L^kH#|Dx0K}}0n5gb4KHs26W9W7m?RLo?kQm;Y-kw%v zqqn~tegl<)|4%rHittqmHT3u`AlP`Jm9Zx%W|=3qu)S+rtO7>($x8ZLyt-v!23`Kb z?0Wl!&~tMGXIa<6L!6NfhN6qB%H1(;IkYFYBhu`7R$co-wJb&J*FC?U#VKdu*+9Uv z;SSR!nk~Ia(uu9<*+=PoE$BDNnJa*q^z6ouTDJ1WkJ@1vGc%Qk4oih>e$=LZq}-@A zOZ)JGWY)8<+=YDeaHWlsuSs7vP0yoepZ>AFuCyzwo_&$zWB;gN>X${&zU7m)=~BRiTT`=|3zX#F|@N*#bo!0@O zw=B342oWf736ONh07>rzK~6ki{4h!X6#c|F_0Pmd1^*&=zu?`1)j;aQkCph*f?a^r zFH`UQ9pGy~$Z3HWfUKXsb$E`!5yr`Vkw1^Q`~DK-Q~=;7&v!f(HH$6@var@k4YW=4H8(_h0wNc+UCK+$-oUGG_UdD4H?Yfp1uAwt_gc24*Rnrr65beob+4b#-ZVc{EnNpj5FY`Xb~&O6Ql)Z>2S@uCqv0>Azq9 zyRaSWCRE;C)c;BsNe`bDnp_+#DjgS|cxo_Q8VrX|n{xWt(#Vvvil<7Bv1bP-mlhSD zT{5<~bnL`%xOnVYC1)3(X{WZbazg2UhrxAMD&(JV;t3}V89Hp#h|K=HhKc$xGxX?2>6zzbh_$<=VzPfFE_Fb!glZh3z%b(qrKPiGL}#Q= zdFic^da1e~TSbo6(^i2=@zNp{=#gup)pHlj5t5~)cqUTJsL!`W=x z%+^b@3;542VKcyAwL5s%1M~_yABN)vq!Ynfhf_-8<8nfd>h$1-ai|P9_}VWzHTK0p z?H0_|9hXz$EbWQ3F04v0-p$!7zX|GxUWplKcepH&htoyz6R2FTEl|A^?H{Tw08;}F zppNRMcyDlgzU7}cABi*9a@t;8-^bra%ysloKN<7VfoWYUgnGrcY1ex!P0;MuCUNY*l#Y z{|z#QvGs`a;)cEX05RlmWuHF60V3?Y3q9v{o>kdnD*I<8&Ia}-YBit)w|32I-HV+a z!Q~r~ttq(AOGW#v3pz)RZ|FW?f)gH$N`JikDHLoP>kJ=^?!rzam+h_3; zY?L%~88N}>a^#vlZpwoSX zPMy%u{ZOQyqEm6Rbm}RQPEUk8Jr(ZsbfnYcwd*=#KNVaqwleH&53Sj@Z+PJLk_|=O zSV^jyRj-z*s)U^}8ykY19DV8Z+mRf|_hmopeF-(F*C^CL-W89W?rbhwi7(lV%>Me@ zxt|60hCydROIFTjz9IKi73(n(U}?!FgM`tLLrbPIK2l zY3p!})&j?Tz5sUMlggk}jS~&$QmWWj=;12KKtj%;>~jQr*D}v0lB} zamc3Z%9uLN!0W4!MQ_FYVf>H8(7?d@s9^GsukChC*M_~X?ZO?5eZGG9zYPB?pfzV; z{ZugdPpegV=^l=HgqYwdz#fPX1!CaK9VFOK@DNGgN8)=4evZt{Pe1a|Uj&{2f+s1U zo`?FCRX}{?1D68vms=yqjd~a_#SdQmz&IfF7sG+jRRoR#;@J)40!eRwN#`Pw?udVm z*5)9c`~HBXDrf}qIyVB5CHH#4xL}>&JRshaK)H_hz5s~Oo6g8ku6MEENrC~vV+8++ z$}-<0g1;7Q#(e?575EpB>9hn9DaZ5t{kRC@cMIMkc%|TC!Ailof-?obD+pbpqB8)9 zD(zng#3j1s2?A976CinF^PGkd_oJ?cpXW0|eT)f|PnbR(H;sYy;2zh8U(Z8c<~Q#} z4;)*?ebfipaUR?8b3O5ao;dYlcK#8b^v6B%uqXczPy7d-{QNfA^jCS}2~S)EOX>%z zs>>%7;HDhuIyf1{c5Wir?ywaM*HKpa%)s<`(W_Ha^yK$%~pNE+GPK0JGm^H7w zboN}7n0u+&>^3-SmUYTA^p?)9E;kw3X;O8rA@P-#!3jrYnGkPH)>m@+(2*%AJuj~< zIeln${|1#+s#01?-`#mxi!k0Xa2^$diDS%B@;TmZ6?RoVH}4VYvFs`kI+he#%IB@h zzlP42>grg>AoY}}TUf=(w&Y*V7iTC`zo3V~62pLR2L@Ydx`58mmi*gO>Qf=~xbl_s zOlYtC%a4lUX)x%I!3%B6zlJ6&$p4PYzmQqitV#5#+Y}9B?P_!mHYkiOan^b_CyX7> zbLsV}OZxQZGSyK0V(ds5Dl6e6ijASp-JfqR=@L6E*)4w)4-OF4I~4C3a?XG(owI?@ zP_Jq0^uBWq-3vo&Ug;d_jIXiJ#}Y3mpY-3?6l$69Sn^(rzvMdD^duM$SFa=wy{cI= z=duvIt+^@}p&z|-Rf6%Zrhg`>wY^uPqG}Vz5x61FV{6_$to99mC=PQC_IIj2B6cj# zbzlBQ^C^t?T5_1PVfmZ7tIq2gDx1uXdLh*L;16QwLHg;2#{Ov{$Bv*2ymMh zOZq7VOvz|DPbks<9uiGr}3I^BBtm4*>B(<=!iJhu}?;{sW0$Em$j91H`8$avl&* zY=rBt$#-*cG{%VnF0RHnTkt0kCte9;{+U30@&c2A_-nCGR6l(_m%K64|BW65=5oJD z;@^P0-hDbA_=%ifDM-5<^KpIxk$fw!-wTM5B0xWGl)K2UL#_!VfvoTAK&Ed2;!{`f zS0I`YXaeF>T<{wp>mLX5`sF~<<$WRM0YRECuR<@s{}IlUpEviP5-k2wfyZ{-%fE*_ z>69Pr{FR>gKu`QT$ZY5L^7|V-`LFZD|LBR|Y7t=#1#xON%@gh9&kdc!Pb=z7!zEfE&hC@G-SGznvOS|RjtCH zAXRpeY>Pj?LFnBe^qPd8L^&o`m}BBl{8PuMnv-GO#0t~{`WxR37{ur&0_9t*n_xZp z-%fD!l<)0g)9J6o%cd7Obi!n2g>$|xXNBhh;q4>SPTe@^-l_Z5 z>^pV8je3Fw<|-u?*$; z8|RZ|ld65<7&E8&eVvitQ82rFP=bvs(ixMhzCE0-J-V0q%s0q73r@Aw8NiC~Ra;!U z8|CGC-6ZKw!~Jc^>p#)M2K#E!WeB`&uD~aV0Xk@g7U_mhx)6_ECVN0OeLwjz^2s6L zf93kPdztylCPvxjjXvGc!{6lhnU0<(_fM} zcVOrF&4Tv;$%n22k`JZSj88=50w6w#5zgqxYZC|nK|0VKh`-#u1^JHh{PRGbe^lZ( zOZ?}8KNh@Ja1s!ol7b_FJyD*zZ1VG8p|Kdy1AHA=pCpj!F9Y$dDImX$Pg-CDkbHC$ z$of)a!1@jcl5QaoB)jGb0#y7nAo*hRJiID#rZX_j=9{_QJN{CE$98;A^UWuDuIJ^O z|Kzzo`F^`Tzw*T6p7?W~_&3Too45aKPjtUJP2 z4;y)+sK;CI)z#&*VrAu}&~eO2?=ZQ$e6_I`8NS-Y@h)|UuWqvVbh4hk@DiT_Y%gDJ z=x~7(}xM%`+u9jN~^df2`m*!(;Y}M#glG%_yRx_^{en zpbb{{eRSxE*kEid}v%LiKnd-zCFd4qv5@Zp;B}r8-r@G z=VrBfS5=uSN?poy!@YC0V0&lCaCJk*88Uk9XRp|yvb>MmU_iIL1(4uGx?sbV*ns6W z^!-AUMV5zhfkomKbichkv=91Kst*qiFF;Meed91 zK>J3Z@{gb{!p8p@M?odnCBG{f*XxXL0<4U;tBiQ1@X)yg1PCJ&Kog<~4ga_T*OzD+ zfnPS)tRkhLr%PC@58Vv;ETyU+;#Sq$H@x-bp{L{RQ#$Zo*4!d=XZi)eRIiQA2XA!N za=sLG`@uhUQr%X!35gAiIxO|bbqzOwnH#)`Z)syitt7=|KJ+>6ry&gRTk1)m+OYBP2 zBPYC&M)>H4@#w~;XIj#HyyuZ!(!0pX`nV>CU_d!8wZzsf=cy6pF^}*U(j!U}MwIno z=RGWm-)s*mBQejc~#H z(mrL@jOtCyCgMg|;T?U9JLV2MBue{wN94!pGG9#SMfV>V}2oR4G>@V0!@G}g9Oy_z);@g62f%psjQsQ(Cz;v&Ds0`=9 ziWL+9!50Mv0l`8Q^Z`PiEXW0-s)4EbWMN*4Oqg0 zmvPV8pN|3A?=*0;-)91O{gZ&~cj|1JFAs>K$f_|8q&#cFO%gZHEBR|H**DY^XPTYf zmb}YpwRZlt>_$1B{M;4QEKbFU zxavNYao|hMF0;NLuoty=;ur+u=!}{3%tSEC$ra^g7nRQ9N`F^UW@&j6JR?Nafr z*6dQUR*wtAxFQV8#!7-`mW~Y-kDbuUdM`-NSoeh~07HjxB0&C-At%yOHGIUdZ2rC| z|5FJ7x5vg>m3h5a4qkL$9{v&dT(59FDC%_TX8>MG1|wISIL4|D$<^Gkg2C9UCSh=x z!xQbaR~b5ErS89$dXf|an`no&4~y^zq$ zK|4v$1dy*V$Hcbe>XoPmb*)VpbhF9TtSA3FDp%Wb=2WcB2|6FOY6Y?;Yn@i&$nt<) z^DPv?x6Eq@3OgU@Jt?}tebnYyuh51r{m>e+lo#Qt0lOLlB&Wb&)E}qSCLUd4LzI=M zPZVy6IJXcEhmtIlE<0G49R*0tK=)Wl2kWGPfa3g*EvaHENEmNF+i{FZOvU-{gq-j7 zgDa}y%~&wfv&fm%FDKNn_be0+IbHfe?06I}1!|ezS>-8326qm;vYKe6XhrJZiTH~@ z!pez|^O9xlS=y#spF(_5mE1PfCAV$2x?^6EvmMHh=q&DP;o!<@Le@3v00Q+Y927aP zwwNL~Q=PQt2%b^oyn&f;sCy{B81n?fWpnew{=41{cRucgx~AAAiS?jlb>${}snPbA z0Pe2jhc*DiYcZIuI z@8dZ|v$~;K$sljNnk^QdyF=Id1lF2_*5FCVK_=~!tYPmY%IT*f_byH134ry4%|*eM zPZ%ZQ|ACamr8S`-H*WA>7kAfax+cf<5Xte`YvivVg#JyG;|EonkKCqeoM|srJ6O}= z90aRs^DhAIabQKQK(fhE=cy;T(B8Wtz7VC z9HKj416UWVB&kLWkWdhT#D>nKliD}oEnGCw6`c}lh&4g1g_oxx>OI22IdJ!se$$IJ zbzVdZwKtOF3Q#loFL34Onhn&3OFeY{rOZDS`Ee=un$jzqaG9B|VlN>BiqY4XF7|U4 z>)WE3zwXaSa235-7p2gki}G>Pi$>#AJ-~Zg!<4(Fw*I<5ddpKvz@^s!bopPh{H^#h zDFOTsIKXI0834A|HGp8_8OUKI^{X)nPG!7GRaPd5_MnUqY<$eh_!EfqPyy*0IWK1J zKDxk0Wrn9JQ_sqLM_nB5{+#zrv5Q=NK*jWp3rAsWzm(E7k4Gsrj(W zz0D!2p~v`Cx$98QSpQWqXKg4xtugT;q*{<#g*&+#ck+*>>fd#d`-LX=IY9ToZ&{6P z_=y+)F&?>l)JA_~WBn$jVDuNSaXQ<*;3hR$le#-a>VA^?F@CHTdG-$Lqsvf*sxSWl zvL|P;-lo3p&BiFpqxsylM;CaQ1%{!(>QtXa@Rqt7*{BO0k}A}M6P`Xx+zxGlo6r9S zX1>m!k1a$j*11frE*xu}f^vm9_Ly(5n%KPPF6ejcT8VzgK9$!WzQ6ESg^o=H^2P1Z z+Z>0IN3gW`r!stXHhoMb=;J#Vm{he;>RN^CtzL2QvR( zB!0i(ujPD=#ODc~0|ZMQ7!Bn0`^ovl=BV>lu0eL&2AUJkNEFJilJ>E;&D6;eul(3znS^DuL5zb;0TQo>a}?OP(gmIP=$h< zfTX`1h`-1IEGRW6$gTID4_lak6M6(IqSi}3Po~@1V;%TF6m$3k!L#R z7ZYC*d{OWg!J7mZ0jZap1B3_`I0p#kI4}Xo>laBnIYR2gjtAnA4D<%>hd6-k>N*}j zwjOJ|KF?$oD32pcDqP`-*LdPLc;eGg*e=gwJ3h@5|C1;FlqWvO6R+{mALU8!?MZ*# zlfI89{R2<>7*Bc|dMh;_;biy|?$y(J|>SXn;YZ+wQGp$?ETaC)Bw;DO(gcGU9%4_MT9<_nq%HyeM zcjto?=HkIZFnTK!$2-{}z17tiY#5B*s^U9wWbS6Hn_C2@K;w`he`|Us_R9QCaBkzgWPFUoiO@4W1(wPS9hN8ydJLlVunsP_BA1m}p`c)p~0eaWcxmtB+KN3M3sMxVcq z?io2F0cP{t@RB5sCG^F(5M$Ldo%2;Lm$GWks`_7{UJz0 zM9_PnK824bWQu)JA1zbNx2j@Kl~`B1WW6tTT5=u~Y#*W!+H$=v`!|5qmRdysJOIR9 zYf^Pj)FWQrNGj0*#tTfc5AIt2ri35$4#mg96;xODI6C$2kTWuWt5UKJu#{}G{YTb; zvgJ?ztTQ9dQ)na{>BIGuvlG*Qig|ODQg4lFbnSyHQKD1qFumJnDjBoIq2p3n@|$=O zwGI)N027hnd43+xGhE@!-cbBJn!llVBkNHVpPeI5cm6ZWFYmtBvgT(0kJdu`eO?iU z)?&O%9(xj8DLVW{fbQ_8LB-sARRnE`pB%y@f&R@CyZGzw!=t3HnH(HkzEoWyR;175 zZ%rQVzrXnT*|^MsCNY}hzkjEqgudKJLfThPi_SzFn%D+N$ao(kQ0l|8=J`_A>7Fjg1fRXz=O4pacI^=H3TuAJ)$Y-l+Udsb@rIQvHbg zp^$Hn!&l5!N_-Bs6V2QR&^_}BDwsGH*;JWCA&&I^8fm@$^0(OvIM6C_K1@#?3t_$) zhCJMsRY>I{#(McS6mvYpsP_oF1@|-NH=|-n{9$#jA$Fhmhr*3>D-CLN^#-P@cOr-+ zN8z5Y!aaw-DvS{CO6#I?TrC@^i@u9*g>D&{LeHa$M{HI45ew;oiVYcEjJaJe;&Xz> zZuxpP*Lsah)EahQaQS8Z^cz#hj{%-PRS{=heN*gKJS6v(#QpjqDeA|kMAV%b9+Pfi zXVo&0p!=vU!Fae|P6<}!hZg;X50d}LLZ9<~!|($~J%0HofBnpvbXjP_GS-LzG$$bw zuH-D|0rbxmzUahATrGX!Mj7FTNaJ7l{d!>UF1~R7Ch07H-DaF~byzp_6dr|#A<*g$ zjA*-mJBeA<(tvUPZrvFY+~^_4ecM2WLT zec%V8=!W8l@Qa%c4R7QIK1U^GQJQjGT@x=}t#sCHb&=c~^aef$sXMeUuHfpFa>)4T zl*0kKM=n7QPmhG-u^STfU+HaExGeT0jANlSukB^n7S)>1RWm-229-FE$-~13N9q-F zHaIVpIFF`k#`OuVnsGx))NDCG*X)PLk>Kc!${?G(=+U-uG)LFIzg*f z?$w$=9>8t+sU)GUxVPB-Wp&%nHJdLim_5u5(&S$OUn9>3fWidRklj2VHKnyWEdhZZv-2 z@ysc{0iBOhzQiACwbAdc-ThFJroU{XTpd4Ilg|O@hAkuISM)taPa4YKmA4~$tW~#M zU3j>=Zp%sGm!MGM{4+Ji#SZn~zvRB{tfdTpnB3(UHs zCjJVp27}xM35D>9Z*3lRp}OiW`Xsp#W1H8;Ek^3t;Z_&*&|P#WAVF0;EV%sv+P>|t z|A9WG_Rp!uu~{iuh?db7dOZ-gp@kuIs5)s`Li-juZ@G=3(`gKSHQc!$_Rr}CGI(#+ zq7#ha?iO{dUh=s(M8DPp5>uEn{hDxw9g@lb?wP+_Qsp*rZs73ItH`;G=JR>#J>~p9 z{hs#TTNC;rK;OF)FbJ7P1(Tpv-|I)uF%A{YO>28g9Gaxc();`p49vXoU)2;Zm+I${vE!tcOu!fW`RfFdsYckv#<)yb;r2Lu`F6ik# zO%0u4%y)2cy1W_DoY*l|`KQq?RE1;`Z!vSTHLyO? zT1r|+wvyojj^VJppT--nSm5ZT;8&pw;BY4cj=%0^&~pts^r??Jos8SB>%`4|lTmcS z?Km)<@B?+MI^l3#AO^4=A1*EyGx!rUw0o}{4Y;oQJT8Z;ZbWVLRr{#&5Q=??ILl+U z0@))h3JE%0)goXdb;01jfwnqK9xvzw68M7CM;`3O2LOVNv~?PL@yTXpH@%1;YEBUe(Ij5mWKw1y?6TD_=rdGw}M7MlnEcm$>Q~8Bdp2`$R{ZzED}^ym_S=mhOI&_D8J( zm6ga=)6jl)L;KB-y4Pa!=9wP!Db+K(A1AA#)#)SNh6UvdRd>5BvaTuTOm}-RwazGO z{|D^H`8@8xb-fH+s*Wl9${ zr!Sk|)743gA_%O%3T7U=XMXx|NDSkD`#U;6+oOWXKd!dxH7T#BJ|FX6hW}pg>ile< z3MPLB`gb71$Q?RA+w00d$?aE_^#6hXUa~I`+pj_v`pco$#t0dR0#TLR`GT_rr%L(+ zi5CeL2zC4!@O?w9!8g0~3XD0n^)wzPsAiFXow6Z#~U-v}h#HG;PTA!bIFNcYm%LEmC;B6r3J_97(Cj^@WS4+Ah@hb!u2+k4wp5P?G1A*v@g2%gS zy6Xgg1H{KY@I&Cyz*^u@z=c58uS(L(fvo2RK-w=Oz{3zf1ju^&1wVrd0hbDV1ndKR z7MKV83y|%)4aoef1mi&b1#0nwt__q54g})e3VemmWd2VC*9bl!cnc81aA2my&lfya z@MuA?ns*6%@_G! z*NE{4QF(NA;Cn#alE4^XU*IwzvUHs;SSXk$2vF(Uk;%5-zl`&YoA250C7y?VXV`*^ zGTnU7CP>_TpO8elsqhfe?Ks|jSDfo>?DXS2>1?N+KFO0l%0r+1Xy?Dylm9VK+-v{8 z+(U1qCx664|29wlX`VP8)!6l!>7n<1PrS^Nf0ZYFhll=0o^;w_?d#G1ogJqSO*_8G z6X$)k)2SY^}m89m?EW47HJW14z9rm)rb3U`P8;5!%l;|rk|A7mQR5%LpVBruyNFv$B^>3 zoo$`es9l+Fq9^UNwLex4-ces3{t-Aoiw1~nVLJE}1~c!(#PO}^(7cmRSP;R?J6VB` z@)VwE=e!d`=XX-~Bc+}s#lR-op{;o*^b^8RsDAN%15<%dy>AFU?n28&vaNY1BE>S-~}$9m`-(7tfz1x!*2IUkgyT5D3O>7y3`q==tgBjeq%c+K?CG2JxZ4@NtF(N zLMJYGNUF%`Eb=CPU|)PmEb8&G+EiMnRA(7%rCmeL4a-m_K9&~skaOb-L|{>O#&(Is z_YeB-56+w&bb`~1oyCjrZ%pcS$OVO)wyW=?T^*TdSl=AR9GLu%^EVZV{TB6h+n`Se zr-yo90MH#(21?1HwpslmSXW$XwZn9oV^d}3pp4N%s~%0wljuRS#EJUGCJ$g&a6W`R z3jzu_*DQ#<)NBt$DY>rYyb}6f#1l0#2oHe{_r6M6siViJ}A#6*bE@ z0yFu;fMyxKUEG>wmp_bfSp`iLZ(-FLOcXuU6TUaM`ZY?`bJej@sve3%)NvFbaXxdV zO%z|CrAT59tU|L?uH@F;CJO9e_Pu_2@#5!T?S!Rb7A+Opy0twIEu5A?oT$IxWV5*pkxg=t#aB$LUI+q%u z=|=#pcHgh+%O^WIp%uDIS6h_sN2NgN8GySJH8J#sQ3q?UG56xlk|{1em+f+aCiF*u zRV4~$3HpH1Yd~{c&);ZWWF;WcNj*&IC7`fuY(ZJ93RTbFlQ@n?o~z&FU-54o21iXS z^k2iFst)_QJsmw~%wGOF3S@jPIa?01aWYvvaMJx;rkso}QqG^MxEa9vq0Ymf_SaLU zfU=)18q9Oa>Fi>DUW!BX+phptb2qVWjXC%g9Xc$a^_Rl{k^eDP*!k;kMT#;8TX%r= zFi`p*Hzg9)loBIQ-oYFcREAfT3VelDq8K%qRt1_=F+3K&gb&5gePTBm4!g-4u$!EK zB+UBR8taq%UiQ>zA-^|x(ud9718#yca$IYS9DK@QyQopnW1%X| z-Zi$1PtBsZOL^sn-0?aiKXJjv*R6~fY9j|$@l(o>8Pjt($s20)Z=)$exZ9Qn1)YFe zm!T!?H!G-8G|rHLH?|qu%5dzl(HXS%;FqQvC2AqM2aFD>n$y`0>*2Z&#sC4MQWb8T z9me75&tzwqg!2ryVf^ZdonYrjS}#xfDi}TcgqC{$Ff#NK|2Vv!E5AqY|86%ZtDu+S zycdwpeNpgPL9R7tdZWZSS%vv-7raPtmf*R95y5=HV+A>(1R>A~2-Z3B8u%Zu&XIe7 zr29L;Rf69aj0#485Gexr5-0z}az_dtB=|S98+y6|u3u*Q0zvv4XMD6E7Z8))rx>Al z{(ZrJ0Pz>OOX8~q>wp+dBU6Cj=L2Jb(90K`2!wvJAOP%+^Laqh?E)m-FEL&y`hw2_ zna-~h&)+G?{n{9(S(|v3;P(aTw+A9j!AD4B`n!Tp0->K&`cK$10>49?dP}Z?W&NlR zW%|`X*0UB!{cIHw`uc((5Vu76t%Y4Aa3tc?>vA0w>$wexQ@MW^YyzU|0(VIK7QvN3 zR59=&ZZh+~BgjuDZcSi~#2*m6MPr~=;+F}|0q&3dLcr)*}Yzu+k!^u$m0c;a3^N7bJ6?|I^zJaJ1$)*i*7OB<-Zhpsc(^@I9* z*+MlXbQ*i)wf3urgM_u;2=9>EkA;5!mM|lv0cEF~oT9>xGYr&~lM%OCPsV=ovnWq6+Dm z0J0V4nAny+ZU744yYJ)N{GSz<;zmD1F@7)SUFh<`vvIdPDJcQV|VFC|+1a zF=2RoH1?9Kf}(7D^Jc`|3L`qHg{bs6K+7tFK_NLjUb9GP)KdFG=es1F6}r@qQl&+m+TUSf#c~?uo6E?JYV|`o#a}{u|fe7J5}a;&Un19Sx762?@$t6!-vR zaBd#X72p`2mBKi`=Wq@xjF6GS{9R&RR|x+F7ZbsaSq4?}T-e(=}DS)Ya&=1exL*AIzxpW_@Hq^N~|y}M}ob8we**Zu~n=4Da3 zGn=?7g~g0hbg5GSEpLb_#k-PrjhyGKP0U4|Q1o3~3F{zVP-Ka@KH|C7Z3E$ORZ^akTo4R-IFAsxSkfm+{t`j@3Bg}vUx{}Xd=12L zsmLFJ7>)zK20{)lxE`2;IOS;k*UY7$02;rUktIb1OQ ztl*D?atc)r%%7S%T*vt!%V#J$$%VT{V`_hZ{Y({`qd*wbuhsFkm=~7P}Q)7TR zRM?i>*C_I6p_JN&24bl6g)sPF{9q8!k+$T%okGvZeO%T_dM02Dt1!pJw&cF4s0YW2 z3KS&E3fSXvANVuuQJ(U9;1w92*U{8>NUGZ^L+L-F78y6eng*Zen zHvkeBFlXBMP7h#6x(MK2A9$g<5q#dn6z8lBV`(6)?$Px6z&lV(U!!+dO=vkl-$^Zz zXrU}^bq}gF{_r8pMOz&(zW*83@AyK&tI-^*@ssiLq45gH%*Fb z%iR5_sk!=*A{l+|M!3JtGFC~6WN)hH9a@j+F8#$0WI!c3^)|~Zf+Ft4XB@szF@BjP-3z^k{;P9 zo$`%IQLZZ3@>DuONmeB-?Xu)=5pc)cfj5s~JKpw=$X7;g68d;JGw(yv6V`tQUPlF! z&ts3J{6qQbC?MXz+`|PA7VIkNpMnn4-xo{@ZWLT2c%R_yf|m;}6r2eJYY>B0R9BX`mL1odLZk`fdMQ|fP(?$pi_XX&j29l_7&vN!G6jE;?l^X@h+e(Cs9?) zxOv{nbUys*@Erh>Q{iWx_%)vRFl4s#^Vp7G;)#E87b|LaMA-xL3b zC*I#fe-Ft;=@RDpb zZrjTW$wwdvG994n=sB*lPt-xb=Dn^t0Q zU?^0-J|F!9v#J|02nsD1$+qMsvyWAk(Az2WB+9X?!W!X(A<)LGkNzl#9RS=(Lo?ytAHxL9p zqt;+8>2)5};^Hs2kz^h!VH=|kW@+v5@Cse#$1TcCv&y(^AFw&_3b^`dx-2)j*6j8V zR2fV3f%zk~FC@G)(V<>S_L1Aux)JIScGQ;C{B&`PV%wgQ2W2>!|BNz8EgdDTqzMo` za~B|c&$wFIh^90JkM7DFUlVLssho9xz)3qXm z%PIy_@i;p|C{HFGtJ|~+&LAz{v7(@EOq8R;mU+T=x3D&awH$Gqk@qK zJboOwO9=iHf8HHt$YG!5ip7d_n?$1G4;|fXI^jd%@cTe=6yVCC>R{%*S~t z#FGU_2vS_<`A^U}c>4-|4`lo{LFzxq&r?b#KhHOd{5)SY^7Cg)dI=EUw1QKCbgr4EkxoMZ2QUow2 zwTn-`0rfx`UkHQklRzFDU4kNrA6Ah67~k3*WL{f|^E?)eh8pfCZ}h-2{G>dAIxj2c z2R^<$Q_5QUlb!@Ja36T+yCHxt5W4d;X~ z`uyDkwugVQy$!wjtpi_pC;&X$OQ4OaeGahr!s*CrGvHscsAjVL5 zv8K3KGjik77wfYB1ZW0)i7Lad75P`6nSykVy+3=Nu|a?_wWf9@SfEw^fHRVPT1^j1 zi?)Igy5Qe{EM4Gg4q8paz%gKhU>Jywc0;C z(WI`Ndj|lw;!G9mK{{4F$`MTtLgrtnnP(%aS9R&_*e?P1jE_g! zn*ayTJ*(g*a9@p)xA4Ybe2vf#3WiF>hcdrcU%U+ID3V(PWcp-@PY~=Yc$nZpg53q5 zLZk6XEVvR#I(*oO7XdNE2hIaxh%V?4Wc_;sS^qpBNFa+wmbdxLUrM|X$Z#6|kv|oV z@x&K;;`e&u;E7%3XL#ZxJ#k*kzTUZ>IQhUZ9F|lsDBGP$E@?h3HHif@`9`D}sFprd z6w~OL%wk>};Rn;~m`SiG+Plu6U9GGq$gUq9F|yV51iY#}wPbhst}PzE%f#_)cSt|_ zAs$i&!*`L$0G?7Xj><-^G3H3Mt^_h;BcsknL8sEjQbbAB&u8{MI){NTv(DeNLX5;Q7yLL3d z%jzlM?NW}?$nRB-s_E4~2R-e>*RWd8;tW}>q)O?4_ug=s?FRa%AcIdf&4}QB=(P=> z?1d`UgSJHLlU<3dhHc`+`+Iazei=}7x-L3K7Yza2OxJW(x;uWo3cSR%IBDGUX7bFu zbQ<|1?dLaRdV%mqbQ%Z#Xg^#$OTAn2N3nyj+ktj5uJm|ywWtm0p-nW3qH`)V+06jW z3|^z!!pBVZd4@LjoU}eR#RqOj4xh75KM=h`+N($N#7VIOLL0_~n5c4K7mCwctOqbN zD!R%n@>o-Ht5RX|i-dbbCKkSVsb2{;a(1OrVbU|b%DA7ZeeOV=k&kAuu`Zo4d5v3p z_YHc&O%2+%zS5ioKbCRUH%Iw&T6A$0*+t3881<9xJy8kc)^N=dm5X*b^V*$v?=GKE{(C@uYLWvFYFCi9hFwbHKCnck|G$@407nm4dnynEFKk~iDQiD5Pv*f_(sDYFT)_BWZ`!5$A->n^6;*Zda{lT z7%N<%E&h15@YjV>io3*+pUuHwBD7p2+v1P63%x3#*AwmB9sZbplMex{MHtMQ&}KkZ zz2w1i&Gvv_kn4Z6>1T^4t}k) z-c9YUXX*?6obs>MOKtj+bz*~I>A9~+yEymvao4?^yWWuF2$x4I*|uXV8kD#hZ6QAk zP#)Eeh+VFE{OBdhL0X@>P5!#$(3@&%gQE_>@&5t`Mb7))xefmMP9`Be!2w$|s*8NQ z{0%+PVX>O%Fqab@-i3Fy7wT}|IMyd-qp&rBnUmDf@icF`y?*gSY7}G6C!i6;8GZ9^Qe`cESrO>4yENJ|6~Elea+ikMqD^(Qv(e?(14MKh^+cIA zIjQz;axw!Bt?W%s!ewbODN_GVtRz9TChpJjSD>E54l)VK1L4jAob}Z;#jfU7BUuvt z^>a}M@(>6`&s8qm{MS*mvpSxJT6EeDK=S-z=ZoO-*Lj_iHLvd-?#xHU$6BmQ9+oxj zHqWH%>p)7T>z|>CR{|`-=t>YZ0-fAa^djHrqtxsM?B=PJ!+L^451hpG?y~?&zNlaW z8giowdMr}J7U0(iBL6b;v+0us87JtB6IDj?Q6?kzgG(!<%opn0IW^nV?s!{NF()Bv zP+Fi6B8P5~#2ss|fMQ)GC7_sdEd-Ri(Z4e~bwjtWLT@yxS62j6?>bpqpo7&db0$B8&b@OVl0u0J(?>pA}#A@B+i zpZLI|K$icD;Jt#k3H}U-Pi15&5Z}lM=NU5p3_-IF^)SS7>BvSTLVhZ!1LC_Gs0Lyn zD<}u{1bz>ggYy%Cy#6pC{&J5K>?>&IS-*!n!u0KeKLmmmC>SU4LczX3`upk$JP1f8 z{6OG`Xe_V)4v^`u0$C55hQN{p9tT3+Dd0E=879yGWW6|i^SYIS)Q|VTdFs?~K9C2* zC6HC)M?lIoCd`z$x$gytTgg7^k?i;&Py88AJc`VAejeNLJ3aBMJ^8(IlvmDL=PCb+ zCw`VE&Q(+P_1Rx`ocG6$@9&8Z^Td05;{43wFCEf)_DphNRAc)mbzNX5Re{<-KQwew6qDRvL2g2I;v9D<>yzyU3!|d zsnUO`Sk`{IY*_1lkd&V+Yhw5A+ATPrgMo4sgNb)kF1r|mA%l_2R$OB)rp6+3sIV=$tV!gkLMgRfPR~~@1FaAQqXV$nc}cvU(dI%- z|4vRyyGY83PhC_TUxFR2F%jV7?Z`q=>|~cHwjb_17*l%Z(cJtHIX8+*@q^dbeBnZQhfOq;tkhRf1|jKBT>kby~~pQ=o5cK|r^zoGh+ zJph(?a2@+XtvAs`a`0M-NNlu)EA9UDCb;(?=vcvuAuPZRiU4b8}J_NIhKBRr_a!^%*S~*Uk)Wr&V z#8fuUTQKt1sm5Y7M3WEcjA51WW-H^JY(i=wt@>nrJEb)JHMK=F?T50X)88{1pft&h z8f1G~kvNP_iEOG^3&%sW17woN)F6sma0cGgOzDtGRPfG&KMrR(4}P1-YoxD27CDUh zdBZo0+{WvvVDfwHO0@4&emEb9w>bAK!HD1~l0H=8g9Q5tegXO{_mSYcf^P~w2t)|b z4=?2x<99bI>6F*-7om~~BqIj`@%;?&B)+i)9LsVLe;LT~4+D8UuH+%!CCK?sOy}|> zo~Iu)Vpx!NF2+w593l8A`jc|oAAn51UGO>}<=M-D7|sF1Aq!AWIIOG+xL#)hw7BpSyCnQdOvf~h@Si)UNx^`yQ9d)R(;LhJs6 z=E8l0B_{3m`qv%m%}L8iCf-pw=^YG43`S1sg_m_SPqfp1W#||=N&K~wk_s3jT%j#F zsZiQkD5WYeIAW;u?Z6-+v|J?HvR^F|dR0Piwa}9&$GQr0Ol(U|VgbrYc^DK|;Dtr> zKO!g5V{9)yEnYi~-G&QgcN)7bgVWfXaErnI{SJ^8h?4orW9(PkNe(j9NiG@cB3)!r zs>lh*l|hD5rYmrQ+e+g8kQ1z`eQ+f*b}EUF(Eey+0Ym>R7k!b@dZp-}jAF@~OlJ3n zP%q)WqyF?%q3eGtGA9;*(adj3L;?OI3wyGUld$OLD*zv~py{rA0y;hnT)+Y`K1b_{Ed;2NgL?eEzx>_?7nd!I*;f<^!zuE<=W3 z;~e}ZL#P3OL^eRl5{mwXjx|!cZon*Z>yA?q$j? ztdaESE2#nrN=BQ7ydcNn6tnuGsyul=BcnZQjA?`Qb;s$96I4c8CQZg7wmK!F@pJj@ z6w%a&+?LRI0tT`&%+(VE8V}tjGk44~pk)-$s^J!-9DAj*^n>-ZEjxo+~(6 zaDrfwU{@gJxWAy^ahQ9*ApIIpj*9~+$9*42Ij$1O`c+8!G$8AFAduxb>6Z90IwJ@9 z{{>|HCBaQVu!Mo116kjCIe)nz-+AN@OqMubaF*{2%p~t!iu1O-$9#;N=W!yA@s|px z;>eEk*p6T1iH|~}oj%2r{zp&zubwz;m#*^ES=sdRJ?Y&&>DPJEcY5MCdE(yrk+#jr zvYt&Y&0r=|b7oXNvBL zIgFN<-O^bzqPw=IZ+qu44jn-cNer3iF;>r5aM7NW1C2i)V=puDj>>^2V*Fw-a^Oz9 z>;rkCopPX|W4;UAgVGKd8(g6+Inb=j$&*rMT}~keD|s(nB-@e$SLkuy7ZQ4Rqn*-p zbp~T)g(N9xOAh3^YI0j6F-UR@L-`hRAnVD0jK}Q`F1hAEW)Hd)eb`d8X+~|+qRmKj z6FA30K;j0Z*fRpV#1_hoz)DVPqrRV$+NcbmEr|Si23wH7{tHD1i-OX7S^68^R3}@R z-1f1*{t4ts>;tmG2mcHWK;?c9aC6*6$e2l1Q4BQXmF*}2Ci#3_{&9fjqbpT8-dVll z!Y(YBXjtjbTe%^KcoPmMHD{zsK-GW%Os{7fuaNyP-}j#AyAyF=#9azkrSpFqmQ-- z<{qar4pABBSQ&o;iWxp89Gbs=uSROvx1|Q2XiaKJOAM42B)3Qlt*jYxH@Kx^BO#O$ z85nP2(?KWtIDWTB9^h@DJTO((_n7fNHP6mthY5f__`*OQ5HDNqcLZqxh@rjUmq7Bp z*8=hBQ1%gI&7Ffdak?P+R;C{>@$U-$4SjsWnMe~G*5hx zC%!*2+xcm~vEv-5?f4a*`2C*vuRQU$Jn@d(L$vaL4{VHJ-ZgRJnVz<$Ub2*rPwi3d z>sX@GnnfckA3HSjdYt?={CU>Qy)@+`2)Aap?HQBsaxfS^*2Fu?$6kP!%+MpNw+Jr{ zZG`RRV-20FSQg<*60?F_CUvGQK9+n2L!SDD?f~^-(+e@U$ot_U*%lw0BmEWGEF{$Ybquuqo>@?fG84o|4kPP-= zAVAp8^w#Q%?c{cEQN?z?k4lm4r0+GdofiNzZ1?7`--L`R!Dc(D87Oj6+o*fDedF@> zdiG4>Is6E3Q->>{az6pMy-AKk9>WjWieAHZK7I&haM2u!7k+Zrh$VJgt43GqZax?5| zsDQyFmD6<|uGpjEt7@ls_?t#}2YlJEbYd1m*VlTBh! z+kU_An_o8nGiPR=xt^J4o_S^le|bE=fan*@5zG?Yi>5{Qok09W{vh_>3qByoRRa3^ zzQ)L9Ky(FxVj%e%>W9;v$FLH~a}f8VQt19yAnnf!HUP=@l!%>t0p0rn(NzU{1JRG9 z_?YWpck(e_K7xHXqD+~o9{XaCoqnDE!yfzT9{ZQ%E0i`w*R&`+ZC1<4ynAq|w>?x2 z?&Az5zi`-D!-fqSJakYyp?J-c%?s>993;WrY?$F()Dz?>J(z9EgQo?3BljAU0 zX?<^R{&2t2*Q0{X!)n?SxgF=&XW5_&hxZZ6?Mf~+Y|j6*=*{2Ih-agQeKyL4JWxF_ zgXk^RMKx@8^VqI=K2l-s$l=MsvR!ir@`4KN#x!1t2p!4ic^z<~54XgK8nxUp9r`U8XlpBe}Dxq9|$Ijf$ zVlge5~WB&xX+yWJN zHvSvA+;Ah8V~c~w(c0rUCh3Y*@3uD)CT56 z)tXqR3;v!MQ>>@+y@v&T2_>INj<*BvX|BfSmC2oa8BKfo**;m%Cw*niy1!>VpZqL& zu2tfn@hQ`e|6v&9DR=7+#0Qk;-9Ot?+*?71?t2735L_+z8^L>lFoACa$;WcLKf_HH zv4}e*UFs!`RugEJa+H?)YCogS9<7O>T%!Yv3uo?uXx-ycUr6)) z&d*oqeYNV@&Ir1)o^K?aj!PjhJ?ZLN{MV+XE$47{X44t1dEX)dYdQKzJq+WG4FX}J(%$E>j zkS@OBdcAx%E|Q(ii!7m6BJ}18J+ZRyt2WQX!T9yTPsNpCU+XfY1O2zJ4+?%c5aHX* zix`$a)=gK9nKy{O_NVr~_5_@Z_kp(i2GtQL8gPywK=MJj+S~i#zdCCNJ1rCHjnWyu z8IR!b$5YDL4M`=3e=*R0ac%P0`q%vu=LqZg*dV@3%QqM1+b_9~i>c+=I(u=6&@*~D z9XvNT2^seO74@vHz@%;&l1G_klKr5AU0tl5C^d46=0+i<9(Gl+_x4qayMLZ!Y*O!g zo+d#-lx9%%%%ClIuVtTl^Dd`>O8SYS!rTqV+c<9mQWDTbmj>(qD4aUW&5`P-VMT_R z7YC<)CEm7_womY;Upq)F(IoBzxHEnk-gq)jKE0LPFT}LHA(E{$hn8a(veuwa^!OQq znWAT+WoC5}9+A>0z>(5&ShWZ?`6JC$>vPB*o!D2yn5GV>bT3PLMWF6@z3gd50V(^R zOnRy9@t+0AGW)q@A|EyVS4uuAdZ(0|;xF%VL9;KeMC?Zc(bcJYXy|Vj+5nN0H~dAs za#5aU1@}l4h%O{R{Yi!=KgMw92o4k^pF(#|nCZS-@J&JT8GOH0@JT^V6Vc@rmx`T& zQTqEP5M5s&4~Ty0E0dS9{UWI;!)K?Ryt~ux<+l!;|4GjQ4^&?2Y;Ns{P1`^3q8+*E z;6Z~#%$iw$kLQ1UmG`4?cRh{a3yhs(4}WMw%6w6I=}a^h8p9VXL!&v4FS;l%HFPK? zpt;i|L|fS=U8Xa>AV>0{<#3&)1CVPNUw+B%g8(J&k6oXaD(6y zAjka@v3Iskx(NQrw;FRH9voI5TZ_{^$7BDl#|~MN%l{P~`*4q)w4Ligka7s<}#1htZ$jY4m^&=YHyt);wCu)OP_x#)+1=d17P6nj%B((YHf+yY)m*lc)j7(Je(sBxEg5N-ex7Z` zCoMDEx9!(r$A#m6$cHCr6~(Z%Ti@X(@2o`G3ahypk+eR}@_3|2wl5sy&Ng3g4WGky za!l~@ov?!gSf7jSCo}`t(g7IBIJ|*%p5zm*2r>Sc}&$0a?eQB8nU@e90vk zrwf~ci}!Q+IeH_>UtebL2-fe&3fBKKE9NiUgw4Kng-sFMvTsn;n`6&|VDzxE zqUfJ|vFz3+`%tNDyYVX2qrdT|NSzf|O~+n~7C9Mj!-)dUPqDuKj?OY0Q88LYJhIY$ zs&%a$SqYiNUsi<^6IPVk56(r9cw~v4;HG>l@fhuy8;E7EMTLdz^_r||BmRaGP)@az zlQA-(vMvGWcCwwtH;%=($+9E(R7@%Q?`kS*Yzq4SXMHe#J@ng#X89l5fV z9yzz0FI>1OV(*a%^mdn2BvW-Hx1}Pd61ma=4Y6%;D^qazazl2pGWVV-^%8ShLK`JqgtZ7v2 zZ7hqR{Y0?-jjZ~|SPWTV)TY0Yysm0|4P`iR;WgMa>4kTqF#bDT7;E5yr13v{h%wh> zjl0Hojjx&obxoG3=@Pb~2jM4GQp0r$D*?JX4rWQs0K=!hV2V&AGrhFe5`d#fsFRi~ zf`6nhUbeDjY}kH=A5D0`mQ=dccXEjSPJ;SFISlCiQmmqlvF9R<+dzgN%g{}+9`I!! zYL~4{CRkh@HUUQ)tH8j4V!s`rGu4ZUyc4@5T(xtq_BIFL$Pkt4lhyER#UJCyU^SBs zprEm=0o`OJUF?0*?$}HD8^4YDzW?FKomRa2G~1dQe~@3bJ-7A|kn-7E6TJ^9`e4!S zt)JP}0xKR_7Ppu3{SyASDmGYacXSIUhL(iw-S$Virtrm#fR1dibv-`uKdowf86VgN z`&IvKPa#NrQeDvgpv>OLeye_eR_uzxZRlV8jkm!uc_02YzU*)K5s9lAVBepjU&NH= zS^!%1h04}zJiw7_PFd3}8~4R0ufykOv7I#MMh2`c+-6lg9gJV~r)<0YV|(K|vhWW}n{AMoo4;sD4B8C7?5vl7Rbm=RG8tJJe{6jfaHAy$0h zl90VO9%%^LpOo1+vSzvM1nnN;WjjD z`$bhNWeuN3hr=`9Tk(=U_NzgAm!iBc%ilN#>A-oFam7u9;}ce@D!Bu1lRWNA9IW_+ zWyyC~vWbbg5j!a*`x#1UZ?=8$$M%gV*>m@5>tXhdDA=BRb-Aun<@zkk^%$!{hj5i^ z&%Jh}0p+;_<*A!d{D(SYBb>RhP{ufXUik>wFV;QALPq)~tn@d`LrNVvET#ID%3=`h z%-{GfOK+3P7`IL*sotUsyb-L^!X^HOTckflb1TYWtLys-z8PJN)p0m8 zt7~#!s}5UlKo&KG0y{f2#Ub-cW%ebtg|fN?kk z4v9;%>~Yn49B%Go6+IJM%hEdmr4|athkn-{x+ECS{;mpgfufaVTh*$Hl;Vzx-F_i{ zjNN-l{220RBgQFjN7xrt$1m?`k4Kc3BTDUnD33^7k!4@mnxUZqPlAMnWd+2@fnw}Tf(fhLF zHBiNi-j@@vDIoU5v8dT-QG+5ye~bNvI)f)(l<0Zi#fjdPD3`knKaHPbpZgoDbp!nL zw2F4c-uFLT_TN(aq4*)w?BHbKRDzXO^J4O;G%U9G&HM`B$zIF{^2PC+xgh|rEPFAZ zDJ$eJ_uh#2SZpM+! z?Cs46oO}iU6gk5`8vcKraE?6Gbs)AD+?K0SyDOBiP^wL;R6pzPucsUqgBbhPW;`Y- z$*SMqZNZJL&y*Ez3aZgJWbcFWqUKL8PV~IKG@gBXX?(%$*`@LEx90>Cmw_vIIc$HR z`NbQv7xjsc%&|xI##mw5BYUds%q|=t#7rmky;LgMq-RvtrPF&I5J{HYi zRd)!3>uW6bQ`!8j#Q3{&tlitwp_xAW(AKr8+FP4qA6XTjLgx%Q_C10TAMA8$*)Nq} zQ=X}NQ$qGLLHjw&j&14SwP|*&RA#G&G7BJQK)EzFe}bG~iqPf^ zD4w)P$t`7`2PnC%=92EaxGn`tx;*$0vP2%Sg`SYIDRhCGkbJb^w*cO4LQ!{{P^t5=nRp34{}%k0jNi-dKhbLyz%gFvl9~>0Eu+#B z(YyfN+4%6NoUW2bZ{^i zt<^(*ze?_=j!v06lbeI4O_{;_PAcZioLR1(^@5^yzP4(Q4|pV>-Usv z(W7%yxq9=}3j1eQ-9UMNr>dzY>a_5mf>9;;N15YqE-KPt_F$%yN$-@(i!`H9@tO1j z#;9Sy=X)C6NT%@lBJUii$*}pjjEGm;)oZQ(JKI@nE7PZp(Ni5$fAFmbCDdIpd|!ZH z7{B3rw11{o8RNe!ef|~Yt>&C8rrYJuqc2OkE9e1}Od81tJ}CEnnnxm^5akAX0PzXu z?a$S?TQCWv`zvDqi{LYYO9U4SeoJtk;N^mpzmfj=8Ux<|qRS5K!9TwLK=3sn)=wk9 z75gs)<3LntAO?hZ6MQmGZ0x1TnB`x zxp*Y-MA(M_QT2U$B9l3I|1sLlF?jzHkm+3uWW0|E{sf5WZr~62hoFHUqtNK@W+46D zC>Rx-CD;o{|1F3FCU6dr_NOt6fv7t0Lm=Px1d>h7~@k(9vE^4>4_ zKG<4@=RJSK7l0rYC=>g6g2xITCAb%i1^xoH_{VU(FM~J^$o#c;o_1gHw+r6|{U-&V z12W#Y*tz|M?(=|HItUCB`vAdQAhHlx15eD~HdIO<)CY&TZ@_*Zkm;xgk`CwU#H-~! zr+>7cC1~_``inhBFiY_7C~OrU5JeEU4#;>5fQ)xC5MB=|5zH3^sP}(`BgH$WzatYx zyXn6;4REgSMc|co)BoX-bW-MNkA0EHj<)Oae-Se43{Mu!X&>RS{|Jsw_p3ebw|VR= zC#Qe%CrVk?XIQOyqx_NVI0I8MFOgAm5wNDPsGvL#) z{K;Wgf+{bW506u%gEMDNpAxOEs&V?CH3dh$)znl?kIkH796HxV4V}&e`)W_wP>Iur ziAyHjXWPx2JEdk`m9Lz&#Z5jq&u$i8;SGv+LisqnW`SrnvV2-im3A3h?%mz%%I5Ug zl$uIk`K&K`*RF0RBOxa(A2~V_DIYf`92#FfVO&}HrQ=4A9glV=dh$cg0-I_~YX5LM z>)wM06?V9PIEn*Gb#3d#?=QRVy#)O?jam0Lc8mcBqz4zr_e*2ey;q@=<~N8zs*Yd` z)~P$(H*DxElK{WNc;z$_P3l!=>)u9hEnh+yy|w?ZAMZT?B!hlD2Q5r;sngqa{rF4K z{eDII@dqOTMoF88JByO`FYt)uJq1W|mCvCj&fx$~TyA%(iC>6zU<59lMVsxfq96Yp z$!Pufh$it%z~l6|hC`x}J34p2c2z(Aa_Gm4)ME)qI#T@-tVs2T0EdiVf{J%K{)APU=?-w+Zn+aIT1A7mwmN!=V>#iOb5l(l-LzdhPR%rn@BCzG|<#C&4V#V zQO3JJvjA_|&l&xA(|@JrkD?zx3v}_9H%*WSAJRTr@OU7)y1?gXZhZf#;0_@E{;$!G zFG5*3`RLKGBmF6Zxq-`G>#^VBu`{eQ{8W$qbdTM^{j|%)WoFURJe{N6$Y4(ft7}^G zDPGcfISSI+?ztjEGwZ{h)&BmuH1DV5aA?JS`SZazU#Btrfw3Pbf6yC~Uqg>W`Yuck z=kP@r`2$0T-v`aPl1^aSVP=!vyljZ>y`uyN**Ewj)?0 zE?W__H{<#f`=e0m9>kPt+$u(b>pfNyo6CN$p@|?1Jf-pKFmzFV&!IG&fVx~FqLsHG z)-J%xUi#dHrI5>D`Yf!>M<_^th^z;ZCQYOVwEfa5P|;dfxtyzsj7brhK_YKr2rl(M9DB6X zj;(J?4Y_p?yxc{QLNKJN6`)f!nFPNJg7piVe9cg?k|@x9tp%Zg?elq|@HG9}{7j$I-vZr@2~Cz-|a#EuHQ!t&Ex?Q#>qy$^*_ zz2It&2VguWj7z?ar&4DY*SQmOr+ zdnc~*zSB7%g9IP1Qks{o)4ducfC}0PaHsp9NR*jHa2JSL^wsN*4LZyNZNj|g2;*FL zG)EJTQ*rh!)#1;CO*aZQP2H)j1_f~6FSW){SXi}fjcrs-BenkqdSvgYg9=r}v-2aT z@2lr>d&dXz>_8o4IFM(TZ1UZ)1&IiEmqwkifB+yYXI$+lOxYTCT+q- zi@k@x;m1f~SUPYW3%;GZnoymXx1{X=dic7spK>H&QZrFI4jtyn3!+* zfBllx{dla)bMQn3k5Ea?I|YD-$y-m5@PlD<^j6nJiQ9AGt9r*h? z@Nw?IJyl?=PRNSxQS8Ogq|t?Aw{(VryzOE5NL`B*og-y>uBKiEa3oDPyy=R%yFktP zNWSO@p|BTx3^I3#n?ftXCZp(Mu%67xN*Rwi*GDV)VoyRvub>vkeAV_SE!uZexbxO*hW&Dz|8|$Ze_p+Bl~oL4NQLc+ak{@fgG>Roor9W#up43pebt zr(jnS9MaTzWK6OKuk9_W)T|lX+5D{TSkIzbaJCP+_qyR7qeGMc3SZVKa#kKvz9f&4x0m*jbSp>~|HB*lclL&u`5<{8(8Q_dgS4hU_${Jse^(l>yt8Col zU-A%QV}Tbv<-hIc%#6CX4Qct94*DBN;<4yrd<;AAAkoUEMBa+5qaBR22iZO8a(Cwv zQ9_*sZb`iw#0(-L>Jy@x| zADtYl3hJA>Cu?RSdJbNo8?hQpTRhTaXQ2Tfhm$_ z(Ngec0_l$`843PFOW=UTFI;DstxnOZnF1m_fLpCUIG>dk0;9;dsS$b(sYFXCt@z=x zq-ZdPd6hHf;oz={4ln9T5jEG8YI%_NwNaE9sbgrPF5&wDx|B@%4$JYLCVFsY_x9vO zXCMsaL`y$JtA`6QJ7}$@=5I)Jg-GaLW-vHA6 zFJga2uvzdvAWWbFh`}pRBJYa?2MZo5*j;cFCK>eq0Fd$iRB)`kKTGTb1@nODwjyul z=x|R08SZhx2Y~Pr`JUKs6&w#_Jj29(rr@c9Z=ifg=Vigif%Lyz?Dq)X0A&0Zh<$|M zP{Dv;d+YhT5SZ~i1VoV+&jK3JPQOXfGEwpaZsNnrTh-?D4h`mnmS|Ex<-M7a4o(enZ_ZR9y^ySoZ&C@xG(Y8xz^zHPlZIMoqd+m z{))#=afH)-qQ^Z4h3j zQ)W-E!cw(%99!PGqJUof?o<&V9gCCOajlap#^+z84xnW5-ZVMONT*WXWY!Ys;`+a; z>yB>p=ww~L9r^vRA;Sle9n5e)UAi62s;ZeT$KQR~b$xbfG)8W3?C66JXkGtW3}Q59 zUB5pDt*iK=i*kEI=ll5nXugNR$!X9{xJ+kq`y2^BSwaoMV1#kSmxIBI2;(BzncTiw z=q=M>eM^O&SUHwfn`dHYa(n8PVZ8J;VX)-d9?6ekKo}MQe@r0LigC8f#>nj{6SRz= zzPXIuGbW9H%qRWmBzw|ZIFpV0Xm5r+62FD-A^XK{qsS|1Npj()oeW1I<#wP;NVy-Q zG-iiKpdIMh;q~y5b^pK zEj~LG-g5w55;keyK-#gl3Y)P1=q_xaez64iJrcq?bu4X$G%`e^99`9*V=sZQo6yIx(LP3%bb$4bxJNurDO#{B`K4f)?D@m zMcU_KwdIY%ZJC4b0fU2#9F_|HO9uZH{vlxN=xl!j^XDiB_bSgC9eguDmjl^=mKx;P zk<(7Hh`nfUnDRmCWytY4u2x7+97&#-inAGUx>koEkg#M=Rbf+$-WJJkU>J(lMQSfN zOOWc7BK3PF|99yfRMVEGzDL{@`8?LlP_+%Wz}F*acPy8%yi1+tiw0~g+~z;g7aVbUb?ne!{D#V`=Y#h3)rp#{;D{TlV?BfMn<^6v&dCbe zi>mEs>(_N_-C%!Mv_1Ar9Cdg#gkFm zd_~E&D>7enT}oW;Z@3l7aO9fz86vT#0~}rY2`a_YRf;9cM(CXtyE4gMxuXbgy4?{2 z_oX3*O#pYfGLn|Th1*h;qeC6R=IdaO0UQbA!jY#g8n^iyXJT-P#BVL&a2;vf6w5Ws zpXOzA*>gxU${(_Nj3G95j3vsj`;v_!wowj=QD+dSgJIO3;)$kfclXUZ5C`%z2%xL? zJUq3WUcc};Uv!Wo16%`vKeir62F{07cdE%>LCBA-Yv=(E4vr`-sErN4i7MDcM}e*s zI>oq4;f-6|)b2LOaG#|;(SuTGHt<|Lua#%sNAVN&tQtG_3LphGz>$KHu!@%186c&k zyyQ_J<-J)!uWti_s}F`hBjx?v$c^XXB|KiCJx)>{uW)#*1VxWHSTXBn!`pwjG+0k8 z+6aTyYY1AE7&kUkZ_0z_cuH3L#jjA{R=?=HDYLl0Po5z9=B~f$8PltMC_BdtR>$iW zn7i&w^-PIClWKdOw?=k57qyi#4fxFq7Wdzy1lshQl({oOx6@0Lm43z?QO?dkp1 zeyruQj9(cepB25o0=z86Z^v%!kLggx_`5K@Z*3+V_Q?J=rpM*aBOjg$ejM_rzyu(= zl)Os>M+p{*`x#>ICwPM3z8oFyW5J~0Uj?@ct^y*-f%#&u5xi9JB0D-S(pT^F!CQdHdVn7>-_H;n14LB>N`MG@ zP`)5Q+2;efZ_9kwlwUgKt$%;cw<4#@N%Bq=FMie}I%1mF%=htz2 zv5N5vNK8FaS3O#54d^yIs8m+4p{=H>GFD;sS#>Nv?Ra0*u*~|;g+qo79iC6q&iUZn ze^*X^rTu+T6WNF5>n4sq+qd1>p!Mt2{~agk$6AJgF?I|`9H%(ODf30o2Y-hV!jK;N zJKw|tpYNZ1(M9>Gp)*4F@4j+&3=Sj7O}(M~bT;-j8dF|gibLy+4fhl(Wg4Gvxs=7q z6LtEApOIOQxHEa|mJ>AX5}{|I992>SYTTluD~X-SV{`L0J!<~YEIBzP*H!ke%45eM z9m5cE`5>GnfQoR+W0^4iFrKORrvbZal>Fi{N@H_z5{~^5G>vzXM&YN6_wmR{f9Xd! zQben>V1_irC13g}8VM#gYXEu*#+155Rrb1;(V9@~kWe!QNKDbr{UZy<>RwEn(NG0# z_w?=}O?y&`b_v7&Z{f?(jNVDjXssoxCg8b{7EM~`lE=usDmdHc1(m5C2<^$#4wX?v z9Cl^uL$GVe)LQ_ZsVfoElPRQOhbIl@ZVt)qVUpXzms_^ccl?HG%qm|oQM&VblaBJb zRFoBnvL&v<#a=13_u?=n6VffHEz=>-PKBI~kjYEHvtx#O8Ne-{TKsqJyN}p7qwndU z{k({xjDmdQGE6TK-WO`-e@rkF%kjpG$Q>c+ zxu7fwc?3!JNiwiXq1`_LCvDvMVTwCW1-uu8{0)Cog*t3&W^ew6C$;vIMPfCtn+p+6IHAAI#DgsJi{g)t zSc(j$KUGN0F{a=Yu-w=iNvi%^@kUls2y&d{Ka^cXmZmO|>PU1!hvT(l!tv^fg`cLk zN`&kUIJ_v8-`^ls9Jtur$ON)CdYo*ok)YS_`P_fY>!=5ulaySB@|INKK;t_2m-<8$ zh^BU8Au`^`jO+MxB$mC-P-8XUiTDa%4ksR44}UsV#K)RHOx65dw~}rmu@r!|%hNdv zn+ySHu1810Yf_cIDpPo62zb>Y65bHdBfSP0h^q`r`r?fYV>hnC|F{Z>1De${L)(oD z@c(fNF-=LSayV0!12#jpM*9SdMh)^e9*;MX_)WukB6Hv5;jpos-1{fj6QZep1T(%7=0|)|4>PGk&52m@C1T+60yJL=HyC6 z?V;6<)UjNLqfLe47uI68fxm%AMTNOPXG18id|KGR+0$eOrx^bw62E>Tc6G*H3)!zG zTb0=DcbcU6@cj)FK*frW)FdyW#r`3aj2gA#%D0d;L1J62_v51D$eq` z>V}Cb)L%a8)Y6ULw8h4ckf$VPaGnrQ_THni+a?56f0D1jEzSGzw2K752tow`5Vgc zZM(+ifrtTP^GN_bHj}$e{tq&w;%%nH2fb!%@G*9(>@!M3^?%g$))Re(#XjRbc(CHC zHp%Lo9Ev}zs|x3){*WDP^k~UNv{zYt&d`>FlRkjXdxPXtnf3AiN-HoeZ!+hv^G{&$YWvRV9&YY^Ak|KCyjk%Vd zawXoRdrC@9GWC=<<2`%I`r%oziFJ>yLkakzN1{3KNtHx!#HgXM;xMlAGatcWj*lSS z)T7@>H*?wGhmNuFMKlpdCSA#|-?QI;a|oP_%165`fxEO_rQ8oPH!nXcYGPrO#BVg)kh}dz$EqAv>gYGch5MWPZ(@74kVF^)HqOy0_yrWz}z$p zMo^4FI6hdV7A@uaLszrSB&pd54vvEh4_4h2%`FNJioI#YL&IT<9o@3s*;;T?J^f(s z-!J&JU``c|ui+Djo3(U|ab+kL9Mvx+6FbXU`u6*A6`M&2nE&fX6?0+U*pkO zI}mnKr4g)EyccMoA`Y=eM7G3E#C-;wXgJnI<3rZIo!foh&}0dkh6fR12hfE?*|xhUTNf{T4yRJI z*{P-$D;Jrm53k*jbFi6^HCb7_CWEJ=I+SiMXrPl*9kc-m5@Pg6B3Ru zTusKW@jeu0vPw0o?d^fZbI+Wh2ja>uSG|=681ls5}<_c0O%4L z-Zo(za&nW;p=lSs%mg-UQvHK&E6GP;NzLyIn>g8TU~@?8U#MNCIG=n&$o?}9^i`Ao z?eyW6WNcSi!leHaR|+FKh41H>6h7HDg;spwcF&|Af`_a0m7Hy-{aY~hN5l0zXuS@} zU}&WWhGSXN(|OD};O0uo6G#IJt1^|8KO-qgeS-VK?JD$V5qp=(hg*rPQ3pOX6`1Ga zC5Nzn(+!p?W{6=nfP!GRJ_jN|L?1)PCENBlBD4 zlQZa#RDX&#(Lt&;CG_Q~WVe@Ix5(x!onG#@)#>FG_Q{J`LicN6ES%(TSfAQQgPNPn%M@1<|3DxNN9n-KDCV^GKsya0{N}k&o@C*1mf}VN=7l zs8zSOTXa<2-tMu9_A_h$acuqDxG*@6Nf=RceC#y7>$&*t*7Irav+&r(ueXAn75`Q) zZY8Q1%RQ`Ht?s>dx13qHt>rYhVkfCJW2+YaDKag+GrhI!qo8Wl=fC)otM8k_Nk>aV z-f)0D<_t~I?A9$UA_v4)yQp)6{s-u@kzwvL(HRbVn?*}E6gaMunY1olqA7j2ls*@P zWkCo=C!k09f(L|O7_|SYD#3~?VYL;XXPJH-&E=$Bts_fJZ%e+9Q**CgSE=1%E_gi7 z@#SvTnR*G3{2uCo2TB99YFBKwJ|;XmtpU^Q0LBgOM5Z8%YF%8w&u~n*zcJf5q*c58 ziT4%py>9ic^l{-_`UHU1>oiI4W1RR9Lu=pe5$-+=Zz-OL zEr-U^g9v9-^_Hn;rM)y!Q>_KG49OVU-$(|cHm(NDG(BQ7lIR+UW@p zAmAEqC!NLS&id3$bqwXas+rTEs-$$mGJ2Rjr?QHwP;Gdunwh&&8ZIXLdQxx$=4J>Kf6^DXD_K z*3>yQ)pO=lW+tsRK)aQ<{yn>$nZ5FK`JdV5NOrXzj8dXU?mm`Bfb2!?P`|Cc{mP{F zRh-K{uNnui>PqiddrrUFGyB#0)Pp?Fno?0cV|JBq-kgeStFYM_=dn(iUget|n>EE( zF{h@=SA9dY8e7RKeP|yu3o9$&zX}gA^Dx6a2o5%01{*JfjhDgVWr*=I#CREEybKX9 zLyecA#>-G~8D?CD8JA(&Wp-8chB-CY>b#;4aF~ld>(}GNj;~IcD?Rq9VpsEH_?Rws ze6z~T6gxUfWnvzCt=REBE3?>R|Bl$ft19z7kNXeA&K{R$g~$GY*fD2R<{^*!<6;Nj zs7$lRzD4YqRx9(O$NhD&gXvY~U61`EkA0umbHsnPtoIvxFOOZkQ8&$Ho`&rtAK4VQ z*&^0lxMb3++#w;pkBLwwy~;XB(r8Xc1!i(z1(_?2q_<7{P2xToE}8B%&X=7nbI%8+uVCl0D7#NEw5pyhhh0DWAs5s z)n`*mOMj*K)$Y*#SkB5Af1+P{242p@Z!)I^Ff4Cnj6csk3iN+3ep}wt{#pLY82=tU zQ>J4xep}wx{!RNyoo}f_`$+d={8o!U){8QR?#1;7-I}`10cY94k%xus+@bO}sXq+*?)w}V{|eF*f2>Dkj6Y8~yo%NK z6QP&56^J6sdrEMfAXnq*zEbS>34UL&T5yWsWr9@CAichVM+;^F(ZmAp_R;Qd3O=JT za5oU2K=DE#{ar2YmkSmH@fR5&_LBvV5j;$=6$`S6D)KCl>DVk-0Xz=$i-72JBPRjz z$wuD8lE*;A_c9P&Nbxhk6M#lnU0Y_kPHk4;yWwejSmrzfgM27eNk||#=tLt zEXUh{%;$U{^EnvE^c)0a`1jFYF#JxzXMy+&{2KpG0^R{U8UE)3>90m`5)dYE77+VE z1INkxUO+Utzz#%0`kR0Z_k`dBK!&RWGF+9s4+0s_KCGqD|Hp#Q3;tQ~5g^8@z&&FB zuHbwi#<;*RApQdV@Q?8y4kW#U1wTZgAnSqu1>&0u)C1{nCXoKB1S7zncz+@g-&CL% za0u{S%*W{eSs?vy7JL{;|K9_i4qO7H|0zKF=Y1vgKT_~aApP$`rSN@H@Hrsg{{YDF z*8^D(A>hd0KWrdySWM25B9mhZvw->{=lPv z^w)yO`F^$Foq|<@rvp!gdp?licwY(WQkRGEz9zT<$oPK@B;D@<>8~D0`WEmM;0Zv| zc?%2%{cQ%4K85Cd{{WET?gp|P>wt`BzTjja<2esVy1NeX`SO9U0O{{9f{y~}Zy9g^ z@D?EH)&hsZJ`YI$Jl|z7?A&L-@*g1X1>(-LBI*7%knY=n4F4w}!!HLi9X9|^0}d5; zia6=sTkL+ZzX!&L;dcV*{wJ|-6#D~W=V6L;w}JiPpQq|E9p?aJF{w^Th zza#F~i~AfPsyZ+b$aMDsVwmd7BiHzz=dZ9FD34~ml&{nNd$IpS?01U2QS4E%UoG~C z*v}JtK|`;791nU^zc2?L(CV<74!-2(sU2nA-F}bNpO|ma>1p7 zb%JvRCku`dED;{+k zi^I`IjQ;RYJafN=;m3F3nfB$V9GdI#Q|?D8tMBLHKmSN=e@fg9zdudfw`gbId*Z$W zG-(bKcWv|eE)u)p$NvPocvW8VQCUv=C|I2K^We*Af5qc|wa5K154|6I{MUNyzxCJ` zd(y{Zf|rz;>hV9+V?V>=f1}5ps(1KH8MYs%olJ+*eu~HcTb}&Q@`NAeap$>DPI}xO z>$FeyxR3I@z*~Jsx@wc<51n=uF?e9{aaF_HTOVb@$ls_0Xq$ z(Mf-W$K7Wxt--FwX>-aU=rOkkaf?N!bB03n=Q^@}B;{YOH)Cq%R8-A#ogy@CHmuOH zuc?`1t`$<@(sHvlvO?VbQ&TYuXA1#ms|N_G6jt8=NniQY8Bujx(Y$X})y#38#^a>v z6#3}ABWu?Be{UHt!szxhcNjoy(gj$;|Yy9Z_3!g`>Fj>;*0{0 zR@Fw8SM{&Fe0=a+mi@89HZ3XUuyOokpTbz3Oa#6ZvqO zeD&YwD?z$26!>-^qY{OSWM})Eh6_DQ=uH-SVkHk;ZJvpk3v_r-1m{KM1$XA)oGBy- z;Zx^L;ZYf;lRxmqT{cer6{r#5%z0T|^p1%D8V z(7S?fPMLQu-+usqSXRtJ1<1)PyZRv(_sJ|=Qua4A;=MVUg-d!|Smt@ZnHHA6z>)E_ zyy<&yxcj*{QG5?GmgwokHO&nL0Q%R2-Fb#61;gF0eoxbs9>yB_jxSPMSIoOx@Y#fV7;o3j*o%g4jN`B zm?&gnZC(yy*|UWa>+NPZRSd^)U)|ETBj@uSdFG)aNHovZa4g@l1Mp-RCBlX5Y>01- zUX#9~>O-Z{rnBL186350^;lj0DB}g9z$qMU-{Tw(l$;p$ zx0%*qIKQFso}a-QfSkccO?(>DU#H~sp7nw^K%a7fzX0)<$9Vv;S#S-I?))10{wIPz z66E)Tx(`$UF%$$i55ZqviQs7(BZmRetwdghXNU{~n}LTwe!+7E(8UIR1!VZ|0vSFo zSSMH`?&HL6&PNz7cJ@IG$NN!<#|plJvcQl~d?%3a6N0mWlw(W+_5wzL5G4kJK&I;) zaSs3?+AIDh5JO1-vJS4D@grcq5BdX;^KfIH#e>7@yU1h5nt;oFp2vO+0z1R=*=c8b zo%Yi`c4}ET-HSZ#?|SSvd+hgn?00zVJT}Wo-@*4~nq(Y-RgPT<;^ za;SNP`Q|*ldgnX-xi3G%m#?``l@Mo#fY%*z-zFIj);ja<{tkEZw|kFSd;ICyL%$Gz z$|(kT)T&D1QornZs7=CW8UEDR@hu+^e@giijp0vuH_WMg(Z&7zh7RRXG(1PfY0w9_ zOlSP*L=S&jC;VhSIsu8oMY1#gwARC)E*E+xQRr){%`>qx{-T424+wkeJf^D+EwweYv5zfbYE9{rMT=pV?xeu9q#e|i59d`Iv_ zAl>-|<1de@*TlyKmjcl?0yhB3pPKt+$BTQh#zGy@Pxt`CRh1<{kyE zYrw0z=7)HP*cSmwzg+AS1xp2s1qTZnK9?T^`P=0{(z{3STR`%+Gl1l8`E`-MC7;W5 zT`2D4bIIRg4Oj8ECj&90r1)EQa8CaAc*Kvtl<6ve%k(3*}v-Wh-UlE?r5&HU|Gz_4aukyGEZDjM9rz*Q5&D7zhTk%Be0EC^9<7x{ z9*j0o=W>%5O}_dM9@6lo=nNzZbT4Vs8J}x;_}saM zo{;D&pPPepkk8FQ=S4Z=*T(1SeVSj79F|O9Ti%vktedyZK_dZ!bQIv|7RY#c+-VMvyvW!HF|_dH-?$A$`f(RytKS_UH!J&y+!@RupiM=R=4ACN zmsr-v{`WxSvOKYi#`NDQzSSd_-H+B!zLZNc_{)1&@J&I=Yw5mG>}v&i9uEHUsDDAc zOK<@Y_5c5@oR)m2laJj8JIW(vy2{5=U&|Su&rW-1e5_YL=>PMvs1cqn3-P%S2}FaU~sa7l{~g^(4e!ZXfWjLVIA_T z^Qxh|;ZPm;vivIbZ)wP1(ir=J@~eG>uQdGXAn;$qNw|yrs-ZJPK9UkiCrQyraSCx1 zQUYrmxhxaNANEyr*`)La9CBG4N&~rU6KMfg3vMLJAvKVqt=_5Lr?)WMWvj3ST0A_` z7p^>FB@t^9j|*2@@mLeDoKP<)dgBAm3u&^77Os+WPT^;x32crJ;oV0#tD*qgmrt$V zaZ~-Csx_2N`peeZWzXSqqu3FOV#}d8M*;Cykt*+>Zf@oX`3PHz+_Hhki9GWrWWRXX zHGOeEyH1sd;XZ_v$dBZL`l6oAqttvv2ZR6ATSlVZs-teM4YocR ztpB`+|K`7g87i~iY2jHO`cCZsMe_nP_Dg_f#w-LiY^m#_=;l!TAfEnkaC3=@6;jHk z^y9|V<3e2*kegzwe}BheL~^c#x`f_Qza5&T<|J<;1G1O>XLv*!Hvqiy_S>}63V>VQzFgI!i$!H|=+`Idu&>SSe{9w0*cUGS6SHRWmoGX;S$FX1c?x+B*qQp@n)Okl1y6BxCGlE^F7 z9`)z0uks2 z#CMsu4?QmNW5Kt9bbnFo+XSB$Y!F;1SPg^;j0Qq39vC9;&k)Q5;xFf>i?x5_?5p?Kf9|ng>#=+1U8j58-|*O<_1K?5S{%t^+j7|-^Vs)z z>}^&O{s!sFiCV`n`&{a1MGzx3E;y<=3(9BA5C&6*pX|D{$y zWO+a>3(TCUmItXQzx@g?W>!OlqU_usptD^$W7@Q; znyT3qX77OMVnxF!J;t=TZp1PBlx~-^Pjfzvn(K9ClR(#3aC8o8a1F|odFJ|%15iWi z@;rBF;h^D|{K8~jmzgphTQM9O@?UnIyIkgvW}a*8e9a&FXl1^re*7QE0m7Jh?nZR7 zBl)6>^ISvcbouDslys654f;Tr>1>`$Jt&$I^&fpT(uMxkw*#HG&~lONY@XX+(o-w+ z#t1#Ja!jZ;&&1B=xw{bHIQUzRPM)eeu(mtT{RRnk(WK_NYF%bBw2wH;b+nsFoWKYB zHAM&9u^+Un@GAI6{%`4yi6|zet7P81!gzCEs==Mhh=L4?j)F_^EoUR(N(rc^hoC>k zwJNYe2YetE@O(zSnp10GnO(=-;-ck|$Uml-lT+t3)-PPqJ=z0zTw;z|wiy92oiAG* zPE_Flvr1eQi8I4+XLOFrW+JvZ!;BnNJrT2Um9?PVjALq%&YXB;W9cEEMGq08P@6B? z5{w^&>As?$f%X6A#JgYc070&^oWC8xEsdx>1VJf~zL9d%tn5Fn{rs6l6srX5t509>mArCn` zZgWk=)!=Vt;?7+U+QG0_4w*k0iGK6W=~sEEZ{UP^RWe&&8nIm zoi~s>3ibswBlZgPvf6+UcW}{%R!8$2N17PrUFk+d%eg0bC3OWkNpjg-8+xJ z*yB!pO=o;vo!1}X2~S#1dOz{Fd*}Hld-Cs{=hu3|2R!xLp#x#kkI>Gn*WxEc9@v2%LNANo#ZzNq}*8S!uA2fS&FbK$Pa4-B1%(EF5m zau|=b({=KE$!EUMu#hhNsSJvfi)3f=gAxf;BJ`>aJ+ULt)$*vIGxywnwNV_j7PxXRv(IIxErl z0eB84lv;f_F^s2PflXfwaIop*m-J!TylwBpalx@_rpUAV?I-l=ao-zt$Z3Gb@$;>@ z9{Oz< z+OXYaI&ZeUb)5qE=RV`*VDxEByG`k{U0AP9C4CBh&_n{OfT+X3?LaiRyd{F+qx64*k;%!;kNbITa61d;8LE_N%GF z*L|w{c%aPtRK49S;*)+cvmVjene~VY2e*3;i4v|m`$p#N%gR?x-)Z_sWB;o9$5m() zU#5S&f|-Q*vi)O!sr-CJ4SkRFXY7~6sZ0H%C4owW-rO(QKjtDG?6D>T*|Gko^^d(0R3I(Xv|s2#|2T>}ox9RUI=&z2H63rf zedU4nlgs|Y`pMBKUT43@XQ#c$V?W(v@1&n}R>GI+E8Eq#Y^R?bJha{YL9Eq^IkDMM z$1>EH?kD>zb|S5BY3v8uPdJ^Vp{L)fevaK;%5=s@PDVQL=i7mQD}b5$NhXj# zC6oYm#gLD*?5*}L`$JqmRkt@QT7ZkE_^(?mq7L%0W;AgyksGM2c(hwi%P{{#AGZv$ zpIG~DPh3@WK8`--eL7*ygNEXBacxxZ=R*~9c^B0#1R0!zOP@ZC9~{3t+gkg^iI(a_ z!Cl>Co%Dir$R1u9d}!e|YxjPuaa&7ws90IePw)~*%U`<1vX8(`Q5o)?!;OVO`{NFH zUtTCS85bJ+8yZj~VS7hEfI9T4XY4pw?R9HgP9VqC)8DWgfU7wh-v^3fTIKnw0<>$^~Uo~k{IT%Q_v z4$rex91!;*4ma10A&JQXog77{*AjppSng1PIIyTyLbWImyev2#t2imX9qhL{Ye|Rjmf{kSKYp>=r8K_;d-ZEC|mbf zh&8r$ZSvUq*Kr-1`s_zo$HxZawp;hX24VXR=lxk$MG2eX6S&_Ahj85uYRDhinQ)@- zAf3%e)yrPgF>z#b9^RUo4vr0`<}jH2P+9mojC@F?zkzEOb^E$U&qs1&vx1A?g1via z#(MqLK*)%qjEA#wlCL5Ja^Kjbb6WaT&_2Ad$<)QVQhUeRojv>Ub0QJcWNN+hQhZR^ zPgoTp-c+?2)N*o?OG#~0(gr9Noyz zshIj|v{PS=c#L4KU@O`l`tJZQ%_7|Qu4% zisr+EhYXfuJln_#`C&o-Nv#p4SiLVhAEtbY#>|I}9c|!%hSe5|D#R1OlN!^*THD=)qkvIAzgg63>lSn<|5gdypZ!(8cTz3xX=?T z`Lt^DOze!$TaI*Keatrqd|neU6Q9R)@&_+nHb!0;)ce3Y<()7X^+P1WEghxCrW1mT z|A}`!qeF3><{;sco@PCN*|A`8n_fzek>fsLm6X9QRgKsM5yp7uP zeC>Ia+cQN%M$FKL8{DHp_T{peFlw3`tW$x$7&o{ReyK;5zEzpEPcFvr{@vBrS6>_U z#rh_flC=M!^=%!awTb~84JQBf6Rk%`mW-Ws(o@zU;N#1-^s;W|d7^uLl1K|w?9zHo7hihoL8fHS(ymZ+__dQ|Pvus# zajU^UCCfk}#YCAt7W~Tr@JMNHiM)}A=j!k}K{L{rc&VB(BMO_^=%MA_&M^QkhTk$t zZp&h^AMFbN#POc;Z(h($WBTC~|K!oD;5kL)N8UrL$6wytf+E!=UN_yz2N8cH$aP-Y+vA6>5%P8Q_HNq;Oi@=w$mMgPnR74vz}K%kRP8l&ISS($I( zKm4W4LXX|64?w?8|ISuc&p2qcUx{ zytX5@s$IDm7GpE*Qyw;~-E${nwN%Y(eZD#g zu@OTJz8l|4C7zYjXJE)%GLD5`i1!^&N~p)w-M>+17sqIJ7DJ=V;2_M zZbcbn;;)!){v>O7`r?KntZ+E)58E4S5BEQ`0TPD|p`x`R|0Qe5dX0OWgcIM#zi9ow z>>CQgi5~1yLKVH2g|nXc16^C+Q1Cdq4!?ji-J80Q!t+mPXt*o_{{gkzJFOu}ERsZ^a%U)*< zc-q?iDm+7W0~y;hp#fV%S)0PPAD6#RTlzcn`}5`ZL*UQwOYx7gZx{N&yF>PVdyBq^ z+d8*fG<0tF*d+UTb78$I#SzyXA3KBZ%!T#W^;vkl{lemRw0PqRTv;Ekn8HKS-wAgw z_^9Pf=z+Eju(#^_>BBQ#?~l3)cPA_AYdOOI&{OVL3Gx_GFoMys^{v_0M?yHXe6r8K zq#mz>@zR1Z6d0XQ_Zb*P3U}&0>+Wx$23Xx^-TaO0CtX}lTqQYPnl&c*Hasbga~?`M z6hGXOYK8cv*(zFVp;}dqB3Az`Oe0vs577RtisK)#vY!2;s?Rrr@pB8Hm%kA#Pm`61 zY|*R-l*xmS@moS2>(f6r7HapC67&sY-@5CzrLq63-RY3TH-HoY#KIAdhk-f6Af zd44!+rv)Vf)uvyt>UZqN{p8kwX13`jtG<P6%+c;MM)wO6+ zD1J1^ESgYX5p> zILvBY$K(_}yWr_i>-tF1KWl!>ofhvgtM%)hTG>cm9+L;rZv8v|v=Zh2w4k}Yc4s%M zwaMO4|8{qL&OPV#ndX1L35oH)zX|dC8~H6He}R8IlH6wvfc8h}39V^Q)BMBxAuZGV z&u!sj={-I1xR#IMdwLVDy61R8|}7>@xpDpNHauEPIz~+g5W^N)pZ^IaTXVEJh)rS3}ogv%dAV0etFxHKwH; zp`%Az%^TRGh3#hhDb+6~mm(j9n?g`wGNpoEHu)`JGttNsnm4?N4hbDQu3&szgNv$D2^?3@sH89{4o z(mI^oaX;#dyN&q!A)fERZxDX9X!HCXi|23Rmuml)WBrNz!kCn}>A=tP;JTT2pO9Nf zb(~8`b{vlKN&ekWle1H!DhUru0Dp{Wl>U-(ga7yu8 zBKOxboywT?NzZTV71`+K=jUm01#DG+!vSwdoLi<^EO^Gy{`#w z7knB>_XouOQ^9M17-$1m03oUfgn*bX28x0BD?SVV=zbayQ54Sv5vKDzAmUN?NF#s6 zui+*0yBWy*-Up<=yWxq*{ZGhpU;|nl{nr5Lzg*iR+}A{ZlTmnlED_8X1gQ6$fxQuO z8HhxIZz1#jfzRSS<&ma+mx~>s%qaY)`wnd-E$tuqqWKyUb*Z|9{V_WcKZLh z$9;y!{brB*86NvLJ^tVGxF6|pr##mgf0@VKv5xHMV6==gCDn9Y^fMkR5x8=O_oqVN zVs?~UHbttcoSeO>_x;o<^JY}&%Qa1G#!Gcg)s#x!4=OKGk$;sURnx`(3wG~#*TZ#@ zc6bV9hx=;Uk?#&2R)`%pG;P+)=Q{7M^vZSdO{wz>effBR=}fM>1RphxStmDkeBSIY z@MUT9MfcTI<9nnr>*TA@iH_lmF3NQcooUj@mr6QGiU!?@%XB8!-6G$4iG+8>j!rC^(N$&b}p#7>#9BRLmnwl3jQ8s$wh)eq{Jl1|yPt(KkU@oR+6+ueqHiWuo z?=db`e15LIjS66JdB*DA^M(5P)jogY4-iKSl*kGcf9A|j%+iXT!sI`d)%l8j3@}9H_ zeM(BO(IF);*Q=s5N5Ehh(P_Cxw4wyknU_P^=R)?SHut}4m@lc4c(czmsy7DA-q!Y{ zb8)` zd9!;Pt8in>+DZI2#LZxzazxM!wffDrfcdmxPR1fOq`7AOy6ALhJq>D_|eFX<{rp~!qv@qE95iTgxVR5CUhcb^F^m3gS&+? zZ2G5k8QihW^n1y!&JctGF2uDT1ha>4kMBXS6z5?S9Ity5z+d{Ytu}v-IF>Dnw1x7J z`6=GS3iTMC#X5Nelx{6YRWg2U>+tX5u7uPk+toS9WZU$9$A-CM6FQ5 z*mq5R+9+n*BW&|s6e=-T+FNkmfgPxXVD^Q~I#H0(8^trC)3>zjtsCucd84idio7c* zX$-ae&E4`{T%hoMRjCIYMn{d-^m_oR;8lR_`5!{m_!~Mt6}b`dn>yls=@BUx@~&ea z0|nj01<2mi(XY|bYto}D0klMiLhe=ZyO7dos&93L$0>Cd(%z<}IWG4KN-Mlg|2rQK z?Q%CCP!VA}HdeqP21PzGJ!^`lyzA!RH~uU9pd>?8ya7~DLMra_N2)^r+k>)WuvAJM zs;%*pF*8LrC+lpEAR)5hqy*W#0!VK%`u?a})C6-%Tp*3?N}Zyr%M@vij8pCJVg5{k z`8mi?bdUOxPN`~#OIr3u2Fp#}!7D(q=Hn)|r(>(sllk~?vl4 zd-<`pu)Gi6Ad88+(ioy)K8HJw)OS2B{f=*_0%K%kB~G;UV@2@>+`D;i_&TKu{a3_* zrm?$)U5u)hj{4BUQH&k-o}vCLMs)HHd%qweV9|(PkGxPu9{dE2XxdLiIlqI#qhj9! z*eZ4tqQ+lk`!FZ3F{%#)V!z?;svc}CVmhLu|F3}a* z*507Hy;)Y>o{dh*&y7EdMyd28CV)fL$`07{x{wN{f>a$+F(%HQLw!&9Dwa)x}L->++JsL!xL%l_C(R!zuk?1cX|bO8kRh z>X)l{_^re%v)pHRrK&oAg_P z`vhMU{H?~&4}tg#-Had1OguAyEZ=!RrsoO+(Xw}&C*cWr(*F&?9|Ljga+*J*|75{S zftZ4MJV4BC%0EK8qMYefAi5QG-X8C_8Z^`WK=9jw)Q6=%_1!Q<@{|Knl_4s#;?;#H z4`KM<1@{3d&)NjU0Oa`^kng_;sFP@X3N+k^U1$IH$e#^nZ5H46}#3s?c3m*H~6$rJt^vw*VTO zTGT-SNT#g_>_L<2b*huMy2y0j^iB9GRk|oBnJnEqv(lYPpW4EZOq=pb4Mw{B)+4Eo zwkkF9q=()B^QX24?s)EqmCelgFizgZIU{A6_4kI3=+r&{3syC|EKJ4G~{d z&a)aH3!NqBv1oh~pG(ej20n5+OU|kM=Hj=C|J!qqK;k2UFR z*ON|&FldDhy!Gnh(} zjxT3eT%8_&l0E*EiSfHZhhPq7l1==O7dcIdAC%An+hAD^GPe7G!W17sI{;H$nV$JI zh>%(^O>paIA!6WRX}JOq%Z+bHM*DEKhrL=Q_a;}|X;~s@9tpjJe^~lM+6@cgr6>0^V>>R25#K<`fu6=)s?+}! zV5_9-L8e-)^?=Ei$5y`-dBk}tcXG5#jxU&M{DY=f$3AsRPTVq2#jG*B!_2C?siZY$ zvOio0KTHv=sZ?rCg(?)s@#yo+mzK-Avo)S2_mw#2KRL)Be;#(7_yUslD>s6s|Ifw$ zUcq|=xyH@-JfDJmG(|%gA3T==$*-Rc%mtD!NBauBhsgK~{jbJ?KM1ZB{H5ScKqM(Y zTj>6RRNuv4!HI(JAX5y@>YQwr^S?neoO-3i9}0dG$nd#B&lLQcAlFS9zf_R?JLz4h zf8x`En+5L|qzHrI-xIuDFf4eJ;0=No12J@az6!*UT@GNq^jZnD^ZOIDKZBJUj9gT(PJ8ww2EYriFU~AFJKTZIWKy@!OOW&=sj)=;@$b^xA>W zLfUa!mfi8&4U(TB`K^)sgzPcDy$9vs9GLPW&V9S$x6yz0*roB?&|r7tv&;w(Uvx#jQ!l03*O;t0NdDq1tO%z z{=^XQRp%iFc#SL_pNfmN_yH9keiX=0wp;$-ZNQH45NBkv5w8w+s{o}r)QC!G<502E z2_@L6RD(^iEG1%w1w5}!&ohp+*d?u=Eka#SZa2Waeg;5ExpNEm;^s43N$pQYUC%4Q zgkilPsFn$0$S{-9d+2u_PFo^?e&;8htq?@6Kp7^hn-8Eg2}PkW2t_$7y(lRLS+AQY zMo+W#WUe-VuL@QFl?y2+SmzKVZla{Vn1)j(d$B1<8BS?a`)MqV@#d@s+$~XxmS9QP z8532U**eNIMyxrPNsQ~FzR!i6C8qBxeJHz|$g^orjIDNNM_yEH-da$T`}{|qLs z0}E!AB6EOZ&_v?RC)AGp*5~2NW?+$q&g%D)e3?TZkmnfS&$9$Sc>U#5fan^_hXK(g zmGc}f_osyZ`#q2OG>3xMeQJOhB}*OL5CBWOGSvlcXNopd)iXzCBy!#P>E z)1126XG+=^qRkLVNF$S7)oh3>1LRc z04Apm5};(5nbf@kRmse$6sMKn$Uh`=Ag9ue-Ox_>m0?3ibjhzc*px4953hs_37o~J zSTw!)Z?Ol*s{i#}G*UW?Pnm|ncNjf-C>ONyQG*APKPu&9R&;3dX|6jyr2!uUU4{C^ zeqMYOWHmnT`NOS}UybCqU-A>O$9xJCP<+%1d+!}yDKvdL6)mjZ@kz~Or@MNQ7hi2M~g)(=Sq;mZ_d!g zsRh`$GLAB$l|vOS)<4G9?BKk8TA7J&1DxxvG047nq7itiQ*}nA=^4#e8L=@_UOF-U zS1?hX<>od=;wFjzK_&5Y6L4+4b=Hp}J*teN4qF*139xj4$T@x!StDtVPD;%hluC{* zqIIA2x22zuotP5jCe?l>=zCRnnZTw+p^dPdhI&1vIvZXZn>+&z?7PdY+L@HuVf-0y{VE-#}e3gNh>9 z?1_j0<~4kKlHJZ=q3{Bn8=mYNMjD0n1F%WS{>j+&aU$2^9sE|6uz<25l$YN(o;L`} zR^G*Y(y@5qo$1M(mI%2YZq1-3bCFV$DMC^*-*c6c%(s!77fPs#0pDzAz}dyc53_CP z@0Twgr8zadG<8g$w2HYO6h07|i6`ej61-*Nn?CM=wagpJu2kto)65%gN3RO=hIinW zP##(aNQq83sw=kqrki8~64gn%V$?ILzDPC_mRY*W1yf71YN6ayG5@@#8qF-r`k}?^ zSdm#WWxglLzRPXXXr-$H0c$0Mt*kZ6Mf3$~Io&k~*$Kg0lqkfM5a2UqXM4%g}lt=#ZtS@g2~N zf0tm3;8-B@eH&ji!<};A=f(fO1TA?m&uw5i#)yA~;3uEPmeF%B5Ij(M5Xkx(1Y~^|0g+U3UqouG+UGNyg>C@SjmJOYC7p9VbGIY> zdIx>JgZ_zw<~+@wKdDD{T4xsUZZb|ubLsnSKc$z#z?-+aRl|&163E3(t!zd95`s zvS_r$&owU!qmk2D^CHS`&!9&S=S5aNZ!s<0z4(aiPHvO*>TX^{K98CAV+X%}{#n%W;bi zB3#JvQX(@U4Ch4^$ZYtTIy%URo9i2TI`y#W;B zE4mOT=tA743-K<%Rz+h$TCXC#iufj<2gequ-h~YwKJ(~)M8*5HS$RAc9(b;e09|*} za3xkAzoK})q(N+oWhW}5)oGnq&)Gd~__`-r%g4U-ZZpo9p`%4v$?jzcQH$$f{MdAC zj{Vl>vDawHZ>@eW$=5mTSaW`czk-0^2q5|ckE~~VsK?Ckj|JZo+%NcRApXkhguYqu zMnQfWOwaXebh#dp<9hmuKlL~nPB|{|FrFRgc}ZizbAnEO=V#*oBf;+qE)x8@;6Na{ zYR{=a3>};Uvb-J6Q<|#%8LV6szlfJ~ytdO`2R+O|-{_z_=T{U9kf~W~X5e$mY%^ro zwIM~6w<|uQv?Q}W=CB^|8A-E>UzpFJePud}&#-6=cb|*T;Pxgui_e$==KMT*^pMZ6 z@~M@^GSV@)qHU+S?)VI@3)5AoU)ZO|1CsSv3ua&PO3Si4K4XjIXH6~-NPdz%`GmRF zHIV}OLj0@8$*}*n73F}wxN9{gH9kZ_`cC)XauDsQ``5`|aU_JD4UQP%DDL zL~~3|X{%it>)a1YJ4WUQIB_HxJ%2ld^$%ISx%8BfKb!?mPDM8%|JhAz#Q^pQmpGOW^D0-lhKU!pFIb?$s z5BE{disz6+o`B8`LzCw-#KQ+z@UbA5i%7o;WcV(jpBCIK_yZuaD5pj}hD^^S@n>(z z^do@yE9deE=n(gF;WD%V$nZZ2J}CGrLGt6wmyz&Sa2Pd7{6H`vNKGP)mmZ4#F+`WI z29htQ(KMEavqGlhCrzZrG;y4Smk2#b@NcLre6t?Wb1aT+l%v z%Q*@~gB0jXf_J3>pJsHn`?QA}A zQRnB~C{ZdEM;6SyDXDUrX@A!td0{KHXhT}QeTS4KVuj+<5JMhJ~>Ld_$HbjPa4 z@eO>Obj%Omk88q7F4stUbeKoX!a@-Pw5zJ}K_k$ju!}_UVIFk%;-l>1F=(G1+Bx$U z%+b+7Px4QjBm}^kM?5MSu10=#=ggb)k_ENlWE5xlCZO}6E0O%>qI2Qpz<%huRY>|z zRn_&iwKgwjepbC_+2YvCWcO#3?&eJmoRq*-s9&7x^JP76Dmf)tkM``5-|V?nH!MQS z(g~dP*DCpOVUuo; z@>ykXwW%E3VLR-Ha2aYpbAb%bleG6U6^#v?>O8>zvZ5dP1%7PyemIzby=9YuA?g68 z35U*Xa2>z_kLSS4<$e6X1Z0q{gez`@z=hmDf7ktuU*jrTc}Q7ZZ^n6ll!iiiCOj5u zG?5vpwebs?WaPO1?v}f8VN;zMIj*pNnHVphl5cJ`s+ZE@(IF#y)V5&RTeTM?<_Z^m zNHM;;3=HX)7^jxIm47hnE%+@O6)bCCe6i8e?rxsNM`~N*cDS_xzR7#+FS+Y_h z#fcdiY9!G&tuo}vuZRw}J-Rl~ePph?WhS1x?RaW{vb-H_G3k~6v(Uw%8X5q$YS@kx zx*FoGVAj3uPov^Qr-d3PNa0CO@h7B+QyVy?_H;uBy{FwcU%=b>9!$GN6Ats#8ckXi z3e)9PxC19MWKLu%#C?b;3hnsn!XwD_2&Ir2r$U%6UxiZRQ6A67^`Fc^AwBpqY)-cN!1KSVUzY8xsGC)Ytj}iciUZZ7*q3{j5i;A40K0~c2LYMp#~vvkprV}sp5NSmpZ+6 zH^Ol66VR|qzhh(t9<7Rnh!utcb!vd=(buF4*8<`)TKbxjxxb~q!Y(?teXBlm& zp~;)7O2d1Vx|kRkGtTcz(UZqHeJ;Oxl3zugno4AhziN{5OGclV^a_ki4^r`h4l4rO~$nHKIzt0bG_|l)4@^GgJ9c>5-hO(>v}v}SK&ZCUAxehVTZzb> zrG z0L*WM-Y)cULcc6D*7Ybta2*gDX6h78yFzr?$7woSCRjN__Z9khiC-jiFQEqt-5ZA> zF`o;C&J~*WmFXb=QQ;GW{*r{#{t;bXz7C%)bRP+i2z{E+cM1(zhsy6KLW9p!^e=_R zbU@KupAnZw{DXtu=%9By=+_){!a-9wBTnU?=b%w;%c=0Q9dwz{=SuyI5qgk3@0CKI zFZFYc&;up>2BFWB@LHh<7wPA36xt*8b+^z%&_}Zg?@CSBz>OH<&yq1p)Zy6UlsZ?Nk2^J z3JJedXs^^qQ0U90K4uDyTdL=|-9ayR&_8j|4+&i<_j^`opU^J}?HBs5sr2eOZ9jMM z`aKB;!=mWVga((V=scNhg1uGrX+ram6Q(~`Xv}?7cu6;tQ_4Rx$%9+rPe*xarf`T6 zl*_v9DpyurepY^7?_A102gA2N{)@z3KJ!#rB<5Ak{(!Vhu3;2uHhE7E_B;3~o8f^~v(1*Zubf+GY63Kk0H3Q{(S%U=5h z_XutgTqn3jaFyV4!8*aYg3|;I!4ZN31q%gp1rO=^?X_QUkKh);b%JXIR|zf`tP`9o zI8D$H93ePRuuw2p@DN^xdVaw@f?EVBA!7I%K~CLCFBhy60aqaOxa?sRE3UXuTf|T((>K}KxsWdf>yyiM4z>&Sfuv`f{X3w5pOBrYmVX zy{m4RH-G-T1ui}==c6fY>qW?H(E^CPvB$%)xTAEpJKo=x*ly#Fb~ZAvca&z%~ZB*xtyyY%%09D4A%g|Xkqy(x^Pq+f)wGf*lB)xHj}3DtavU`ZC!beEV4;yap7 zg)r}IotTWB7RcVN(t-JcQKFs}mEbhGXnwylU^^c%=^eFuU<_2%$Ck?n- zG8A`MsIwMvC>3^feO`+QmT=Q&zU94YVtgS4vzEX%Pvw;q)3&Wf^pu$PV-@N%_oY|& z#*|1{FVN_Po5V?4XlwUFC9vczqrttSl)pvxsD~c|P!Alw@m^X0wo1@iV*DIbC8&i6 zN}!Z9)ap?!DX4}28fmB&@3KeN5>a;YLTN#6QXFb4X9qteBDF84y4c@+o_W+juJXWH z{bf?`#-UI16XcKnsetEF5myS*QX*;EX2f6UdQFEe0g}J}3J~rl>XT!9@bnY;*IrJ6Jn44ajCe@!eZg0OxyWxLkoo>p z{C_A&K9A|XA>p%xo-Q~Lh%Q#?k#imbl6`6~#v}h|jbEE_Y3B!*>Uj9ojtv&+lFrHh z{oWByJ$QS3C;!Lqz#cxzK{L!AevgADAJb$0ucy3SihZ&gbvNwW7huq=J9NUJ^^`v= z9bvI^9rn>_{w&@6*%#JpFG3@vfnd4r z_$ezNE}_y*vI?Tf9`jSJ*7HgF{m4%}IzCQmuM$H?=uSUlpTw?^{BrS}QkBZ5r~Fhd z%E9_3Kg(yf^HXvQRZf-_QF`nweu`(|(waw`f1f(|xfA1OU6|;#^HTxy6=A8ipkNpn z*`3-3MnB4FaR-@Lsyx&p#@MJ%{4PMV0Cg%|I!o1=Hn<+>uk%(--zXM!FJ-Y}1Lmk) z3$6rUmwLVm?^EQpgPyq(2m-JO*8lXS1d~_lrNrRmP)g0!3NWw}($~(6-?&ljtU00F!z5 zdQx1H+ODn{W^Pxnvu{{WdfV=rCI#u-u7By!PUIjXI^D0HY>uhjW3Dee&aT7DqO-=`^OG(FgT;(a8~&9+wV#q;B*^K`pbJp4sgPuU%oGE`(4yPn!eE**RjPM1G}jD zd7GATTiB;P+ZJ{op1I?;u(#4Ipq{1-pj!4%IkIqD*uy~K11`tQ#<&v%*aot3h|m=u z@F1dNOgvsE{w_cdT1!>BbUwgl$JA1D+mC22?h3@bu`Vo^gzJc*D zJ1}q4KxCaXW(splFi{$BKnzsMd+M$Qdl>_#*Xc5B1lTI&233ZX^kV>SiaLPhDrA(n z1hN=wGZ$}(mzlg*YAYA^(mkc@E-^{(K$~K5OR#~*9$**w>7mf9!jx8tGcoXT)ic^7ay(jhtEPig4?8~z9N%C`Y8@_ZO{`W~d-bXoW z9o}J=;6D+b3%-i`S@DS#d`Ivu!KD(;bGI0NqhPh5tY?=~NX+oR2<{eqMo{)?l{bLK znD3b({ygjhe+5?wjuoU~XxyUw8Pp)dInN@l7yP3j`B98lo;!f}c*<`9V(9eT0OWlr zw_-YK4-+pE-hN9ZUTUDEVmCAcKQ+r{jq~)IqdPBa<1DP;rBUc z(?Rca(6V1E$(dHw32&O@YSV;P9d>Db0hZYMHvcU*VRb6+>Vyw3EgL?fNV&}NE}pNo zAZ(qk^~L${Iy6!`ix0PGwBgUihtEP|r?dF*)%fT*H|r@MZsqeUriG(DI=hqGB)z)h z!wcm(izGz_%0;gle39~9q-EJ1A3j3ztC0L=NPa^0m=C9%i*-)BQS3`H@!>2d|5Yaf z?1{7ZVkPfN8H$4KgmCYutLad7Bv)~b5T10w;C=_UB!e3T3WM7l)doJyVX)ti2o@if zNziozQh}Y~PIx394N5b(?Eb8cPuALD20>R!#uY~bmyK)vAC+SPmo32R&-1#1L_Un&0#WoLSh_r&)E`7x8G zJQZD&hfRX{I^}AdpfMg>55s2&&2~foVj%gUd?5Orqe}znIvwR`Hs&ihjUtl>_WaaEVF#=qTxfk9M^A|T^(MysOxdP zCwfM!`NH5VJtK>@#&xs_<&IUp7NU>{&eAg~#0$KN9v$Rs^XK6N(3$hG1%=MJk9UIP zBgJ!V!Ti@gv~zvc?z&qSn<4rAO&Zr8?R)~Ofd4En>y+PEPo2dl@PM3&7~+kf z>EFT)yC))NuX)HYC$BRjyMj>Qz346SiDUym4psIM6E62Hsa<}1!&VFI`? z7&p+?T)c`Ga9&&&F_hPvn~PWTf)N^c0moGAGL+|XAlE9GYNcG`Bok#$EqB7# z{qV~^vo%!R8b$G{w;SdQL311AC_AuU`MH2O3FShj6^IE@;I+jgV6Dhl6)=6p(@4(n znoEi&gh1A`Y<+}9GhcE05Bp2^2F#ZXbC19DW0>^cg2k_3^rm(3{b&S1^BM3V24!c{ zy&M1)FVei%48e|nGjgD4shNsNN)+}}T+ois=}r6G-jV+Pky$CLKA;QhC-IrIeV;%y zl5e&Ks_VJ0_!IhL!}aF)LSzxDjuiQ$_5Hm~^|`L_xq+s7NQ9b?qCDQ{^uop??PsDY zRurKP#D9!NP}&|ZLn@!?--L2`+x%o2_}&Kkqti?LVCGg-BAR#oTc`VDm0%5CYGRzOJhz-BUFl%#hh)|yw z8lOREgE=yo_3;(4QD3^kTrw;-c3YOOPrDAe+#EFwVMc6JHo|HVcAPz|R;N4JFqdQ_ zEIS!yj>>M@kmD_TE)r|m8b0^ni?YxCidYVAK058@m$q*(%+2lVBd>+{p-}`=V79 z#0n!?H9|FW+-^Ktc(8by58L;n)3JVw)*hYyAfrvd=Ynq~Xg-M#We=iO)iAiGslL_q zI2(%L_8mgdXONkmXJDDU&&Il;A;c&O#I9~f{Efk^9f9^OP?l>8WVPZD&-engL=_`s z?jU^~XrraI?gDK4zjctr4Vp-ZFAEu&+XJxxvs!Py&&tE0Fn}@uOTadcd+vgQupN(F#e=(YQ z$yjsAa5TYB8abh9tu*@$zarM}V!W7M@IBhN9ffc8n!|eqvtX@m(xtiH#%It5Tm9y! zOUK3fKg3ew3%g}(Z1}_Y${>9oRe>+KMwhgAZ*+2DAl85QShIis^{?fb z8&Qfr&sCb&_CF*+qfk4;a}gGshR+UxDCBU4jg9s1hpUgJ$uL*yUMX(_fhE?-O6eI1uiW zq>Y$j73H+A(w(YyqoGz`)DK0-H{30IVbI=a%PD5Yn7zCK<`T1)cLBE9iywj3bWr7x z2wN>EYolrfXl3lQ3qylm4rIL?GQ-6sp+PT%vf4uE&j$tu?O|wsuxvx*9P}G!VVQpm z+Vgs&tS!=yW7J%{Fg4ncv34c;C_h|5C?8tmjph`aS!!dut(&(U596?tfbnu5nzq-( zDKW6g{CBT;)TrJWjD>cUZbj2kPXMii;V}G>dh%@jEtzqA&3NIxwaah-CvdBZ7vDg1 zv0*c5dG-Ns`Ot|=fOdd|p1v0%f5AEcN<&>Bl!jXk zZSN{u)fY;bQR(VC_~3%*R72De=WP~>r1~sS7PiEtY@s{Ov>(1>JJt4JqYlwBVnz3er6f9JV|H2O-J0WBA$v| zt%ze$80)|<>wBFDmTz&sFS@MI-_pLcf9YNse*@7`FYD&ozA;etO60x7@mx^OwRHL| zD=11JhC89zsreW{&CQfO617UAXZ(Epqj0b1Wjtdv+w9RC)pvLdRmugWH$rPDLn zXD*tvVD=n5t-jEQWxB41p_H#{Mf`t;PF+UJC<|sU=8~-|y-qtW=_a2kDN)ou*d}28 zskL48;*!!Psz1YW8y9J6`OYm@48cpL{Q=YmqWcfD(M;hJ`snaA_y9A7E9D(T3E{sd z@=LAi)_Snx{CCC=;y?eOj?eNc*G2p#j3DP0vHZ$)62BOM|AYSq zk*D%`l(XWCJarUiND#?*&Jlbs4-5$C*MPW1!Ct{#f}17$5utx4_}_v}f=dJ=f(r!4 z0`aJxuK@8XJlW#^DFiRP-`@q_6?_nw3pr^-=mmmv1ZN0d41_4ha}E%XQeFVWpXYe| z@IHI6$jtno72GEH7?9!j3Vn~@3c))CZvisiRH3<_miYw)X-9x`k>E~5J_YexfzTcG z{00d5k>}??mhWB(j{za0E58GXq@D;6RZ?CG1UDBN07O#?y@X0&J*>qK??XEi#Faoq z@q~rGNpJ`d^;~c^5F#=U?PxH+UO?v8iXU8-bDtg4-wI@Yiv*_w(WQHSghUKq24pzb z)reOE!K-?%0y3YmK)3-%&_P2M>DeYoRs%ty1|YHw6H-@OT%$t^bxgq>c506Xo}Q~jMI{ANdb zrnRTP*Fg_)(BF5YpXmrMaD?COpug^*?{v^yzJgcMWjVqVj&Lrp+2h+ZVn6SyfPHk< zr|hQr=z;o}tjx-ex7%hfTG+Gw&Y78kDr?C47ic;dGZ)O7KN~x?7tEYbrFXs9;+-|i z=5@oO*;asafdu=<=hFyURkfggA_KOpd{twD<1hCHtGvPB=*i&cCoW z{1nlZUU<=k7nTei-kIL=uwi8vsfb0H^(C}f?ylEWaygb2u>^Ym_VTm_rTwknb-Le3 z>PuKO`Udt7ir-`0V_jFd4V?*{r7y7$ok}S^I;^X7ZC}>PXPlJ%XHrgPMaM_9yYALO zwxF}5o1uO&m&C)ND|F4(;{|=wvg~dhWT2FX@_Rb&lV*OF!>~8kx+V_AKjn1laWb5H z(SUMboN%p1!UjYFbU62d`STzAL62RuH+5FeXx zMQL;7mHi__=qIw?kyjShpQ&tv8qu5c&7DSdfKx8W@AGyy-5PX7PDm7&Zsk?De`)JR zSz6y>6ZNWCZ*U&c=A{;aD|(q>Za13VZ7^crS`ON1T+dqc%k*VBvQfrGJ7jWS;*lGy zc@3YZ@l_;iZ9I(MityKC%q!e<`1nQ25G)^cJRfzkderYAFvFvI9FIC6`KbTL51N{{ z1t4_mWEWSONJUFVj`4_)0yK7~E;#3XQ@qh$Qn8~{#pXp$DF=sqnfp#kZ#mk-{^{EQ zQJ0~;B+RjC{?s2 z)ld@d=+F4*ahm(JzB-?3h0QEQ#}DpYM=LxvV=Gh=jz8!kaGMgUky;ZdLQ{GXR^u*K z?c2mia$4?hDdCVE`$-M#w<*Nv#qw^3q&t8Nko#l>eW^O(U3Uk5Edc|~k*bJ8buk9( zh$Si_IW#NcgUHqzVNQw*FK@;!e6GN0XoT(=^4VyrIbz|48t z0R-|slteP#RzaE*AS6E0 z`@aEX_#PnVug?N=LAL_IT9n@pL{)@1e?d__RY0&rA!9~I=(8N@yP3bKnV5XPDp{OX{8Zgn$sL zB`08+&I{?u{Hqm0Dmu=W=qwt21p5holgb_I{A&P&Ty)m_Ydp`InUs_p8wP zA>6Y&@lJYmH~*@U^bL|?74*H(&$#k2sK_&>W!c^Q>wx5E^)rQdPUdGh^oet=YvNG+ zcQyYiK{?o$wGME(*q0)Ga{dKU^)bw!Wpz{qe7biQKX2)w)tRBEsCxz#kmi-hG+=(< zHIK*v7@_Fk;!w-qu(S#_w9{~VXevMpEvFdD9-@TiH+auLTgxiBx3{gOhy{i7Zf;pk zL}&vMF3{$$)7Y{c$T1fQR>~#Tm)DptVtUwgI4g3c`{8F0y+TDdL(sYj&G4GjCj_dY zq2RA+^RMA;ur6f!Ti5Z@Fk5&8UI6N2W@v{BSc$6!{4b9$L8bAejwm8xHs)@odDp*rx;J)>O^xi`rX$cI`=xs9=}-uoyjp9MT?RduWzcbX3?WLJ?A_Gq z6Dhqis8La`?4Vt*?5OCKjnsN&2a|eb&^bFQdS$n3y|Pr;?Fd6Un_iiO+4RbS(aEdv zW_LhOWXQo6?ZxrAT+jkSVW?-8Dojex49Wwq1hW$E=Ih7<;8ec0N-z_syD6YyI|Q#A z2MyZw%BWqjG2IIbjx$8BtbuxEXfW8`JZ74-7igh@f@*~y`VC`BfGeSiR*36?xL#h` ziV1uPC-6hiTp|^)yS6@&*Z8_pKzohbOheGkg#J!YHHmG3?7Tgqg7&&D-jg;V1dI2i zLj^4`7iyl-@z661`J&@102R=VV|yPFG9zg7kqP(?YWUpHD_mOSgW_cD3Y@dpv@hFe zI-Fg5M(I{)QQ`#7+W0+)RJzkww#VK4Fzbn8Ut`b)Mu5ly^&P10|2wqYsv0Bf$$&Y% z2Ic-;4m`%g<3-#O9@qXZ*BK+v9>ZwboMV)I5P1-{gra1u-|tlB&A1hAmdamcXS8oN z$__;KQzP=e4NFG{s-G-vO|^lQ-lkFCa7A*B_Ew{8%aZp|^2qrCs0ZN_&kdP_i?uRn zU24@o&byTEENw;9@bl*8P<8R|n(Ci&g-?KH(K>8le?QSzT~+7(7NrjDFwA>u@FJj} z5$syUjzp_ACdwu^vY)LT{qoOc9qLi*g3(C_auWmW(eXZ1NcE((IZ*YR zjArR?4a9~Y7bt71FEF4tisGTMWk*_2!F)(?|_P4AnVUY*>1xPaPmK&4@DX8$G&}CeMR>z#+5VNr`DpFb3iOwNTpk>B$jE{c zu79902zrm9d?Tv+Qk`@f`g=8sHPx?yQtaL6OM}tK+E6vW{m=M9g64DkiKq{#_cc7m z8b{0v5YulS@HQRIaW|cSffbftPJmxZsW4e_EgIeL^=x#3)wL(=9 zp+TRBTA}_PywOR;P%OOmLOjs5eO)QlLa2%Mg=(P=EobP3>B@yjqJqc9t}S42dAfe# zwdJm0){DWcmxEcagtA^rDj2T7ZYHf@cnAuH$Frs04-}5*4``iz`?qxY2@i+KUKK*>ZR}lPtAw7K`73r`N9af~14b)*3I&6Xt zQ&EDyAECo$=&%}eefdUHTTWy-N*9JWak$bkH4eUH$%9quVTTBL!&Kt%0YY9_rET93 z`Ae{@HC$-LH>&$J1_ zeYn(U-w<1pofU}rT3n@D)p!@}zdSbFZB#=eu>XTb`!=I}eV}Y>WItY+VeSYhUHk>O zt6{EJ@$t#ExV*7&?<|$3--GnXp~rDHk6e0W+dT4&ruB&B>z!k)@|yjc4b*AbGm+oM zPh#G&<3GS0%253qbhC5eu~T{E6hpkZ8keY2o~U8_YA67R{~U75Kx}HeFE%zS7Csp& zv%a$J?z^(sv#)=<$lY=f5ugy-wC|7+tHCCc58$1RYVevnyiNPE42aTa#cuCIW*1-2 z?m%o(3BR5Ttme1U>(2K*W^W= zagjeIjw}6`ifU)tb8Fh3mG!bwz1@~wuuF zTzs)+Wq!-nr6-}GqXnb8eG}(etCkxuud8D?SHCd5aW}t=gq)F(hgUO_`_%=O!`9-$ zu=az(b_qn>>)-98p1ASNL+x2$vXYBmL*ragvh~3Wb!(~wgKTR}6yK$NrFdI2(mw3d zkpQjmJb+%$V9QNQVs1=ah^-Z0&9Jscwzk!nXJ096_vYX&3(Jziyv87vHn1Z~X`E^9~i@v1_tLmKrF?c;*x>vrz|=3;hD-mgMw7rT_KqEP#m zCNT1IMXrNaeL1#48?*Kn@1O@3@wf6^z!OXt}l%=Wr z*&D|C=B2+8Dr{JbBR9I@FED;=z&(hIE`ic!Bv}Hmy+qpB@UEkH0@}S(C&quS)7+sV z7cA0AFVacBmY$S@MdIt$!GSI8TyVF0bxLM{n^H85o6b*9nJQ!u$8Me{q=d1YUD-nOOPF&?h%!)fC~c1WfS5fm;C@+ zF1LV;e{3z#QQsO-sl{Z(`cjnST}KhPwLllPbc(eBgMxQZD~Nai;9a-e7V%<~AT@lY z_KEyM^ompJK_XtwphYYpX==n+Vp|B~fKbueN&O zEwdNhI;6U$#uJ`9Z_%upnTx`=dTJL{55YK&k4`1btQdK@|yWGt7ogHL0$bbRFk{b zheml^$Ev5Cs)Xe7r+BHiTZ2_lF?o=_I+9sa`2#S_8TE`YSE7rdBg_=O5{qkeTu;mt zzT+ev9s=}a9d$6`L)7d#5J%?#$MPv>t$TK&r`#&%O|iV)#b1I5MTd0$EPq$=ixK!g z_%G>3PdN|k3V3AC-|<8I6Mpi6zXqZ^D)>*q)q>xa@D`z$3N9A>n&3piprBvyLLjQf z(@*HWg1rRWvDnG`zM#?bBOv215&wwb0>L?g9$+rkGv7nuu>|4y3y}K2PXQtG_dE(@ zK6e9||8l`b!LWo+7J8iE7{Lm`uL%B!U_ZgWg8MPzGXGZvUlM#y@K=Jr5WG+DHo;oK zQ-BcEc(Q?5O7gsqc8m21&l^BK*I$4Pe;SCt^3C``)Au|C1gB752Sk;6W&tR4N8BaeT^Zg7rW4^xuGTskS*-ZZ( z!R3OB1^;ZPh0&5H(1%%&wq({ipF!%-6!Eze{>W4;FWY-#jw*;9N}jHUuIPaO2=j`*~1XTLwUt=j3|IcSF2!`D0LHy!j22TkJv z_VhR%YW7V%II8LkufhKVbf{%G{Nn5KfvfZpCRT=u>rmT$=FQ=vdk|a-jGsVdx~lfp z+N#-$7A@pSUhurZl~mrYojo6v8jHWEl66Nu(54e%@dZ6s#qLrMyAwTt;lnMp?aX@E zbEP|fXiDR-=T05>oZoTUd)gnl`o70rKB&CRO`^+b1JqR}S#MyIL`b%twKcKB)(QOXXNj{$sr9v2)6SX^&>L-aox2V19%h_GV~P zXQCI&zYg>69;y5O5JQzy-4}bN>!zj)RZfDS0&L@Di*FT)MHm9`cOW(`s6=zZTyri! zE%5KK%{VzE*(54F(T4&HMCDXhCp;xn!ucv8UpM3`Qzpizt&JPKJ1P-zQ#>zrEg z3@F0i09_Ozeljw_qb-FD=?!-?E!07V#MLtjIw)w|&prI^=AYrVmi&Q(;un`cOhl1) zt3nq1F8~kUR~MOk7t&AFil`^=D1v}=u&=p6KVJM=6qrxaKTy4yGKmHxqFmxG$R%#I z(k1GS>Lb{rj1U%XQSiOXkfrGZc3(SRsf@+5jjn7yD7e zzX5cp;e|*L|1DE#fyRmI(FPpSDS2uwQofogYb5GWgas;Tflp^d^9RUi zaHfoEkdcyw{X{3>(YPq}8l8kj7dn)BY5KiYUBJc>G@Zhc3=R+(OG~YEhsLaiclp^)PdbeIfvVXBK)=`e^ zTycD)=Ho}|&7jv-QYOH?^wia)~YSZ7*E>sREF(ma{UT)!`-Hg?n29@rlr%x+?xh^inWrF%WlCiYRSd zXD}>#78UM?9ri5nRIt}Ec`Yg;+p*Sw&wkMQKjq>UgPv^J>h`_p%Su2mYi-PTdSTik zL@T0Tv8s);3K!G`OfRbT=G-=K9_|f~O{OZg;o=gMf0E; zSD&*1MXIb#I(&^PmieT9t>%kR3cyP-uwt<(wPLXmH{goJ3ZQx|rn-;~Jjc9Zk+@wt z^H+6c{~ciK#_dZLHWR1ll17^w;?F=nV70c=kMZ@yzr~l(vt@}#u~fPmOQn0+818-n zS;qHT0>}WK2@PSg0@-tLJqSxuSq{Z>wdddkzH5io_n+A!{sB4uTkSbWvWj+5pXCX0 zT&J?W&mpIyBs8^oAt?boHo2gr>}L0ZW%2;G%4qw*F6;Y30@{uy3~ZH_lnq*bJrE8` zsnBLpj(lz=IUi&Y$~n&+8Vp~`@k&0{ayE-kPTEU#$nm(J8@!}v0ubL_K|t_w!Qm2q zuFyq-rwM+9@fHm~^ePbPL%#%KNbp28UC=Bz8Hi4_ybuUh)^iX88gVTUq8QK3K;|-j@Y)fXt^eyZl=anel%vNTV>M zdHy_ch2SC}L@%CGfXweBR2IW&kCXVO;46X;0CDSbuh5qW4ig+Kco1!c=?@6T1<7pC z{||!8fRtk`076vgxeiEq)>S~(^H>S50J6TzfOu7&fj~4B#bDr;y~z05qiCYU@e|p^O&cbiF5|OL+`VFUS6PEXxg5 z`!GsNN-i1>zY%36Be+;s)XBbhobVZ`{s*2Tu!frf;4FEJMdKU$T=JODAe5)GPj!ve5U^&Q7@F?>Z%n=W#y{F=EOVc)15qKnxt=#6b+|qc}&Hb zs{f;JT9)0(WA;dXl)Ea2=S2UQbQlBYCJ9`0Cy$wdaxlw%MJ^W?ypcXBkFojy=8wLb z>jgb_>GGJyclIC$!;BSTR5#3f1_C&5`GxZR(ELQ~1jC*!tan03MFm7hLuLA1s0+H< zMyu@^M%!qEB{ACWSVe?uyQ4_DtIc<;rU$|rh;WErr}2*EKr$4Vi>+TOWqUfDFNDW$gkLD`PT%s{jk*y^>0>CFw8Ck8R=Yuv=ANa_1i+wMJV-4RdPQX-?kcUa=p; zjyF2Gzu7Vi1;$mO*)kVbf#_(cPPLS1&myyBKA)!=CTv^samDFfOA#*G{JW4@-XqL% z9e*%OYw)ToA(bk$6|~%|<|euKbUx=>Ap$ zjstJ=@8G+k9mfuptgkNl!kL4nP5xs|PA=>|&UURQ^ec}u+3^XI=%AomxfdHC{ zj@;;e_#h&(wHVQyZHD>K2nM--^RZF@44MyBfDXm_^}@4LMLTG|V7_Edzdva1qQCDK})kjl)HQFdRDvtvaQ2q4XsEJl(-dySyR%W=E>9Eke!8N8ZEN5E)9^ zvfXeG-$(tK=F8e*ulqL-@m&O~q38M#-%l{Rcz5Cglprxk?Xf+)=rK-=S z$5c}Z&%tDUjWJTaICsl8(C0-X_m@R>xm%XvI`tCx`olL;&Bx~oUr)Qj?&gaT1Id>g zWt$E6_yhQMmp9h01a}+^2UPr<8Nb368JU>V*24Sg=C&D{u+ho)o0E4@rxx~Uqw4lZ zzlO;oKY$*RWEA;BQ~jf^@TrJW#}`+&JKzqYmK2rva+{yF(;*+)9W?Jz5u&Pf%2S`0 zY*I+iril82317_ZdD7HsYqo z)b|#i4Fzg@cx%&R(-7phF)lTOns~2t0|kp4vApd4qJE-b>MF>%tMJW zZ7nPXA4zT!`H}v*wU^31^3%2!UT80sapXUBZ=ma9a)a$@gHhF>jO>T_Rjcalhlkt} zr#Z+}4XniX_MZ%8?p5JG7rLD|5pujF}4sL>GNFUlZet_o*B$~^NLu1 z_Z8-~=jO(~2E*Y;bjamq|8o&$#QOI}*c^l%XAhgB)17LV*Y-vj?Db1Jvwv^PUOy`f zo6F9o&3^8q#Lc^~*S{%{g-wAJ8zk-Zzszbxg$A)1G=O~t-)&V|&iAax_u&5ShN5jn z8(_EJtehLoh8lOPTGD#lRfLrZzDzGWdH<^YxP(%@e--#ny?cwobxQlS-ga9>A!Eon z4|oT%hwIId`GiWVRO|0R8f_GQRFPrU{o7nB4w^4VCu5~{`j(Kn zpL2nhcBtqjMqvM8xVM35I87?!UM{p;NyxXSQa*u{wygxS!GB{hWFbH?x_Uv1jIXr} zqFb>Yypo72~XFY}p^r?B|6(k%2ohU{?M z8b^qw3uJi;dur9{)KRQhsf266UHjKzVTxaQq82MA;VX>T@%QC2b8b|O`d9OUn|W?m zo@z7C6}Uv5%>dZy>^|HvehG?Niq);qx&(#~T^c7HY{z|oN#Il)oH5bD6z(D=(#3iMB86h!L zwsY9+(W?NA*x1t1!TUJu=ZFngvmb1K`wTUSkNtqPZRP;B&G^js2d($2U6Nka?Ry73 z)3Vj)_8s*`c*s3;)cd_2}6!$Xb;BBnoMJ|8xuouK=+L+%^zs?nQb1P0X(hxL1Q29Wy z-pJa>rT99G5DZ$*GN~{o2x`vOhiyXc=Bs$W>L-vuM+I}Q*f(7wd^SOIMqMyEfCcnN ztNVwdmDsr$)O&Y=Q6+03gNcdpjudmpeR$D+Yt0wdzjsDcdscW}MRR-j(u#)m|U*|=ZG{Arap92yiw0P3FfCaOvf znTJB=TOsoutns&MeTP8%=1|#Y_g$Z2UeN+3Sl!v(l7(9GneSw?J*QxA92Wcf?g0@47PhS2J?DlZS4t682mF7t>qwSK?3xJ4NAFY* z;fwD%N-82yx1ctuIgq??9G^fHf*x#Bx@O*VzB#S;(2e$jwV_|Ai@?oSApeEi|^2jC`RD_ z;C~=G1Uf#Ca#sFwPQp8QUg{e>FZd%Mx@FG_Ai9f!I|UmA7fJYRp|2C1Di{Esh=F|+ z5c3_+0P#OX&@GrNcm#_}jQ0|d_j^w8DZwWM?-N`l7zUn#bk_s>;(k{Fv9jX19LW3% zfXwei!QO(OKna=Qdw~q!CHS=9X2D+z{-@w-!5;`V3f?AID>z?pwBTieBLoXHdJaPw zf%Wt(kmY$2$ntCyd{pou!DYZ)#9tsdRq$tcd8Z;h#p0+^&oUq$)l&;(z08;J=|J9Z z3Xpmjeju7?c`qRTJg-2y#&T={vK;FLe=7bhLSyt*;k(gDpodca43PQ}{|jXKegniK zdKv|13l0FH$ez_G1k!~}Aku|K0h#U@6qfhhBKVl#8o?Nl`Az~dpYwn$@5vILCwLGK zg;CM-2Oz_L1Z2M7736sx;O9JZfV}SvAlv}%mm>W!DhH3~c^*jmk3t_oVfnlt0r|W; z@WXH(M91gZg&%l@JovgvpAIDbS7eS))iV^R?gvEqdQ}J(2?CV=6$s=$CaWJh3;uR} zlc$BY`nh33Tm9O%bUygiZU*wgU((%%D?9CX(0_E$w>r|JPSeug@1U=7(3BL|?>Em8 zKEM(FeFx3W+xGN#J7|X4!{2bw+^B62|IiUW$`O8y`YK9EL&h}QUK-0s@j1y+?B8K; zlP=j8-`e!A-n#S;KOdqKJ(!Cw9MPqHQf_^pHz%?%Qmc0+W!jfS`GTtm|8P`uq0QjV zTrN5px;mzTvuN}g>^Im)DR->Sd)skW#3QC5m5QCr8Sz4Ce>DBQ0l#}u` zU@%k+ns{Sam@AhG*pG7oKt<26(CI0NBD7?e2&L;4PSHLOpTRaBvHb?h!(uLkFc z2F&LumU$6b(2$vjS%sqYT3B--iV0~uWad0+dyG<|3CIqKK--;M38M41-B~2h@7;Xo zYI-5Gfe42LbsFzn4kR~;1S{o|=Z7l$rZw(|HyhOuU}3Rp0|YLxyEhd_X^*MUX~&cZ z7AZ8RqU2a-FsJ6@&`DUhtJs1Qc{GOT%>+S3C=EBS`B*n`~!h#+e6I_wN8I z)qNT*Rpw7ArsDyq$>XzcAZ1xU#qrrw0_L-p^;4XleZ*`FRQo9*;&F#Z%~#^fkb~Ch ziRja_&H7#8^F*nq3GdW?fc68RtI)OnGYdYhQ|4{Wv|qqWW*NHup~~b&H6B4Ruv`Cq^gQ+ zz6X&3qSrtP=4IpjnxcTYxCG=t1BPJFuR$YRJkS{Q3L;?@qy}wq@d)5FWQkLl7f-|W z4B!mEIc5Unk}#Wk98U12?Npz+ef_(6Py&J!(yLdR1JQb{ZH0=UL9-Q$%?A@6EHUGR zShc1cNIR=roe;aVgYi_aIespxytiupiQ`d<2{rgkYP`|jUNakQEP*zbTDA<~+c34U z%H)bAnJCzG4Vg!vPQPb)KcXu`{}FJAZ}!HH;)7$3DxE%Q9WZao0~in3ywvw zHhC^qCX?1C`<*N6l{xTD8Jo;WtyfycCX?%xT`X4qiJfC=X8V^D*Fi^{gBL}QBz$_i0X5TaSg%3a)56i|F%z$H8?Ai}Oj z1x!p*xm_2rYKv{P*w#v0t!RCu^_2h;@EPAIt>QatT19PnspS9t&YZh@@6F}~+Q{H@g>16NIuq%3UUj61C$?@2ZUfmtG;(DLVxHFQyA;mG_ zG#$5>6?d9rpK?uZ<(K@x#eWhuZ5x&Qf>y_%RR>u|z?&bbH!69MwVq9Rj&%#IOKNY{ z9Z8s#tixW+`oyAF$U3jN8ZsZY9flXNP5?9TZGerRI1=?bwi%o=pTqoNNtSbiL*{D% zZbur)iLa=KOs@ZQJmZo?*()XHW_2`lECkt!v5=j(xWs(NVy>&t=Ln;3e4q*x?)nI$ z&!WRh%y;#aiFct_I69N|={^qU4t&0O5VrT4k43p+nyyLh)#R$rkQ(4?!?WyRPZr?* zticzXf}^4Tf_mj>Xmb+Y#bD+{Xm9mOq=u+R49$&=gkn||{IW69nKPPa*}8jwkX7jJ zd8p3T-C6d8;v?8qT|e46XdaD?&Z@O`uJbbY_uA0UCzL+V*+}43#YXR+@nIlUQ2{|M zV_OREw2|{Aw`=R0PBZGiJREy=*kNAz1irr4{)Ip0+a=}>)sq49DL!Owm8cAxk1(L| zHlRL~^DIWeJ?gaGU73{eD~x1(Ibv48=9YdG%HB9CXH#mq^$c^oDet!TB!?9F1klwXaNe|@Q7ez z{2*uyqPOg7nJQW42`kmpWNV=oPmu33z&614N4HvAOt6c$6kco#+=E2m>&fH8~hoCpdRFIB;vw7Rm-grUAN; zurR52wh>kR4@6;GRx8V&hb}<}e+JOINMs)9xia-j>}Q}cJiZFruQcd}#?ZI|GTaHU zbuTwhY&$l3Y%1kt;AxDTr+G4bAVXeVh%b40rOXf}W)E1GU^-wDxgAkXTd+-$fu2-lG$) zQVGAGN!WZVM1O4Gi*Llf94f(6*J~lc%nnax#mr3vwf*DVB=`>-ip#XmVJj{ZjApmF zb+a2Pq#bOaq&HeJTP{4@%Chd3^?>iz+boXOr?*-%p=!IO3&&A=azLGA+ehhza60n$ zvc<0=69evqHsZJB>G-i2K-uya3*R7uWV^EuvvCX8sgPopcDAKIIuPZD@n0+Yro12J ztbG#Kz6#TGAEy6yT|Vzmxpvaug9O9md@tUwBmG$CzED3z{uTd|I@q`2InMKB_m}uxU`Q~2o8T6~24G+0e+UQ`OVM3GWbxk$lZv)@Cd1b-|z2?*YE(IMhLNN|6_Zi25O5zBvG zutD%wfT-@Aa23GAFwC;1e%eRl{q_QKALBW^AIx_P5Py*h{2(eqeP-N>KLF%? zoFcdn5LFkwgz=1WeCvSVANd~xA}X>H$ov-pneKQXhNk}$&`B)sB_PXtMsOt%N&I&L znf_-$xcm^-LflX4BS?K?mfrwm`R}4~`kw{TPk{tv^&g4MET;m9pnawY77G>#0#rOd zSKQ~Y-t$2Sx9@ZC(?!2E&papb*1QrFzcr7z_dT{FFaFZbz3+j(bHuy%Jr2bE+4J+- z?*EO;@80(q>&idNm40s&W-o7|%m1+}{i&|_hg^QH;_;Vu$GGYrk!H-1KZ>ilWgfa~g!;Jc&ueB#L`QyCgAyB#|AuVsUdFIBevo;)>W)IRmCu`U&Mv_I2?j|$xs^^5r%9|e3mJdOJM&rtSS+I6%)V@P|rcBPvq0FG@%{%{(Ac0BhEPv-d6iFY#`f=?{}A-;`f|89*0Y3P6iK?V?2%=f z5Toi*)v1suPyUHli4iT0U}xk(G`xxT9cbXQ>~Ue>;>l~$dLs^g7Wgr{aJE>v5)2-O z-V9V-+r#5s%5^!!>h)%nlb;hvl>D++M%MRlr~y3n^VvgF*h5!Z!oGnKk-qVOP0SYo zeHP)aL5+nH6MJ!o23*L^(6xP&ve!Y4LcPZzoL1FuqZcc7Ufau9+@+K zL31BVpp%_hpHayr@QT-Q1U@_8Ay!mr+V&Sp2o1rAy~Q0Xjv0VEG{>qV|p0F z*JwH6=3JbLqq;aG8tS2{Co0&S7)1TI8C9QFsMvJf*uOh7FKiA5yUflju=B^p^I5db z6(jSCPp7L~vCHu;xVd7xb)NYFc%i^haUB_O0b51B8Tc8HyXAT2`>TY$ZKxRR3~n7E z8@H2e9Gvr2HY`t&&B;yz2j?slfO2lvISb*_9Gu%!CT{l@)_oJ_nRA=aV&AyVGasYs z_Du%h9%wlc_b?h@yNArJXU;R{F_A|Lv+Hjt9=Z6vu;scG%}+gzA(mW*t60^}ZdY0v z?$H^x0c;t{nSp00;4S;6&Psn$)#SSyfZH3Q>m@;GtM^*eYdu-#BO=FdA{u0AC8WICc}|jKUfKLP875K(Y$s>Wv}Pzt+tREg`t9eXzmA?h(nG68 zPPbXSHy|b(e`g-XH686wb%npv4|%|+@GKYp3+q?T;=hcp>PDO591bP;A18blwnI59 zT^7De3<*|YkB*M*a-7vAm(2GAAqd?Hxj=b zh>5)DCSV@oD}W$ni_QY_z6~I%@E;2VU&jA3I*;*B0dZ@QKLF8{5%Ln4zCk}V|Ls7g z<4nMGR{@#sSRm6C1DT~j5TN`dU0Bv;2EZ-Fznw2ph&cMK@#~f^JQL{=opy(~{MWer z0VKAk=e6Bm=JJzIVvj!$9=o3(db^*zM7w{4EB&us@#|gw2VDLyUH;u#=kLziy>oWG zGD~VsRI)&}=D2^ua+oro>V$PQZ))r9X*p0GmNEQgOGBGwT|R@o-F5HK?DoEf3_ht{ zdtWm(zahQ!&9?64p1G$0|8N}N?a4VV!%Iz9&OC6IA9D`p9ln#wb#~pmQ8KVRyw{#Q zOeUjPLaTLe`*Mz(r5tOGHwo=zd6vUm<8U3xIc|~i-j|ncrrftxh}^#A^>nn3-pI~@ zD^|bwj$tyxJgC;KQkJ90j@HqAtmh!*EtB%Z%Q<r-P%JH(;D`+GbQ z5YQAa(F*{Q1P;lX)bG&n#Kc!9Ab5Cn9TekXBY0w6tOU{~B@m7|kFt$g@l-us%Et6( zm~DH!Pev}rh(aFCd*7Q-M}NL~VBx0b{%MIfyVf~vKdpAI&!6m%rZur^xH2CJp_sp6 zEQ(M}sQ$wOSW^yn{|p9S!^=;b^b=#pV+d@!b%uF;7&IH8u&*4&|VzPp$3$Ls|?Y=BrLEj-gNerFsxzFC&z= z(ydQD2Kv-`_0E;do9IsHQ=e6=azSzq`qX2v7JnP(bC*wnl?Cq-k|2`B#@_S z!jQ9$FH{QGEQ}v#S^nLLmmLov1+YE5xhTV0Rbjn627s#RNnk8s09rsU8zUR zjVc@0+qL-D5)&=)^?`|0@jVwxzHO`cl1iTzZd?kHBUH>}(Tm4t6`t@T* z{izqM1@^UwK(2&>p8ByyRWnu9sjn@aNIx!rBuV>G&kSPAu_l?10Yc<+j0Au*6C%(zq?P-OPQZ zIRFx*BuS=qN}j|L|Itrg|5BMg8(&~B!s%AxMaUKp83*OsvKwyc$Fh9oto42tIgT(A ztQYuWFl3!nh-ZunONk<|C7;Dds{mH6Al|6@VQDKdRj@FKy9f@caI2ZZzQ1;n5K zJ$!kY@2`Td3O+A*3lM)r6U9&cVWuA=SSt1%E#B0f=)2`Ng20d;z9AS^R?q2MF#f$i(>bJ%HyzKEw(jz775xfgmCM z)T?0o7D_y4Os?Oj12I?lId$g2zb_DfkuNZDpu7lAU%{;v(cl)#Cs&q8iD$NJtoW&z z!EjDM$nT>bAo(~c?T?UlVtLDeEN=>s`9nI~H%ibC1g+~Y0HR1vV+#KSwDSqL4yWH5 z&kJ-q{A%as3#>pelBXT{40b=S?fxIR{DWNnvt0Qvam9~w`KcOYFMo{7|BNgB7MK4` zm!I+*_VV_OPmozNTN9FAS}TD8y<)ZY%xBIon>sBtclu=#kY0WB0NL2AxweMPFN?+J z&&9cHbLO}c(^!SA3aRzq&rfK@7qB+R_4jfQ?17(@oj-8W3A74MmwjJ+T6|ubH-JZ; zbzi(I{DDa%5aBHTfaT}%m;ZPNmFp~jU=9fwIEz2fh{@)B26T}>Fi*CMnDd zX$P;vb;KX2kn(EerP%H&0CSSVb;KXYll&Eus{#$h{Na7M zCA}*rK9bv1P#t_zQK_Jzs~<*yW0iX{9tsHYQvrI-G7LFVOVK7n+dvB^j*Ha%BL-XG zL2QfX2CHG3{D(*rsMrM~wiWscYAHA13P$6U(xJ$Ej~LT8elf$e>fwkneHNXi%|#oD zvq02iN0{7#b!t^SH5`o=lq9a{TLsg5uv6UVt?q@!8dcZ8K2&udbXMZRK9yf;GvXuQ zO|8YlQAag>h|P*zW7axuYTJ)$T4&6%Yt%szOlf~6jF|y5GSl0uI4|HmFqnsnKD_9I zi~hXm54{?wz(s~3pqK&0p@tf@-H^$nx*&;ppXyR?5v;zFFtwaL4brlj5GPH_^KR;s)esoPMh{3IhQ;LxjV z>Hd1<3&>Vs!lPAEd;grQDVzzIX4t~&<0 zfD?R-EpjRYB1?8{K$xMoX#?)f{olC<^^n$a@hn;46Y2KAgc}8M^o#S=nmX^`Q zmP8O45p|dy-4Y=s4izbIx89>cf330Pt$q%7fVZ^fDWGt-=IUFGJ8$(4b*ud9P#Q!J zX6WTWy-h@sm>UuvuOb_m8Uu78wE#VPf1vV{peU?^@jYn3I{8ek^m97qGkuBHWZ^S? zg*tjDU94BJ0zi|V1b|2K6Xol97r^!iGxwF^=N~5xOjJhDIc4Ll0dEbBtn8LDmR%Jy zJ{s+qs~V7hu5Ql0x;du+pr&bS(Y>mtbWaD)$s8To3$i`l>iZB&(~eN@dlsxF^&mvY zZ~<62uu)2}ti!2)&+SFXZi%Ruw|bNE>t)s2BcN<$Sy#w|3o$V zU3?1d*A=D)fj@|;aUS+IuyxQFn`I<#CP85|R9SQdIsA;-Oy@UKYd)bss6xkx_A{}Q># zaN^2dC5dZsdT7hyzJ;6Qdl^cMd`rKY5YQa{cKp-ky(!lSDa&mtSnW4K*iuRM;b!pE z(+;z>&5|Wn#9;d>!F!9*>Ex>ZhuPI!vD;bIy1g9=ll{9n&AM4>E;GCZM|D9_k>@IA z;}`SXMLK>Kvc+>BoUSc7wE|hUN06o~a%uySzAyeKea6L7OAFhlTnGHKv332BY=3+{$qi>&#fRgSniuZ*7LI9pMd!D--93C*Ihuk z{GW^eBP3?{=|JdX_-Qwh{_lwYV?2CR;U5S@7e)F2+0T^gW4cQO!$4&51qBBJxxX+4 zh%EaQ3l<0hRColDl=HLR?;nZZnh(m6&d$%jUi{X45=DCarCk}W?EWiU@prr8k8}B7 zary6X3-eGOAl}4fBn>*zXxkI32_V@|1G5wV{v-4n!{Ra0KEK=d$ zAe-13RXx=`=?<|8D5kejY+-F~PDDk6uM?XT-!B|wZ8&h#p`dW+Nkef?>5#%U_9sp_ zaX4b=vhPnQ70kI;l+C_u-Z!eh*Qn>OwEmvu$K1sEiF2KDo!zIn43ice^*fk%JLYTh z%i*aYSgxae1*@FjONO6f(zH7i?{FRMD-_6$6iY5ce@8s)ag$P(qsWf-6{bje^Q1ia zj-}g#Z^_KG2NxafD^M;H^S_7km1}{>pWau%rE+W_|M^_H>J%T%+z|kOBLH=rSSWct ziilNh?{>whLFmwo3s6-JCq+V6?c#t+h|}rRITRx8rkAPV#5kNhq1NXOXXJK!x_NY< zK~2C)sm?>Oc&;FuM=2&gjfR7X-{5BAH#nEyT>B=51oB zdEl4vT#-h7N)cGx?O0AKF}ELuCTR&ZibBTogR+}a*@B23`p`Z~wAGNME}T4WMquH8 z2EfK{h$2BoPOS+(q+iQjk7WK0D#y^hbVly)YmUKEm51EBTBbK&haDg}4T550=cT3B za3Vz5+={XsrnXYd6wpnLj|3xV6TT?nWIlzhuzJ5)`Fc`appABt50)Y?3A;Qz1aud; zSV@!#D_hwlzz}E?1BI2Oof%0`mzAWkXbl8?6( zq`0$%!!I*~vWTsn#Qmt)xomTMhH9@g&62>hSSNZ+iZJHW%@Lej)2N3fuGTlO3$e#T zT1pMhFa{@V7pl=2a*a-~&03AliH&N6=9&8?3>;xJaXl|^gi*wUVHz;I^;4^AyM46G z=hZ%OcShN1H`b@=#igsRtl@g~2~{Wkr@F-U^N7C219ZAN@!p4Voo&5|wUcsg`K5jc z<$AF~)^k!m9>)Q_ez@1@o|uM}BYj(f|30#gV?D}Q>0EM7l*>Vq$oGNxi)@4kQ*u!f zh);!|ayIz$@jWD#3X)++KhGv%`nPeX^i$TK_@dy`g0xnN`PNT6tSon)gwGPZL~x?S zpDg~tg8#xz;2!<&12MH1-3CNGks2V|&3k4$3V_I>x`Vg~emkAcsfqqNAe~zu#!dJB z0BMjs?e2B?8E225;PMZ0`8%Ln(`1x`N^MP#QfsetPb5|xL)>OZ!x^p!G&dRN5xtTw z(Pbx|)V^K`>!ppHQk19yS4`oo*dqI?cT%B z=&^W&O~>LYj4zNsCcs8koQd1Bc3aZKkFuix9`pg&q6nMoR5(hlsaw3i3fZbcs;;2{ zg~w3<&fn&Nejs&p5z)~-u!G`VdZ&uZXAcGvUF=l1;0X1JfpbCdg4k_AXV~;3 zirsc4JKndh#S?0^Z;gAg%!rOayMB*50cCm%00i<6l&|O2ZQmZ10uIANg`Py(O2H7F zYo;?77o({UNvsst6mV}6`;Me+xqS<3w-GaiC#PRfwZP%H$wBh;rXx)qq%Oyg z+Dn{?8qf$*`q)b(lhJ9c;A~6jg7Ujac!o}RmP)u0zt*PX5hzi!S4b(?zpiQG*oiAoGOH~KU$kQaJ9s-DzK_ls{*a{ zfZr@@1Iid?vxiWJaJmT?W4p61@Q9uQ%U8~#_s2Nx9V{371+2%B&b2PsA9N1*`~F?{ za^X$%Z4=xg_%4v~)H`52^$v&)f_DJn{FedqfNpyPqa@u3!5kn+prRMiE|&AO;2nZL z6`UzJRqz7A@q)(y$=~+@L249HERg#T|3aZ`$7&$Ue^l^6!MlNsH^qOQ;3y#XsVJw< z{iGv+n3?@F+QRaCNIYjP?sx1&|ASQWr+}bwiUt7Dl||nJf}|=s5Xk%d8l8h%R_hsL z^}hr^n(F@xknOkwh;ZLe1uqApoXBJ#%88r^WH|*uU9`se@Y~lrKN7z+zTE4Pvvq#_ zYPSl2^3v`-m*2fUq8O?@J?UAypVxN(PM7~zF8?oG`Pnb_{1>_6-FgIuE1vdO?fI{9 z`FCSI7Aj4z((F@0>C{uxGa$GjxWlY23a9Y^!)K3Uvce{{QA4 zgnO+i+bx~aV>m$!7l8NQ@jgM}@RQorV~AhU_Bl>nS$}fAqO;bYmY>T#{$mbMuCwdU z378bQTD4htklf3%CYJ_VDNynl`&J6eAh zNWU3Uo+0Ilmvie(>za51{`=rx)s^MkrI~04=2cG<@HfD0>rdw8Kc7oiU3&d80k-|N znma`r4F?dwBtdN71hj{9<9SUiHf+8N#eZCgw)Y`C@ci&f&WvE9-vppEtO=Br#Xr#~ ztSqRVYa>ZRNRV}9!Catc$DzML#Xq7mlMvUdi@3_i)kVh6nQbv)3Bl6lJcXN5Na)dx zQv$6&QRVq60H8n5*QHaNE^E_LeG!Az<+)0rl^w677nwGT@r1!H;|T?>vjxJ@a@zFU zi5?8|wC>rs&Er)I^1lN>dp4k8bQSwDSlD7~(jT<`yBdI)R`7tL6B)ILNAbB8)V&ijQwbhd++AXxHxmXwWd_>&d5TYYnXd+vQA8 zMfEr;21+XX6xLZizXlV({!YX%v8Y`OJD`9&NARWz;|z(cDCt=X=FOfOEt>;g9AeUR zu4;wNC-PUg6`SL{a^U_-mBbdRWP+66&DS1?Q1Z3wgkNpVOKHCLn5unlNS})9@sR$) zpN~2(MA~5{?kBhl;{bmVo}`VS$o)V}ZT_X&@4H@*m1K zUjv4}3B(lQUkzlrDf4{${K3$J6TWly@BGQx^%YMzp?$vd>~H8h&-D$R^_{o; z{Fd-vqQS?F!2&c>YFAo1AvlQ-$K}4pV576X^W_+Hhclpyd}gbh-!d=UQ5bx7C)K2b zI^r{1dho@Pqfx%gGjWqrmZQjyzVl7;owq*bwC65Cs)nw9=gZNK?#P*kkNtzdY~Oh{ zkpFxxU3L7whB4cl%%6#Aa-Dw`Q{0_HxG*MM(p(HXSo z3I!fZ>b=!LM~?0KI8<)H00#%N1@{XggR>2Zj08}Ki~{rszMMw^Y#*v~k-++FI@p&& zWKbO+-#qfpka-Gxn#ibB`J6;XmXmO_!P+#LVQtUTK+BV=NZ;=O_>2ly?nd~swl4Ko zR0ujFtjLRRZd-n;YDIoXx8f^Qg4^^vTQS4dM_EXVm&l2O=y(s(4iM)^@m0hP9<7S@ z9i)rCQx{Fb#dd?7Wj(}mr9e;0S_VU>yGNah)32$I?V6$FWD zMVcU)eMvTggx^Itbh6V`h<6c&Y**yA`yn6cmF=<*FXiJgIrrh2t_1(%gsx#d%30|| zp85lX<1g|eelYJvehb96qR73^ezs2M8!OlkNIIgM_`k*-;?lQO@KeEufGlsZ_^%Xn z@4u6f$9(9goF&W6mvp47SuSZ4BIzT>ZwAu;hTw02n7aL(Suph$ao-T}5z;-pFRstn zjshTxLQ;+FKReySmxKNaAYBpu;Z3`a=%8h;^vr9||35$nDb~>JOT?H&)-8D3hCN<_ zcI`a2MHhhqq8KIZ$w{iCD!v&$NH08mI*UHC{QL&Kl*jjp zZoQPJeTu%ZNGBE45g%k2+JX1eL#^13=p*%#S`~E?6@8-j;c*xvL<*rKx*2CcHZ`#T zNRe%ZodiG=zAY5_)29a(YgRglq>o1pgcQAWtz*3Qmv`#ZIiYUhp{We0`MAr}ST zaM}s7eQ3!B&r0WDB~R5qe6Q*vjhNAXOgaGE+A_IQzSpW`CZU}s@BK-3N+$n+z@)Hr?U~4s5|C}%(e^qq9Sx! zVkeN=xd6|-5zl?2r65dELa4$6Hdq|OT8%}d*cm=bkft-~ zA0pTfh^f?{2V}YL;3gPP{tl5Z0C63V@hioDr{HWLJ{5j)@-R;p9SUSS3xFsRK^m)o zcKQZ!%3lnm<3MMa_wzXF?fKo?N;3TPz6v=m*|cZun@wG{tDPCm zojw4|&G>0ozOW5?=EM&8JoaYU4OH!^d|{n>(iytO@?$LQ7F~0z&>t3E(}a)pV3dWy zRza{F=n$M0Hf!z-32^g~ta7f9!SJ}W)5?#r?Qk8@HP$(M#gc0n+J*PRGjl)no-ou= zWJi3Tanc@(t|^!Dr1&oH@06n*kVo)L0>ft{?zug_5BBZ5>@?qpqW-XJ5t~FMkLl3y z@YXCrQD#H^r-xR3%`oM_tzVV?9>;W#&Y4{9{DDShV9}X*`CJ2}!5wL>-=9eLC zXF%3|#~HaJ-{jFQgPZp)Y~jT*hSmas<%#B_%?3*xv4y)4hTe^!?#UZQ0yd&RM9;@MRcx{hF++V={EEd zHb1qiiNp_7Y$wfiiVdmR6vq)of6v1w`z>S!eensv_Q{^e)})X7No~OGioyoTr1w=G z-}3;J@C#kSgKd?NqQysLJmVKA6-<*e6>I25c*15A4V1VncOM@%VanI8vjOW;?doh? zqneN()eX`I6ZIV9Y!Kg1>z1-Ghdx6z$)&~Wh^$|!mU^qHJPH;M>bI^j&?*qvde02U zx=VPb<=!Mo$&&1?N1@Lv_(@l zA(aPK-_`K#z#cSrfPcZ5~?`LGhN{-tR$wsf31lEWUw= zgCrn70fE}ZwuHx{aHquDf7p(M;|psyC}EGVh-?eLO=4R}9njp)e#$P{r&E`fqh(oW z@Y3?ERJh0UI35Wc9+uP9iT71Z2fHKBw@l>uq@D~v zo)FVhFC9U?n*^!XPk)u*xq@d29tP}*^7jLRrtp(N4^qSb36S^w5s>k(13|(RJpe>` zksE-xl}LXe>n#AH2u1Y}E8x$zE~rB|T`~TVF74cWPfo@5_*{7G{_|Y%hq&V1>xS1{ z>2G)WSG)Z8xcvWe`LnM(@OtT$M_Pi;q385X3avSXpRKq1zraGTZdiK~ZSAgqhPAcN zZK-3mt@j?AA1@Q8M|uggr|X~o7~FJRuP78hznT0O?{4#TxlTBo1$S}%WASx2GB4bo z@^#DcGSd~SUyo-6CLIP9<0j?S1$2Ur)<25MMN(`1vsucM;=8>5pwc(e^t}W? z{d^v%|1SVr{WIWI>xz06?Yj$r#78S%&m_Q>cqY8<^L1_WoJD6^_-)dgs#;K+&gvb+ zWapx?k(%EYzqfxU`Mnlj`2YC5iim5I-^;<8jjk(3INc=tc?0 z|D`U!o9?oYxNn!~YpbaZ&aXYitU2>$+jKANXB%4k*%m>gwyD#0f7+mbPCRiiV(2NS&ahy!ihfZI@;G>F8tqeWF+gPJ^Bah)-Jm?`M(Ji z^=2(uQvSFIf*D+cp6}9Q;O?P~TPw{|5f=64iwKdAdOd>jqJ=(soOlT0s~%d~Nc7 zTgd-~VeMZbS@kB1=i5pCFE!?zdK2Dc0%2X`|8ByJfZlBYpm$GKzMl61Y&S!euATaLI#6Io>0x7RL=aj(M}A5CGct5`+Air3+=s!{9m#w z_MHFQuTB2%V9o#KYv^DB&marT}M2Nf$TVo1$?b7 z;c@?sEMWUbzPyztwFUJ05mUqN@Q3FK zf7mLgE&gzx@P}ECa&7R3Zv?SH{_u4`yp6tV1Y?5JCH{QzpCfpN;Q#T5JI5b>2oC}M z+aZ6r2I;b`BkI&cgmxRyKB&kev-{_}{FLOf$6w@%|Gq2Uz0TO|N`JS@|E$aZu*=`# z^0%{2`HwM)9q;=81gF^Jfqm2yMUYpme$wlt;o14bCw6dt+nlMf=*-duv#u8FsM*#> zD=~mQ1^9>KzJ#^*Q30->E#Pa?t!Ey%Ch=SABWqdGS-q(HWgcUBn0h>`ux{|P;8y(M zOBO6(xVX~N63As*zDzriJ?*S1k^%O2g?_G&<}QfwQaQK0O`T-s$C{3IOxeD+Tu1Ud zf0y#OPeu2j)lu4O@tnoiv3_=i^m~EiFmU6nq7T+hQiVJrouDKBHTmCkh6ZJC)!u(y zUB4Be9lcOi0W+dO_VpVZ#(%bxb@ar4S6!?1PoQ0~VmZ+zP_+marHY$aTPMY0XlTT} zETV+Rgh16-x!&q!C<#|M9quuGmE*19-Xmz@-WV@o)5p33RW04T)#supT;+MIc|J9+ zdU6?kjX)F+v@-{m$9Cq%g9fa&)_>gHTvPcT<)kX#-QJRebG3RO z2r;QmMqY+d+A6l`^&VH7b$Sd8t1Y8Q&h z1Y`BXh0na${LGcZpp`NMaQ?X9=x|{C_|kKNfiO>(DV>lG3Y|G2I3{?GD|GZ(k#XVR zBos=!Fsi<}mqlk!#b?nL#4o+ukJ@o=cZX6lj$25ti!!0s3E&osPd!e4zq_*D;rEn0 z@nTuWSl|EjddDT_@&}ZUZ-<|DqcETPXg7+uOz=91=hVe;o>xtrAxJBJ2OvM~;$l5i z)Pna7w2Gf{DEQ?0h3@dx!_Rz_mm~g8;%mgeSnx{0DL}aVvw$q8P{NNDr2ZbNETSD~ z{N>Z42FfiW4}ke-7nk)=Yn1*Y#80}O<$Z!c#(yNZS&;g94F5e4F8|l~p`Ysm%pLxz zKzvXARDi(?iit%SgDwS!*K8Z>@Lm?kU&V_0Da0 z+2~jv^VZ^JrEC{G6$Hz5w4Siap#M~cJxN-x&!suT`YcFI=8-H1NncDE4(va$9lr3 z{QDAQg1uUOk^*Gw%`d~r;Myh@1v>5|$Fb7qFw5o^j1@AEo836BU#>{=v#F{Wl29AmJnPS;M3qw zkFfckQMIO5#iCkI%nKXPFgja-(=b#yAuPml)>JK8=_#jqXhbbxn^YV#gcEv9B^Iss zR-eQAqE8`%PP)uU+{)JJ7A1nq!{(Ious-WNn22g)(p$xfw5)p2vAYUjOOgRV^?tU0mG~JGHo?Wv|#s{N~0DMp0p=WcWw%qiFujZeqH(R=Nm9ui?|& z8Oj~GvHAOjEzL(*%etL>l;NBgntOU5e#w|6-q%~kz`XQ2WBBt6uS-?p;n>V@@1;lW zcbub^D?P_+S5s%}omjEsrTq3~;ra zLU61*#@s5^t$5=q*DgUeYQIj_2S`rO=sk0P7K=xo%Yv<>7hwDvYP0_gm|tfs%30>* z_Lj#4`VXoubYULeDTwy<{`TH<)eR{EVekHY{uf>Foz%w;}BV?X#AjP;Kj-Fn^ zf#Iz_3crz>_r2A$8evo|YDCy=Dy+p@%~>WC{W@5H1MMHpG9UAcde4mq14>aw~Hmuf12R+G2-*9e4;)kLLU^%Hn9 z$~uZUGGc7s_%Mcv#*3kCn~xaVXVH-|8>n;!^v@IL;03#a<7kVKJLKv3*pS&$*iyLl z&o`o6OE3`A+Mm!Bc)Azi>4K-iO^@-w3yG?e!zN6qFRJ7IC3}t}VyI?m>$Dnfmub$zbQ;tJI$bOwf0VB+}H zGF&0g#VWCHtj?OJvz`F3&A?Si+B^w~N2q9DJ^=OTUEQ9vf@@1$&BWBB=4pChF>FDV zNc=|tI$aXgT&;U-jWx>Ph>i=u+Nw zmXc{h>R#khOq1JCCaS$lLC@c*dah9Qs7^^y*IFecD-H=4>Vy?4;csjS|3MA>aUroT z>mYIUc82pD+7rldxNJ_@oDeY>>kkxjvKFs-tv)?Zg!}g#!U& zN!*#3`m*t9EW380HsVQh)3s&ias5B>*1@rS<*fbaaaH@?uun2=>5+V&F#emi>-4No zIV-)(Uiq>-&A+Gu;x+Uw6pRbbkoXJ4KVC2_2u`TV_dUVG1bYj11L8aDe-9)C%m1q& zNn`q-7raaG4#BH|SYP;QACG*M3xQZV6`cdbpMMm7SgsGqat;vOS8ykoE{xvg!4C}5p2f?_+j|p1YZ+;LGYJA zJgTClf>#RCKK#MR{}>QUGXEcdSfcrV31q)eUXk%hAp7TsKveCI1JU(GCjqe}^m~CQ z(!U*_8n%N%VZ;}K41Y-ce-zwDqvGS?vgi{eMiE7C1MzwC-!FKpU<641Un8bkTt@y3 zM83#uAoI1LGZ60EF8B|@je?H@S#C9u#Kxt{z)ke7h6dx63ZiY$m?bW#whl(ww_&ate8P zQ9T9tha=y4iG3ic(9F+zz8G*8-_G)58s05A?taV&XYuW};AIanpo@GvtDKX0FK}UL zr}nA2$huV65#Mf#|i3=X|@WzZ(&=Az(g-W%f$7%-&^2)>>T86-e(N8k;9sju%A&@Hr~^x$b207|d#%y7@Zm?uw($9sxsv&B zAO}_x_v(ywfL0kNsEiyCSdgAOKJ}2!xmIQItQY{VPp@5XQdu$nthFnwM6|?LjBkmrgb2~Oj-_kZ{3N|}1)FCv**uNvxm$y%d=H%JsdWW>fhPqov*$ zUcYclI2n12G!)vtO|wW=22E`Y5Cu(67c`wqXnk-&i)vAR3V`+q^YQyqROcBNw)L ziTSzao6i9=?q9e8RRW%RI57tb7aJ3c9uu2DIH3+F)diP(t5={f@UgwsKUWucb}MmV z?yUd#(5iP~B?M%w$1~#WzVWLWmf>eF`hjIL`tn}pOGY$6wp9a+wY=865M#?*%`;Rr zgCoBM&jmv`1wbEtj5id|@Fn2&!_~3342Ir zscDp3I}3`PxCRweZ}3(x1**qlstY`pTX7+e!$_PBZuvT+{*&&Cg;@C^C6A0~h|gfX zk=x^h=4*tv^ttYAE-Y+Qteux^lMlieKiyoNO2AsMHQEZd;yp{vo2a1Y`G7#}So~UY zH;W-It`gD?1`-a`2?wi$><}yA0+eXcnEw?A!?_7QyAX{l4qS|`v3;h_pFj1g(#xio zTKt?Dv6%}z>CkDmgD@yG(`i((pBCOhLeYMYc~E-NBp5FTQ$GOqI=VFJ}!RGVJIK8q2J9fA+e4Z)b}|)=ZyaV zNdH@cuM0i^#H$ebrS?Z=0P&IVha`TK;K4w==|$vofHd_#BsdpHe#9Uk%Q*~)dLn;C zA*`>hbMdMX&+-C5mdA;l<-84K{k1^mr<@b<_kzC`ydDVti2oEI)Ay0^0|oaJ%oW^# zLU37>0Fv)=6%g}v(QF{*;-WGjKA`@IK-{W72xPg`>B66nJZ<9sg4=PkjDH!(@Mi^| z5`04NXM#5i-XK^bc!A(}!LT6t1uXXvL0T$M^$Tvs*rNXp!NoxG*X97pPnrxQ|K)5T z?~{`t<4*(feun|^sQkwOF;t2Ge17|oZ(--VkZ?s%+8ycgSGoLqA+bF@>T>wmK6^ZO z%G+r{WJj^?u!I=E`F2hqn zuv}^B>{+q0`BP^Xo}_}@`WaKC9Ly2QZA4>Op5-tXJ6uQdRP&^~x1}$dKZ)!AF8lQV59)D?RxFj8k3+r6^0tqDl3G=q6KPG3X!ck;Le3^OD9z)7&lJdmc zWxmW{v;*G{59P9^ph4~NWvo87>go(S<*BOv-XHQ0IPv>gtR~h6%zw3W(oHxqlobT3 z7Guje6gIz5s{sk^PzHk1RIOzoLgrf_vdgC^SqSn2O3cki0W$2E_tbGZoOQvD8I2C% zaXK_IEvtl6Fg~y(`ys%#O5j&1!-#1fgw^;^qyRy_pHAP`nf@%5o(~@Um-DnJ0%Z`I zgR&0HSJ`~~>O!8v&7jgP09&QwR3UhNEM%f>3m-ZLSVPvRy!ociI~hLB23e%C+1McJ z6!N;j1n%Qcq_%?UXf(&Qg|DAP`Six&Kt}0 zW@;LG9%eSZ)jvb4UFQJ3lZ|JBKqt@S-F8jAc2~{G=WY|4L*s^M4n_2A{mjLe^>FQ~ z9ME_t6YwU*;aF4$244+Qf-&-nFh;O6`~)l6^+9v9>QbG4D$*w=z5-#gro*ejrAjUnR^RI=kW-|&%?Pxo^PIs@pqQG7azq&aA#E* zYq&F7XSCg!UQg-~gz=M#VetyNpXUDQgA%tWk*r+xCUX6Xvk~nD$8xF}Tr zK>-df3U^O=`|o`T9-a3_G&zR zZ><*NI!3L<^`Y`zUW=1{+MRXyJdwMw=&!cc;p7{0om~XPtLQsPkn3XlkCgb{;_oTA zkKntQSTP*lNBN7ZS^^@81hx65CENP9f5?S2wpcK;xkpZ#EupXG|@K9D{B3zz>SSN^}a;@@`p zH@N)dPuR~`UVg)9ql%?Qq{hWA__C=Zhfoh4Ub`MEsfKi*m8I=ddGBs-lY zSHN`{d0Z%{f?&Ch)~{AMXJUS$I~Fgw-AQmds3W<8agx7Sa?lPN<{eK3CKoBoQDjH! z*JV;(xs+Ec<%ze;>(^yy2YJtpn1om0h0V5pWdr&DO~@4ti>0iWI|JsIX5?AW z`;CPg0%n~egFyv5b%MAT4#JyaetP*e7!9%Z?Nk=%1U-V*K~JWxBpKZc`(W7EtifDu z-`I=|DKX1lG5eI5<=ynQX3eI>QN5X&r*(j^xfwRMsv<+?Um<(lJULkNe(ZGU`7A{3 zO8F;j&Q^*)7pVZH_>-?27y#Jl?GsUbY9feVrM0rI`5;|Ad~5+Wx(c`A+%Hk{!4_$4 zYz$R=@RJ)qFN=!L0H=!2qC-TWpF5)A=;d6xY{AmywdUiv{?NN;&ZUOhJ#z+S+qA4@ z#|>D|P0RW~vSe@Pb|qJl=%)sf0-i+V71QWu)Z$W2^@ce*4|+M~=w3A&79T{#nW_e; zYkY{!O6k>$u><+6rO;p`CS$+(BV^_-(AE%xo|LM5K`xyH&qA(nVb|3wStGzQu|>DY0K4J;;@@2LtUIFyL>Gcf+8 z8{$WU*;CRFYA_#3h_~i5yj2Jd_tP>xA!t}Z5vHWyIJ_R@0!_lcvv)}qI)@vtOY7P5 zN*AW)Vf7I5=ctbK(KHqw$)}k1(5>9yu|1NXsJ_iCp-G2f^-abG@;s{ZybQ4A;p#q6 z%Na>=fAq6g=jY^;yan%OtzmLww_Uyxk5%bF zDQa_rH_{@oQN_f95;g3*aE4ft%P4)kk{)ywxvZYa& z@WcFv2p%N3HxPgRk5CEYHw)ecWH{v+7`{mG3c8I} z!6=`KnFj*z1oi^*oFTS9De;SdAkvDi0HRC$Wxzc6d9D!o8Qp*=FT#&JF4Z~fY&Y$; zupSzsCDN2F!)dpL{woCoKs2q0=LM60L%t39CCh;biqrsE?rA`#BUOQL-#db@2|gvr zS(D{d09nq(K-N13$b7|u#{scM@fQG5G;U2J=?FW&WwZFL_u*Wf4!_zR2|)g|t8)3r zAkrR>zIFKLxcqLpg+;FXL09_8uK3J48F$#XH-G%B8#}DNnpz=I<;=JABC8gh{my6F__X9eh{1>{`huz}O4NkJiP-~L{-fvEWQQuO)Z=T1XRQ+ANfbe`RyO`s_Fd;I2Xfg*+oCHw3#B$T!SN8e8-={woYD{R6qKDhiA%1o z$#$;=#{@i@^e7q;X^eXzT45KDP(9;4q8e5FZ}Uq^RIm941F)!k3eyPsun&B;{^z`4 z)89!6zhn&(BhO7b4~1iGdEzP$hg~av$^9yWGLMSv=jiO!&g@s%s@!9K3GD^quBJMx z;O>~Uly~z>>W~y10e!SWPu`&(QhNChn$c26`uFlnR;wHF-2*_+_0hNWV}PyWGq?3^ z^Ghz$ttrv1;o+U=WPW>XtyygA3aV1W1 z0`cen1%8l#FCNGZS|plGq3&f8hxr`3d&|$q%8XAd>ni zf5>#R1TPVsDDf5_gC8-b`xoYG=6eN5|8s)mW6=Mk;H`p`M`1YSQHcCd5HAoMFBlf2 zr6%yS{M73pABX%5@&Jq17%g(hos^EtjiIQbsdIPWT-gZ6Xrmv&v{bKK#|A4Ey^ z@)o<|DF|qff6SHsQdj&>Tz=-Y=YQVick@yH=8AXob^cfQ9?tnv4&f+;MUJV_OG~3O zFD;!ubruc|v_6RK%Br+tg*Xe(l(O5rknF-N_U6urPn|!_((j=7&TcYB+SLCj%&z}2 zbm)*_T1uu}xtIB6GytA4qp`>OAB}1WlhOaM{1!h1bAfW5m3R3XlNnt(CJ)Rf9s`rk z=?rMa4{2ZjLoo!94cV0|M>|=byXMrHLOTo|l0)KJ}T zxzrxObpd1H0_&>#t>6U{RPX|hxwz0&flGj-ftYKVTtjN2*4zjId~5;7=Xf7(pm0DQ zvlSzS$4Y9oU@!wC=0*J=yM{q89>r;RR8p(nlLg$=Eh**hH5ZXeuoSr_llT1z11su37L_{fMIiu`BwcWhgN;) z4UCxI*IUC4ck}J~PkX?Oz-egQh^zZ}lN2d1->UqOg6omQs9xrmq3G3AYTre>s@N;8 zO+A1lk?7olU}AA!NTugti#?=-)2lB-HNnIceFBxcT8_Z?cj+$?kP0Dv*qjU=&cr&h zy8;cT=OG-$PwyX0TnrNmo4iYDk|0q3(V@ZQXzWeDQT0wP&g(Eg3{-8;^Qq`GRJdfviH3R z_8x>`y*EO4RX&e)Lsu)dH;nSaUc-c0AhNN zL_I_D>NodDj>jNa-F^%fgXC!;~M$||hg)yL`Mn-a;3FkZyqrs7!r>oZFR({Fu ziQg7Bo50fCFFc?LuO@B$v7-a98GAMakoq+yN9CBPjuVcu#hU{e3n-GHhw(HxA=O+B zjg00~a2d;!Wcy%hGLq_98(MXx@Fo2OkjKie@}7#kHb&$Ud?Ufl_!+>)&FGINIoZM# z<%ZGJ#Fc1M%r+Y(9^teVFdtOYmzsvWy~gwpcn@^XMaVmhd50l>l8T>{xN;n4p>f9W z^YY@CK+wfMaxeVn#*0gAB6)$z&74R=iTS-k(NWZbsZ;hzLYQ3I zB?)6@&#y%5@h8BG8ZJfCW24`H}Gbi z*$0&TnKan?#B&+3?tZ4q%<*{=8$_wmuZ{s1tz{>e{4vL|iy zWWBc()fQapczY@~H5S!xR`uqu2cQ*mbt~=x*jjOqt%tLybt|M0l_{pwb2J`P*KDcZIo~d&e&-A_aB_fC1+NT>cP5^VQoNhl zD{M}|d{I)UwO8(9NQi7$ut)E;tH*Vk&t;>wBl7 zpE8uJR{m*i9)~SuJi(0ffuog;Ut6F!UHDjF>dY3uO4hv*6g4#`7lYI3!0S`4Ej!Dr zKF3=F$NH7)fSF zbms$^|8yYp9{^;&eFe!xrGH1B#;1TRX9*CU?~ejm-)M;+DL7Q{c)@=n5%WC`WO)w@ z-Y2+H@LC}G&vSrSOBYQ6VuCL^4~VAt#{lu?KO8?S=evTv1ZljG@$Uc`|EAy_K=Of; zK+GxrML_b2F9))oA4q&Dko8RhqUruIKy+yl&+%eEy#i!E9gQE>L;D1*Cs*)oB!b_+ z5s0isF9PB6^TbaTdGJ*H)GKE^&m*9p=cyq{ebCa&y$w?5)Eu6Q2PU{B9$yT8okALR18<>9yvu;*`Z z`Q7qvgmFp~@_YX(t^em5gXCCeG zJiwq%!*#@$9rk^le2V0na+I3) zJll`ch+s#N9r0zCOL;4$ygDgQyj|wY_8O?q$87Y&<{nyN=gV4UvMcz{xv#4(&6icD z5)}kZFe_g&aJpIatC;hVyEL0E1tQ4C)qf?%$T&u9sn zZw9K~-4`eG?(41ME?eP-NX<*&mf|wC3qOIDr%P~1*JtthCFZ)Y`E(OoL1r0M`W@0< zKR;YG^&^08WrD5z6lIi{3)Ox76j5?tb9Le?0k-?%NY!FZsmGDeyYvPGgrch>=9{5y zFNJbe8&&V@8#~lU^C6AskSeSfUo%?P!=!F}OQ>q+zVk20EJTcG55_-jL?={zWkh3D z+u{2h|DPGraMeEHE7%=)LcGrfXu<`v`eWMOW2r4-emX?J7#Hc$DN~x*zyS za`eN^`Klk@2Izhu!#(v8eq25H9)cV>&(}HcO6Q!!pKiG(NOQ1ok(Yi!8 zv@?+hAMa<25iLpdU~n(^8tLn;5@JL!9TYexB>EzR_tR)p)#rtVKNDYtXB|7tNcKn+ zZqw@S4w;0=C;fxYy1 zDj{Dz^K-lfjge^cs6@B>3R?y=F79n^^WL}Pwrwru>*$T)pL@^RmD8Z#oU#IQ`)%8H zg`+#dQ5YOoXU{>2Hjd@~Lz76qV<&)bkGZJ2#0=gLHgBDY&=PZUg?Z~jTm{T^@tKOF zKOe&YFHw*Fm&9xSKBzl+9sZ0b<^>qM_5}`Sz#+Tk-{tZoCf*)%&m$Pkcw)?}JL*6h`9rQS?sy^TXj61#0_C@G{9$}fP~)=^<-acDbDqh)nycw>A^*t~ZN9)o%#gXX`K744lc6csU_mlrfP(J^4h9jZEd z6hIHy6k6>Vuud^kZ_Qim>dLhoi8lS*M3Rpmvv@V9r~r;@58eXh?&U^9a0LQ*Y#`eS z8}=(3f@@KP$AsagWPGiWoVWr!wOerh<+3OFZB*^VcLAo+`>X44BHlj{Tn0`JcqXyI zHWv8J_(Wlp)Btqjb2uvGkUi`JrADAliAY7whQ!2P@x7~d4#!-XsNs-pSwDO|W_8q8 zwR4!a=51V9O*Nvy8;nGf!yQipjhwg=n=3FLUBj-$jKdi;*avUks$gOth;A==lJ}FD z8Z4u7cviLN2z5inm-M)!6lCgRJxH_I~;YHDhz;jnTTOj39)=D+D~pdPG2hF4{P8_85)1z(1FGejYd^F1 zbNd$fmf)${9_@%=qqpWktk7}TDJBCxH``>OyD)w#_|-eV!!Gl^4*AC7{WuMit`#w=}6T^|-1PIlYRNR;f? z3vb@F7wXZFf4aUkzrMBCAnt&7``}i$c9R+#{AfYU9EW0Xo=_I=l%=;YIV23g^V+)j zE@eT|hZMo#|MDiO1%b!tT^hm#j0jYCywx|V%g6cZ!S|r{afHD427TC1s^%iY+)=e5 zr)tM=Z_W4M3q`-u9|fLsJF(*QMDL#kLDw!l4RP@NTzRI$gCkv8_9!Gs&cD8DSFX3} zCKarP;i$xrJ1TdPhL7cu%(x3tfvTN3vF=qnuklvXd^D(yr$gjof4T71lHs3eg9(QD z_+XT3m}>G3n(u{@<3ToTBw1j-XqdMaGZw_Ew`vStBZxXAlANZweO+@qLX_A+AbD{M z2GeKYScQ}MuK_ToCM#dh#{teUbqjhUzzIR`eW}w70^^%U>-RB#mCEOvt4sN=E@c8B zVt(i>=vGw_mr8ts0h^F`LFy3j`7z8ZbYZh~VNZiqhq1uIoF)AfC8g?75VGiY`-bZ* zKh;@|Y?XzYqbag+kYyxdasT`1EYozBPXNwZZbO#li;?~?o&GhXKt~PH>7Qto{%1^o zJksx{)9=*jyXo{Fwn|U24q26)$=la9CSF#_^AFdV8^BFO7qARx<9^G^PLMoz={z4J zF&cQY&eI5R=D9mvAs)avr^4n|qe^ zr4RS~9NcH5-ld@DUdR-vy$UI;4X7imlNnCa&3aWQd;<`ueFCqamGCUwbi{lkG@w5H zGKKNthoXHS0QvGpC>nmCTPQl=0WO$c#Q)0-=@E)v^Z*x3h+p^s7ffH`e<#!7$d>Q} zTrfS2{}+s^byzTc7GH%Ilr+`E3L`n>0Z=c|zE2?j8Kb4a7`{EeMPBi$$N7HmyWn89 z<#u_o<8xBiVO(b#sUmbEd$W;f(nW0KLez0Y6AS&RR5_goYwoPJ}UQhH-o_84oZz<|HHgn!=8oSCf*lg z)#6iQMeF4eM0;G0Nd>_cq*Q!$>Ncfaf(*vI7rG)u@fljgrx z^FLVgzpexSe=tjnR7I*@5wB!NUWTFz#plAtDb9~1*nf*DrTC;xdvLA3iFnnDFA%vH zG5A&kLYFF952(azk1pql3=uDKDBq1rE8JoQ>sVo@s0w=ro;zs0Vym!w;Deat9V=Rg zE8evViEv5oPzdpo8OP~N@gW0E{Z*CsoMh##%*4c*GF7LU9$D#7q45Qd(^dNHOf0kJ zt5d!(*poUQ9KJhph}7|bY-*0p+A`Plx{o-7`yADL4~lyrG$dQtsH{}`PS>eIGObFi zpv6>sR`!OLue>X|p+W@eHbcp%#=Wo%U5Yl1A4#xo#EL-OZZxo;1Yp|cy=&25_5|{v zq1e3Sjl>qbB3%b3(3(xx!3hwKQOA1&@L9w$uZYj0J1E--ixRCF*+Y^`EWn3~uO@LF zJ`<`Db+a1m|3T`zgW+8&PoaCE-r;!u(?G1~BjA%z69wxE?$y3~0v0u)RUZ`w@;0I0 z=)%qonz`o4k$B{#PzK$dO0U~m?_DE4;B%odFv6<$t`Gbdfk?)eo`rh8VA zq0g+kmff?Ctn`_imA(kOnX!k)`-vB=K>w>Xns^`3XzqeWjHjBlR#>xKAFA7VMtsO`A;F-B{X|6#LTv(ejonepbPpG@7X5h@3dsX*e(OM76{@Q-+#!1f z7Log{T3E}VO0~kUZ#B!FC$X_;6~~6p54^mnyg4xf93?l^E2`pwe7w6#M2^=KVo7z? z@W;K^e2-N-rbi?#@04K&aOI)iCk`-1f4oO|pzdkdQWpFSKcSx$dyA{?E@Rlhc#o5v zL8y+!_)NP*A8b3L;bB%EG~wzDdHwku1p@$f5ryjWIRn#a_t@t|H1 z2Rp+84I9jN*`@qxeoKAS2cWVZ#TzcTo+*p-Fx&RHjc4+Ex|2_k^?Mo-j4v97!az>r zd-**<+CV851<@Gc@t%+MxGEmOS7~0wa=fU#)Qeh<7nPTKQOoh7@=`B~-;*lj=-t71 zb%DR(iTq&Q6PRAbOJ5mN?Z5SS%R5IjJ{<`x{j3Xr@}uWkTa2!btAIRMa1uR^ennX0 zFp_lX;=`7`s!Tv*R}@>jLv4$)w@h)aTUdAT zth!|6v?Q7TJDRVG4NMyARUN{oqPeR0EK0X&! zYVUbdXV0)->IjU3kc&Ln$ng>~NNeGmJcx1z`8f}!gbmCEb|2)xM$Xj~?=i>F^a=kjD6;{o$o_{q~qVcIC> z!WhjmUfP2#QKYjXv*ye$n>D{|6s(r9M0M)yvKjMcp*uu3DGzz>VbVc3T4L0R61$7aLY4|8M|DuA5h)9SNg3IQZLYjUuR&8wY>7 zDbB5cWVf}bCu z>_ID@0D`4&1rReYKAO?s5yC$NGX0@IOt4f~m~LbGs|0@}7!mw6Iu9sReXD`wHws98 zr9j#x7YXh`AbJwtHeeC(G(;lbQGz1`hYDKg{+RwEAi6Q%p{hId_#VT}nC=ll?tn%5 zZow5mKKFE?YXv6?o+&t3aDZSR!CRna=6!z*{LT?9XeLW}o*M)0qKe-`|c;H`o;39c5rR&c)H#e(&M=L=Q}4i_9Gc)VbD z!LEYss65Qq9>JYJzVBwC9~8Vt@Hc{22+kM0Sg>Aj2xh5R|MP(4{~44i#E%4NXRpcw zi0`9f29V#!vEqNEV5#82f;%wAL>p4^6cDB&zDIxvs<;P;TUGoTh^p;t1Y+drivamN z{eisS(SnByc9n1rS{eSbpaq1@k8c4GpQdjn5TBlJ5|H)-;+Ri`PKs&|87Cx zq44zL-?&{un|=!KLWP@t>2}bz=&BE~)6coW;|R2eAMFZncF_x5bQe5~J^c-?@U1TX z7r4UjcZDZh;oo=BSG(x*TI8*8LzR*Rd_IK&9 z>xqav+TK0W!9;4@0L$uVT|_M7jht3HZPq*-5^LYXgtFJH8PPe>`Qkfn-kiGn`G!)w zzOiG9QiBm%>+jzVF)3bpkd)k4#I)N>{B=(_=FIerq~8 zL-<>8xvno5HhB2noS!s5dVzC=!Tzo3|n^jhP8ipWZ!UnTLV{>@GPUgY*bIE(9_~20(Fh5{B59X*{ z?V~Dn$L&NukV(OlYeh<|yweSs_@{}3C6vl{Euf_H>Bl2OYfMa3d!{zC}lMwIyFD3rO zYdx=UEWQEED|827T5bo13D8%41b~^kRlW8R7SEsf^WZf6_<7_O4W!Po%|DkVegjX~ z!hE7qm%I)Dub*mOe@Vxy9tql}A;~j3$vT~6s!l@lnGUy~&LrhXa*s~3SSL9_C#g@D zWCoJh_KVeT9494P8!)LDw!Vtp%-VvdU!)45;x!0Wc>3|6^dob_G@I3?^*pRhVXQe` z>@?NeZ&&8?*l6MGl$B;Btu((9D@|)7jWoLjVvE;ysD+)IV~#FFL8dHil{x0mA&_D- zh7P9L@;ZN|9--F{0C)ul>j&x$=un=sY=r|`%uOJL$8?pdT434wbj?p z6t9xyn)4kPETD+yr{nx%a8A6A4;TvCwbrJVoke}98#iik)l&qpbxI&sfN7qyxDUir zf!L(tVzq>1Z68$7e6y#4Q9n=0!{!1L)`a8dnN=4-%zV!GmSZKzHcU}OrzaNTwqffj z&OFl-W>c%Neb`-lf^}7^VQdvz%_-+i_{R#Bs?{*ITC|!|&IpgJ=9Dw1^f5yiS`A~X zs@0rwZo&U!m<@rw%u~_3I1z#^cWPF{igOj_vuVlIYG#{dDTvBcH#KPzoziwi$a*f+ z|FQC?O3?B4BzH$;$S8=dDYU-^Fr2y6)*zh9ILmHA38R(@HTP_E^KHK4YB#;Ou%6cuX^R{ zJ0;LFI)pFKaX|Rdn0Z;7Iz`*sY~RPj+f<2{4g*%&PopkU=YdMN1miGNm8GDP=0M1S z=RuC0jBStI__Ub)&oGP{kvD1dy^S;kQklLLshD3h>J7?T7?xnH!3~SoiR8`L23^l6Nr#MwUvDCH-CKwr>j(C+aY=MdqnMLFPB;m}@}U zzaTL4JopRVYds<$$ksO$Cz@$IiY#WT$tK^80k*~X#{3OmA@A3aU%I>xwC9~CT_W%2 zCUd0o{t6N&{u`rje{4u^e{4~2RQU-kaIE9FseCi+SW;y{HEgmhcA$F$zi!~CIW?2h zugNJs`YZIOfg51wG!8jM-Wo^6A`g9WdR@)KU!-R}#m>4(v;G}&tXaRwCzNF@w&euY z23@v^^I-&Z;a%fy%HRJv%nh!&jiqG!v`Y zK3S93qT1vystwoGdoWE`zZPpOZ{jIvkX&|z>!#iO1$=kNRC8>^4feG#uc2fcReQ<$ z%7HZ&wcMmUz=g}mZo)it2DOm)c%emJ&n+Qa%80(IN?7`(ZD2znWO|C|!Zc6t zmn9FLURUrZlmCXrt2_(*m?>wCfK{imq_Jfk=AdiQqCU)~cMC55^aU~svP2s(Oht)u z-#dGW^04SsGmzK_Q@7aSMjBqBQ3=G=Dy*dKRpbXrc0)D0^TAHHC*N@}Qul}1AcS3M zPe$PNCaW|q^ykV?kfs=uf?bkrTPQxH32c*wS}=scOIT&y96~ksHr|FC1*{fr1+5p& z!8j{6d5!fwW%5Bg8W?3+Pr`6fWdp*AclrHbSPqLhwmOqnX^V(6;suAW7THXT*1)ug z)}|a$bu@*zH?3(AK0q}9yXwDn&SE{5`{R)=dD<4@-dN4@0@64hmv$+n3rUNu1nDAX z97n!(DS(lV)uSPRV_b$m9=$&?fgEGiYhXmiTv29#5m}xXk)6OyT93mXrOZ5-x9KQ& zR#{s+H6m+9VX)+@;%9d2Xho);J+^q2+mZ|xD?fADk-^4n5Uiq-AxSf`jcrq#wnwT( zB0mQL1p09v)QcA2GxTSuiN}G`b;CBwJK9!@#{17s%=(zyisALIWp#vw60*HYEg;lZ zOUKH)O6Ij;OJ06-O`r~j!V^{@Uq42Ue_X7JXZTjWdT&!Zg=kf%%5=-S{4UlFbjuI3 zmx8GdESgX?zN74z2H~Ttj`!@w)kg86mB z&tyFgX<%i1Q6cI@yEWvG{#XRYOp6LpEeu%*l9o{tidwOuAReN*(`IW(3~QLU{Pw}b z$H*=?V$2PbHdQ5hbk$~N!&Cat5bP!kmc+FS_R!=h7YErkG$RTsuy zsCGe2$H741h=xzGGakh`ofjmZ+8&~0^Nf}9pN`(|$Ap?-c} z>}3|fijL0c_dOZxS^fzA(Ea$hyc6G9xDkjiFU<9d=xTjIO_!W1=o5dh&|IE~_$ALl ziHUE$f@=yfU+k*^BFNVlNWMLQH$fJBOMuWy_#Vd~g!F?z(zJ!=^Zx@4J@fw(km;WlYz8vkGNF0SA;as% zzg+0!1WSOpweJmx)QDH{D3E;rOVcGc2wo=`6`U=2E|BRD05aWc5UhB=?Sg+3d_s`> z@G<{~LA%2Hy^BPo9{@7lI>FloZxOVB`14H`nn%nrzT57A$EMLg(|Nkj;${rrBG@X} zEXeb886FqBT5yRV=l>ZV6g*Xs`})z}3q%#I;6u^Q>VM#gBCdE9h*wwfA`n&C_c#zm zq0Zgqb1ealzY?D7K)h6tJs!gc3q3%Pn=#?9BewmA=y^5XR|G2`ha)nQK(NzA})AQO+ld#i$Tr_Q3?BP`X+UZX0CQQF1HV&CA zC;tCnCy_?X`?ofW=)?#D^+)U=1`R7qxorC^4jw*CqIcM5F*XtX8!WcR@RV(E>m0dA85Bd!ysH#;+c`Y zgWUr&$bZN~IXj2l!#M2WLd$^o;n*U6AO`w# z3xj!2g!B7ivjrUPVusb#`6mbK9t&CrmTy<*4PYzuN&d-to4lPYO|Hlrt<5n}Sw5 z_J{~1H^y>WsNe_^e1$L+Sr_dUwEoUhL-c^YpUxf6d`SERaZvX7RhwKDL@!at5k;o+ zV4wp~FKO+RHTSWtEkvsD;82y)amh!3PI zYG~FDT7-u3S#+K@9Kn=61Zu-g*i9ljs%iU`Bk`!HBQK*F!d&j-092L#R8)7Kkz{+~ zwP0#yK)FRs;y_f8rtJ$RVb3S;iYA0Alc3)-S_7sevC-$->iVJH6yQAG#v=f!qSc2$ zbgy>a!KLfvs=kTMmcaF{%&w<3t_<=J88wUS+wn>K47a08kJ-@)sQ50yy8k&Lv(f?#Z%fD^ESwWS!`eP7^t* z45t+T44rXXKDpp?<_pvtyhTf(kKU?U#buwuwJ8{a zwWfgUvc+4OFnSV7rcULpR~Ufg_v+*vcBD^!D9Qz=fMJIPOkA(?Hc~K08$8i|9Ej5A zAn#EhD1goS#zKciqh(}fx4*L9uaLP^1Gh9ad3y5 zu--2~pNrBLll+)eM|d-j>`Bb!q`z*tW+Nxa-{H>u{Sm&#+`;y)(Y`lf{j&8+;#uq* zq0C(;C`rnke5?;z5M2~kj;T1~>u2z!i(0*-wla3s$)H)Pn{&w}vTBc)@JYL_Zr1F% z(MZ_^(dpB%9FD1?vm>*WM$TM96_rYyei_>+eS^JUF=)mKV5|}`hqI{hqdrW_kPbpE zJ%biZFF@1kuu&*V?e0Mtr_*ya!=G*(KFD<8&=Dz@Y2DaNIR}{hl{0#<(>ksL3n9Xu zJ*aSSyq_a}*ctyb4E_r-E`AA!Z>;25!F515-!dRrgl7Qp7tVBEa9;#6JmX^@4W`-XVCa;AMhy1ZN745v&v(E?6SSqmg)@ zyU>af*9!hp@aKXJ8pE@I_zQm@KM-MkoDg7scOx;=^IUo2PQmR!hW|n6dj;9L;no%0 zDiD7qW?jiwc(2ew_}&9Trmf(*1*UHVGTvgr%LL~La$HWm+;|{*Z68gnsCVP$&`=fn zzQ9YQUi29tia6X1^s+IuQt|ws$gJ6NgJd$NH}5;IJ`$ZbyOvFsL{{l9sW)UYZOY5unCmAnO}8|5 zwf4r_86)dC42G5N1yGh)*DzQXDyTtyw(B@?6c{Yd<+6?IizPn+Nit0M84hT}W}0hawsHLqKx;Gh(-OXtt}yJ>5k(ggVwV+t`HlzXBrV!VYG;G1I*mkM=PA z$7lCtdyup3@y{M_&OXIar`o&;1u=yggAg9C;O4ft<#2fDG36?i+A*g54ED8WV^qn# zVrww4%xJf-lo0)FV@fHU=t+1+PEO#~KLjA_|ASJ(eL3N7%X+G45|`_tg15058NwK0 zEc7%#;-<&!RB#xsdxRc6L3yTz=Zkw)IS1yBp+OyTbfC`B`+Q;Xl1Vy8&j4&WIv;mS z%z|vjmk&rcEI2ChJYxAf=y5nQ@HSF%M?H$vn-@W)Ol=T*!NnGDrB((52diZ#VnLU% zT@Me=rSV8>^(G31(9l4$6`!yPI+|Ft*`}w#m}65gFR7zREJmvG?TO0(817KWKzaN1 z(_IPnDDUH)Pj@MNjkd;NM9ne9_Qcb)JJO?)AL#Vdg4jx@R;5SXQA!K*fXSN1&*56| zNPK}T**dCZw~!hiq^>wf+1tUz-VYp-qnPvq5!3Y|8_sdX-i)8@qYwL|rN$&lUuCC& z!H8o>g5uMT{m8zIH@3nClFsx)$$59z_~DP>kFLdM;(2t)-7{~CzDFt^6UUrAJOw%`mw9}ui6-a#T$rZaM|p-~t2Ne+HNDut1Qd91;ayg`m~ zu;D|!EM1<+v6@ofkhxTtO%C3JkB+WP{Q{9MKKfEL2679Dp(A9IgG;5{0>ZCS_zB52 zZKk;ex(Vi#=Awru^xi2Z11hTRn>CxG|f0-0GJAEw{3*HlmD$Lt9?- zpJQKPT80h2t(UD0>XEQ7sxGNsftYH%+sBTJ9vo;L695yv5h|48L#%BSW!0fmYCQ-a z1W(CY1lDS|j?R3g^_NDcUhHvgYa$!txqL64Q+E+_k;7&uO2%=0 zbXrPbhGa(*^`)hJ`PtaK_F})1+~k=-<%8HBm6dhS>)Afoi>J{IP=G*!4Q9cOD7pe%ar! zBv*N60P@{Yp4lB4ta^S3GZ*j)D{*cfB$`vIdXMm4`#3!O7B1E8yiF~j6EENga>g#O zgVezhDZ2jq71fMAAMm>5d9A+guujihwR zH}u6sGzu{3*uLzGe6wEU8`C~zl5hSF{*-TM#Y4G*f;n-6;O`}z%RuSBM({?#WkAX| zbAXg9YJrq*SU(ZpccR7;x1L4h93SOi@_k=$lVFP=jV>5|ui%wHu-t3;hLSa!s)}QQ zX!m@yHMGk&eL;J{&^QV{Hqt}6%TDv!PG8`n-SW-Hu5jvy?CI}z(FQHRT>x7jKQ$|Thu zG#X?X*he{Mm+&)kPU(KiIoz+5Qa~9B{u`BZcs}(w%vW}*x?w8@)y-n`+M|?^BEnBF zcDa3%wPSYq+sD9yQ?D82)XJAg2hXv3Yqp>@CV&{@F!>odMjdhdmg2@4rRaF7Z*T{1 z6V2-q_uvO|##4CTkUAa)pi}4Q7Alor0c_$5$7D9)MzPfMh*aYsH5Ube7uSR!_0IuX zW|^)MYB@(MWNJE9$ng0)m0G^v!NxhGR%SHrZDf}hjqLJ{dT6KYa(*ge+Zr?8v+Y~S zR^nf#m5~;xgYcsLQ!-2HiqeaOIv>WdjeBYgm*nJ>RkXL##&8IpbZjT~WqxXx$SbCu zNy;lOd$_y7zYzWSZ9shTC2qY71!{)>NWvq6mk3fWp}bN7#3x?i15z&N1;n3^(kuD0 z-zL5%_!5xe4-0+2;9Y`i1uY=upG$$%uhasmf8jSm{mZF9-uDysP*DQ;Nr zB=Q99Xytp5oa+eL^e{$WRVnhY>dd^-cy!_Y z{5T%{b1RCyYLIK}gy-G_Rxh!M9v)~d=*!W6jweljq)~L zg-h7()X=`a3rd#uI~2ImnC}d9F0NTz<}}_3)h*zvn$NJ|$rgR^c_4lO*E0v8xWR$M z2NbI70_@$VridVl?8J={Y}#!(za4%EqQW0XzS_i`0OFbDH#>3du{Km$k>17DB*pzx zBnVjK-it=OVDVRg7IauE9WzfVJx|@^gcD>XSVVCWDWTY!r8Rr>(wYi-Lhn@ISu(k; zXL8|9$Iy|sr+6J{kOkIN+avstoYwOtis-{#INK>G4#HeWFt(BgAEo4UoOhvf&sXt# z>WP1@{-87MTv9#?HmEaWxE=?8>boQI>|&y^M>ppjP#;tPIfH6MhBpgx9t(frYcw6c z9Ec{yHwDP}GGA4~_sevH1j{5mPw3B(SBAeO_=@1)1UCs@14R2*F-GW0!TvzhPhTkz z?Ut(hVBK{%XuBL#0~-EG=ay?0yTW-tdwgEo=@~Bico&^TZc%m6v4MYbCP`^pRJgm2 zYITbW+8etU6)|P^P2t5p^^>$qNiRph3VY~4PT34nazpvRfhRHI;FB}zIqFnJpI1LM zQr}UM*k3uKvJeFfXY?F~W?#jB)H&s9Ya=ia7XnaQTT?xeFW=>!P(4#hj+hCdn{%7F z$`OXoY^faoU}kI%b=%>x={YJT{S-+xvzzYsH=)Cp{@=ken;fx5_^lCsn}nZ`lmlj( zYhpJ0lpRQL2qQw-u>j8uGHIu6z7b}SdG+EyS7+o1+67aVzzWfiLNTS!2*(z~>a{)6 zKNuTR7__QA{?;)?yl1d=Oo2jcNwGh6px?qVmI)dbVi(o2>R7ZV^c01jNLf&+D;moY z*B_f)y6p4zBaz8#Y1Nu|3Yo?Uy<0=pO%6v4f|EcCJ*Fh@Yix@cz?@VhgHW% zp>uix+a;DijSa^Am|*f=#Xia3|1V?XMZHgt7fd@N-s4w%a23P3J{d1`s&1d?kW;M@#~>_#o%Rq`hp;a8usWR% z8>B7DM_7I`%o>r8jr07&pNYoNJ@@_O1@DndnWfX>1-SWW$IX9$17)qp+FPQpg}rw@ z8qV9}ZCr`x54P%$EU}z~1<|Gq@(I7glvOSc8izE{_!GoHZwo73lpUL55A2Iknvd|i z#Om^}^~z5As>qaf!q(?FdYI*j43$C8RM_%*Q8kYEUA76)n*H5guIh%9hL1cgUQ~9v z73z!pez@#$By1jK_2_$AyvI>NtEK?HyO(Xji@{!gLkdE9ufemZ(7%kE>R_+ZAw@|3 zD`prkX4>iTA-Cb>K;9Zri5K)H^Aqm>+8^0+q~4Jq2W|%A1t$ls0&mM}Mb@^eZq41c zVk*zO$B$FSgYh0Cag&n^TXq!1$Ky3^=!T%H_-wdF}+Q%Kmf1_Puf(zdklqT6Q0<68aY$3fT&bz zGq#_;D)~LqUTimNK_;0#IrW;my%=>W9p_iuBR(A45Sf5_g$3p+ciNJD8J{?<>DY2S z9n^>O0g%~8E2=wJ2iP9D9;q>%8t=u$&xp)ei2OYr`2=U=>8gC7mx282*m?jmxYAVC ztJJ-=;|U;|ejk(;;IC8(*#MR|Yfa_ZFdjS0l=0VLI<^VSk#P!2Fdf^bZa7)pP~9bQ zhfz}UTSmm+=!kczh?k`zw*5L)`%~|G{J2o;a%^$Gq!fp2T-mdHyR;v{*oc?)Q}A@@ zSEBE?9l*DQ6T!7=VD@~W>HzZP+9R$R+DBBU_@D({y8AY zr(Mgec%{YywbN(QzD=|%o!PXd&xB*Z;4VwO78!5U=B`B(m`<;{iXAiD8>kfN=82bz zTogu}T*e)gojC5Oly%3vzj9`svTNM{=a#e3xBaZv-yFKX(hDWB!yg z@ki@%%|pmPL=)ey1ZM*wqxhx*@pYD*CpccPTEd43T`tJ|F&O_4U@_8jkO9%D;(fH; z9Ot|O#GmhB{4n1Af_Dl20*F5!M&T-af#9Wr7Yd#wc)DPfpgFhhd!SJ?zAsUpn2Ywk z3q-TxdkJ_Da4V4c+AQG@0U^p(+y_LKeYXJ%LH`H{R=!#w^E*+H^M&~HmE#AZV#RSl zxLz;frfBzk)NT-|XJ&XM5MEu&1ObYsz{G73O#N93fBX2Wuh6Fc(ViQBNq4e~W|%#k zE7t7vMK0Pso}1v}SLKSo-9?98@hK$Q?{|wUeyfXi&&zXMYfqnLJeY3u=l;xvMRp~( z(JD)8Q=1wCrfTIoXonBw8lXW_g zpHWXfH2wH?(D01wE>z1r1M2@&L!MNV@Ao|Z8hosDW_)XCd~^Kn`0XmUx8qy$of$p( zCNMdU9CFl?8$OeyGAm`E&Wid)TjFrp#yS&)hzTzT%WUIY+B?!2BPgz$ z&`p^3N83MBU+Ld$p4-(FcTd1Fc*Q{!RG`(yX~PDF4uPS*4OdImob>%}Z)J6!EHJdRre z_b+Ql%7W;3De6LgoQ-0IjJp(&XhleswWkk2?|gZ2HAyP+w z0kF#Yw8I+PLCVv%#`dTx>ofcIJE6MN=2zaPgTV&E`|&C>C5Hl#wP%ohWbG4xOVT&W zYp%ZT&!qZUZqW%I0XR2JIvY7RX>5DqQ0K1XeJ;Po?Jv;jxtXe#_ZwBZ%kGgbF@zq^Mb!P>lzDC$m&_NuSnzxaKU3(_1V;&SS2m{m96v;^XC}TU$o&;4ms1f# z|3*RCXE}T(Xs`%#e<1WPzG5Kddqzgr=6fF{$n;MD;Z@>ZXY@M>=Qqdjs|DGYk)~Ws zJVS7dU^gISjEWW%4#WQ-_+LPdH?9S8Tt&qO#{=_#%opWwhSvf)?wAPV_-G7}Q zSgY4Tya}{@TrgZ{QxB%;`1sY%E!W544L(VC6bL)bYdd|pi$2~(yT={lUEv?Q=s&vX z9WMHD7k#KJe_6%>qd13>ZC=Rvv1J+-C|3J0Po&a0Z}HC`AXK|1tM)?D&oZBtLEayH zQpR;jY-5$VPpXCd`sDpWe9Ux4-ZwP8`Hyc=xxJP5{~-yCygv{h=gH)dqr7kU)X7KG zOY*66quK^@sW6+oKT#UuN=da8jRM*?&rUQJXlLjIG?7i-=XxSK)4MbaKkcj9Zb}qM zmrdT^gM6@$8HPq}J)XHUd0)+YB{}cih0>p&Js#6OL9VraL<>&sk<#@@-+au0RO44h zzSTaqK$aK+n!n`mUH0#d^Q zZ~SHD`I>WRkh0)Oe1LGIiSx`!?fHpr4gVNcL7gPpYcI1cjUZ-UB2u!Lr zA(An#`i;6)=2bH^3kpTfmqjrngthf{8>FDMjjQdy%!`~6h8=nkY%jC1tx2(^@PwQV z0oVpQQNt6Tycr8{A1rF4TTnqrx;(g)Dft3lNeFm?~BmfIp8 z3y%LrgDRTq+WK$%pvoDvkAo@*DrQorb7L@PnK+E+(+C>&`5tFJ)!3>U1+Lv0fTKJ# zgmk)bLjDSE*S?Ia0yz1Wj{KD~u{XFc@um~ zCEEm_65J@^?s=5868>`_#zPg?0XhD0&!=!BbBF@rqa_~KRikV7xzE+P6?td+Mj-RC zSdbg|k)AF%7RY!$p^p_jT#!3<1ai4KZqLk0wG8E zzQh~Dc&g$(AVe(R4j}LMC=gN90vh5yLjRY9^Sh@1LP4%g#-moSBclJSf*XK`f*qtkoV@icL%Kcvtx&Vy~of%gen!`B$qpeVG zZ^xBpUfzr=*PxL)iX3trR~kNj<>M$a8PVBc+vRZC#+AkLoMn=V^Y`>xiaw>TrS*D*3}TDvTo3St7HMyKY4hZctU z4voRvH)NMJ8n?hxo~1yx^kS_tl62B8>r)-EzmCWb*S~%WekJ0+%a&dpn=28bZQX#j zD~HgUc7|bkbaq{2)||byfa-8V5r#YXr?Y!vJCn|?DbqXx<=CG1UnlD&OgojFM{wC8 zy$t?^kc*xIqJb%4MI&w$yidZ{3jIq#E@Ec9tAJ<=d~<2v&Q&9|p?@O<2bLzMez4T^{6k0sNEhe_S-f z?BT;)v|FAlKxBLTzOMMUyXd(t+AWVRafNSk(OKlPq@9kI8M5y8rJ^apN|s*OD)FpK z=GwLZ`(~|f)S{A(AFNiZ!{4zoWN(!18Ta)+DT7_j$pZ(LDc52DFI$mNO4HKN{;n5U zFY<+vgA7d>i2p|X*jqX1OMFapMh@D6kC!cXu5ys!^FyiBeIRGpo!lnrl}!$sC=XI5 zDV8E%6lMCMk&;_DSZ0%hIIgCvRKFh28sR5o&T`N|ur{>3b6CS`UO8*a+ig!m$;Lbh4;EurghzR_SZxb(N`hUHJlRKzuUi3I zWn3J+U?3Zx30MX{ET&tvQ^hR@yB~s23lUv z59IekxToz9C|(0jKds!A`I+yupI(4nUiC8PK&&ueosR!fZNJh(Da^S+$~-92+OAXT z(;(QQY$qrXT?qASZv*jHvO|#Pb&&oGei;5Ip&t-jCrJGw3h-M!*%C8LPRz39pgT7W75wpv$Mq#!uia^sI{c~m6{Zj4aEXNKr$5VGE$HII@lzRIs#}yq|LH8Z=^bW$M@C*(7r33N!+83w-t|mrags z7JdOqvU5M>*j2~}+niNsgxL0VCdX3V&D9w>_M5fyz7b{EL7a8jdDFrXqSr-$f4!ae zcT{FdC{jZh;$bkz+G_xtJUSI+Z43llcHVM0E-e(CcHUZsWt~lbBmj?dgkXP`zTsa1 zS`1yP?!_0JeqHB2*m<9T+GHfrGtxRT+2xOmQ!10N~Y7$IV*fyw@~UTD0q+He*zKJw-AWW-zW3)CA1pCUkOi-L(K{wrRng8ASj>i z08;*>yo@f>$4LyPzZuAM-070IQt(O%pDZ+o=nUt4J+Y7A5rW?pd;w*JuB+lYAmja5 za1Id7j_-UR<@+;$_^#CcfXo-=Wrm*!#JEB24~Q;Lt=mM`m6Vey*V^UeTF|(4(w*R< zf99fBxM-Ri+0*mdPS11El`eXaD?Ojfp8kCoeZPy|?xO$fqNz8x^UEwZyH%w8DzzrG zlgan=YT&(|NmmhFljgXueL(up)Do+w!O$T`ZE&aOTb-0%A3S)_up!y?!7w2Bn&jwW zd<=9(jyCkZ%F$f6ZTRtW7(OzNRdbc24WF@6Nw1K6k`*1=0Ef$_4_-@|2Chu~dOTb4 zfN1YL+t5hJEgUSf$c1NCK zB)kccI+LRhLA+d@Lyk_`M`v6zY3!yK8 zj8dj!|FHnlGXikY-y!ycCFj+BXFV{g`hYkmHalAn(tC2g3&enUCXv9G4sh zMBkrrTtfc1b<&M?(OX>f-(584E9~icZKrQ_(U-gE6I?W#OMCi>E_wk1?cvj1;X_^F zU%0}La)p1}MN{X9zm!XvZp@umKX%@@IrAgI*|RWYagSs8JtiX??Y_g5IOp+As!gbM zP800)z{keHHT-dr$o>Da(Gb2%xLoHI$_Jf{krG|Hc?F*J%hPpImcsixufR^5&Wwi) zy|3dT+AYwTd4*;)7L@IC9S<2klbIGSIe)52wmA-$Z9Ftgp0i9+O+mi!=P5J z*~UW?B~hjDTPpm7%y~S-{s--?XD)Ciu(Rr#QCpgChJM+!)pwzfdrAk%I1518jodsUVHu7qUL=XqO8<%XP}x06k>*p-N;VGn&IrG$qlafemX=Li(__&XX z<()jNkNYzJ&uvWTOnpwuCo=#46!@a*_#ObFO8K~D4*S!Uf>(+^#asGM5IjS0j9_n# zK8~qTKa%}vU(jButGM)x#lMYI*LHfiEBt#dI@N{Ly80WXG)m4ZcX&0)t|$FM5{Ie@ z_srOCo}6BfR6b<*pibLOeJ)3`;oRSLbB`37X*UhMukB`;jUT^nwg-@xa&9*bpIJ-` z7hof2bB;z1{@L2iRg$kV;jv!Yxpl~&1UXn{Yd6NH-u$Zh1IpbMowOG^KAKOR%-u3cv{T zw~Fe%9$;%xSy*kyBQo1cM7|Y($V(N~JqEBv=AhR!zb>;paJW&W=~JzfE&%BEcdAOo z_LukeSkH&7*ZgOXcWqXSal5s_ zTrGI5;AMhy1lh+kKFggL0-}DZ@e*iXKhXFzI-Kit9{la?`6Zxn|D@xKwbQ(|(M$}i&Ks3OpzjOkc$ks2={)ld_2G2y{CuGj@bS3fu{fB29ln<2E?fn9a z!2C0lZ1r+=$$lYqKEWr!&h}p!$~*WQuFQ3UA%?f^o?zfPj5D~qdn4QakW~-+jK!Or z$0K+fhu|5_KJh#vfz`(xkw7~R?6%Ki5(2UCCM&Oedr0pgud?WE`ZFRYUd0cD^(Cl- z=sGR}px60&|Bu&Ow#!Ftd>UvwmU^AT(;XSeup?LcL9p^(VU>!5(L(B#7h^GuMs}N7HlaGPpIrPa8S0F5P zCWJW;LdAhSk+<Dfp|1EZv&C7q6{={siZ;TTc8iZg{cpHLEFbGU+DPw)vg3_ z@t1VGw$s#i+3Aa1w0rzA7?JJqt6cFPbkWDV;xn)I^h;gwf90ZAy69~#+BPD}t}n~b zCg?%cKJNE#+JtX*EruGn1^#Kf`FFApONQ~_prIMp9jn&QX>FHO6YlqZ{(JDz(wXs~ zp*h^)ziuX|hugdJ>Sp1irZe*^W%%;S=#k@i(D31UB|7e>Wp{F$q*u1_pgA9)Oj2;8 zK0bOG9#U@MV3}<^xK7F~ApEuoKOxzs&NSCVwoj$_SNBR|Z`Kd_Ks%?_L$i%V`i%Rq zaD0)gGxCc*t*-bRJ0t6N$a}}(;O@v0Sn0on4JdaqnBTli?Fo!RV?jAH-|B+UfS#Mi{;7bw5h%9{RLFq%3))X zUbYSU4|Z+XA04I!l*L9%x=|SzjmE7Y2%n`uHiH=n!U)3sp_Wt;Kh_cZ>xe#pfBl82 zh;6r+_WWPFmLXl6X%}pr&1oj7HYLzz6K-nyIgb@Ij=ftJ(pn}u9`1Z@}H}wXBPg9 z4Ug0G#&#!VLSx#CZ(RNxTZ>zp$z6V#wj!~gH>@A%tg+$X*xE6e4p1Mlv;>kQ%N~4U zSCi9xz@Xs+hh>-_RvB>G7kz#5-%fnQbVmL&G-W^j8?kF|<-d87z{r2a_=u0?4RVzK z44+L*3-@z03U-G!!{M^Yf0go_m6B>E9*!bhB^nXoiW(vQx!cWMY<-c*r z2ii4HF&eQlv<>OxKW32sh?282@*mGC?kAhPt4C-U=7}5_^Wb=3+1MTDzPdM;=H}#( zl|}&)G_16?^}(;+TRJ-5+Qy{;7dJvn`WC&hG+-E>fJ+0;09r4)H+=CnQEZ}rYSR~Q z{0{oPyzDK#_sc@;{SvBM$aMi@go+eF25f-BH$*4C@>7Lm900Gk{aL`);c z?ZmamYPBZyE)H1{wK(8i#1`Xl8onZZGe8S-|Dlpn#uniRM}~^@hRtL8$&sPh{+n59 zv=EPK%tk5|uyIdOL1dvVcRcC|+<6L%Eq9aEE%>_S7FH{b&(A}D-gb)h!m?L!fsM3B z1cNPa!}Okg99~df^!m15>O|*`LEfgzkp?pM8|Hx1SoIr_u_Koxo*yGHaWj5I?hG`vmO{RbA8-a9-x%bVt82AR z;8m0rO66eq*h=LbFmSyymP!>w&%`bG5%G8g#N)Ri9;;Fj@z~)<1A&Yu7WmCk2H44b zOaWi5J|-3?aUX$uK-t@fq=a^uh$&n|@F~6BorK zu0pu&)Uh7X^Y!wXb8y($ANYMVAOgP+*0nTeja^T_)R_W{uU_^xzlu<-5MB|E zt-<_)P0{Iz8GP@p1--$E5gdK{|?-+aOKe2)3wbfq20ZobZeyRSg1) z6vgZGi|OOuY9fa(`xG~*@iy|5s{ry7u)4N#4CQINGg&;KJZ(3pBnD^S1z}ry(~Ilp zb+qG8n#g6{J}1d%_MC|7&yPDUDRg(ZWrh$Xj#qn>ddS|{W6poxoM>d$?0P0kC2i-Y>SSjMZu z|4h*<%YE=#o##k>zd+07#{$u1hPl5uSo+?_4_;HrPQhOR(KT1h6xyr<=n0zRfp$bj zm!|gpLA40;=sNP_zCMWJ`za8AC2_&41bM;%{W&f{x{70fyw7`hR`grGZ9wvS7)XBH zZ<7431Tx*_f_{y@lO>#eBEyXynawR}>T8*P2axm&f=xi)mt{tOwid)=fhZDR2@qXw zMHvvRkQI%~fgC58_c>B%hSS}Ke*`BTbrE)&*LK=1*Sp6Je{jX8D#4!KJ&wpnpgsI8 zSA3gLn@*o=lfE6M^-jCU(VY8neL_jgnY|P1JNu%@suOA4+#u_IIa)>^pI%1KAi%?J zGre3sJcHfl(7~DPHkDjnhZA0HhW|;ye1GjXcgRaNa=D@LP41Ii&T%)Lk;@D55upC( zESDQTtjBbf`1tG&-CR{btTym2Dp zMQR}4am&U0=(LVvUGyZU%5?Fu4skBE%VOJba~NyGMk*$^Cl!-f_Z*DnSD^T7BFD3} zt-*$a@u6I6UXBHnAMRwyH2kR06YU;|FW!OY*je7(KE7C4@IxDkQ=_~`R;qdSSl7uL z(L~g$X2|t{k&E3G;fCqX6)Bc_fIfguC{6G;TYo$g@(msND`)!IG5TDQ-ter#|2Q43 zUGCGNKYj;s(77c0r_G>ICBydtQKiBhPJynt0LcDw7!bUC1AwUbzQcj2R~`DPiSTDX zWuEhLp#jP<+a~MuprmQ1-TlyST;c5Z?D5_GP_rw1fBPNPUziEHsgbFwQJphS*rsYi z-GT+S=2ljbrGitEWhz6aKj~Z#r81DA)4;Rl+HVXVIxLeu=ki&zGn#kq_k3QnG(x7| zFf_gSk2|vq1O>nRCA}7x_3CiI-xO&oz{%#=vBiyi}x=#hzMz~|ZT-kTd z(~(0ua+!`ys~TJ603w^=a9aCLZj_5T!q@QZ7)`Rz z@DG0`8gJSh>HEnG-XoWykUgix3yuv~qYJC7Pr5z7>`C}6wSLgPAz(e$-V%K+?7i#J zaNZtoBgMV{v+vBS>b9ZV2EWzgWPhx>^z?X-?*^@!k%cWgisIwDn6Qzdyv?D!Eup+8 z!+DQ4Y|MwA7u7p@eaPAY?a#MD{dWXgs}59hOfXhm9IOkMhO7~r;{H6pRb6TfwUx47QQfx!Y~STsc+F-W-T7U*O+9Ojspl_|1pI!hpu5&{QFbvC z*M4K_xm@44QAb<>@UNe2ix{P;=Ltsrx5~7y{~xmVOfPrHtoS+Ugpy42;^dT)v@#fb ziqU6TpZQd;aq>+BvCihw)8X!_;04UCJw@X zDgM>H(%6I2K9%L&56Yu!fcEhtNadK8|7!9=d+qhFk#EEvRG-dnMPJIKcl0m&0=&zj z-7p^7h?}+rtK1Ddk@vGEaaU{brQ zOll`+UXRghAw;;dacPqUS&;tqG%!rR^YyJv8ShmFKn{Kc&_lFaR60FGGbiVzS%k+4 zP-6m_KoaaR*WrNoDE9Azr)?s(SCy6VVE1SU*cM33!zjkqJ3?7GrZf+OzKo8 z`PGpz6u(qcZEG~@=RvAMOCl4nxJn6o>1STSK?!nhPMF2D3uv}`bQ)6D=Nv4a$CGHs z?|WbDAcu*ZW!i`2e5lI~l2sI+Xvwue{AFCna*o971;lq%(H)3(!S?~O$#fivlFuf= z7QuBAPCYBbuL9x|4pZJFJwlN3Bxt4AMH9iVhJ3qH?`xMkqS~Lq${`NpB^`%KcKSFM z?UplUxWZH2Z`yvIFS(Nm!gO^YIYDT8`O8sZv?rsd_RGRZ!012g=1i-H+^hGY%4uG1 z&`BBhQ^9>}okohuS-Jf`w{|C98lCAM4ZW}ZBlp`g{K%Sm&A#-=v41ptCP<~=c*5>b z=Nv9u|F~41vrJO)yjo^8P?)TD4wl*a$2G!_%{rYqH$zjo_mAU{57;Gp24c|D8_(QX z|JdE!BnM3Pk6b^GGuw7|vL}@+Y{#~$xh|fci86F6SN+Q5s4V(j=@+@9JbJiO0g3DI z1l&6opser8qH|?u-kI!h%TN&PaO;4{EoS4ro3Vo{dR(T0t=evH(^!O~vywwAx_~n} ztIfy@?!yD(ZQbyAq_L?=+fI;NaesQmz8~N`v7%Zf$lPypqcq%```IJ?a{%3MU!l@D z`)%hMinr~%^XkIxeDyrn+9~ZS_T;jiSOMFr!x~=20d(pUIVI3DdXj6G;>CTcEY}Xj z_RVy6M-NUsjQK&epYCpNBR7HNmIo&XV^zJ;Yd1%(h!y&+gC4{qH6K%0zFi%VSLtmW z!^y(R0+n}fQzeMRB>bQ_?n71~H{7gVOvw)v)qNSj_9`aWO4cqk;C@$I8<3gAjmU`m z*oqh7m)MP;jK@~64>IbqIp|JRMDC}FO2O_bd2GczTg2PI(U@-kYnOVYY3^-0EoVoN zS>{PeKU7$ylv^qP%u?I~1R^v2gp$^d?Rq+WRyKWArJQ47`h}!i zN^OCZ?WV+K{ocJKg18i-vp9=S@3zmTY;!5KAygazmmm*#tv+b&~G9V zn(PY7Vbpuw0mS!LVeG#w(D?Jszz_LM5j z`^FcEoTV0tbX*S7nR=&F`E@XMc^W#9CS-%ueoy5C2cAShcTi@#GPW5`e%&T= zn2}!%y|41?J!mKB$WO5bqhsiiqx@?4JjAqcFRIR2U-K929WI;vI#-^vOj6w-@@pv? zA^AQWEVIe4tAt-b_^lUyCR1obW}0i_ApCcx-zh^rkjAqWxD&|harn18=9B+umvVLv z`IYto(D1;xOv^m!*L;*kOKpbam*B-hK)VvqHr}@2qbz!&UhvURcJB8!-HzPZQV!NB zYXFHY&Y)5q#28M6$SA}!3K13u)@xK@twu2xZ9q44z+xnj!yLE)Ir4QDe6-+rwMwc5 zN6g8q)KG&cVG&xM(v<9%Amb|Q1N*7P(eG7TANyP0Jt9&(B0n;6M3=~qkh6q^n6^in zqHoGg&7JwKQa4A3=1Gi#Bxk+QLAJb`el``-FRd4G(lN3dh|PsHf2eK&*SLI!H7;A) zzJqcG7cTvP%%0SemA6+nz7d(^U-|`>4#ZI-aD~MKYjK6A>2OEr;NWSy<-LWL5>H8Et zxn_sQMv(PYHr7*9th;E|ekbdR$)Zgyk^$2VmI(J{&sjM9W3wO-(V}KG` ztNFa**pBauygE+gRnre7KgDzQygZCfG#3j0Yp>mI|PWA@7s+}6n`b}3qA>? z|Gh%rDfmml)q)Wq<4qL$Ou^BDTqljcl8+DxU7T764Y@eH3^dy33hG@LeuiKP5LxnZ zR|8!7b^savf*>14((LaTezVYKf90!${*hon&@XtLMjz$DLYq9wKE$p^+zJ}}laAMR zdX|g6(nY)FP4{|*pSj|n>Y~eC^qnp`i+q`?t4?(!zmqKbNv8;9yU)D(NOa!pTGscZ z&eF_5?uCsgZ|zWKnzWtF6=vQqI+J_|`%xt?rrBqI2397`t;HPb+^O^GjcB;P>kYUb zmd?n9hTd1XaE8clMlR%ev?uchIm(5GPqkFqm6A`gqQf`jaM|R-b!aT;D%CH}8^gzg z@6;2304BT~EVIdlW}ndo!q4n8DkSB)ndX|9O)i{>1P3GDOvn@$YX>X+u@OrHbsq)dLoPdI#NE-E)v?IZg4m?H3#zQ$ z-Ckb!La?s75Q?%Z`3W9C%94^60=oJ2u;VtSB(Nbx|91TWx)CEE9IP zR`Z++tLY+qE> zneT&YcP)z5t=fh1HBzQ$QVXMFMUy%m-5Ep|4loi;EZlf69M1)>l34)g;Hq_mGXXZq zYYC#-6|>XLd~5{*3Znzm)a4P8-ddfEw@Xck-0~yj4Y%wCjtOqeA>J=(??aq7TB>e@ z&%`|uiyT%UD)M`)PIx#dEt9jA*M@u)udrJ;Ys}eMwnL@%ymN&vl}l+9x+#5lVRW+S z!zVOuj$F?5F!+J2yaKtv+^u^hdbCD)rWQIc9#v(%ldHg2r0w^mN9pZvo3HF$G4iE_BMSCak}j+FlM6!#yi0gj5*T^ z#(xFa3h6(xGbYb9;2E-7F^I#ruD*G0ZiE`*ZF&(wiQV`yGaP|<&!vHu*Rg)N7nnov z#uR!jn}uThbQbCRjKss+GOEU@T{Eij6OG9!mw3BX+JP&y@3afvSYFvp3CprZM zQHqbTOAnCi({6^Zcfm)fVj-gpb)8C)ULUU5cV^+KxESe0#uW~~vOZ(fpHmh75ehin zxWWjtGtl;=3-5t+bnbQ61K`&a|GUJlll+x4cAYLgIpc@$-~1^m4IJ;MT!#4PL;fj( zTz@7IpG67x4JD2e94g^F7lQsr2_7cM#sZ>B_+{J&B2Sq6c*6Ns1JT<0E(J2(g@Sd0 zlLUE=9OIP=eX!uS1oH(SMkIXV6+Z*=ejHcvejy z6FZ+*C{I7HFnHKWnbsZ7P%ZzoS<|Q2&#RwZmmE6cjqkr*%s?~_bY}c$Xb#u-k8e)7 zy|o)XLdI!k{5TOG^DuJAar|ibjF*pKwB%FgMt%F{Qen37;{rYmT&4Q;c-Ej1LA&ND zMPrY4gib&c*~X9Sg`XKe?ht-DwQ93wnrmXV@nb*a<50w#h(_=RJacE`M~*Xdb)pdskk;(O@t>0m9eLh8_8VhR^cncPoDy|-q{SuS4j#jB#M}Mp+_3{G^8wxN492gk>d~_SFDvl1sdz=-BhpsCOe6mf} ziM6Wtiaj)o0`1Mw5BxEn8Bv3YgQvQ+R9WvYI4_L6gkhHfvHN|D{{nTpATM4PsQZv( zQ-7>zoqu@Ijf)HYv8o#j+Kydyo{Yf%kcptRK({SpW z$~YcvMmW~h-&$GJWhq7gD1`|u1!SzS{OR)D$$f28Q(7tgsx?T-bp&<#%%9R6(d$+qq?X%mQHaE`;7Abs2IS?r_Rs?3nwgyJsHf z&YgSj+;irfnR(w-T#g+0Ra~Rp4iQ!93OxAG0Ea`SK0<1$cMMSVz>;SkCJRZ$$U zPARx4^1Y0I)-z+HqH;iIRitIkHm$3wuE143+*d#e#3nY|QUO_*SLv=>sJs5L2i1yB^I<9Bjb7y-uA*upWTc;))PBDP9<>wSJD1vWAP=pEBBP6bUFr=Q22Y zou{&W6~9L9{glZ_&l|tmd#{zT|3^#hwd5R+=9`J%cl9=h)?8P8nUb-3R)0N};L>D% z*(|#fjMlyeS0S68yAkmWtI)w^OYcb!9w~Y-`KypauRRHgF?_EVJ($N+!Q}VZ>wt{=Cp!N1gc|6a10jje_42{Hh@Le!?eyK7Jrd#g7CcID1ep z@Nu5h7<^dJKQHnI$@c|GPY7Nj$kAEWCj^9OR>JoPkGB)ZWl@{H+DFsv*G?bjD}SOdoq6s2H~DDZn|AtVd^FF~POtH$5A>yP_oe^K zM?deQNBYW(@~0KT>PzYq%Pn;<+X`(uXE$21&S0tD^_4XZjl%VStI(OA>I2oH)p&qD zQ|*jrwVKB}&r-KDRW*&#jc%Q5|K3w_>D8y^oR7Ik>DATCs%nif7Wc&d+GFcQFEskJ zp&89D`VtlPR-fh?CJaWOz8;;_Xh!r>pEi8BrVWED_0*K=yUbsOJ?Yc*qhlylzk$F` zbVBHt0!8SQ(3LR=Xrd>5dXMlk`g92ANq#1P?PBwv*rPs;0_Zmb5p<#}aLypR`025N z{G#9Ob@1rZ(3y%N?h`OcM&0+QQkT1b3m^YRnTx3p@$C`!5hY+k6CMlGNM_B~BXDgY z@f`=yx(zR^Sw}+^Y5yv!&OH@ln3&KOHacqI)hm!Qo|+=sdV3T0ozU9)ZcIK*p4m|m zZCM6w{jZVZA1K~U`)u1(t*=j2eA}jKeO=uI(AA-@w?SY3C-wFFmA<|-+A@0s^mVhY zOPjiyQ0<|wZ%O{69DZU~Z$u@cscF#A-;1=Y>U96v^dhR!*|)KvxHHoHc=E#bRmc%J z{`bY58zNPCchSJyR<>5D<&mngyYl=Ia2fRG!0bpXqNyz}GU2`C?ckj_4#NO<6=&A{ zjZ_W&4F(7h)3ZK|`2FWJKMx+BIu{Ycb(QkkgV&E>mk;+OSy^3eudimvMWyJ+hC^yH&jJUh6x zl7Mzzc#Prh1sxt&&liu zGa9$G`<#1^dW77q_66+T{yhNo?qdJeCo+t?(V%9O_s}M{D{9bV0PD0|RXy}%(C)(L zT62g(?bIiEaRFHT*<(=c_(YBbtV4+nw=q>ppNP_XcTjJg@P+*3Ks^yD(lH{^!oKTy zJl)u{+se9$+AI1bQIXr<0Ie*s)uXkaq7>2v{?&G%yW!r?rf&{LJOfw0&z9bkKDtZvQSw(I zhkkhy5_#db$@y?iDmVfNdBHgh2$`a!KM)UQ$-AgO{yMJ!$>&~;LE33q z-(L!H{cfgTDfAjacG!$ROX$gh69rEdcdN+W&`w5?CxA+))FCLA?Rsz0yb5_~_Gp^k^SHzklnszWgWoXwFBok3ZL!-q)A@fG_=3AN`Dvrt6Q*-_m>b zLtCs`TwQf>#Zs(uv!J4(vhL#dO`V4NZxhU-Ts^?5&>o z03K!rqbKeJ6F$4W)e{Y$61kcGDfJ{P2J{i0(376Xbs4M%a&&V3P6UcB3q zu=)BiI)`co_nvTS0M9Q{*!)jGyMu~ZC;Dy8iNn7ZoAbM}iMcD(R5%`5rozqBWw!$K z)oxM6czYGMDxX_b1+TUt*R6X+V-#EOY3fR5jijx-0#puSEo0%%`j@`3zI0UzbbKO5 zLhpjp`b98=!LPfmqoCXdpp8n}I=QAm#A z#cc^jkOpH~3=rPjY-QvDEro>df{&^~qTW*;g+$G7*=LtfDOg|K(Ct3(S_P3qWh`Ti z@a&t(=0`w#d&4{-X@}{}dQ!ttjy8|$MUN2vxPadMbtn%~rrj?2cpMc>KHs`iTaaD= zx%YM;p3~qhf;S6ZFX<_v*9p=OlljXuIwuOv^&A*q2+RlHH$dRyJgqTE{{wu2x8Mi; zcbxn5K-i8i1fpYbW&Zpnmqxwgi$I*R!_fe| zYD;(xczj2r+SiBt`3`2ggn&47TF>B9XzLlApGSHg;u(&`e|*w`|82U$M^nGC)BSn` z>uIO=0b$d;k8FCPFWs-VJn75-Eg#+Lqkrt9U-!|LRJ>1m#Q`@o@d^L1OiT^cwbhl4 zSOL`1SyUI4o*&pt&&_V;`{mLba<2!WyTqEh18QHQ{LEnV217HNU-S(s?5*A~5uFW# z(Hkh2k7h(K?MsHwczHM$NIl7l0nfN6^rSZ|Q$0W+P%5Q1qH{n$5_lS&jPUZX>`8Ah z_9|mv+9~`@rFyG3>_Ro@>3kS+cu+Ctj+*{$M7y5*o-s_V*s(5!CCZaF2 zbH=jh3d%(>Z+QEc5fwZB(c;}PcZ;oNpwou^<~AB*Qh8UneNuV1h0mB;K)1(+0$6fx zQ|-R1kLF2OGY&?d61-7-+tY0=7RobTR8y9=yu zi8$7Q-CpK)s^?m}BDO;5h^6LiH&1pXHA_9v?lby(9zyZwyG@+e2E%5JwFWw=h?p2tN0qa2;^x;)Aj zFY_pSIF`GYryu2T>LBG)$qQH5JQ)>hufR{vNqmiHeWR(ZGv17p|8Tu1hNaiH`=OO_ z5IC9v%a6b$KK1tZXk(1|P|QPe;EZm@h+O8O0R73b>0u$nGq8u-7yHmi@joPg6^#Bh zwWwMMWV0qcq*9uKKsxqkYlKi91Fxl96U;}Nbq1ue;0h1zFY8B zLE3wu$CQi~d<*q}2;)2lgec-{2ZBZXS3rmkan8E~A7`mX)v1!Ne_z%Tq|+`#JrJTo z$&o-FCkVu$oPI#^`2&7f{&#|p2;QyHF?OEoC7$*ke4P10vjf8?NIj7l7c2x)FZ&JJ zoAJLAX}P`tmk4$=kh_UF9+yQRW&~kvQ7yH%&5;D4P-lofXI^8 z+kOGs*4rKw+T1^LkQtwJpe$w66h&;>KmU&RhMhhMgiW95OJ|y${(T?KF)BNq&JZ^J zd0#sFAv>K;7B=nI8#{dIV}0dCuhRyQ1L$v9^+8#X*qewRXlY}r)A`S{Am!dSFqi#k z>}azL_Pm2@YvyBK<@|bfwY8Ow(E}6J4UN@RiJB#K2hxs&&WOS2gK9PnXsTcQqK{Ew zZ}q`dqIVg6a3?yCiR92rebDe(Ef2-bQcqnQ)fbt+3VYHA+37Nrs$ZNh>V^I&(2C9q z{ThRSCVJ8bONF1&2Nw%JU0UgLi_L%H7<`NHRi~3>--qp}2m3I-gxI&DkIZRD+E0Cu z<|Itui@2|=34Dvp1iqJ6E!PwHW)Fu;&`#eBzB4*5&@=d6Rx|kChxvP{#=-7C25u=_ z|81N*r|-p5lZ%v#UKxb7s_k%3ni;A3JtqTV{@#YJ^Y;=Pa?jsGT4x*CtND8+nfZH( zxW|?-6EA6~7>fZ~#h8Z5cr9sW1!-$yUdCJ!Pkr1tS^`77+~v(Lt$IdH3QPq-24bm6 z`O2FROW)Y@0~3={=fR)w9QYHqQNDJEUZLj)-bY1wc|rJ$xyx1$Y3^KA)H1a*ay_$j zJ~(0M6$$zkhR7K{iUKRj|XsFbKC*gH}XTBANWIbENJID0KJ+Y zSg*^i1=#ZgIbRU$mI5sO>pN(ZtZF43=I%pQsFWdHkZwHsdOxDdK$Q9abABNAw?{+8 z0aioZfYbd?m>)=K76TE~y`jV{P}Cq7V4cgYIG0|}57exN#WdrOX~v_yj5*lQ1LKd@ z{6Maufjj+r09uPPY;fh*0Ib&HydE<|0msnH{J=|)fKtm93|gtOamdeT)am(w(>41U zI^%4W@jfdf=LcH0&zic79P?4Nf!cLE*{6MHYM(<3mxXn@TPA0}=MmZ!^tf!=30db7 z?!nc{rk5M(XJ6+LZhR9?0tn=%K;Toh<-#s4)R`F6Gk5?$=@&)NX#eBPy-}a?X z_NBjHdjDR`GxVtGR=22)r+Oq}-`DW5d$JG9KHU8j#2y_)V)d07G*OfM4`ID(vkzKn*%M1~U$@5uKXDh+d8Z7(N_7 zWVnWvv4V69>6o6z0b0@dFqEoatig}Y3jJ6hADx%*^04e_96&V=%A0Y3kvLECGXZRS zH4eb}kL=Sp@9=#c2ax@(9*Vk8aUeiVJ8a&)>NxkgXv^yS;`?QuTWadRPn^2v8*iT3 z66@0kv-~i9?~&wR;Z1r!*3~)w(ZnR%mi%*Eq3N7)H>k`r4^ds1NK>nxhlr(QujWv5 z*nOt>aq@>&Ju_N0_R470iYxPA&$?1AR~w!1Ug4M5suRIXK&~Uy68i>b8xCzIJKzOI z&u-(uZ6MO;zDS>EFxha`s~vIs1OgM@TQN~hC(O71L>i2Qw(P2JS(RmR;n+mbj>TNz*aXc>_$k-?+PX5v3YRn}99jBz;=o!!LzY24`9 z?8h9lVVHp4AzOM+^AC5*{6q3r!RWC*d+|v~q%N>i?8`i!3MRjAJ)C)vhp5NS0)llg zCRi?bnxvl~^f7`%1>X?;@D;(o2tF@(7ZAa@9!UM_OF$HjbG=xIIPox$`s64eZvB!^ z1F6Ry0mR1{h#%C;c^>D%`aLc9m|&|$=SHEwB`EU{oob;!CwQ*l3_dSM05DlFW5M8R0 z@`%3#ZR?Yd3vKR``N)J%I#Bkq=?y-5g^%VvVCSd)YttwC(wSzb-|VCP`s6Ynzl(kO z{qqLfed!5a)$6T`s6a5zKFQ@a>GJEZKs?bH2^Pp(o@}jd^hH^wtscey!iK`=9UPk=# zqO=`0mG2gY&qykV#&Zf{ecp@o!F;$jC{3{m&#ii)qr#_;;Xo_S&T)`f%MjSihvFcA z!a>f%Mk%EM@c)>Hf2xoTJn5FkO9kFGNp`EBQ9d&!$!_(tRx9I2 zQa@9#;4J!?a)H~A>6ckI`q=v=OEdC;$IzIG&aR)Wz%|XLf2~10!@lZg8^mr%{wf%K zYd`g~O%N)mpM4LA7q(hHn#g@Oh*wJb+Z_DP`+6Qn(t`q#@q>Ss>@sh>RvWIgYd^gDp8FNc6p73aG^>SvWe z>Sr@?^1ac|%zg4-{p|lw{fxa@F8xgPc>lTjS@v~fa_DEp=cd@0J?eF@c z>?atEUS{Zh)yqQYCk#J!apTdcQ6K58ozL*Oie(WZy1&!}e&sM}x+lGClN1O^iKoGj zr@jaELzl$hVcC;jwq0_Us-oZ{{Dfp**DJk@F9G!Xfi*z-yP|v-e_z&iFi+HXX*4Y|hcha=lid?gS!P^72GBG2Ou8l_$@%nWnTkQ zj-i~1k8?hLSbmmZOpyCw;NuJv`f$O2qfU%}7RYi>2tFkEe}Y#6(FK&8DfD2mJjjOf#?BtP%fx{|5j2{+(G--q6tf)|%G) zSKUY5zkkg{R;AUZ*Gz zDJ2t{zX~fbQy9M2m9@p=gvJh{?2#qZQ^`cY*qsVocZl^f0b`z?(34)hM);LVsXgFF zy?PS{|D-7ebcUYZ>#f3XneZErc9S6r71LY2x)t@ncx7NGPOPVOl}ww+q4x@mUaj|O zz}!(~=loaH{WqLvhhh_h$d(rminN?shVzO+?RFpBMZOXDnWp9WfmPK_%R_-g1w1zk zucj6nNrj72PzgKW=c??Puw{NN()3`>W&cTXy6bm*%fLBJ7U+ zddFcI8{~#?Ti(~H_i*dT2~Q+j+waBEQsKePt;>&yxQ|-LPfbQ-;rg49t`5(Y;eK|O61OFlK_VQ0_fFZ`Cd!|oPrwb8%a zE%+5yFYUZ9HsQYHl|~7^Fnm#%y7N}e&(r>#$BG$wtzq|JxTHp0xHsk=>4>FH#TjG$ z+ErNhCmM5KR~JTNqp79#3bx0*7Vex)uA)DG}tr*vfNe0L5&4 zNrx_|;O7B2vDMxH@+36~a%5t7Sg-n2*!(oFffoD*>2ll;yq%*c63ul+!0vEFTN?ch zJP|cjzqr+wnA$KDa2>K@VBl_D@M2JUv|@)ULuqLUH2fL3)s+NZ$g}1&J={xa>b*;(zb~=1X z+uez3q3vjDvD$7UGPM5|9-76SC~#(bGiY2Gy~-_aR~J43eItF9#*GX|b}Y)BnmBvn zLHPDf&davR$;tjrPKJ3mIe9Qr6=CHci1aOZu48QR{T-t-J8l%LiEP2HJbhJD*jsUU z5+coND~-ew_|g}y+k#W!GtNm?NJ*SbH`-Mr%Tnj&N2^>oepG|l>T z)+Wt*h?n*M?geX{lKToO9l@R}Y9E(j+t<&?x@FO z)v59ZJ9J4}u2J#{Z^?T-C1UmX}p zZ2z=bzbcAURGDL*>1{i?;f=9@&wWRnnYr)|GIIPTz0lQ@R>l}OeuNgf@{4&ML%1(- zf3&6CTd2s8B>}staATDm({!1maZJzqsdTM%Mji8|SvK^kp5=}M+*R8C;tHz3d4}ED z*W>8-v!xG_@_jC!8R)ZYaG${i1M(>+@jl@=YDnhslD`T)*w^dDUz*4BiARfNpCcz&GeoNA?7Wzs-+DDkb4v2o-i3>eN(9HYgexuCyalrwC99(7m4%CnM zq~ODX_X&O%Nd9YuZWOE)tQMRCWIi(wxJcp;5#%~yJdW8fCWY59st|7gLbr$y2SPL~ z;e21l{}s#_e;bhHek!;K$b5r7VeWi=6xtaI)gdTMsN!r0;o;^pS z6B*IV@eIS~LaF=G9>+7PmRwR_S(T_r)?HRpx1gdTR>s4cunCp7!;3Dl#r zVRIn}Xria_2l|mSnDGbBza>8tdOQBG2KAuLZqr_jKcFA&b?Bo1M%+1=j|oR>%-~%; zIQ6-~SPgdBY0W#9O%A74<(H>whvzGG|3(}to+=xTEkEPj@lP%9^;X};6FCpJHMyXD zEixF5w>-6KaPyAkcgNh9cd?4$)P=(bcl<1>rscLrj^Dz$rfZn8SL=X1#(hCsxi4tJ z%xFt&J@y5C+LTxKg?0pQP5uK4^T4N<#njfM9B2%1h>@F1#jB@ml^HG{rGdp12xc!4g?j527B?wzBoA zeCopWc{tUVp)Qq0QWs&z!spZ}qrPW(RtDRS*DkdLfL5p%;OL%}!P;pA&dg@!+{B36 zr@bFy%Tv<|VyV96Zls_*^*LM-%sXC#@)&n0;#A#e%Vb=XXVgBdd-^sG#OMbmM^Eag zh`Y~5u?Oqp#jSe$BQ^AJcjzZl7am^VUigUuU=gqgI2pi2R6Yfd=4jd9k z(ea%tg{hrb@g${&^mm60;Ot+u59@EB7GZ~#Rch()}}?y+k* z&v>$mSh#_sSP8898BNV7idMZtA9^?M&hXl|D5NG23Ex4SP@Ei4?#?aXGQ*wFxwaHU zJ0DKotA=!nxE{9*>EL>Gxt~Aeb;-Vo&JI`kCP1&&C7Z9y(H+!Ym+WjET?y!-=&|SV z4&U4Zo%F}Z3O(~sU69lG^xgKi^xdY0Z`3wF%HL#mX6VLvoTwYv-5PFM+2az|+&3i4 z(2YH8brBvU4&BVbZcCS8*oHqCvRRJ`mANl=8M2wJBCR2t$z|?e%#h7;4B5o0!rX4@ zzF6P9r#dc@v6@e#(?z?F2Urb7De*sHU9umd6)|qH0RWx*vx*wTsf*URJdAVcVfnB~ z^Nz&9Ttn;)jI(si#ND7rLWapm$h+uC&`6*1GJd3I#viS9$-b^mLv0y@)*7i#ipxG& zt@Sug%Jx}$$_#)kL;^}t9>=)GQk9KEHD&-Ly)N15V2F%*z+_NdWqirX=v$Xe$zxhN z{pjrytA$0+n23tnpOKLLoEKn@pBd9oF=`~kH->>m4?K)}HrsfF@vGd|b;n-YjTaaK z`Kw^YD}3V*9N&oHYvvE|cq-(`Uk>?~dhd83SO<#*PY@g`>4ie)3-%Fw2AVF*Judj5 zAjd%%e=885_?Pg57eRa)5WyJp=JTq^cez80b-+RnQzgz0}oWFqanv!FIDB>IrjgQk!E*Bi%Ym@hIb(qw=NJy;xC7TU@Pq&^94gdB&k*>{vT+2JYu=f=KiEik9_Gc z2ZT+J@}=M4qfw_Pi(EgD7xzHG{Rd2^9#uSguH7~pd%`77( z#@k~5*B7H;$6&@M42@@#&!-w=VEW#UPdq9&yBVLDhfeA!GU(;_gyD0L@OxA0NmdN# zGd!Uu|A?ohK**Fry~uJddKx)|hhsIA6?G4M){oc z4$%MhIv9P9^A2(@4;4!(>uOkS!PBdqWT|2M*N39#{27s!l{OjV3+qLvL(2czNArPj7Z zl^j-~_ze0kKp*Qu>sUr*OHU9O?BAgk8`~s@bc}*YbY}`nlJ%$EmAe!Tlbv@ur_V?p z5^0+n0oQ<>ZE~F1p-6d2sD+HCAQ|T|Q^6n(t%oEi-wCZ>W&D%Qc)ZT&sEo5S z89Q$JkS&DlibmP}k%+*26PRtjb6DwE3gYp?%9`5lOm!A>E~9`TY>f#`Rf z5kPz#4nmRddpHN;n}UA@GW|iJ?-iux&3tsHAksmD_!YsGK+0i@fp{jIbAgZ_9m+9~ z$DA{OtjAbM9|=T1Uve}Md>r~-p(|7U0FK|EDqJD{m~bEdSfu)I)8l>VetCxD<#zs8 zeDrZX`br-?%||!-=!<;x%|5yZ8_kS{B~{gpIoH7H;*n{d!|F?um9?3*YxE9P$-3Gl zRTukXbzFQ#40klm7?rgZjmsM=sv8=XG*r|#AaY@*NMm&^C}kb8pRMeUo;p_LtE|Og zjOi#cvpif@F*P=QQaDx-j>V?TnKrp1J_inoy_Zi;DK5@sKT!|p0&LxxuqI~gul=MI zHzR|QPYjKFcAw;vw?&RH^2shRQvPSXlurzw&&kdFX*^VRz_a8DJ;^6?`6XZCj278Z=>)Nl6?}ph;$f(e?|DJV`W*d=6clQP^520XTmvF-N`2h z#D3EK^vGC>FGV;FawN4^lFAuqRllU7eFcYlcD$#+3Gt*4I@9*&aVXnmaA;vO`(Hi& zTDb1V_-`g$(({NDE-9oax57_0ymI~=Q}90@kq_Wq}+ zjM?^{JE`dn=Y!n25_MbxC@+4=l8Go`gf|bxuZR|E%H@RiM-gM~`F@x#&ov9I!eLcd z3sk%CKLAO}O$;AgCOh79Nd(#P{&C!ssK6zN(Q?%lsw@TyaNyiK-uFEG&27!P41brq z{|>Kx2`}ru(Je3ai}fAB%2CQpZ$V$e`*%g1b&8{P4OaoIQ>2#O{v3XCu}t1#@%S5< z;w(?{^5C1b{hRoKMe5QGare*h)Pmty<>;ltbzeqol%}~mJMjopPcMpdia9V4;YI#PvpdKup085Z8Np<`m8qwIJjGV4wT1M6}p%GCQH-Yb~Y~#E`BttI0v&FKGrg`6` z{8ZwsymqHB*=2t8MD5|HDa+)n|o(D(o#$D99! zO67z9pMf}(^9+#nq`wui1nF-@{D~mPJ@HZVlo_9t_zNU{qR`X_n0|sFJABeRab0*m z*8@pkBiH~$_v%yvF<#)D1Eic^4rKj4Bk5y+Y?l*(DDQj{2oWGH*T2PlIF<>A;J-zx z|2AERj5a;XNBiaab-r}g!!FN-32b_jFa04O{V`wuYkldPee{h!y2D2=^wAT1bPsw0 zAMlC=H4WJJPjaR;hsH!hUDYM^M)#Tz{R40-Rbro>7xkO@B z0eC)Tl!6aR*^sWKVqrsdwN=I5Ic=d`Wqr)->#yYS(>kU2v@szSx~#uaquM@MpBV(j zG4@x_;QAvBM$a%bo|%2pGdj^pFc>`}gol&QWN*ho4WDv(SdQCIJtHFLS<1Q~)QeuQ z37rM{2?ha8^rUC37k>3RdtlRk>KU!5$D!c06E73`rlBwIG7icL^2@P`-iGuzC`KWR zB5kTQ%dyioSGwfzWYm3=a~d+EmWi<*ZzI0HAT+fBw8VP~3Yk$$CC!E1`#KVl)XJSv z_souyIc6A1mF7oW;ui+1Ebu_u8F9md5m6)&D-kiZD3ZDW`x@*>jK$KHdizHRm%sK@ z;B;L9?l+_>a5^f`emSIKtmTezPx$eu0Y~xUGUu!3#VMug-?`SDu|>_^DOIy@Il3xU z|3=M*rdO~zL07yO(9W*E%-uNx8PxUwP^fm`KcdtMHdIrfP|ccnP~p1O$V!E3yDIX+ zmUf>)g~>dKEWk9OGcgk>QnV72d0wShk1pc+(o_2|_nsNW-aoga+rZI` zTc_Q@%H5a4YhTuS*UQkmln}vYXnu>D2&NpViUq%>8YLLk)m#Oz&T)-(j$GaUaPZ5` zcq15hd|xRWRVaw-v_!$6M#W|^evPuR&S)hk>BCRa8P8G~zhY(N(yf_S@PcIhN6D*% zFEvp^@MiPqAjx{86ZBdE$>mGJqxGy=r~_xzie$agDNIj~mPKgCH`}=TYbq5oCLZ_R z=p9sQIc_mm^bYb@!T5tj^}0bPA+ikL5av}e@Hi@%e7x8~J3zcF;-43~O7KF#IfC??z$-BR2_WTk`bXeZR`M?#6#9nqXCOX~S!e&( znhu(EAa9cNFG~DsLH4i+&gqg~B=Ls`9xT{bQ0x{ZYw=JZD(!bcOBmjp4yUqGulWp+ zdc+tY>v^K29|gp_x19uCl zGkocP@zJ;V=*NBZuYEM_KsNsas*j+rvyBLf?Bc(X=^E48iHhoC^T=dWT1kdXcc~xb z8j;zjktn5UZ;c?`>L;*vWLuwV%-Hc`yVFmoGuaBt{^}>}JQ$3AV(5LWCz)Z&W0hReglDR=qwl&!HLQtJS=&^}`1NA`v8JLj|o~RJYchOH+Pkzz=_c|DP{eAM&cnbCE zBB-bOM<~(_O%_19ycx~g{s2gK%i0$J6A|}6h+F#>vlKSps*<*}A6dBWCj5o(`7E_$ z0AD1^|9mR`xc78%KX({sd7lp(p%)9dR4o>89_QOX9qBvt_l3E$H1?Cclmi<=bl90vPiI8k1#2VteU4i!(7 zZ@N0OV?w@n1Lqn)M_FgGK|wo9E-#NY(QpQ+;Gc=2d5E%fxC#YTriXy(c9m zddtH^Sf|Ba(pmgX*zaYNdvlGavu~wb8xnsL({HB7(`7x(Ch$d{;!x$oC&(2Wh>Hc! z2Qob_^c2A}1&0ICl{-fO(G{!lYuruozu+FGy!RxKa@@T@%5}E`@o~P29~23;2!2s; zIS?O*5QYd#$1&wD=`K7R4 zVDh(A+1)t47!Aawn))N@hHoZQDA_;76shDxcYrqr`){wnNA-rKG;z(Al> zO6|czPLYlKBH_7b5YR+V^4?&n&oZ4|tsf^Mpo#(8#ge3;CwcFOC~z2ZK8;R_Yx02X zBJZ(+{6hcjbujXt9-ob*D)Pf^iV22+3)ii|-?)2k)O{rEJ{5KUwQvK+kd;?K%>6t2 zD0&}!OookhXSjafm@*4Ox?jQ(M+W?kO#BM9R`AGbV zAb=f(TlK2f>ES@nyk1ZJIi}93bX;vH>^`YRo8Qef+HB%`y%+5!T+c2ttXjD%GuV8! zK0EFbBFm*`7QKQHdpk~0FML(F?uYnqymuC%p*Yxl3ozTtQSjbr_Y5{;x%9ub;mlB+pr<+XK_=erQ6ZAQ*;<632Q6i?pGl@9?u3` zrL=7#eHUSEy|sUWkl7cza6#f7#>3N>XPUWhwJ*y+1{Q2WpElY?9G z=Te;hKPY||z$)I1k{wI&V4QCr5 z02Z#>WQsKJNIuv80!PKQlY4)CTzVN;$90iid~?o8=N(q5@&?Za;5KWLhVD+oPz9}aki8Jt)pJ8%JSK6-+?i6)l;;T4e!H+22(4ysgvQ{c)is% z{q>77EL%_vEWZKpnn~;)!=pxlLGu+jPW$6#fS%eD&Wv+IF-7!pKzQ>a{2HC(IO8@{ zhx#L9TxUE-W&F04@n_(ekqhwZH6!^P*IvqDAGp{U@#I7IE23y%D=(n;c|e~hxR)M9 z*;mv;>m=c#TPHODsl1cCjn!2v(sfQNMIg0*ky?=pc7b|a9Z#SkDciVztK?daE+|`i zF8%2wl%xK%UDmZCe-(0!_cMPC-+8hx6_2Na$?x-D8V&gf?{>$(zi$xnc#MJrB>iph zA^p1G-vqa7bZ!;;hk{&Z3XiLEq0n;#!y28C&_@VzeF5_4zEs4&pu;0RFZdhaq2O01 zw3)YgE@)ISK1$+83LXxGT;dD_Lez?LeJbi-_X8;c(*8g_>*qim(vfwloFr&`f^~w6 z1gU@G<4hEqep2`ZIrkkO=Pf+Cr2i?{A^4Ku%|M7~C7%=eTtWInVO-6j{egPwr-0NC zspGMp)bE)7E-oVLyBmm8a{dg=2hHw*$6uo{xLojaK(;?+UA9{Y2v$n!B;E?z)+3J< zx)sRawNRVW{)`sKNm(9Dbl_8iv4gzP%$`{y&2TCsdf9(+=bT$k|KQ%O-?S0Zu=@!C3e&~nPc>hR7^in@HeAu5b zoG10vlv z_gOj^tw&bseDq$)He;h$MOqF@c|qZg*l?EmBc1hj!I(2>R~NR?OELjHJ9t#y;As7aDxW!8(JuH z-|3MlWeH z3d|=o`;(BCUc2`TR>l+YoOmT^HQA4L;t`Ffk63VUVAPz(>W0Qq^BWe`;L|v&Y)Mt} zlIprdhXPgM@1c!hsJ%@KC-(LDVE;T&Z zZ0Zf40^)%Q4iOwA*ojD{`}co+3GvMD_y75s#G8F!zX}?!us8=WP{;TTAm!uF04W!r z1jH-F84AS5c^fST48AVNxl5#XXzVgyfvPsk#Uvm7jG3S2T;gehZ=(??xBnc-_@4-F z08*b=4WztI`L_UA1!Vm$l=SI9%Iy&#n#MT|h*wuh2#7$yk3PajulLcVKHBjeZ<;UtuRi*Jee~~rbgPdZ=;NPTq|QjPMuzqX+46L0 zQ9C^uK@~a>#-7a4(XZ%ZeejF2^xn*qd;OIha`Y*=*N08Z(TT+wNqT?fX!_kS7&+R| z`zl9sSlRI7U;3#OGoqJrwBd8HJX~W<2T5KC=mR{VCpp^8M=q688*zf@2Lex{lMr4W zmOaVQn?`9K^g?b!cQNnK{rVh*FBiH`?( zhrv0hZA5u%SRSj;sJ(7!z8Bg2KC}Q>JP)w0(jrwJZ%$lZ&oDZa39h+@nzZPGZvga_ z<-1qA|7VOhFxt$v%{D&ayccF0zWKD-Cf`~bw%mO+>s)}u`TC|ddP=w@Z)lvl;)6|l za689wJO2$oiHfMXosFFb?byB$f^#m;$(yC&=$e9tdkkPToHirSeAIpq1bY2UpwWJf z7+f&65ej_|;Jsk>V=)VDmNs;Sc*zQz*MV94BSuA7t+}NX4Ei!4ytx9uMnyQ@s0j3r z!C~j?j0;sp$`~f&kHOLRE=??k1Z`U|D5M)19e-ul3$KLzAuASm1$I#_)OnbC_j;;= zZQ1aiY7S+>9L}pvs92>=V5^XNG`s}Lm3;zzaCN+4qmZ?D#`Z;@7%B4<$X^AcCroMr z$BaI)QS$LPDwupeeWEX3+IaUkoUecfJ@~5NF2QGkOy_(Brr#&{Tfy&XbXE(!Oz={{ zvjis#o&uzPK|2BE_GiEpulhK55yE@UxgJP4J_V%wz7~ioI+p_Ran8~hoGfVU0;43| zKR@9$TmhDQL}Rc`uvPF5!7l*uN-sG@XqwVdPWhP)MtKVT)Pr6_V^Z&U3CMc>5yisNj=2xgSPb&j-`>_2xK@G|M5wO z;rM6MYkc%2K6;{${+f^W>m3~5wE0udvgx;cG}G+#Rv-OmAN{D0rk|f(-e(8!sUrH> z)Vc_T_7BTNEq71*Q8xnQ^iLa~eflgpBf$RZEt^FjFnWuj z@yznMWgnr!-ukB*`>YxN--(BHJUR4IZ!vtXkel_pQcqnQ_3WF!3VYI9bPo^+luD_Q zs2BQ^z(#Z~=tmd?G|`jZQY!UXrn3hY3qK**w=XvTi9P8pn^2EKk#9Q-;+z3F^%nGt zy$-A4NEIs9!qt|T%$d1yb zOj$1NqK7;ZrQ_TCqKZUt9eYwmXoiRQ_(?!-RFP_&7gdp;0QX51@%oW*aS({K|Az|0 zsBjAaB4)j!23-U27!~T#q(&3zIwRtYcD^A+qINWksQ^o&rd(?jMvp4OQm95NvO^tt z4fj2o=9{3jI&!TlN9EX~j-2aNNIZUIn9s1+Ze;hM5zKsv9=yn2q8HiA>h{xKWYu!Q zlul6RF9WO-=Cjz|hM(+SWG|(?$Yh;=t`TDuPqO%W{NPrvf{s(T?u#Il{pQE`6H8qT zpHB7I7w?ESzmhz(eE`&*c-iKhXX# zGRwKttDC~F4$<#HT+2Sgye-3iuWueUAMP5?V?+yZ#*EyQ~Njl?bKzMV?${0k= zy*j{$tM15~vkJrS(V0;(r&st~sjO9=pahAjB(c1no5))f7iA&~QIw$HSp`95Umi*r zWLS|+x&jMpEB*d%*_Ebr32VX&$8$}*aq8;o(N&AfbI8Z?aN)dxy$!=a^pL&LpLp$u z;=57&v&dfsqZdtW>VH+gtMk5$?uCK*WBBfr{5+ltCcjUQqTL?vLZ=Fd$2I8pznUuP zr%U=Nf+q>)3BHTtv%Fs)drIOt^v3l21?iJZ`n!Vc9!akO;{EGzJu8eeI(|FRyU0X6 z>~}!se?*Y>A(p!ph(08K1(14AJ&^iN6_9!k{jyMHqmMae-#|{7!zXx{;6WN4QSuk zcYtULrv;b~nwV&QbGMtP|_@o2>+cdjmo1W#P{dS>m z`_fPJ(Pdy}^PA*L@8e6~=1YIYM?dAGL%#A0ed!Z?bZ_iNN-Ij6i1x|%%B%00?!&4? zck5VrwK7xqKf;`p+n$t5FB@l;y~?haVL!u+F$vdnfAzA_RK5_5US?=U^NT)0g}v3w z`k+%{FnZZsJj@dr(M!F|@S)VgaJqU!e--wmmn~C0Lm*Hpr8c4yL4Oh$k4_)` z5rcpxdeX~`{%Z6x>YwCi0@yA#|A{^6Wf2qzBH#7s1QR%CkU90T!^p6gA+48Tqxe~n z2uCVi?9KPXWJB{qE+)a8!@ zSmN^(RTx*=4D;(1b1@eRo^E9>wt7U3T$GVzb00;Eq85u0qg5x$-=2k>R2A$QH@(r6 zHlPWVrZm!HxcOVQ#dABkc&=WaIX?+w3yPF*z2(9yHXzxm#|@fC(95G5ne<$>_GYR&nXAM}(>Uff zfK~5#D*rJ2w$JhAr>h(C)91#@UzOoM0{Nj)#@zQ}?mzXl+0lM6B9;HxrRtUoQcZ&1 zvlbBE{23HBHlN=by+=FP1!wDwb5+JhE8|pf%(iYDp6?M|?~oZQYu+ZU;&uq`eHH zlXVPGStdSpRRnbf(`GY}M(t}<3T}nca1m{6l4`FGTtGWKgJ&_DzPA(c3`gVAXG`yC ze$PnJ@5o;Tqu=@F>zstd7`{)-dI~(A3OVxs3H=JjNu9?9IsFxnyYqdG!S4vNm&Oas z;fsR#<3Q>&+;~luJ{lj^(^Xv)WiOTc7tqELO(&A znzIv#BWSqdvp<7je@0INmpbq^}iB z0IBy?0jWpM0#eVN3S>P?flNOY$oifPL=!pe&Z%F9fH;Jb3W=03s4trPk@}sjKXOPF zpLF1Vn{M{erM~>1_oa{Y(ckjXr~7CQf!W97XqipF>7$4H^0QmD^Z&_5KkTCq_mz+M z(pUQE89v%l?R>_(j4H^EWpAeXsP)J8N$pgcBMpjsr(UM}un)-E*W-#5s%PEXWy#Du zATzNi#876^vlk;2eL->jU!q#>?mA8In?qQ7`m60qVi>{Gl7m zgr4-wdBTs+9|PC*AU_k(w=FjRi9P9=^H2}!nY07`5EaU%XR@CBns+b$?sf3$nQQ;X zsTE;&ci6@Jadj$@6ttT1?S<#I79L-|3Ez$QZoqd<;qlG&oH%rR^E^OXc`Fav*8B$u zxohw*v)V8; z3@e9MZE%^wqI#lF2hJA--UfK}*-EQSHY45)b--ai(dEa1(t`STR5=>)vd{H_78G%x zbMH}?sW(dLm8^8;mN^5rO!K!92Ss)5y}YX|T@}r*mOhKs?A(qN+3AJzit+-hD?5(t zHa#p&qe{Zh5)5**rKerce02N!BkoS@;gZaYr>X}>T7Iz;bfo1v-n7P~*mO6kK=Qa4 zHs%5MNXy;K^_w+lv^(()+`)gvt>x}po|}1mAbDCCyTU9+If_px#|IEa!cmKJ6%-i=z6i4LkA6;H&m+Y|Uvy67~N#f@~nfp+=hH#*K z3rcwODpfxml1i2O9~v>4MKXc!rG3$d)`;Jrd9S7CE6r#ca8>`7w1w}fYeW@hw!`rY(JXEJo*N%iFyY!o#Bhfz&s|*#~+*Kb7|Ax^wF%B zoqh%go2I^F(@7sa*+(z%l|RRq{&8RWlfLxZe6(M``9EL!+dldwAMKxaCF>XKXP-(& znSNAr>m^E8;6tBdpB9zgWoncvus7@Asf?KgkQJ$>Mpa%?EvBprtdme#b#X=2;)^TP z7>ZvFL54cL<0JEAHh4L}+efN1?J{@DuHB+!Wy1n#%I+2?(AwSP&xU7K%$hS}#?10r zvns-qrq7&R5y#)~)Ng_zB6rcCq`DI#p&sa`)xOyyQ6ZGi zX=kHU+uM-Vf0UJNFqX87in+w-DB}Z((=FQrC!Iqgp9ZkR&Z}@-&-gcG%?A)ET-r+U z@{qlwB`TH*MOschl-MJ4V17L?w?`VL;#j(&GABE53M#NmO$vS%VK@jt*`fL#sUXH_XMJsPa0 zBWrPIS~*ZQsKIIXPOepq@`+tdEC0|p8I*#_wzhs8!{uQ*9*(rAkwKN#!S<8UB`j>p z<$h}tiOXuLsyR$uA^lW*PHc8`My%Y9n^itD8jeNJFE6uWvF+`&@|ZVnR&?4_l$}$D zoxGMTs;jviVqijT*%hj-URqrX!4YqFD`4G&X()4gXxfrcmRf`wllAowPeUW?s;d`( z*}^3ap~}YPbybuk7d2pS;o~iCfdKoFY<^XcMO4VSFCU!l7)(EumJ84J`b}|smU3YO z5O+?Ho~Z~e7Xb0-IOBlmx*Wc5nNInLausha+yH8wCCZb3Lm|q8F9MnGX&~jG2Z6YC zmA?<;DMyjsB>BEC^#2IGUg$MKbKV@vl`H{L?yCY)o?@4VuE80v)0Lh={*<%wk$yN3 z&$AI`e>4)F%^W=j*h0 z5T%3#)eQ~UKmzZbs>;UdZuYk8GBUf+>}Q=_1W~c->8Q{TovKq!Wi6k>^iXn5LQ?G* zyOhK$u_Qd}JZx?~W9Ia!6i)1vvhpcm^cAMxh?Re~Jl4(r*AueOvnU=tF4y=f+f(YE z7F+h)pQlJ}0yEBPXx?A^;u%q4Z^v2JNPaWUT8f7X{XjOkrF%I;`0)8;_#xjGR`8KM z${Fl87((hd5ZDO@s9K;NKhgvqmOaTCPYa(?K{6vh6M8FWa2_4odNXhaFq@pgdh%-@ z2jpG_c_pW?{aa^ZP;o0JffwG;>JBJw-OBmk1*!ba=xzf|Zyl8UJ7tntGvJB;dBk80 zu@nH2<1D~$nMsf2&A~q-azxx`KOe|UaUCq4C2IAZi`tPf^PV+NpYae*-_tU@Vcq5S z1j{wxk!^luuJ_n*EJ{`4qPFft|4sq zwEletXuJO(0b1@O{8R5l4{ffUO5~4Lb<+J{x&!NKdFrBBrMpzqmSC52K39%@=CpC$ z_A|P>%yctZ`x%bq1VZ>CP(Lanog<9Lpa%o*Z-zA-us|^V4BpKu>}@}Dk%&#?$LD4| zg!B|SbkUD$YZBEBm9@p=guho`m?wN7Q>ah`A;k1~i~#8gN}uUQ-!kV#`NRafS?qg+ z={R2{4pz)>Y}B+@e;X|o$hRtGcU01>=1>`aODh}5(60~H%lT41U>GU^FbL*)?1XU1_S-1+Q;F73Px|F} z;kQQ0ye9lMfuA&~r;0uG`>K}&uWiDw9u>8(Z*Tkk?WhN3yLotkYEdD(-)F`6WfSu> zlrReHO<-RhNvUpY7t6slE3dfqqOEE$e+f8aFn^VTL0166n>i3CgZUl5U+7(b50;Pd zQTL&+i%sT}nxc%nh2vD(R08~_4zYBR#1k{1C#d=L^p-hcNMN-4k zWg@8{*(kjbyV1D!sa#Yn3%|O>9W;+zTEk86^)38rtJ@FF5A9K%U$|{*DX2iSZEA!F znoMy_<9kM>_ytHKiX*CY4?o4t0>8mcDj3(MN3&I1J6uG~OCh^%e< zDxu}nTGZ~&HTbXV-*OjCP!YF;ZJ?u4>c5)yNJfM47-eHL#>;5!){VG@QK=9ZS(PH$ zHUM`Zd4&R@ti0Yp)vZdk^)qi|X^JL{Ukq+5XH^4*M+KTzZVx2i&Zy)~C3qlVpq;2r z0E>4-B5s@dk3034*TS7sOYN(d#MMIN^irMOof<)o8D(zrA=C1_Z!YA)B5ouUX)7I1 z_CQ`!;z(j!zX*Ph!dI-s@l;aJsQU@xqAgSMqp4~6Q8$j8Xi6TrwW(VKDMg4;LNXi~ z2S?kcgpkNwr3%+99Qz(3)j^EYY0N#9w3@It0u4E%ULZG^Urcugz{T1 z?^8CgQ>RRFCx(y~X_;7rw0TH7$WEK5%MFgWD~gcTH=X8AENZ$ZFFfIiWJ~k?iR0dU zM*LvUYRSXFr+5zjna+D6?tPtGk}t*!Z@o9(=e5FhZ{ob8ZKe6Fefz5*ej5m(l}M}h zjJoB6Bj{e%jX@gPNnK!0o6SR$x_Zu~O6Pc6)V+@_7IC-4`n-VKG=IyV3d-HL!)qS^ zyH@wvvVo7ggU@Oia`aj5>`;E$z<1o|);@xAt&`lbA+*+~qi&)g-+g}VqiFlqusgBf ztd@dfqi$@7io|7QcqN(!1(W*Ec*2ivZ3HJ%R zF0WEJUcdPDIn8oxe zN205kkt{NA1iL3uPSTziV`1~(QB(~oj<=iz=n9SQK-U&8H}a39P9+pSt}eb*IhMk+ z$jzHShVe%BA??4#B9Ey-G30F8@~(QJJhAi5?QXwP#H7lfblL9c7hX!_h26a2#rN}> z;X5wfp}Sl6;!J27)2EIm3ACR9ZAZP`A7H2665NPbSm19`?ez?D7*qZ3J(6*;$`QOw zXZ(W7Xo&&s?Z)^|0UsQv>5MZ~#-s3SIL?PLSsi+i&dA-UacFMP5#IbgD`S)4_>#&Y z`{50uv=iR^H7g_cRQAmOPmh;#UJBL`dsOcOgFV&NrD!UlvKL5$^?M_qweGq+1ik4$5Sc5~S- z!@C{j0=x||^Fa$Ha=66#s;yqYlZ{4w3%Sr%@A4>{Pr|{B5H=Ru$D?bl+5Or zG8oDRLmc0I+2?TN>-xr%`r)C;zRqr`;Lh%jsf5VjB}1Z2KLfIQ9~9Gu7bJCMi!3y|&k01%(xR>9kWEcYWIk9#Ew zoq&8*f?OAX`ME9t@h~7XB8OA>NN*Fo4TyJ>^F<)}aQ!t5wK&HBSzo@I8UHt2^kJa6 z&e~~6Zv#SBaefIL1LV4EjK2}c`d<%3xt5i{!%(h4)59(X9*2CDK-Pom2KjS87KkT~ zBQ#(C%ohYQ-)ntzzIGt)1y9@`;l6(=tu;8hJCj(Kn;4wlE1M<8%UxDpFJLFj4%edG_gWpad(;ox! z`1b-&M*1&={u%Hj&_5FTJHXMPzajKjfW@FwLa!0L95@Q`Nulcm7Xcl7&?l(p1bu~S zADo*)TuX(NOL!j+0J5HFGis!`1u)kch{q!EDWQh~=Yd9g|5Cw_AV9_QI#I?m{qRkQ z|9BqGMR5!Sc)xIbyOaeGo+XWjG2@3+)99OL#ybx|Uefteo_==r_;?|B7ozf`MZkIi zc}bh`zCEP-hSKAa4+$L-e%pkfd9VBi$HyVlp#|wSy&8l~uk+<+UvH;#BQ=}80LQoK zGf{t==KL+tecA2|^jEZL-hX!f@jm{%U+wgyE}wS83O*KRrr$RH#F_) zHb08DHjQV8bh^IWAIVOiAoZUs{Ht_+p#p(AA3v^lVwXQwmrv*CdLMQ=|J(FeeRLmR z{=PnbV|>S7=%YX8%TFD}KHllR<9*kc{zqSWy{|sJ4Q+nYee|uq{NM1=FZ$^FedTEn zvi3dlN_$337MoFZgE1O#A=iqLqsO)aV5RMp0cg*CM>(9m#E zyR>5dk|hbK1eI_H(6v>@5w)I?j!-k4y#ABw1iVpQ90e4!nb=7f3P*+Vsx&Puy9*;j zS%t|^)lglTsIFMNWXb#NG#RO^TTok#Ca6Ac;|2Gb2r ze^EM^S5(y}=hxK1j6FF;kc=nuG7162Frq3*|m_F&Otm)-la#T#I@Dx?WD#$fk zv_z)a_;Y&`W-2~xis-b88L{x>a;cO$$FlNCbEZ~ArbAM3NY4_ayaheaIT;AG zq2xFq?h`ei9{C)q0l2kF0OZ%7`j4$ItkLoK)d6{!FCF4O`UoG*q^}v)*eh3FgV7oqTH>8Tq{3Jv_Gk*7T*=ZoKPv95VUWL8wuV>+=VIV); zAA#){H{-Piv4&tmg>jgX2)`f6JgLVJ;m2&`XM+Efdh&BI_39@D9~AzEAFAsKJ@x;z z=Q7Mwzc^2fzu~zHj31;Ce?2UF>i;(jzm39gG}?{)Oz3U@KLhnR28GvPFp6_q?Eas8 z&6mx~F^b*>W5<~_!+kZah`b?E`E*oN?}&qv=M-bA>Yb=# zp!oh>JhsgIy*|=XPzq}bqhjvF2iyxE7~Bar5ltr^$e*ApyRyHlP;U>YY#Et}3Cb>Q z>W95fU}wT+HTnP(UMnk{wlh58-z(;au~?I~268>5Se3(LV8z{4XPn(qb_tvaE^OPC zF{;6;C z!VEL`QF!YY)Aq=4(`N#S{BWv&W~MvVUz(vB2!H0PKgL_8X?1Tm$vhPgkbm;K_4+PU z?DeGKYjMlKg<@Hx`ToLn-$TPhQ%eU&npV{Z5@$!6?yF~Omvugd<~Yvdf{=$Rg}3&{ z0Q&X&1j@FLQ{1KuhWkc6TUj_K;^3OExlU4Ck(P}sO~>H+3xMXzw_p2C)PZ*03|IV5 ztuI0}s+|~pCo;7jbI97afu)I~JEM8YL*SeQ3L*(C;Fm%iIXKd`h6NbF3kyr_dwKH! zd@Ou79^OD%VQg2p>D~S-FrRw_`FpN^q)Okw%{x||0fYPn@s<_$TDRMVNausm)BttA zl}}iL`z^}Na<)g?R6h}IYTJcH)_K2`ck&?ER&(`F)%C+ADe+tq?(BiaTL#dL$GN9Q zB9cok_f-40RWp2UWars=;lk_Mj4x67y3XX8xZy|A`FLRG^t{4#hvJepeIdVJ^5ck) zFkV(>aGzH^<-Ur*Vc9(!Ut{%@BNeWD3WxI4lRJ*1p4$Pso*drv)iYxi9`;S0{qA&j zj)z4cW;Hv3xlDG2LQ2lnaGzdsb)uO=Q5C z->hKJj{)J$oAGPT{6<*b6a(HCh3o!|2}tdKH%otWco2nabm2=>VGik=!e4+$%Y983 z)-Jg$R8to+vQ9|NkUcsSZ4AZ3b1SAqr>S{c6_~3vIh0tkBm~{Hw)V_}eFoYOVL5OZ zrA?(zmW2q?Lp@@THUgt(`mWX=Oi?t94&MS~v#V~D^lO3H?6Re3REERQ17}M&Vb8?rJVl@!Lm1-`_83jQAW38dc#JQ{dA@G$5rKLFA`wGoK6 zaJ~k_E1_gE5MkJ9Ks4d7BY}9-hq1mqPJbZzcjAdA?h$+$NdAuj$$t|NBDHf95IT~x z9?1M_1?wgLJfUX_o&jXN#sKm5aE<{U3VJ9oAM_9)u8-3WW)L-<$AHXF`y!9?zd(F~ zv@;N|!w+5+4)<~5d5r?{yf_hp=fxFaAR3l%9R^|oh@{{pf=3E|LhyGeOgrC$z#`fOMnQ&D)7VnGZh&a76amzP5qu8_1=X@C%qBKFc4))m$D!N^=bL5=pv;5 zKlZK!KC0?^4}u!4IJk^b6&otJk7ZR-jAkT}iDnep#03L}uqXnC8N~$+CaH{L5L>lq z>tEWsP*-ZL#p)J)Jd58|KZT1-1Hs#W{38bPSs8v&YCCx$l8C^eSQj*HDbnba` zOUo-NW>evVawrvyb=!N(e0nWijh;wLeR!#4m&r5Fwb7*=oX$~-q|_&$$rW0YJ)Sv{ zwq}0Ra~P|pb4pL2Jah7_vT{)_*^@09(><6|kcp*IJDfyq%V!6^H#oBCsfG;b^g375 zd{b;iRcrn^a`0~Ya`BIYda8wZx3V2ZNHg;ahNd{ge|#R*(NR5BrGz*03I+H$sEKWl?IK>sIZrbLB@jz0NfZYQxsKnpbIxtZ7a4XqWct^jXWDBVb_%Ti1toW}K;%G02QFhVJS(vyz8ITpY9yvJZ!Bcbv(Udge+ZVU!DhKCV-hTb?A_(_a@zqykBA zx}+y0$BF6YoXGJKa)i!nM@T&U$H7c_y%);C@tE?`JYZYn3`Da|A03*%+|`UmzIbF`YD3495Rjd_-NN|=zG zGXu_MWb{(+O*#r^D(y?&F^&DME92QxnWtoYbr^YH<|)}y=pxDv6I~}52aRX1=5L8H z(7aB$j`XpDg@V+c@%jNkJb&e14|K-7WE8L@JQ<)<}9nc6uCLhH`Km&B05u5cqYBqoET+(f#$3^-GAhHbh1L9Q(Lbs^KdjPL*!|#ASzK_?}d0QQ13=uAM@Z6@| z@!TEnJ2k#%4ChKG&`K}R+JP)LMwc=j`vZV7XO+(fw$3*nX540Gj`wrQX3xT^y_xNf z_jPQjT>Rr;y9~1%PF+p^RLbcZ31et8-s9P+qoeY9u7qcL=x@FW=nVL4ZM<(&p3Y?) z9J%Tj{w|Ro%Q78_Nl{g@avOYe+x{sFB%nd+Z%y5J3*&32_+0MO$@oiwN&I-V-3(e9=-pUDP7+eZH~Yb$q>%6cP=xjwnB0 zSJKBfmDfoGQbZFQhd?C0Rs*l0#CC82W91x zFg-aJ-oW*1v!VK|da118j|^?z7xsA`9erOu)xlG8W)m7*O;L1G&NS(iOL|-vV;^oG zY>z*hB=yXdL>3}FCOH8Wlv|!8+k5{iB~pQ;w@lI#veWP1B$R{YSqx;F8~gn;c0P(f zqPZ;ipdXPB8o7!~WZ-Lp<`|IpEK?>hBX8jvB+N!Yn*FH*WpOkGAe#?DU|vJu-vQF> zPXd$`I0VwLKaSO`@ITk6RPv8f(3AYJ=6_C7F^yPS0zVhyE&d7Y4|csH6ZHrz255=p zWq;(Q$;S7X+jC>5n^Qd@P8KKYl?-mj=VQO^3coW+_#M;lU4G{yq>Bz3{5ud2D#&L5 zI`9WU@|>ivmHX!jT_Jd;;1ogXOc}mNko*nl!vq1$M|BE&e59Pqj$#h-K{hS^&&g7l zW+RiKd5QK#%fT7v+ax-U~UNIR;2`R_M886qNk$9N#($HNUFXu_)rQ}J- zM|&`XPL7u*9rLV~@};&8DR$~gd*kIoiI6KXmdp6mgz`y|JxR7VUM`c+VM(u1(lZ6Z zc-JX@WgW`F?@A+tO8Sy+YrMq#ey0yJUTV8d$dr1_^jBYnq?C6SzJV!^E&Z8+xcMm2 zwtXduKI&ra)@Pu6CEB&ugT7qZJte$q1z8rR0-rgrw+!Wp{)JdK7Ws}2jnTAXk}$9p z7(2L7d>b=RpBkE|MmsKCSceoa{=Ui-YXf&Hs^=pBYy3SDq#CTBP`CTs1wh~$MfLn8 zzzSRdvhBh8a8|80|7abZLYW?{%T>&d4c4X#-T~Wrd)phh(=sbYn-SsM@tR5c>2`38 zt*?y6R59EF=fZDbxpg^oRIx=BmY)N^-PQ$ga8qYYi&fayMvSlmjF>RNqK-c7Fq_f= zEipQ?Rz{9??zo>8zTcg(qdFK5fOb^F#Q(M#A5z~H$37~G^zjY_#{;1O4|3fxUfFK#ZZ0c|Z&e5q`Ju zibuu(w*$X!f3Hx4e15NTfc#!z2*@7*ME?2wK4Iuf@%ISp;qM;<&1>dhr?Y96&!(wg zu<11peYQiN=Fm4dbg@In9eN*!&U0wkAbHATeQ%u}q#R*WiIe5~>u&0Sx1_jKUK{$* z=H3mAn!d<4$GMbxJ*-@8je(PZdb^w?@B%qk@Jc#YjvnD$7~x*Pi`VwNUKajgSV}6( z&_`p%RkU>S6p#5ptNQ3Vc92~BVwj|pE7%J!6U#zAK#Gd9^wHk;eu4xo5F8-snG`zvy9SLA=nyg`F;+Lto!k8Bcy!36xE5u~76D<~gRu z=Mhys7NH^>*N|wiFA!A^_5$K^YJA%dwBh-1N}n?3d687-cA?lmZCbronmccE-bm>) zLh?qaNU$F>B+|^P7wqDDH)Y1uskUOUH9g0c_l|lQuOI3y?;U%6`})F-{oauevEM76 z+w_LNcYGu47f;dI^@@XA*DDUn%et;J7M(G3u6gHLd*5;}0Qqw9kAwAT(@qXd8IS!L z2M70I;$gmX9Lsrh^gA~g%peb@$G8Px{>baK@||mQKM0e~g^Y{i6c)%jq`0Xo?a9f@ zrChlZV-3<%-_7k(&)<_|d*97QNsr$+9_uANO{wqRbaPG|g#X_7SADG&`<2Bg2j$;M zVA`92ZGAVvhj;q$$jRXa?+-(Mh4F^s_^09cd^n5!TWH0<_YPHl)h!$^std=*Er}is zs(bVx{B9LHDc-0yPz}$h-ybzdt%{3og%xx~bSxAiBn1TJUZQ zq{>vl3apgt@mRQQbZ*#x*Gu6E*kC3hFcKhy&BA$SsSqK;qg zc{Q;i1YIX)guSxzF z-49;Y8yGP9QaB!29xr+!TpL?lk~nKgVf;TT9O$dUiHUV)(Om7H=7BFMsr?f-Mn<3# z*~t~*D#-)s8S_MBaiZuduFPDB0&xvnB@2cklyp}KAj#$7?h`AE^Il`2Dz?K4!(EE= z9;?``B<~~tB|pR?FRtyeTR3l}zlus6=rDStg1Tv5M8VNCp8<4}6e00Y9T}iH{QDB~ zUqGXHbiheE8OM^#nJD?vPp~0wV*YZp2ppV_t1F3rpsSjg*bt6ipMzCm;Y6f9+`X1n z#n!pJLKp9!>R@>)NOTS#7ar6|T^h2Xx-_FugyaGg8Ven#rt`zY`U=@CG1-+Q<~NkY zACTOzr(fTmX*Zc&?P_y=w-`_^B(nA ze~k9xgRZ_0C&lqsBL}>HQB^p;2ALOkdn|ImJE{nHVoQ}*T)oR1i@G(wBT_97BE-jf|HhE^*>^bK_ITWpk z&B6}9G|Dii*p!$1@?s96{H(G$=fSJfRnPC57;?210Am+bRvzN0C5#o6a~Kcr7R(e6NeuY+IU2k%bczk;g->jm!@ zyj$=}ApU|ep=Sx648&s%((VeM#vu0-25S+#6Ns#W*9daZ#kVdv2}u1?0g&Oib2-EP z2ZdpIngm|}GQB&1yk7%E7RqlWP6H?7hd4@bJ-T2H?!PDaED*PX4+~xgWWF&V)0wTW z2aXmzQjk3ZMaq8|h)enB3C-b!G=P{f4|A}-&fDs^9lr>dI*xMa#~s?`N3V76S3C4L zhmJY)BM!aRp=l#$mrvx*^lQL{KIrLkeN6eZv&x}_W zv9{LFa6Rzsvh4gh=J;Ei_a8DS>wMPfbIWI?lu;YXpHIL`#KZ9ChQ>Rfcy#nxb##w%U8?`ot(!q>0Be7Wr38FN%6ot<~iEq&)4B4<&mp?!7HO&c;9>tV2ULR zPm=BN=e?vnVM%Y8q$ecDoayGA*dBl0h;ncam5X01Q6R+6>K|)ohU?_v<7zo?y3?qeq1nv>POS#7IS{RN_*VXE&QKiQ-CuJAurU7FisT+uZ}`RBXn1%pe@%|L zvBQElC`1eo_x9IvKD{vh`GPmKI5DSJe053LoZJ%sT_2WoAM$jP1Fn?m27EVAraJ*} zp>J^sXCjSI9qI<=!{R)^8YRjb7#VCv1T_KQeu_?m)zd5kSy;_sC}vjK*@sSSi7ju5 z)wRSLTVnN?156orvNgl;*WwSW28^$SAAdZAzLqbAfa6QSUvn;A;fzfvP=V${*r?z` zx|hsY*NAGCbXQNYdAHWDgTJe8l>(B3PfldM$pXt>&UN z&{mfKtcJRP!Rw~sH+dC)&@2oG?yFD-KiM0c-@s5EU&|ypVl>~`DqP?s9cxD&D<9x} zAUYph#sh)8)O?7P>K|wdlLxp3=H-YXZ+m*@Q^@<7GT)Hyx{u-ajPsu;Qg$``^u=476k)p=<$`#Ff^WE7YdSuNj zvEkAlPhkW^dyMd=U9HmQ;OKPc{Ckh8cQ8^>J>!GY;k_MDt0UR^!_VF;)_3>`z31-*>9ujeJ9>;duNPDXWg*t} zG1T>S2!MR<{_3BoBs~G23nzAcDO^^}z)vTaBLjK#&mk;YgKpZb)>wo9MvSuF1B&!} zpl#w0Cxa00l>3z)%&a!hOF>W0_=oDs5Z!oC+12dbLQl&G_%8FV?b)nyU_ng4NlF4w zHGYGw0IKb=eK=9FJvJF#eesW)N3#$3?_J@22>yGY!tINOh7$z?&=j$QrH1Q}2Wt3x zl+3Cj$DNRxFi7srR}C^Ob|e>dNh30-E5REciGMK4s=xL@H3&80p5WXLt0oR2c@uuj zN^b2$W@C3o3 zz#PPo8_B-WfoKD-)z2cGC1mPy8v6 z`O@zT>40E8hEdY@3*Iew1CZe_68c<0?u*RuG`!~h9faOm@D<$Teahd&rvx7pyh)I| zF5xf0{o{z|2+kHfLStlKAd-%Jh=&82Gq@HAIXs_?4)qaq7{_uf0wQSOQbF?Gq|cQ5 z#|S+_kai$wg8X}d40o3xnN;xQ!TG>mz?nd>^1(?!=6e#5_ai_I^vY5SB1CW?Xz=yYl-|=l)!WKFFb2emgymzBbKso4(AULk`WY67BHEJNLhE z=!YHpU59?wq3J2jPG98oZ0j94c4bi%Oqo$pUIx$hO3u&jk5%1P$#`ADn-Q$kdpTpt zO*(#BGm(m`E}5ZDJjWZ-Ir#NN;x&9#ujs`us!`ouEfukSYeb4&Q(sNcxNN3a?NLj12=zwxx_H#mWz^&53*{e~KFvHzX& zZ@R6m-RRHigsLv=XQ?-WyjGlux$2D~2;_R^jDq5Q_%J}d5i#nGBB(ctpx*cjk-h4T zVdzERO+$d>VYO%IIP){&jJD!<_-W*K1S(G%Qpf!fD6J9sxr&2tr=H$Z8j+S*uh4j<6lu^( z5okx!QZpZdS1Y0(UfXJs!FW3|)FONiVEUjDX(FRg(p^1xu>3uI7mW>7Js^sXOHnwf zI_D$sBrgGEwAC~OYaZD~nsmvlW)-MBhqBzs?(-y(~m_-j}Rkhp6pyg9;Z&=vYsp$Ead8;n$bUHM0LioicT&5a~Y!gz7HCuMz2QM6uh_r|i)@ zt#xHe^msL?tT(T&=M!O<2*uY#;>k>b{64KYSjG+0Bfa9?D4g@n_t$KN0wnilDfIi* zfWn~-eu*ks52`{H98VMlw_Yy3S|=mvB#j;n6Se8Zd(9cyGQOS_YfaF%BzOqQ7G=rv zWwWy=13E6nYw;gBc(eeHqCj#_mxE=%9;VznDVrX^+v=Ipzo~gj1)wfu>H%;CPuD)k zcXdS{u=G=O1{{WO%cc()f%J1A*YyYDEeY%`_zpgE=zYNlf%uD1ZpW?2LLl`57XTSP zDtMM)soWne^s$1}m@|A|!94_b5!^wr83O~uy(LH$IB9C6Sp}%QIU1c@Hr-MK zY_J|+00s*lMh{?UjA32U13Vy|(C7gsV7%?a3_7U?FzNJ=^xl?oGASMyV?0NDdVmIr zkSnp)VX$J71^C!V7M>*A(*ra~=&+>M3-z>%*jYV580EnD=j)Az=cG|vdH{@@ojyEv z4%}y@n0A;bG~@(#8BeR03`#LjoH*AN^+!U=)cXmLKkSa8L)1Usi25TT>W>^%RP)xn zeK18|7=NdUIVx9DC#B|$mf}*9)BKt%?Xwz*fV=-A0NnjzMfLnOz~WI)Mex+p+p)HA zKpzK6zF4l}_u-cdJT4X5T9A&as1&5de;+If#;2ub<0wj(R7?rl+?L^|t#8C|G;35F z7_Fe^c$Moom8(iR`GS!zUef^&&;co0hw5gg12!-9vVEIsE-f|u7+yOzbt?8K)ngLa z*vS>s^cf_{M~V&$v+(hWWMBsc>gCr@}>I& zF-`?{2jcBlZ#B}{=2Fo1{K~ID<9h0N#i4o6zCX;N-T9XfocsGZH2Fn4J=Vjf=Q{L6 zhknYT+nN7pXI>*?w!*xDot}$O>jICm`?HixGh*`cY_uthHW`w(_9Nx&Lu>Yyg9Z*5 zhDiw=ne!5;6}-f2Ze&B}BXZ^AY4{LBqtAAU58?aE!|);DF7hEJoo-I+;>Em7W z9PRNT%4`cUawXPU;X?-CWtA*ENw&v_tdY=RQ;H4bL#Tl#ACiNH|N8lm;;)Mj`5&r~ z$%nuiDM~)1#O6cBr1+5Q5Gi>#exNI)-V{8D<{<)?E2<|Irxp(~3qcJJVsRj8SCw}l zJkmN&$L1CpngjWninwVwkZH)<=p$b?90*5uuqqx7a|0Lc4Yx%jEhNz9ThG zqeXnaZv)>Uo!d5QNMG7GrV?G}JBGH-cMNS~A9Q69Axe-9B+p%N&SaO=UTkCJRSyfZy$JfJx6qV6oKn(}! zB-`aXB)ujR1@*L9BQ)!DbBj0#|Gn|As?*9k?6oMz-nd^6#qI!9j*n#&{_TV1iH3^nY{H?w}MO>ayjHjO%? zn~IFIxwU4^r3ms69)M3@O+=c)@tjo!Ik*D0K*@;VTD1rQOad>K)E2D^$5)sV3`Pm` zgkrJIeRwMO^AXzA%9=}T-W}7|y|DCion%?GE@3ur=zYq>mFjuWU%B!xhs3ci=c%Ij zWATWxT7mwG%jZ*D>}Hs&7}eH17^`SqR9L&43n%8<8mzwST1FHYw{dKW+2~;I-n*d% zWG8#X_DpYU8fd}C70uiO6;1vh?iR+I`U7Mk&UqlY5a;ab`oehZNq_YxyoV|HF#12I z;C~J*j3-@76@LxCC+bGpTE$;W-B@VB+uF>1lq|)G`0x4{OK~2Da?KxS5t7_9+bZIz zx`?!(^{(omPQh5LNb^tZr8Y=D7>}7Vbl{QWW-X1~lx>@i&_*`HbOc#b{Wnvs6!{Bt z)=OkwQm1B#3{?+S(SL)dfY$v3z~Z+bSLL3D-{dNuqD5en5}EOFBVx-c9prW1RfX{> z{jex~>ng+#$9wccuRUI;IMthCgG!NOY4QW`!r4;v$B#fx%~;00^+c6qp-R3Wojlda zC~z*WH1B3rWR1Sw1n@osT^9s5%s4w=6lGBDbOo*_ik`%RniE2KBMUA(Hk3GeiZ%kd zut#3Q#j$u{zh3bYRf>0zwp5Zv%P57js-{s@5>M5a+<^?gF8mGYXoGdMO957EKck}I znlJgHUPVLOka$CXToG%U-NJDgA*>3m_>U~28Cq1+f+Z=ddh|meN)&7GO+bl`_a^-U zZi-3G`AC`r%nq^r(7MMUTv!VD6Lqd0-p_R^JK;)mU8t%Bb}j!v9Bg+SJvCI>g7@l5 zrdWwZDp;+e?Zo06zE-9JB~o@eQle2PhO{)lb*L9-OROfN7$x=kZ9AqOxw3So-n(dn z%WC}9w;>%E^3?nMH54KFhA*N(psRicFIBgo(!8Xq{{wv{)$a!?-pS=NC5cckn3R=; z)bg3)?mgCH&4^w+=&Z5vE}fx1(t6%a$Qtc(6<#T;U0zGIi%6d8qeD}Y-SA#18=Jm} zi2g!x1*S7xyBMmYC~id6>1Nr?2}l|Nd+2~UDjTZp$Ai)ZA6>91LY zkON;yE(It<=wijwVy{SSBglm*Qzy@u>9g<5;QDN%h1{e@H#0Q*Ekd|1I7-ZwDr$v_ zK2=w;7}8jFH)&y=Yiukl9LHE@Q>?1N6HOnx>Qg>u&ygz>*k2wQ_Xp_fJ`TdI`M)zU z?oyGBmQf-BsDR?}9>(v^=pFhY&R+P>`512)4kA(qp~UVZs$vVa)XT4#xjq@!wn46S02kFyWl_M3?3$0VQ~> z#z3K9KOkg<2$d!fY4YC!Lx#DH;7dS^6oE#;)q;PK`*#X`i{Mhh%YZu~{w$%V34Vd{ zp>6Vi2V{Pi0+C;2JdpVuFIXr@Ju0t%iBCM^Jpv^CfZ*MNHw#`Qc&^|+f_n+>B*-RiwjQ25~67ek{=940S5}JNQ zc>Po$`d9E6Ao^B*J`kco{t#dI9D#@$m?k(L2oW<#dmbEp zI6sHKKD3`fQTx!3FXYSMPCz`u;5r0i{G{LuKs<^d`!&;FBG<`)Fx-W}-Eh53=u-tp z0@0O%{eh5!gOxyLF-fpMFjo+u?r)1gWR3^$0uHXvBAu%!ytY8n49tU|Xhr#apWy;& zGmcEgIm4LaU5DP&p?`sZcK8y9e%_&PcIeX_`b~#^*2(Vx=l%l@eTx$weZo_|s6%s4 zaJ&4MIQK&i&3Rlq{1XmMJ39OR{?7e~Lm%eQ)aT$YeQ2$meE-${elkHgQfxutYj|>n zS&x-%J=ckou}V}Y^=&ZR%HV7~tsq>GR7bN!sfAvho`F?)>DgA!9$+88vtih!d^dMi z_nCSmV0PwkV{K`2d3tTRyRk}PFDMiCsZ_k-=qk6ROwGDaP8L1tpuC}n=BguO{uV4{ z#q85J()?`$21Oo5k7{U)d0m>n?T7CW4>Nze4hg9-u#=HuNk59z%V9YgRaRJjplVmuX)WAz zG-;+5?kgnOBjpOGKY9qHv4a4~r*OwvE4EBuQftM2jdQbBj2}R1;ArsNrL|(=va~x5 ze+|cfO!58=1;%vog8&Gpmno{}Zvk*@882$I#KjX)7NdOQa6FH-Tq8(HhcpiSl88CWug^qUqB1N`DZlf1v>O32DI7up0=by;&!Eddn-DpB>qKc72ZRia+v{VkR`Q| zx`C@H(L)!~K#@KYUmF^yT1)HDqvxbl;I*hQD)BZzKM0n*6%}~=VYrq|9)?Wu^w=BG zfBuh+RU064iX?spu-f4il@5ds)Qdgm1E|hIRfqS3!l;C)z#%MjHuC7AyHKCb2k5UE zj=RYd@uPISGxf!NdGRRxDD_J*Qboq&6!bhv<#eRVNmVjA8|o|-FrZ6#unx!(IaGI! z6>uF2wRxy12p%Bxj|F=I(UpSqXTkfw2QuB?3SOx(GDT=Et;1hn z7=92nk^{u65c~v*;8o2}0$HBdft1^x0W#gCK*l5AP2|K2ae>?~6Z%xag9ZBw?k%{x z;NQ{4XtI1G?_CC(>CFb>dm20qh;Od4!^9_8*xYWUOn~pg2!w!9zL;u&IAv1f@yV{{CzuNgNaOg7~`W}bQDwK?!UQs@IO7X0z zv+W?Aa~fgZxh}{Aon`$qJVYqN&SDu=$hQ}k+SKUMwz&8<_Pfl&#}6Ld1|JWH9p`K$ zdx!?%k5hcS(EJ?oAAMgP9rb(3b#^>bd^|e;Fka{+A8*p3y%UdJSQzWTJLoyu<>RGZ zxe|;1FEFn7=(j?$@FdwTA1~>JCB0>mo{*j9T^JrT9MW3hc9|4QKY=!?OpjfT=iFezEx~S{9!n;P_Fr2=KiYT?$C^4Jr)$e8ZRN5rv+d&4>{rFtKePHYv8j~ zwZLj6iFH>pZPj^jPFN=WhRgkt#9Q7Z_?>RG-%t{$Cufc3=2v=VtZ(xnA^*KkhG)20 zM6Xu?qW&=aFjP|`Ty;Utwz2v21bP%qWWbBVbu2s-q9MZZzpM9#ld3cZNr?;ZqfJq~ zQ&2qJJI}@4WCMQC81&x7jtoF!tk6M6cxy5fLB(UiGbp#z`f45a2i~wV(qW$hM~}@A zUs2%#w*!zvsgAW6U^RESibYO=ZaLF$2W^L{w?p%%D)S>9KfTs!nu^K+DtW4&5wA}` zz}zOZstDJ72h;W%@07o08SW+@F;Ye`?x8pyaijp(%p~uvnB-OB2-W!r=n+R2SOF`L zqTv!Y?X2lp>LZI0l^|gt^nee zvKuE-?jf4>YA1l^Jl2sw$b0!e0fLnY@=a!WKE%t!@Xdm63BCm6{riQctp>wY0P(s9 zCjluB9S@|OHUh}>4+rvo5C|40B?lopj~qlDCa;-;N+6r29A(qjI5cG{`~EEFKIRrZ z_p2S6@}C|5Xy^W$4*h$Fe%hg_54F?l=A2mc^=*T*ueYCJO^=UL ziD2Za0eI<$GKEgcRVE$ITk?oWIW?u;X>+QuJ-KQr1_d6u>KFS6pmG?$d~5LXOBNU= z(nou8RlTGamMBeWwopxRH*6*bYZwOcp{Gh@djUlExJd68E_Uc2geJ(Qbwo( zs(L2J8xe<$mMgi;wE{km6gLmaMSlj3g50)(H0NJ4 zZRTGJK_hBpS0H%vAbl?4Q=0!V5+ff^J3M@vgD(S_E)@z061Yi_Gn=HZl>2jpo*~F@ zG4Br*JVbCm!6Y6Ynk@e}K!&?c@M0k43G(-pH#j6v-WUyJ`S>;9{Q@A%nFqv69NZU} z0~)~g*ybxBWd?Kn0OuCzI|esw`iBn9SJ%GJx80_BZqpMT`XGm<*3Ayja@+J@9QqQ6 zzQv(AUuDOC*`Z|;CYya3Uth22F{)yAS^3<#5-&sKP!YauvpISYk;$Ai(cWB6n|?L2 z$Q?u4n9rfqXMB8Z==#=WcnNqIxx>(SSGy#4T*8PrjNH+PK`g=xos>IFI(5=1ZcVHm6=3r~{m$sLm#bp}9Wkn|)_4#~&1 z)~>2BfiLkn03-G|07Y91@UGO;OeV!pZFWNsPr`^_qvPC^5oZ)a8@a{9LW9dZ6WM~l zJz2*+0n~#C?YsZiDh|4bM+WId@uMy@PR~qvBoR1X^K5$7aY5urycuea%4@T=R^$+S z*E6+RlRm!9O3h1AK&k#O(I{v#E@7}3W!+xW5R7t2)-+Rc2zO{fDw6=&8{X51ltcbV zRv*(VH7)*y{I-R#;aI5Ze-JqS1gbEv*}v#^mJ~)&RqG+9yvZuzuoz$C4CsAT zUvJ!WtLV399poRi1K5wzuGs19G`0H|waIGtuXQXMpFrm7%}%=}zn5v%_Muh*r3?U2 z!+)Z=QOeH%Rt;w(XmT8+a3#aZ&RpCw2Wt_J0)*=L9Wb*`yP4Uii*=d-9q@-L;8j+@ zC8(_GUzG1N7kXmMO3Y1>f(bE@kx=XcQU)6g4>LQ?O!AFpgYQcZt zM73Zi7l4Knt?Zx1H_TtXRwbEz|1`A~S@Xs6c5sFPEqp9m!)oCQq~XrDa&}Za5WESo zD(OcvSh^JqyM0anAd+Lc$MH>L1TydCIT^?6+njnv*0p~kqd;5 z3XTOLiAaCoPKdV)5MMgwFCF>>wcZeVgW&skXiSW5awAZYx9UN84Al_-&dD|g_4;_-L zj?8s!71l=Zo16Y*0R~YX8>&As>HJk*j^B&ELZ`0A5_78XyQDwi82jDRpVZ?s&_Vsl z8R$ftUVjomDIi$=59~);fAR(>uNYs7{%3R{v}MiIpWK`g=L9Q`NAyR2XCd3P{$w;L ztv|U|#ra0`Cr5x|*m(MrTflNzf{AXgX{b%7^e2;%O7@2LG@`3NS08+9zIFp$X=0IO}Ms3_=end+0JT75E4NBb@Y(x!r2cVR+qDH%X0kCQ~ z2Q_S4eNv1NMt!ooQJ>Ii1!;QJC)DMcfY*K>)hCzW7&;L`vUQb1oja89D_POD3O{!sAm z7}uHaLLk#$Ab7suT)`5-BEcgBjU7ogd-U}fOIcsDKDQAx^I0wU8^P-Ye<4^Qc&6YM z{fSq9as)b?Z5MJZXpVa3n1mCXcJ&)eo%^nx$U)BiyBwOUn(Xv>Zqt`JbjYD6Ag~?& zc<25X4*jr0zw6M?I`ke+`kl5TF&f?twJu4e(>bFP<(DTFca!fsuU8c-1%_D!kR~?B z4kfD|CHuN!^(~x@2ae;ru17I;DBmYN%6HQar6YQjDfkqFr=1Si^m-I7Wru{t86ZeQ zs{tt5>j1AfPm94UdX%emoEtOZaI`mZJSqU>M?VLEq3HIShAMPSk1|T9!i|NqH@v42H?bb2bu$!J*sDir&kSX< ziUDTPqep4e4CQnc1wALL9;Hn)lrj|^oNY>v(h)P1DJoW`9;G8@DCt(&RC<(-n4!!< z4cpeEj6?{d9!cp@S~EkTPR|7VUg}X=H$ypF^&!YQXdLq{TV^OrpyphO*h~Q55TF)F`4wpzQ|rCNRn1Dd78|MUm<&B?`~m)uEs>__pX#wEkj? z9!1-C(C_uP*$&0kqtL}6M?G^)!ii09Zh92g4rPlTWmNI#Qnkuwb95A-^(boO6(gS1 zdD~i)jcJE6mw9d^ziejR&c<5DWAyA>>`=PCj%SM<%C?(>{-lF;D0*EAqyxr(;+Ct-vz zYLS%wq%}K~@4fz{bvu-HmhpU@`jgh}Q0A#lP08UqWrw0!$CLs^F|Xg>g*>V?%t{_b zw5vneqCeT9Kf$N&JF||*)t_v!L-Fd1w%DOW%jcDvS^SBmI9Ub+$)tEtys(e<*7MX!MRFz5S_m5~>S7oPN*10Z+w+IAM$#h#tq#;v zs;)?^$DxdnI=Bw8H~v*#J3@2Ke;mw|*O#Ciu&4BKzbZOhYim6Z*DQASaQ&gczx|`y z4dYAN4Pyf~sj6qHB?)oIc#-yR|51~5wK#E(y}D6(RBM19zsu)DzCWRZ^eHbC2(Xb#?MZ=(F2aH}e8RF(E|k>QP> zPpoa1i*zrR;f){rRVhy=t?W*PZnHAAGgS?0Bh_7_+O203z^blpplJx!T$DZ0i*J)e zexVbgL&B`>>}fT2u!ohSlcL5|$i;Usy~?Yds2aGpbo}K=JSklGfEv zp#px2i|A7aE9f~u#iKG1?a34f06M*A1`@LxcDTJrw^#3w8G6p-mH1tMt1K29}q zf12E%Bsf^`U_tuxX8gSc*P^lUNy}dX&@vq7ofPuKIGUdaNlclv0L&&`qY zgeA%VNzbH!WT%^RVtahR5MbdR=>q4-6~Gy5yro`hAE)Qh zA}HJg0Ps7%R8-I30kYJJ4D`2PAE(b-+s6qPz56(Q)$Tq{ucH0XJdXg-Jo6OQle<(| z&2uuIj_l*~S-bl<4b@51dXvyr-neENbfzX3-F=(}VIQYwvhU-xi`vKOKBUEcocuKl zaE7g4v4s=fqC~8|F#b8Val+QGs#}49-Y3O!(`_>P<~AsZ?wjYZYG>eur%$ple799k z2T>A#N8Es1%6buYRBDUYJ?qq!-jlD+s76%G&s=4?)`{55v#qA>b%}LgtVn%85~D zT(7lbo@>_3VOqxa%qF|X;Hnad>9jpA|Nt~a_7>4+t@=6AgNNs)i(id?j2Jst}V z!+&Ixi|9WMV|eg9U@zcIAbNkGT<|nOt`_0_5kem>I8^X|NQCh|5v2Z%^AXQ#I=C9R z6XIV7#GnzZ22#!_*Y^Xb334594zBkXdT&A3kJ^8b2=i+ad|HrOKJ)tBKzu2Ki-b0E z-#MVs$<;noD7xB*iutv+4;5Ig4(&q)7E0|y#rnR4#KH4)XdkLwkuUe5f_$a+p#tlr z_Mu{VDDSWy&4O69F|GjIg1GkwZ&ydMNY51EqVkiAEa zLs-K{;>_oJ!=b-)=*Jv-oI@Yt&~z8dJk4=62%DaX8#c{(Ae(mWWG`{T-{yobbnf5c z(5E}$uW)F79qs)2iLz!I8-_q_$-k83I(xYCZ*M)x z^Ea8~`5OG(AB^V6^wahg3Z9A=&j@Iml21(#KiH;TreV}zbS};60AWNL~|SiO0(;fj@%uXx!KlucgCkA z{vUg@tyLZOaet?3!}SpUy_;>V6DRjg)W(!_=l9_j51iO1R6`g`uLnX$2P!kJS7N6EzLd zo}t7M^F?h&aDca zf++U3SOXYGKg6?jyj^s>Q@!!D{LMkEwQaFJYHM4p0z@(r*KI~L+ev43Fz&(k`T#(v zZk84B0F=x7x!gpaw)NLaq^nUCvrjLF%)@n!onPYUIM2@XukEd{M{-id5YsqyZf|>q zb~6XRJ6(~Rmclg`5A)s1CO2`Y!`L2t4Tx7I;QAqYSnmHx?%yeRi{RBje0qXs3w?%Q znP8saAi;wK>DC`zCio08Wqfy^+^caNf05}L1Cs?qKtzq~1O)#dW2a*bu3-Vh>dY~Y`_oVj`d>ao2JV^faKwiH_kUJ4lPCEk# z*&|358RV$oaX^-Dq}-?c!g3A;;_VCm7?=YZ!1l=4&uV*I#9!(-Mu$t$t{gGfxz91h zj?Z(O<~U%}2RZa^xM|lgMwt?NwPhDzL%6IEa?rC^n~P?J>8rW+vDeRQ4Wq3%fZyY zj{>#D&r>ew?BVkB!;0chVIQmIq4<;B$147jOld7;!X4x8M{w*i(_ifxbaCVO%!#hh zg8w0n9^v@J`jUA0ve@pz9qx>71ZFA#NWO>=+;|mW82#n?l4A64#JTJ{RDp)8u8*F0 z_*VYv8*omZe=SgLrJK38ReSsE+Iw5wg=E0%J&*SS{P$k~VEJY$s^<*=uWOrWD3jse z$@AaB*m}ZYn2vLFMx60h9E)QO#UDY2+o2(lJ$)IWS=J%4X83PYktpER;U5)!7sg91 zv0gOvTHX>{rna~8&e?glw+dlSB7qMvCJyGcYxPAD4fB%V{fC_rIyE#gbXur%;!2cD zZ`c*M1jR$MjMJq&1K@3z3CKpKRrvi+@1~ovGuFk$(p=l=w06%(E8WD+;WiSw=svT> zRy0qNycg9)BR&EEhyTg_Iwk(5eV1UW3k^?B|6(%iiHY^tt7>5!VT$0;8T7KMFR&*T z`(7yT75}1N;RIKgSA79b&(Er>rPvc|mAc&aMp)FeawDu~7*_X@U3Ceag@bdLtoG#m zvUaLG4&l(=Z{yWMg{UgGB#$#ya1LtNkV;D&Kh@#?q{H|3hM%dzqn*|46?(0Dz45Gb zlk;?TJL>3kL4@o+2UyvirJ~~+qO;2nM;x=M)nIfHD(=yd-vyw^gA~>CDS(wmx`xev z{$@9`nyyRtPjqmU?kWIkxC&sE?p)L@IT1X&vd5#xW&~ZQpyz)9p*k{?M)K-q=DH5i zHKt)FB(En_z~5N`DWcI#(3no{&#|IAnwqa}@Rzv8bB0o8_9WC+!UR)1$q_>$7kKlijI_P zR%dQz^&7MgN^~v?WH?(M}p1Z~dkcr4L=mwT^M=OlG>47_! z#Xgde67!crm4Mk;fAy81A7pas-C~G7Dg@HQcJ_sdNd^3pb&KwfWHCJ+8W2tt55vA$ zy~6RW!trBrI6KUl-m6!t1gc+&9ZSVUI5AJn0&k6b(UH7TH4n4EJIg(LCKz+cW)eAL zHn^zfEq~1wpP{9b_)$4D-|dx=H<406vAm)a7!CHfEtLT7iT|VA{&RhEqm!etx#?@s z^X5>YV0lPlD9$*jG-I=(v&yGgr?4gkm8m*7@IXhqpeAb(RH5i9Qs>NL%48IUxtsYE z6PU`4j_$q1hCn>}JmRS}ottInE%MP_(N8pfOzlKVi{Znw=_dvweT-GX-GE?2^8G-( zL&5Gq&O1K4t>UwTi-DXcq<2KT0Kxr$2p7l|q_BY~YM(C3&FTf3Jw9XKD!9LgW%SJ{PHk8n)eW26ud|94#5L~OoxjK814sx z{{exdA`bz1y-x6EAet;PSLm67<$|XP<^y*}y41%)1j*kUhbO$nD+7070 z@R;C3f`0(={$ioyf>diV{5Zkm1V;*P2gIY#zZZid!`&sA07A|Qo(J3wI337&?4IRXd~EI0rNy;DkGgXBH)&In`VJ)HS`{Sbg*%)xnbn?46OY?|e@>7O|F z8yuP}qa8lv(B%H?`}csbX*?4Tz0{#kbZEAt9shABy>jRNdk*c+D^uNXr}w!N{w(MI zi4MKgp=F+04dP}>7ekt!fbIA$>1GV|PF+J8)5*QlQ|WYVZkykY(r?{V_ct|-Eq2_4 zMUkb{Sp$b2I&|oOK|_XQ(|ZjbhLwywGWH+i2M_iDGomTw7y9Cc`p>Sz$AgE_e;FEM zQkV2!W}ix<|5}SdF~STwssA$RG|0=hq5HUxl6vN{EI4RCjZcR!jKNZ}!0?+s+S7l{ zk@Uh6Wr?I`QUJ*zJ9V_D{~CpI;QQ>W1QSt-0wI1@dv5R%ojzRs*XFs8J2!BL6mm9T z)BDffOBE*20{}tyX>buJ8rKDQl{%C0ENorZTs%Dy^RClz?#PHkjj)N67Mb9>2pWQO zRepU=({WD%rBz+ORB_NfzJCAN8)+Z+Ux9Z-lidlhWJ=v$(@>9&`Ol`32dPX4WN&y+ zBT}xk{XbpFmiq?xai_69O5CbGiepYv_Hlm#;n1_V#Vvy0P0F*6dpXNZM%Lp%TkZE= z8{h^mh;=o~J=zJ=Aw%+XHK3ioII7P?et}lo+ z!W)YNomOjl_i?AKDLQmm$EATi;!+)C75GdQm#w1JX5aii?kiNe0(}5zmv_)ijqxzFce zr*G+V^e~!M>ZIu{`@4Vh`@3h;uN*pTh*Gb#qF=GxYHzS!WxbS@>-8<`qF!aWqgPoY>6t=- z?37+*Im$u1q5>$**P+gcpH;5{eR`)4SFiGo+ZEB8qvLi(PoW!u*X68~C|EppMK_`T zFeb@ZKrjt0M`I#dqiqCZqC=1jOd>8+g$Z!eG)P{9bkVrb#4G31RMjX;XjyR{V{1c^ zue6e+XGWY7D~_cbfK3ZyLMXjgW!mQfoxra_X)VjIRm7B*MH>`-J=R2AdYNfW)RryJ zSYylMuU?39N+W!R9)M?>gQ{5ai*B`P2u3waldMk2G&H(hQu(7!v?;QJpQeIyv`bkB?X1I7zk=|z*RjHvs_A!I-25lZ|J`gWRiw zNE_X?alt=ZFcO3l=V?2hm&A_eiKH&=`#ETl3($wqUH0|1h_(j9H9T+YrQsVh4~9|6 zozPgyj7r;82L8evYkP7wIaF7uqG?@HUnmo7dn?u-0k2U3xyaYpTiuOht>({a9Q32+ z(OHdyS~Cp#6>>uT#-f_m6Q7HmMLY5WyJ!*Hi(duI=YP{5W+pF7@zlu)U`D9<;#!Qv+&@%Md-0XbZecsk$ z(Cmtxk4cB`FOT1g{zp@4j5VhU+tWvVo9uk5QD-z;R(;gB)6S4Q>0!rdAGc~0znl3*6RdXUMefvtwhwDY+$BhDBrjwK5zJD>AZe#Xw{ zWKder`3CKLjsP>2;ft~`zBZe(=psu2bt$SQsw1)UxeF|$B_itfnucJVvh$gNRI)d` zrx9H{pT%r#ZRZ2!(>5qeDa`2W?gROoSIbRF2j|agi4~R!j%Khg1j5 zd~VmVj?}T}2Gq)As>%f2O{tSSWJ{_3?V$@Jd`cKi%QLJN;WLt8D}j+xKbxzF3jC_W1G z9Li-C$TIUeiE5>eoB8A^EmVx{#?! z!WDFw)X~*_-;AA);d8U;lTO9=A3am)g{W8912pk-4D$HEL|z8sFP}UH^fkf7K;DlF z?g>Pc{00PO_}lP z2X;QLGrzflC4&5>@H)*`iH8a9Cg>N;5nPY4mGyP~{?HPY@qZ(Do!~D7D+JFJd=r70 z&I%yo{aJ9C#t7B;ydD*#z8g^^{ejRA1$P1B)Aya(_YHl`qc5VY!E5HY1Sd8<+@T+K z=&K!?vY;KGvwk*BJ(*4K~C3~Mw z7!k*Y+WVMv=%kOw-ca7#hZHw;sXhJ5x5?h;JLyNLbM`*Zpc|3t1#EhIpZTgVfpP#u zupzo=#Q?9oUy9CXD_SgjAHGVc&W;&zPO#!wI)V&)pNGH`A%W|WfY!F$pdw-h&vqcR zdE5JZ0oDt3pl2XUkkPF+4HfB_z0aR?Dk}lmo8Q}%o5Hidmm^vzIl5eRh_u)pC2uQ#E2*}TOsE(@PuiM^-hQX+xqqmudoNap_ zI0C9I>WInD`ASQYHu-r9G%IgB09htK`{R?+0=$H-GX zl+DECNAato&KU#Vb(5^v`bG_YSYuJu@HA6NgRUV5`P>b$_c45OHvJ4;4&r+ed>)7% zng1jZ9W_`Fq`l7~Al}&E=^6v42p$83Y#r7&g2h0#ZCsJ)Nz>+^lG_o>8y z`vbK9DE!+8$6@|c2jAJlU4Qn?`}Ls=+n&7-cl&`*F$b{e?S1xCg$Z;AK)`xRYlPkf zc=aHY@hEIHlx6R8t&VehMx3_nea=z&^_i&S(jHt(IZISNlyd6$@Z;FzQhBf*%bjN7 z#=5a3)_{Fy)BcFP4y@xVJMO=FBiZ|02SylA^A3O|0_*mghAMQ--e;^%Wf~xR!&?d{ zz446g*XJ9y_i5LykJ$Tsvu=IF-e)s+>+=CjV7^(8)*IigPs-k>HMc(Oi$*o`y|nk~ zl3Smz)86O5cp@03vb**94%z#pSx8Gi^gXxsNwtZkK~hbUsYY^aeb8}yTkL(bo@R@^ zkKWh!e_+rtbsprLat_d}2czF->a%VYr23rqFBE!m_)8sqac0xEI`m|R zrs=C4eztS}Yx3(ujes6U(;9*_y~Wz+YqR#jeqpVyr^=>ZIds@z;$}I+Z!$jw^zoLm z^+DI!VEsz(UQ8wJH`&k->$;?0c>#-0c^Lgl0h9sNywFMiJ|>-)xm_a z{)AA~;r)Ek?Lvtj{i@b?k8Rz=i-n2#aKr(zmmAz*}+HJnhz3n%7=!|_$>QcZoV z@4A)|1!lt%&L&e_cC{^uiM>M$T990il6Y)MN&Kw3)IMUrLAL@EybO?hf_cZ+vtVW) zv77ZJV&_p=&U82>E8k;ou*(Ys;r=e8S>k}`YqutFqLQrl;YDokKF z0E(AwbkTkU@XG&Zpdd!^5~9POMTjn|3Z8`xF6#47fHxBNMKF;pr9mkEC}YB);ZBuZ z|HV3iD?w@X%lj%Kd!0UA;!()%V2x}pVEiH2& zdOliaHNaBJ=(aRUnXGB1_7gr^r&0y*wy*tAyzR?gxkP&bs;hZr9$N}ffh8-$u(pcd zb+}Slf=k$4xUgSA-Wq>x11{o`)F2mhg#T@?O3tjUl5^t;y+)~d6vFPO!#=CS?&u9W z8)2LKAyhXV>NXv!31Fo-N2SQoO07Xs4+`6RVWYE0@dhPdz``l`yZNVz8+ZnQvT@r* zwCa7{l;*0G(35=4_n?!gP0xM>3U#~u7r;o(C(%LT32CXidpl#$6VmT+k|@f>Cd>ZI zpU~%_yp{e%EN6Rb(B428u0i`d!)gauE1>2_`M7JPRntlYNL!;McScV_VB085NgyqKfv8ug}FsZ!)8DcK*<6GgpK1KbX=-9W+y zFtp-*y^b$BAA3B-=1JpK>jd}oCb)n}J&2@~+a3D%K;Ew^=(!dUsvCv;QV?pr*HWCQ^0j@ufc%Pdy4QN|1?Toja5xP{143fKM~ZX9g0t#JD- z6RP^Mo4)Nc%`g8D5-PekKi06_h&0$BCqn=JKvg3gun8+W`8%Si+)Y$6pl z!{5{O^!L;UuVA(f?sAj$i0!|(K0L#9n&q#)3AZqmF2m}-v1lCbbmw2h#S^M81aQLj ze|bQ){_j2nSN-8d#@kry|NPZ!RB~wxId|<}YG=Cv;7`z$UjnS=xdzeG15y(xR7#u2 zU4$1Xxd)m@jeh**g=cIu=T*POfQHgs=q=5!RcX*tW^(TZiUIt0dEeBg%RR1QwY zmSSVTC7HpiZ(v68N2}J)h#e+x)o1uDqeTBe!5*4{+nP7KTa}2sndhw{Q->W%TaN7! z@?ZUk;g0#3Y6i0;i3`+jfZNeGSTzNqstd3i;EuR%?*tfsUH3!HiH8$8;rOxm@16Y5 zr>ZleCI!8!hWTPUF|%;u*j`n6DTW5@BOcjy@yKG~^cnC+I^YNuYv*Jof}m5IbfRx4 zyT@?t{KYC`HrxVarDcS_q1}+lNXCt>uDUp9tJq5aeIsY)f7Rmip=A>z_phqE9Ch)< zZd1`!Bg{wQDhh@GBqbHX_J@;(e3je}R|*qn7LXI`7TqPB7y+^4SZ=2{Otw?ZY{A%( z-qu@=3_I0&Xo7~Knt#Q5Fy~g%A8yiDdo@n)RN6=vjGDjZ!2hti)8j_9 z`J6SI`-OQQfyc|6X&6gw&vwbs+Rwq(l)3#2bNjct^CR^jU9ku4wGO=nhtZ>Cvj=TJ z`rx30_XsW(ya*V8edxJBa00J>~u`a=!`E1n=Jo#2^^F8c4g+ z@j$%w!G6FTq|1HVF;?ck1xbhb`~%2*UIa3qn}JN{av)Sx!C63r4@?sb1MxKs{t$@a zKlmyt!TT=?-Va2PB3A>kZaDuyAO_(4N5S4Q+=GI@1v1=xAj6FVGQY#*{s6%zP-wD?sM| zSE2tTc&Fesf?No~cnby35G)fsRd9D8)B6O08J_!c690i8bcx7vp?@zJ2cj!RP6qCU zcwrz^dileFy8{OSp$awr`hqXvWx%BXr*(yR&VA0$+2wo9p$~Lu&fnSLFLh}4JNv$@ z3+FtM`g-eWqT=*U?yn z4$~*knliJTouI6A>f{+S%XQ$k&5YTVMwgBlAHp=_aiOD1ib{_j>+AHq*nq72T^L3S zcH(nVb7LF24t^~@$~=tSv7zx*Xb0yYNFck6RJ1;f?^I}VjAehG^%k;e1 zrSK^IXXLZJ;_jdR>LW*AGXF7Fq<(8&KCp`_pnvc$&8B#3p4q{?!MG$jF|=wEVj$wxI^r{cjEIv|M7~ytc;cAkt~%!P zDoQ}+9meVeZfPxnGL-<>Jzw&9{9vX^P0o<#;MC0(K+paa=O6<$Yr|c>q1nJ(4yJ7u zo2%pvl-3gQviS|X9bq_Ub0foQ4f5R(bk(quv99?piN+$3Jo#+>cgF^hWwM5g8EqOi?QM!5Ve}Q?L)0AHRAIMMX z<;lM)y?o|8&5(@UIey&M?i~J_zcQ`bJ_qPxUX1dg?qhW^%K#a5k0C;GEVLVH#_Adj zpos8W1wC&DgzET-FjHGMn5nIObpxEI15$Dg)iqiHk3f|z?Y%pR5$l^=h0xh%e{RD) zrGlph)L%1`FAO{ZOaZEPq~~(ZaZqwoZOOz`TfWVh8*7e3<*wBH;Y50#!}SEvJY8Pm ze}R!fZ=g38ykgeqMnN(C2CH5!Qyta2q2=*P>c^5S_j-lQs@vZOb1T@krB&rVb;j7V z14`9`0hmdM4U*CwuS>TtN|(_IE>ZuH)PHHKHFzO-M{5;pRn)4iQHxa(t(yP$H#6_2lg78Ur(r1w{X+<@?5O}ik`#w^JrSWx(IFcUZG(x@z*gR|`zZ;;1z zOv5O`!oiV|V4Y=cGu?T{WT&d})o9bVB}^(1K72r7^oYfsod}H@%KTzmlO;_iZN&=! zzSWBv{7C6p*xJ>rMlnCVljCP*KX1zAvUNu4U=qooeze!(n#fQ~Y8<3&et${$))RB} zkR4;b>dUS!2tO(p{uQ!DQlvrEhQB2ce_?rLFF~Bdhq_L)hhC{c=|lysp)}z==8f;4 zNGA|WOhP1a2GWSPGPf)2|lZY1I!6>`V*S6?WanBOCkB$xU} z_*C{J<6!j4H+jtN;Kvla6;Ql`1V6hAr5boQo-QFfnV;OdRHpTs4wkK@m_rwT;m{d- zM21aWJaf_FVdpJ6e-3|(hgB}9tDiS>eroZsx&ZS7tLI>bXeWOg|XD^ zIg4g2oW3ZvG`4tA-LQEJ=jgv~_OSEn=ggg9pJT@!eeBU?!+iIJsbdzVh7~LiLqZBI z8Rt%~o0*p>q?RrW*+_0g%X=r#FaW<}{><|OkMQvGH1bahyErvHRlk^bpNfRy7$ruc zierqJVR0libKb%Qi>5DHTB?F6J+FS&teJ~^PoS3dJ0sQz6dmi;%_uIjK3c4Oulg%^qE4$${ilzP&=&P$Ckg#%$`p__BRmzXY4+ZK__+- zDEFT^_a8WSEk5LaFvtWvRs_-m758$ujR`4B)!0T*@3pZ>c(Z#iIfLvMIb7gS6Is2l z1{LpEQ0e*tsC4ZKD&E(NY`lK}<^O(%H(HEc0@91X|9^AX>hLcPB{xvIf9&knIsA^pl*4%rXE_`T ziZ8A~Q~d5jK;%{BgFu!0ULbOr*x#uP(bxTPN{4Rf6aLcSbvtQ`YmoJQU_R$Wn zC$Pd_l$f5Yk{1rb+r7L~^1wY^-k$KVxBxv6fvVT8BUvj0O|Dq5*?Ys)Q zUlFn|3fXnRU(mnLEY1lE{^8G(`22W@?;UHJ(Y-crt(?w?%`_nJ>dfhLQnhmsc(@Rg zrq_L?oqh3~OJM#RPyWQ`e~XA9r(h&F#QRlmAxL?i%k1-F-m~X`2VPUe+_CfKHuNB(^q~dzQ3=J z%jf$Kp_4vM5%iGn@6(Z7Pv)cQzrC74T&C3gMk37&vJ6cT-81c?pr^>2?)d(`UY3Ll zvc=K!DPW!LKMRlHpLvOmtAq0}>qrOVOC-UhWg7`1e5ZVW(dnrP^Zoz9@4FTYkX7oV zz^AYO_HvV$;`0I4^2gbvO#li72VbO4f`WskRHIw8_p)L7w+k~N5T;=9?caC(8-lph4tTVHld2|0HATCvGuzF z2++vq@V`_4tu8P{@^A;8Iw@NNP?$dj0x6qAzW%T3zg-nWHogOL-$^bOYQhkJ9+Q*c_svt#z^)V ze$=L5yy!Y6*8LsddtGOO(CSQE?D4(VGfZ$Ih$Or_;e%yLcIMvenI;tShYxY@b-q;o zk?*};K;E)b*%e~;h3d#1HE^PVeq(|7x&%J_eW5u$xEhePh-lLg~DB;@|{kX1_9=EVP}QPEoNt{uanYm&i&NF}=lBPk?FrvG zY=H6KpVLBi~xkm45WI#O64!im7hV%;}tW)^6=jY~RnZ z$8@^yr_LN%c086ae}(QXqP>xkQvNa8OQOAPotYt;jAKSB492&ASpLc+&CW5Rr^jhU zJnKad_x<>EhPkv~;nFEmGA_B+!f$uyeOIVpFcs#P-4bL_)45XiJvmwhB)i-9)9mPJ zfgmIOf1>A`o!$3y1OeFU6B$lAC@PZ{?dutdU47eGB19Q<#BWi8^{? zy}W5yg6gQI19)AwyO|l{en`RPHU+uR8+cuitv^zhl**p~n=P|+TZ6Yi(MiV&o^AyKMQ1n2 zu;)0^Iw#<{!Fs;3(DO{Z#n&0nV>qGHKjBT}-!GR`SwW&IEQu<>CTfBSEmn?OGq&!+ zxgr$)opa~Q9D+HOGcaG}|4;lM$f`4XP({S&-%XxW?S0@M9z_*e-*luQr#U%k&ymI( zF7K(@9W;|IC55;z8*(MmjSM+$ueN3X zM?=S!z2Tw7Q6P~cR@TN*JkM8BYzne|&(_1rp0s6J5;&>5Pw1p>{qg3MZqb+H=f-Q# zxzn%;RuCC^(xRWwU(GPS?ic*}tOAc3HXikb;ZbcJk7AC+*FBK;*!p9u>%xpo{$ZLU zk8}&Ag&cR9!*QUx)SQcS$jA<0_4B_nf5FA`LuYP`jt^~j{qH&~<5)>5!SbK@?>TWBWH=!^lU_v+owowEkU^t$BqNUtUR zd-dO|Z;=kRtB;mGh*HiW$~gMe*WUfVw#&GF{xB+kmHa0-#VX?uf;oRDH|)B)&y~H$ z(|_~P#L7XEQhdC_VGa*=?gN~?pF>}7)hm38boa48fsA40I!8hpV!r_K8Vl>CTFHCG zlL9fZ^PIm5_kNVaV;mmka0h`HGRyx0vc z4VGUBGNi|*fkoJl1eL!1K>muQw@LUmWlWT@O`z;LXCTzY=R%!B5H5FkvBPsgrUu8}!NPh}CbyJeE?2RPhUcafXwceYM)eL-zc7Db}9Gnc%c;yNkUfw+{oKC0Fn zQt&PQ+UHYR3bj|L)QteTQ+-Isc6=V<_z{v!%d|TWf#$3WYZ+!1rMi(n-@rEzDdiud z^^q@IHZMXyYcvvLHYyCJ$l3Wejr`f~Pj^-yQVE@ujOfw7L^jb$sV!q!A@Ge^&&*pe zKX0#$Pl@|B`c#*W75P_&o^LH^%e<_uox$-Q-&OWPdRhm`n6(-xeU|hekqQQyFfI8b zeW>-CGyi;9Fk$^q(r7QEX^u>(nR(e~{kr1Jz36WJmLNScrH-ERukm9w}3{s-!8^#EAu{opVht_4rdk5z>){u_R;l7YVpVyNT!spIyC}H~7J4H*C z_t=>Anp1V$va1GdkzgH^8kR^G>v`7E(SsWG5Yc=bb<#$ugm)UJ^6$l8{i_MjXhk^(o-G;t#z)Apt)h=v@(j#ouq9ed+d$y>Mv><0#m@rFhktKu{iG!I zc7?K2cxnN{|4KOmGW+z|g9n@#l zrfToOYVYxC@2zU@z0THTPFq*Qr7X$Ll-`dT?}Zxg&8^B#GJTw&I(<lio{7@3o}&Zqj?* z_%_R4pvdmRYkZwL z3aJLlml#Vhg4W`>#(N`~InLeHFp3wp!k#t()uXQCpDTRPLx#pAXq>6;+S6$AaY0r7Rps=xBmIThnk2i5U-r}fxk zJU*89*!qK6(Ss@@x%GG8d#>4-^wb9Us2`;bB)q>TG6mmss-EvT;hj~K^k(eY4|E+qrt^7x9*Q76))j8F<(d%VDqd@+t zi~YzHm1;L&9G4|i)MgVMN}x7%Lf8L_sE^Q^8X|2r*pq;*M)AIFh{9?-lPa7VXb*lZ z7S>Bv>8CIog@xrQo<=f#5_(-ypRI;tR_*PU^mY)O#q`zRdd$si2EjHlCj8yOy#`DshI&cDzU~-zAv!-|J&m; zBaTjZ7Z+7}&+q<+mG|Lqg?CW0*K6Z5gQDZTvxgOBzSOI7_vfw4SZ~lU+!C2VeQ{fW z+b%)31vcFN3GeK_xb@Dtd4u{k+|egK>JRmqrh8I{zx_n?pcP8e_)H%nKbgp1+WqmB z51GhMY`Y`jZD?Cx|6HZlTpj(z-N{}%qK(>dOb^Y+NWqN8a(kqd8kOBNDOz6tD)=56 zgTBUBLAjaU{C3TE=u30+316is#ksK(jXHBSG-r0Hxo#gnbUN3en9+PC<1k0rcqaj&gKU-3}g7G_v# zpNFNE>QnY)Yb}?Bt$dbmzIWm)_l#r=RKgOy?rS|cceU8)euH>d|46~LV*ON2m;Jud z%iSz?9FwewcTb|Oq?8AkY=45u_8=;k7`PWRT2DsNUDXz*E+)~;S&pC!*^=HT?tKPF zx~2;mhbWBnWJYWA%)9DDrMGmr{TK~rtDrxe%rHbBcOUw$`p2aZE;3YcB)xn5I6kX5 z66w<*{Uu1B#tm_cO4GZ?y=Z`DZoXvb(Wjz=h%WP`C|iRHw&0Z73(&?yMg5O#NS5ch#*_bk%n9WO`Mf zmq)I;G8))MhCHaQWendgx4ty1Cvm-ul7EL%=5zkc`7;+ypUX-A8KrJ9>U(RaX~(R? zX3bw5VvBuhoV~!h&~f+L=eK_D+=VHl4#++!&wf7rC3S%~(K7Tz+9)~p3r<|V!k1=; z26r8}zlc`rXVvCXP&aqFlu8?kqADZoWI2aR@+n9|KMyUv(&<75DYdpUTk~-(O8b-&MP13~yEM)=Q0@?m3x8z@rCIbjH8xhTTuBXqk1sLPmkjZ z%imD^UG4bHst;p2@FyMj&CZ|7rZa!b@VC|ZQ~h-0Z!h=?j4QFXs7K+oAia8Qvctd9 zeq?_L?1KvB4Gw?h@Op=8Dus2lSMianK>E?x0U&gX z_j9QC^|`p(%U5a zan8Ni+4pwX*P#+Ee-dn}+{JHaf)HB^9teuhF1<J;OI50%zBzc- zPA`0kQY-QLqL+Ww;Bh3yKTWPY<76P!xavvIjnG4>JTvDW{DUC{C@C{ zJj?F)ON;Rr#gEV5!^zmMAhR;>@*gFEKELipJcxJgo9pCG_!Z87ne4dx{rY~+zu!+D zh+pGQ`=pP6x_=p;LHi>i`;{U4){ysHPWo568=x`49F>UF}m4~^G!W7@k#kJh;;TMW4f`q*U zBJ?&sBVT&$s@T?ro81{fO`ssGqfsBlcCtvVq7RgI!7ejj%T!%Z+muVtg7Yq@4ZiMD z2~|(!EytX2%m^cH=|tXAx4>M7GSe5ig!iMV8!6%&i>;EF0X@9YpVtiFP}P%&qG~>vxCy_yjp=z1+WF zofnVsqMY;%t)IhNE~Q9K=L(8OZN=b9il(t(;FfP~IZF06{82FgxzEttIbd%L(4Y^+ zTYvzAb0)-ncJ&33teEIlK2R(!V8G)P<53d!{NWR`u?QyU_wWi!rjLyw1z29_N)twt zfU;)0jp)og8@qpa8<8o_uGRcM2Pto}_??Eyl4Je2sv4abRNuo}lQyO+#m0PVxBEQC+zA*OhAb-U_ za`=6Rt3kQ1boNUeE_NurMEu3#{Lp2@!uo9YasKvjsPpA?#pVA7nsp;cmt3x6YOEh) zy5dB1G%qDc@kECShx(r6uKhZ4f0N7!Uv>C6$hcbbLudb{!%IMVkJubg>n43Jdx2V) zEB=$6`zVmIE!TL$5EMHYWaug9-{i9tBx+d=il3nMgKyq&cE6tY#4X?)`FzMOx1hVy z6SN;4vVS&YuM62nhUkw8x!)AB*N5!i3)ve(_6I`tzyzM3Gn0j2xWZxhn?R} zbMrpY)8i643&ZR0;r!O8Q|~^et6e%xBKdL2^{v|fLxr)Wm%I8dp2MNd+GJ(Uk%!GH z7)+`8wewo~A#<+5MNvSqyZP-7M=#;%iC-srzS-IN?GXe}UsFM+1qqWc_=u4Nc8w)h zKtBW|(!f6{cC@ zK4$MCFU-T1npefTRGwLq^uyypY{T`Xwakj5$DWerum!hbNd9^A4Z5aJs$Yf!SXgHzcyjIokp&5ANP6Yb&!N-+21mA~q4| zXwM1EVmGP+{G&b9>2ujZ#hpybIDyPnDO3C-3Y3yOw2q^!?%*S(HRuLHYU(;5P|D&p z`UMu8lDD4kB1lc=nw{v{s>glOD=vFHQlBimV`qO-)}y;xTKDv4`lOUyN5pWa|EBTD z`ig2cRB(_dwR_vdKGDV>DUn){)$fgiPWYsD-O4+*4!mv9EnpI9r0S<4Umfnm#N3Y; zZF+z;feu&L^+c3n&mN_^+JK1Ng9v4_)^c0Hm-h0REs8qJPxPS3UO4GLj`fH9_u|Hib9FUw4G$ayoaxUrgsMg!}WO^}rq=UuAJ` zhwss=$^IHB_h+45=P&gB4-R#22V-2hyB|EZ8oTEEx(}Sc*lGL}f#sn59S;&db~Gq| zyMX+~{=!SGL+%De|Mw2HPLf^nAkmoz@)^XYgABDb#h~cE%FBIuFF6nEi}HIx=0dUG zf}(p3h}Yt8IZQje%(>S(`&kal-TMQbU3W|>d_RY~IaFt__cuHIH-|rT_#KB=I-CbG zAjQrGB{xfg%p+nIpwg{%klagn5)RWF%oQ@^94hpYZer5eD zm@yCWOOTvVcN4VF#1gdYIcPsGWIr+Fe_Y7@vmyJEkp0q7_|rn}`-I$8PyFS~H$wj3 z57}P|*@uV12bKvtxsLj9cWm#(5e>f&af>UnP#LGIHU5F`#Wsn|Ey=9p!N{BnI_tb< zfSxYJbkDVxS2@%DI;_)k9e%HS{>+q)cW|j#ZZ+0kzo3>0v-z+irTk;mjyDGzo_U-9 z+2YnYS11g|xBKfc(UaL(c|(5}K=k<3Bf8&exCpdckIkKf=xzGkvg762?)-#Lhd#!b zt4WaP`G&r|z;t&WqtvBK{iMtd%3#2_?C0Kex4v8A%B|E7K|UD|B3tR)T@(c*yIbG+ z>&=9tC%J>@`G&D#w*M^bOnz|$ZYr~Fq=RuseY`ohu>-r_?|_iX0O)jm$N1J`6JFmv zR_(nV_ulVJkm0{y(o->pmQLX{UVNo`&!MS7_MsyB)duX9-qu3_bFuNz`ji%eW7$F& zZTvQGU65##_=Ze)Rb^b>S>5nKuV~{g*rG#r9Ys{}=svr#;nuXm?8|s!;iN4uEDdxc z8ME5k0hR`T0s>2e33zQi%Pls)Z@t`D=w-Z;VUDOvs?mBplz(YF7GDiOSu0T}uP6*A zhF@R_x)m#86CJZAP4}CSB}dtiKLPC0?ky8Y^}0^}{d3jY-Jd(2Q5qDA#J#(MRn)a; ztT*IFW5L;!rmk`Ao7HkPJ)vlwT2k9R4e#{1I7<$n#hR$w z>l=w)54Sz5)|EOso<6xx!Bzv~ea?0;vlfsq9qjWRchWPziiB}Rr60;wa%J5{rvnrr#mG|D=dc&7n}tt2rfJG4hYafyL#WH zulq3T&xBilD!ehBtUq7JoiQ`^7m)7C+)^Wa%-J_O_uo1DuN*~HOoQ9?{e+m;x9IaAJI9^;n5BcclaiOwcgdfL8cDne*_uw z%cYfuC}Y0^@fy1d6rGGi$fFEN?2{cP9qQPQ{2k(OkV7R}@86;Dgnx6`>hKRB z@fPbNWc-Ou16d!&CV{LQW0j!Ns|BLmHLp>+j{>0=WACKak-7Ebdt^rI$8qvc+`iGe zG+>Q<4olGfnUMRMkX?R*{*~UKJ-j~sX~=y9o`e3?sRZq>hwK_Tg6>a+>@6X?ILSf( zZvB^A!mtg0(b66+3JVrI`H#y``R`gScGw?$OdH#@cJ1lHt*7g@vST~lA7o4d zdJE>x%w1R5PL4*i?%6&u*BFNIamko@2dHI@{zXq_XV+~{TkrXOVtjn`cO9(Tx<2>r z(@8mcyFn*tTyk@-x?5-Y>$OrBVg>X>awHjaMNmMpyLHwQ7pTI~yWY`rR^@rN|19im zouxC`$eNbrN*z?%7{gO`a6@-qsOTdj?)p(*o5}h%-{9 z>2ZCSS(e?S+uYZ#-+jF|!5-rF&q=Yw_#F{40sonSUOPHR(;44-F#ZSeKif_0{PvzZ2jk9%{0Toa ztynWi-N$|a(q@XUcKCJoex|dZ>rllge`-TQ#RtaVt*ZUx#=*(hgX5nZT+`;sJ_qfG zhup*b&2EN{LhY6vGX>jqw`P3luy)P88^?^yamUz?;O|p7uH$_Q$DD9NXL?U)26>ey zA9eq2kv?XO->>?1^{M)&4vg8^epTm6WJFJ4heJd>ax5zZzUhvC<YpCLQWbu3&N~ z-gj61YM2-3$JrI;`c?X~fl}GmQnf|?JL_LRyz0JhQ;uPdm5#C=CJh1lY=_pL8PI1~ zMJ>>=&IYpIRf00RN@rujs~lX!v+j}SF!W$nr3YG{2LXZ3J5CtedABYMZB01NZcRAa zY)yC!f7+VRq|-MYF+jX?wq$j>E|9i=BP-%{0f89Dni$nVx%D%wC@*DF8_T7(L;^6v z>g(f6$;qZ|9_Zy z%0RcT*B?J}^OS0*-w?X2w~d^emR{`S+{MFqFZ;pHeSov~bEtW}+@Ix#_7=MxlzpAU zwGOo(SnumB#!hke3Wwrn@K=0AVWd<^&mrx;a}i2rg^-=UFdL@ zL#-F&u5)>EKhB}{|1u=i+)Ja?`#T+K9WMLN9bWJ78i$KP@m0z!}5^ANO?_X7JDL-sF(?1zTz3qtn2AReTj z2)W-Avabo*Zwc9d5VEVc3)1)XuAA>KFGt-;S@r3)g%i#Xv**|Bt~K93hr=Q{mcoC- z7T|Uh;hosK+v&NqPUgeMo^YJo=G#sWpy^4-b3jVmUQVp(S`iIDQp!I@>w&J$rESvW z7vs;1eY;-k-%bB^n&0qWfqAyV?%?A&5$x%_*r#)oYkW_-bc&RWvKTbo&5LKd@TD%$ z8q&r09NEf8@1iIm+1}&3QdUdwt#R#Emv;50rUEA}qf3%4Z4h_UT5Ov_mJ+ z)|?!*ZP~pIw~5d`(Nz<8d1_{;z?=Cio(cME z8}#vZK{eU)*)xT_8Jj?yBia2Soy^=gi6rLVqBO^*I=e-gw>yX@+IS>%Zr#_t8*Sfx zt6khy1f~WUI*ON%B$+m~l3hy_E(N)G^S=B-TU{e>mZ?>hK5Jk+J!w!)T|)e#_G%p~ z$#{Ci?cO#kSl(~UE~%5MTPojIjw7w7OYfK54rtgC9kr=`w4V1mR2t4JM{T}r=*kzR z;vBtOuUAVWeD4wKTMt;nOC$T;V73wWLiHQuTKkr5M-|rlw2zkLsJEAWBbQpSZxH?F zH5pB4SoQ*%pDH9K{>?mG{pmk7_?D@Ieo`?(?S2=S3`*jYnx-g7ban>CrafCtCYD|7B0Q8mRQ% z_SJ)FA&^Yps0N#=Q61CF&b7&s!ed%!9GhL2Y2^2JHTx$g11i|5nL-upAMCSipN8A? zWki;$*`bF2^Rj5$h zAA~Dz|7-X<3nVL2CICtQl7W6=`^DFd=ht6yy^8`E>P0E6Za*4;UhZ zZ##S$WQtS1+1g{0gUelVaN$oK{=ng4kabo03~(RPcRE;veH_RXCw3&rU+e&W2p`)) zKP5V^JAB!p4#4oi#C{Jde(mQLijSsn=UFWNl0&VBMMwI6gc*KVAC@lxnX;8jzRq8) zpT*+c9Et_RWAWb{{+GqrH=X?(4jUXUbJ*GWRPpe&zHFo|Fkg$QKj{zFfs9r$$pcg# z;w;I19H@Ma0ZDr7D3GcsF9B7KfXZRFdN3#-5Pja~On85?+=A{kA$wT-=E&@P2a58G`QJ$Ujd1WX`4f5)#uv zSh>5zVa{4B30K`$YU^fyrFPczIsa{oSi2qCELz(wWrJxtzkd3n8If9FH%qsx+&wU? zb9*HB88PDc;Z{u4Zk?N&xj3)sz9YHMS$wFGQvNY&ubT@h+`P{Hl=4x@==+!P?OML+ zpKr{Vot69CKxZN&dURcptLcO_%(q|PcD)b!W=DrU!I&YWQ}lcjmVI<5M{0KTw9iLo zq|3LpnZC_`G}zsGxs=XHW}5jWpA0heOOdT~-a?EkQETaLy}ZKFyWV<_Xy3AP8)x{EIqPl8sCnHKDT2O z<@ALYO=Ei z!3Eb>jj~kZIjZ78w%z~{fY-SA$o z)Lv|&yo(Qj{g{0QxAe9&vOk3sg0tKeR0rq^s!2wYl$^7}p2{@CQR|8Ak9>A<|5UPW zsg8Q?NcJA{SZi<8`zARo>^+_Io--vx_Qw=te-bI9P{#tcP){Ra1%;~Z(K*E}4WrRY z{Y$(gGE@Hy>7@6fq05fvII69!jAqf7;yOI3bCq_EZO>I+9ynL2E#ru%?72#Fb6W0P zr45o>*>J9MA`7FDwjPF7HT@;pc!v^@zfo=#pEP+`4%j?sdEn;(CC%9pO!eIDU1iM; zqsYSHys1u4>~AawU{PWa=SB4x{q@ATE8qE`jX6Nm2doqDIHch>t5kE*CP||Lal6~> z_9O1VBI+EIfLZ*yg^5}M1xMI8qR9T)pYc@IoV^~f<)^ZUHg3b7C1%cPt{`wu&$8hs zO-guESz*83g*twxa-Wl+Jv|w4AN@?2eN>~ezKUeT(}+yf8i%G162K7>=f6-uYBlcr z4LaKRC_apcRF{srhP~A`>=;fk0=A1S)ucU=EbQ;24`E%c^*!r09VDbmX90zrpZ_3a zR^2Z_YHg4SHpp-r zHx`zaX`AkRguTt7wX`NZZ-{GW<~jygn^QL#kK&V<+v$!n`6zKx-hHvz@A4i)ov|cv zkU}>lNX35sBn4cMLLP}4bC=g7e4+g@c^$D9FNWg$zJY$%1MzjM`SqCvd-?L&FPrvM ztknbZ*^7Y)B)kt{ck!GTqd&|mMFX|V~tX;^}}m-!-1 ztRwwSrF`2mSAad?6AUJd_Nh&CdXJlVHpbuI?)Ir^u29MU4(CtlFvj;cp-}&m{HORI z;`9_NUB>wSL+7@C$lOEg`n4cli&s1Ry2GW;eXg_5ba<}A3b2^)M}vHJ<(~tY62^3q zUlI5M!@lS~?eKAj_kx(%??C3xVYux*j z9hQK~pSHn}q}bk|_z=(2;ZOvzyFvI4vFkz6^+3`4szdR%`HN`}m*^Y>DnDDP97q*^ z1C;*;hZ8{28R6_2XyvXsJ{YS2A+cMjL%`U1XZRh>dV#r~{~-T^G#Yy;L}V)YR~X-D zzh=-b2~g0!0ZY)XsZ!9sI^?c3N6>vq$R3vGpAZT^EaZQ6$o}Jy|MNrc8W4i1sU&ww*$nN+hrsuUc@Y%;4*I*|l{h!!5gWM3-sjA)6Yd@7!>eZ*$`rIU^ zB5V%2b{8&MP&ae&VhynDmPn$g1I9HviE9@xU0geJ(V_*qot~Go@;ez8&zy^`D`t%? zgT(1o@ygm$k`u?qleO_=^5m(fj;pPiI;H9?SBc{g@6=YE8Xudisy%rM{j25EbgW0L zll=%~$ByiZPt)!ML`VFZp6o~Pc{%=m1m8{{XZSVrRmSWrzefB;8PPLg`Jo@}fM3(~ z`3IklzDF5N=7R?E1*SXx$`Y5ZQWxra=!xVC(&wBCNOs3xx!MJ)aP*oTJ!jQeG24F@ zcE?}2f^;wrM8xk`K*G1izxYy$(yf%NBsZ`awL84|LQ*7i?)yYZm|Zu!MTq{Ku4^%jTZ~ z$0W=YHa|Bl2BI@v5T2J`s3z_W8_C*|mk%wS^nC|%K(_8>CAY?ZCgsoL=uE2EH&(C(@r@2sDm}IM; zuV5l6#1xS1uAf)_WNxq!si52(9rLEA{rp*^qlAz{5Twi?B^~wiqObo0Obk8y@%wrI z{>C9yUQ4z20GG3IA8R2`eMABK_Yf+AzV&Fp_N|&Z`+e(HB_cbO4kqc%+!Wv5(kJQF zuk+5iKic$1Ty*2079`2KJK^QIn?Tv#lStQZ;_k@i{5GF8HJRnTP$2 z(=sTZE?kl;Jhhu=JA}ul`)p_1Sn7)nOJESg%}=0l;U01GPlKEPh`9Mn;pV^A_J~64 zOA7#_Z)h8k*mF+5d@@r<`nOyYfBPgd&@Yz(7;g)7XR}hgI~T@EY)~Ifde3V| z(uUR|N~E=S-1~D`bLHrn_eZZHfi>&g#g;!p&kWa}6f3cSs* z-WKG%9WQTV!rscQH{F74si|Mj7UQiWK67H_D@Bw~wReBQTPu!qZraQ}pt*@|b5XO?X*d!%f8OH(CIX~Q~iF8I8 zbmcQP-RGC?w9$ZSCwORh?)|Lv#hHC`>)o}7^+sRm&Cu}HCJ3KMHz{r0XSvM}=Qa_V zEpHwktG%auo-T8x|A0M1#s3L_Yx_4qyWXAC)!1DbahtL#>CpLrl%$&?mH)QYq^* zIO%O+S~xsA3-(6YBh}sjy)mj(tWYJFy|l?Mn@gKU@|1yB0FV zHx!vB@BvUDefYg52e#Rh3xeOKvgwsN&)cu{++cTC5s9~LXq}LMwZ^+eZN(Kx>M-w) zhAo#jG+)bksvFkl!GZD4!S@uZU1f&0~Zfi+2+&Q3T)JxG-`ifc)%oA66 z6%=6Z^QDgEx!3x%`7}p85nXi-I%aOBF3oq{y4Xr$O0?~q`TpGipMaE$@d?}n1eOb$ zs`>-dOjfu>Wdrc)V_kF?PB8IGu&%B*9doykkcfbYP{Ec*QXdfyj#>* zvu~0Nl6M3idoVQ|#m3jz*yL$!3hX zK-z2L(Y1H`oo`j+t9&IxpjUsAuf}#)B(bTV?34;y-TBTpe=^e6vUp47bt=Q5wh7p4 zM7i5L+H|3kt2wPp?y|uWTt0~3>}G!KeJr|vRJw9cu%8ZhgHy`UrbB6F4Y!$oJKCt* z7>H(Ye>MH=9@z3(&I!&J(-9fLxe5OQK1~oXl6{xR;1_z|lM?ge-Z<%#O<;1ijukY6ebB$YD z*i~2@D@}Ur(`{0zxAeK1Bn@TLswzKiT9Pe4QeWe}S3jiTHl>rE;&{a*NpR}`lOg7- zf$XnQc{kiOpnB9((WaaEgt9N;?h0IjVylbl^4xvXuDqj-|AjwS=Fz5~V)?zk?4A{EasLgh!)HPqSSkxNYVEU&}{U z*WFcB_Q<$&a;-glF*H@;-N#n@hUcRVf8R6OBo5R{X*ASF2XByAN z<808qY|x_$gH9wU`uZ{@r&`aSv7VoyD2V3+AP|p+;MSw?ti#Oo`dOSw)PGvf(uNoC ze40rV^Hw_b0FMWKeU3*o(L`0EtBZ(A{6ag!U1$PE38?Y4Kxbb-*34b*K~b}7R;JSV zsLf=mZQ`W*;zY|S36U`+t8z6nyv>%yl+)Q~lT%hK$BUr?-#{#dBvF zO0()hC>F_(D32f7;5y+MD34%pH0Ynf=V7+HKTqNa^j8D@-T=_a1_fW#eSt6Pevg-U z++aQ4Ydp>lc+|!iUOEGLV{+mEI2|2}y6ui_bMy1ZxS{+XSb8p=Pe6cf^Z!w|>gP7^ zvvn0swKJWPxZKYA0uAIaE!|fAg4brJd_Ze?-di^+%Tq8%Z8m)FCN{h8KFr)4MXT&c zp036&^F&d{?xkXUV5A4Uqwt;aMTZhb^7w&&we3;y8{^B(JGd7)iH9MtTmMQ=f&b7x zf6-U}yxHlqQ~HeY>4)U-tj+@sE3w+|5~Tca5Y}VtNr;ft*rT8c=dd2cOS$$_&}p0V9*l7{(&Ml6 zyohIo+X5=wW`_?uyw|sr8O7HG4#dCo3#c3q0~Jo&#DqGoDcs?3v%`lSrYxHK!^nEM z_6!I$1`9PEC4B5_&VDAS^i|mR#iJY!wrJi%Vz*N4LcriHplJL3%MYDh?lO1sFZW#k zf*otlgyr!=a16Q+AiqJo_HP93(ytJ-|1Cs+J&r+lJqPWVgzV!&_6tJc`4$SopBA!f zZWg4k^E5&GoRE8Xf5pQg_s2uwe;2a99I`(j3a@Die>qbTvfmi8JJGq$M|_++9sHdE z(#B|{{{B9T4|^Z6#6}E)ZWBas7UVQEI1dP9x;t%R0{?H{G7&6=o}O>9YA!;%DFQD~ zuR3jN)#NF)lO`sUwI^c>?!WLI$Hu3OOVm!T{!*2{52NGrGM&izj^|>xuH=04mwrrg zJ_Z$;oSe_u>66X=3%Yk>c2>@J6XT&wPR_?5GEFafDCfJ`(IL1oLr51xOU}4t=Iq_c z`I;TQw_WF;`BKo(trnQ>+a>k{65R?x?d z0UY=U2&Ymf7D$VhlN?s09$**A!-(JKscuzTSkR6PuuxFxwGokDGnZLadap%S-zG10 z8xmgC%|VG@n^*s+<@?oS<|8NDYUO+f=2GHBa_Ra#?f45sle2t*vY)WK`g3Crf|b#dQB!xGej?d=QTids*AZyj%IfiasL zJ@4k|s%g+bTg0fhqfNy;B8A)7(o5}&44{>G2lm2jmS(G|WrwQiWNCbWTFH z=xXWcLkK7SMNQo+u&;7_N#thV6&HouCA>QWT&yPvQI2<*SQqpC!o;c>_42ZZrDyFu z^oSJkF6q5-YG%Z%1m@A*wMOe{)DdhWuAmSrAYqk>BzUU!nybYcG+BY^rAXkXj3?u8 zJdOgWu`<928WkeISjiAiko)x)>;yi>gev}=rSTGTT4?On35_*`$zE>*?rQ_SKnNng z$p(A?=qU252-A82(f!f*EB=KIwZw+{ZYQC>rBEXX^&d9WQX6Wl4K=-!P-_Y0Z@Vhw zsF{?hNMXvwOomIgGa!-SeX!YPt_?}H$5;m)$5xx#c8gj@{ERl+m^)*z#bH&YZ&Sgm znwRbEYwNH#>cLdzoJZGexAR#M6!LzfP2c2QrC|VXB}IYWE17AUL|icEmAV$C7wN%n z`p{dN#_&oem+7*$s(N zfXe5SfkDErC#$??lU`GVM7A!X>HL=pG*i5{P2#mcE~3E45lmwI^c>3)E^IC}PVkg% zhS6B*W%g1jc-M)2KQS|STkDy2e4s!0wJ%4X(9&m{lHPV__6o|_$bIvt#~N@kvUDx| z+7TS-2R2f44JdvIl9@O?1m&$fk;B6PiO_ZAA)oT5X4g+7)21+xA}g(xX_In9N~u)# zCR#yWvd)MeiHsgUsJ=2NQy)L@vJp<8z9=YAf3WqS4g~5GG9$K4@cL|P-M{RS3EqHh zMvnd<@!~L2a?}J$P19yhf?!#jR#NBifVfm0ZR#ur%U$YEkN$en+?DT2uv~v~B0XtH z!*7jHxqeio_ct~^sBIFcepqgBjDG!o(ryOGXw!NF*{W#egGM6X zQdBeQwdkrElIBJnSHDiSmHiP^0*%XiHv0_|h4yWhG%#hP519v09sfx&QXOYt>!@x0 zm~j3agxhKg1iS5;7yWzoTy!$h_DjhogLAd|6!(GaOD#;U>u&T>Hy(xPIpNvvC%s#_ zx`AlZ-2_2&QhCHf)phHuGb5VO*p1j)9ftc%YP_wL-hJv?BFtC%dUs@>;_wdIXAK3{ zd{TS$+RUC=^Qu0@(8agbaGU945D$|sE9fr%sXon2KV3T;_`D<~_ICgjNc`C~Lx0mN z)!Und2+X9)PFdJpLs7We%O*)s;%a1o%?Lu@RGmo@bf-zP*W$W@>bl*M=@EBw0gZo3 z_hRohHLGs#Ks}K3@00*JcL%Dgos^zXcz5{8><82)6_@eRN zZw-Y-VTG#MX>e%G+%q?hL^HqQUG_G9q?yPFZ3o*dae)Yy>@9#=z&NB^+X@D9;2?s zPVEjbPB%rA6PnCl8Wfro9A^9xZKor-hxD|{e85DjBlqs)B3qrDL-dXDsR~IlR%~PaR$a8vkUH*+cp7K!)L(WuVd%2k{ac4T{dO4u?8C)S=F0%3m!g ze`h&7&Ebm>m;0@t+;4HH^Odq+3DV^h_XS}kl#d30g&EZQ9w>Z4r;W~%EbolQMzvfWN`uHne z;_yO;V;$-|C4a>u9KNf}lDZwuP54f&^R3fvcl>|wb^B*DiUxwV*hU|BR>|!tl=?xFL9}u#CJ!B7Z<>{1rtU39UKTpY6;iL&c zUb#^l5LUAMPl*ACJ*V{a{AHICgHH8CcP0-w#up!Ss6T5l^A0Nza9_YjJ(oE|A2h~4 zm+9LXUW{CT?%J50l?!~4!BWOQmpO^Sd%9kh!;nvl!f56b`J1?)dmOJ9M`!%=Vv!-SP2flMeCmix`9klM=#zqI~=z zEY}iV%|^q=e+zDKmwf#FsZ~}@hX8ifG@Ru5tER0yi;o{XS|T34(_;nSw#wU*g!vs^ zy&a!5b(_p`>No`>)=IDH(WEzZU674k0nhqP_yTa*u6g@J4!{f!aQ02WWP0j4(X32Y z85aNlgV=<0Bt<%5bWku)lu zksNEo=lg%o=lc&7H$PF=tI8X^vaMI^?w0R_9Kh~he=NF6Yx}b1Dvta#{gHK9fcw7z zYXO)4CgxZa^lt%M&|e_#?6>e1ES}1co+i%E?7*Mp^NZ7lZZr7&X05G*CCu%pp-)T^ z_~UdI?HTVe9_@n_>G)VUO9BI)yjr3r~8tiMJnJ zEp?qR`YW*1)V&C!->(n&df(}Y&#(I}9H0MHvTgYM&njX{CH7nxAS=UEy@S{jl# zbVTDSLT9u55O9(4T6_dR0^V!`e#QpeMhF6~vjH~)9R*xVnAS@Y znd>G|09^Hp)%sHz@)1j;xhpJ{OVj5VVDKj1m}D_jOh$aF>_&b_v=cO>Y}{jP+-G+Z z_jd`?g`hzxfJs-av*ox9p$;xTeJhCdrlQy$yj8MCaLay#$@_7Q6Ym>6a!T?l?(4cjp!l{MXBt3yI8{oKI{e+-UfP;3UjZh$ohQUPLndX#Tb?*W9v>w)hPynK; zH_o%YUhP#yTKCg2yQ$Pw)`$nD5aF7DICw-N-Aj@I@$82ffxzdZzfL%Ph4r6d9L$|E zYdnUqMy_I*`ga#qH?(ku>&57*@8bX~Ukxdljw$1uFe>aW9qSyyh*D>I&F92c!o6xisQD3R7|x}q^QwKFvmW%?c3 zNoxO{X#BZW$MOm#Sb~aEOuC}0U(irtKTh}YawJ&W66{Ety%LJzTz6R=*-bF{4f9$& z5(@Ps1O3JU@pT>~e4cbOP)2N;j)27Hf$C;?Mx@rKKErbzPS?B)E- zS|h20tJ(2&gZ{O~d%GrD`91@w+5#t|o}zhvfUw~e8jvATlb-t&Y9ed=Q&&rEe-dx2 zK@Vt?K6U?YgB9k~Vx*p9MVAGRUMBPBj~^e63(5w zN}Dc>7RaUdZJaSQ?V8UhbySNPC~N0l&`WphBpAp6H4W5^wzK*}%&bx@Jqi`;371@$Q-$>>DR(8=qrPgH#B z;s;lJzWhPf&IAzJr`(ZzVH59VJXSg#xw9NLCakY!C~pVxKitV5MBkWhTnV$_r09^b3`V0oi`Bbyn*lrQ2g|3z=6>DI>=nST>2hW&R+&8lGp@L@eBkN zZXbtxIDC`Jko*0h-0ybydxyHEN$)2)tadoop>9%=`~D84ZCUo+9q!`rX&QmvKkjgo z!+RV`;4XLRffTNCsLf|8_d`L+A#`+4a)>FQe5ZxnzZ`P^myo*{7s2#>H)Id%r@T27{*aLW@OhF>^gDjs=NmrcMUHUMIme)J z;s2cI!CVpI=e}!ok3o6NCx3Q<{F#`jxN2JBdJk|^aR8I7|wMcyVM^U{q+Q&|A8D} z!Vollx!W49YR(fE--yNG_Y>YTTNQ2VumWEH>x|1R``-a92U2T7f1z&zuzgwkjNuT8 z`DZRm&*gWjy#Zth*E8g<{}@!(tc7T_@hM80-NFkX&2Hho*$1$9a`#7K&StBCsl+6) zyo1XI4i8;6u)o`XdLgW)FN)Q)InjI2W39Vz|GHnAnug@}mBKdSSivEt>`DS~&o;!F_b-HqJLONF}BHXQr);Os{nWW5fHRa%h9(;{0Gy%(`+ZJ!D z99$82J%cyN!4*{=1a)XbdRdS)xwbUVBy1cn>>V(Z2I?Gv(PN`|gSS4uZaUGxn#z># zNzdjz2zzCJ9@z4CAYfZdQ-MF}r7`~gO80}mHvr==E4qFYqq!Yh(8zv>HyYVhfNf;6 zh}dsr*`F)36ghXRaF5J06r^i+E$MOorp+(6O^~9NyZk7s8vjyXkw{+}V5QtBnhlpl zcCF_$%%uTViXSG&*ye7P8a~W{xw}=`QpW@ixx7g?Kx%cU*rs-2Ahnh5ZWkI_b6DJ% zp0_c3f|hr|BQrm>)UM7^I~Qu%HlKrJQXFj@Pq6G{m0_kHK_qu@zH7_>T7AC--CZ_%!L*m+i~^W2!|z1L&)9>p(BDR71V z0uZluF7YjF1PbH5H4ty%c^dVAOT{PDHA&k|vFe7DXwwW{O1wtHj5hroOLn7DtDVUQ z+SnxUqgT1k(AKZdvz-ZZ(Re)1_$byFiN}=j_;A4EMNq`*3>IU;cEc__lbK@yt1$OA zbX$qr_*#lNbnzDsov}w`*wn>b5IXF`=JX3SY! zx8S0gibRF^4rZEu6d{})bYuKnReWJ4`9BN;!{0{;#vEHEgDbF%h()&L-{DZ^$9bN~2u>e*}vD_Z_Zv*y!BPb9V8$Dt?Ii6+cP*F7cCY0>w|#JV5EX*12B^if<%+@GL>heqNSH z{5Nc1Iqnx4yCJ0_Q#yNv~|gTufz2Y7lO*~c_90!V!9Vc^`U*e%BO@; z%KyI*8C6~``LEJD0aX2IhKZNrCukJP-yNXhk-mAMI(wEfu`{eaRtAdB!5~FbUI9X4 zw^E0Iv5yDEH}k)jhn-#SGE@1NyZ>F*W5=2^)JcI|$0396hlT8il8K?`x=@6YAFkMkFC;YV%Y4iGEY>3Ykr87J(8EB4V0b-vn=8FLoRtSgLY zl8eYC1gq{D@ssso)ru%?$BOe0{%}L?^tq1i|8^}Qi|c03oKd@U&dj;oe_K!kv!~CW zF_+8IC}wkK?@ZrAkGBDL!(SWKv7Z0qM~xh*=}l>AyZycz^-%?5xBGUq&-X08^++lI z81b_=)0R6k{ptKhmBjZ723xlc<<6^Rw?)YnddNiKMY;p9g z&CD5Q`_Dr4&x~WXPwPnk2k9umeIuS`kdm(WYmAFMHU;ZnRzw4)@S6sDC+t=?> zKNF7I>hD83S;r>Gza%sDoBTbs^#fYVgA6gZN7w4CPkr7o+^n(%co)yMo*ndEsSTWW z)r@*?*)Lj8YHC|Pnh2!9xPDVk-viv7r(g{k9r&sJ+S413qSxf8zb|{dthse^0e4_u zS_==I71T+>Tf5F| zr@Q59pq=K8mZo3vTErUK;>(V$uKROh{qwzZtP`=0bgMMVCj8BA3-O=ynmI4Lgs0Ze zOWW&e&0Ni9C*zuF+Juv_%TKP#%I;xHo{r2Dcq5QKidLL2^EC~(nZ!h!bZ`y5%_l)|v_FL0c-*msVJ&7J5-EYZmRp^(XpFEu+Eu zHWRuVewNu9l<>wCCA`nN1deU#b3KXT+F%ZQ>vWxI!EgG7vg%S6PuW_!IFrQI8TrJS zeRC7iWBzJ5*f*%a*l?U#+eluG=ZWbNe~qV4^>;ii_L{E1$?4?g)V2MLsv6ts#}p{z zUTe+@yMxNw?X*0=qVt1Qr~671ca4VzZBx8tL}@^|w5g)BiL8k&&bD@&o+1w|<4pIc zo$eDdl|y?~x80o>ZE7#N>KJA8B3hS8yD7~Dt+nJ2W&UvJuZ6bxT!T4u#Nm6Zp7K1% z+1*yx_da5ExtO*0wMlylY`+s-r5hfyH}erYz0Q^1bHN)P)~W`Y9!Yo^eJHkFMpvJ& zkG}4SWZg#O5%JqKh9$j>8a4cA(~Q%7u6DakPxL>a)Io_%pKEh1zRybCL6F)54&PZt zM86O0X}ft0Rr~RVm)_65PCH+d<7v$^`%-^ER5h8Qn|;5D%&u1xIw7^;JYQ;_`wZ5s z-1TT*<;mw_!F4Le2R&XTuvMOtX_IbOJao~^vrEaHzY{f)W|8-iwN#iCdwn*y9$fZ_ zeICH&CXYlL%PIZf2T~EKPFI<;81M9rHqN2|Tml-t5J^>{nxcPtUsSNykK)dj(BGlTRUFNZ)t+Hiyo{=LE^C^gw*@mZNRqhBC^4o8#e zIRydYUdwM@H1TSR?bxP9a(8KeTF~VTi!-B*(uet5=6WjIjg;+#OmZk2UYk_Yqt-_= zd*NQw>y<>^J@L06<({BS#Ro?2h ztQ@t~)orx#n?%8JtN0Nc6PeUQeDg_fSE8|_X!45wY*BwQ|3%GOlW17>^p1$PDO%a$ z#a|(kr=6u2o%$|`hV?_@qc+z+(K;qj46oCvQw--(8iA@4XCuC@unb(XY!zHXl3lCR zStN79VI_gADkV*n0u!lf?=Bmvj!>-|3#wgbyop~ow%cm|PZPCTO=|7PLZ^40WT%d=C{{}56$lnbF`#^ln91Aa;PoH#(l zvc-fz0^xM-54Ht-BoL@zX?M>ZNIG+JYaIbjFg}Y90q7K7Ax~6{czS_wRfIF@_Xk_Pi9}qlu=;%@BVRVrlt_m#(VT?M*1z&@Kl^nA%&Fd=QXpI^RJ^}4 zvZb3vD=b^GBCZk*f@I=dVkRlty%)$t(xitKvCTwK<-YElpxmb0;J>rM)x~xa9F_Yz z{bwXF??I3_iwJ}SMm_ggf9|#_|I%A#yV%d6QuZ@t9kXQnM-Ov zHI+3!U&iex&zH$ZRaw)1_jpcpRG^%OGI3I>g4bPd8ZRuo0*x{*Ln?VEY@&{H8@f&N z$o&kX8FeIA8qRx}-@rWY$X)tZWW>+!$Q|ClF`e!AUgGrdD}H0TkRxd!zhs+j&q_~$ z|ImK#p*TwJROIANN}n-4{g591O|T0jr??ZO|0$OKeBmt)f9Bl3=j`8hxXR&7hvzz! zUVVi>1(Y1-FlRr=;XsFP(j`g{|8pQ?Z22P~f3Z9GQMhYC(YeZD#^DO*KHb^B&?6 z4yBhz{(kK2*Ew9~-cNJ(FFHKcVY$PD91e8Y&*A$pQYC-7735XPV&TS4Kba;nD$pvYO#T%JqDcpLHSFzuKisxG(Bx4tVtS@7gAX$#R z08#mS3Y5PGK!v{vlz-hgCjS~r<^QwJeP2-F_5c;`c_Nqpb)ftega4nsGl8$GDEt4# zvQ%tMK`s_-F(6fhUb;|95hA(Lz%3?FfkKg`Eoq>IZlsBnrM0Dv_8J1Xi`!d36nRmr zf0wYREg&tRP**k=5QJWWvMH9e|Ljb%*->(IcLuEJoC&m zyn30t_)+^7f~XublR@2=A)wl|0|<%qYdjRfM+_e{{E5fR*@l$W?fluViP!vCG`{GY ztZ;Pb8>etIzMM!nh<4{;`27UJ@c2Y{q;F?LK2?(lzde!uPl@pR66G&Xgl8tgpGf3C zA`$=fMELEA`rMX?KR*$^K0*KQiTLLe@kzh@J0{B8n8@Fl$gg=-{))$)iLje~+0;q3 zH)Z;)$PoDnq@o}GkYh4$KoLu@%||~rIq{tewv?TF;D*0@JNI()aHB?#>24lwbNS&H z|DYq9hl|2|EBZ7KH;nJ64$&Y? z>Y;hKc`z|ksfn6DQ5l0n71Y1%;d^_;=arT|wI9xVR^{@O))w`A`GvpJJlr1{aC76xn|G1_g7vDICU>+W4?A2xpVI_X8yB5J z9cBmo-q;654s}@D>>TH>@*Z_$prLGu@}%9&{#0KEc?up6(WX6%K6NTSIZL&cKmCf9 zX`E&^-hRxQ?Vndw*uwgE&ASz3*HI#g-jjL3{A;y`Eo}Gxb=WYVV%fu_kG0`hE=*wR z$_#cf0*^fTA2Ysn{>0kW`rOisumeAQ&5`bA<<=aTBMTk)7wd=SBizX|8;`6GE*>w< z&GEye`r~8E8EWr6oS>-$rY0J@%F-x#BX)1QvuH&4Tu55d*qM%Tu z*Oi<}T{>9LP_q_a#vMC{?(FZf-V6AwHDrxxR})s);r)p}uS=e~pS*4t%-=JQ zs5Sj1rP`KrOmrfnYF9e8^P1kttcz-a!do1cQ?$+F5p&*%exY`<d-E9h3qJx=ONS>#vJ^(iG+>2T%2C&JUpcq4M35vZdk8g&~lOI4zV#~rKD1E&+bbNi42>i1vZ`-W}iU#+;bnp$%IG?t8S-7mZ3RqqL2TI;1hb?*vu z?0PvWTK-9&+1e%Cvs7~p7bwbzxrUwxwE3au_$S$Wx8y6nV%gq$5^y}{7B1YTx3Xhh3m)xC&(c#X9j+AaKtbK(VI@dI5aea8yf0A4b7;>)*jo$)Y4H)|1MPCFQ>4b{z zb4n!L<`!*fZIuhHl|V4yxxu!$8O5YvHAu%e9<)`YrXK%RzqAe1GL15Mvy)2CqkP-A z4lTT!4zY74&D4<{hy|i_u+Kwlg`h+x@9yr+BvU`2!}@|H3@pyS*m- z?cwe5BLIr``hIn-!*9>F)p z{p>-?IZyW*64q?Lgu8&f$qP-#+MSosO>b#Z$KUz4su<_nY}6_oDaCGnmycWF$LK@p z7K_x^u%c}{c`@3BA2-SH5omH}eo5hQD1Owq+C5u-R9YH&1^T>8k-o+!{1$+{0hyy| zi}jkVZgbmU@OU#_r&i&*#y$4l=~&dog;_-Tfb$@CSb! zbAQ{VN?bzVo3YjeH@!H)k5?(a+{8P5-_%Kl&@X;3rg6HOaOl%KL~+f`>sEUHVqTn+?BX@hdDW|Mf~|{_E2h5|+OGbi;`tynkkl zrOOz;ENOvs{{$KFGf#o&aWktyzW5pWnL$K$e(gEUXa_2lvysXQHyCz+ioeUkw;A4I zc%8*Bvhewa^9*Mio&bu@2P`c9Smo>ma%BDi1E+S$*&)0~)vNrVlc>81R69NoD*xr6 z^2sm0aIxV9hIi38MD(hgLCsTq8yrMfMj&ec#UQsNGYb^GBS6s^XDAn*3Tw5l;>FY{ zyx#B;!v_uP439EA!f>47ZiWL5cQo7xQPGuO8KL~j2yZpK6qKI+gP`Vxw8&EPEki-+ z<#z$qF6r|X|0>U~`cISZJOY`&flTdG-3O{aJ`Jip7lLF-&o`9QH-*O;?gR3d);bP7 zr>`-PD_;983jbmF5U69&xeIk8bB79RKtmlZo(jjfT^CqM3KxrY33la67IhC-@C4YTm!?dObR#TOkAc(El zna$kG-1=w@)EncUzuY{*LEWy`k;@~$V8@=|uGa1J=bcGa`UH%DspYW;-d~S?BY*tz zr>`RlGX}c(0zMb+c)fmc8W{9-h@SGwKmXaf&}rRH_x|}KIy+ds+7c54c3G6&(UX3^ zoPYl1FiA!$MzSaU{^s`2|0U`n{r(J?gz3}-9$|~>_j5RNcluJa_|Ky&jj6Sdr2=@^ zzpkkJACK}M8$lHQD_(%1#1C`P2z&kZN;2gAQ zPT^R~f!(QhDBOIgW&++{)U8C`^~qMZ7Gqe{)7Op9k6DhdQZ_5-cw00pkag;n-D(eO zSW$85L|E>n3)iM9E|*HNwzZ+1)@2XD>^`K&)*RCW3()pdqbqj)`s;3AQ#}zfm=ag#gxV1>zh=Eo@fcI%PU!Zds-v|P znn7uTmUR5HNX0#Bs~XB9r>Fv2d`*>ETbxg|bAIV()^CRi- z;y%KN>hQwqM5aw@)={FcIn zA3_5qm~969T7P$YcYsgVTkaH!fi~=R6)k%mVzVcoP#C9{w+)r#hVATgWJX(fkPY(@W4e)L}0u-qP zop%>`x|vu|;WX)LNJ6>U(`q5)-?M7Ey3?e>ByCTur@}TV4m{n&rWSC1AMH`h1Vg7i zieJaf!k&D|gSXIG*1rvr$n71lo|Xl#wpa5Gwdt1sB^A9=S*BO+b-m)}0up-%NI=Z_ zdsXbu;(fAv>E5*KNXUL3{ndkhq`;(JyUjf0lDn-1@;^!u-LYr>Yr{cy;eM^-`0$0S zPVqke+$KJD+jtwxoA#w@se)|F-TPXc44AD z58POFho(0^BUHyRba?mtZjeDYsd`#7T3uzEnhVF#LY2Sg(nl(?hvkMe*96lXT!?n; zt>c?Fp?+e?Ie%9>_Nws{SYy*MR9^Xa+n0K~sg6hZD3rQ{?V8IgwROIi>8cv z@s@oO{l4}sa32HowiPX!-DlFGQazM^7PcjD(LV(j{kLdFpl#@LdRW`iqX0TydXnPv z6TFY%lh=ide)m55N)@JyZvJb!Gd2>)JKSYIP`&+gH|il696v3o)_b|G9h0`d^y$f!lqN3%C(0A*3OAnCu-(Och=IeF&S8&|_w_{olXA_^tS&XCI zf&H80U!G%IhrdvA+h1|X5~$@{^xB*2ez!$L{%MzI@lO@%Jua9y zk?a0JJJ5EZ=%b|YAg zXOA57G1}`Qcj#>umukljw~O-B)~^kr$fYmu62F@jEju&k;au&*8eaA)zVyAr{t5NF zUB()$Kct#>i9GcieVD75zy9AB){rYs);=S?P(Nk!J^AWykNN7Cabn3cudVKg&pW)y zZnvBe-ThpMk}&$M0bR zyNX8~c1OAO8j*i~(RW7=^Cnl={=h0PmOe3WqIC?Eov8+;A1)w83AOG(^8m+yjK`S| zfzs#i3i74Q{27@@^BI~q=?{JZ)O^cDp!C!dsiHMw0BXMDdvI!M z=jTAtk)LDb|AgVk4doY2*VmI->8}Hoei5ka=NoDxB86qpp?QFVLFwV&14<9S8>oKN zdIh>N^8_e5KLnLel8o@1hF4g;mgegEG()Y?Rrmx$&66ms@4xW3hLPX?>nwbg;g=0R zYdF_%hT$~Bj~Z(KVbR^!Q2P%nto0F^HCoF}=3 zNQI;K{zRWn$=yMe@|O+*VfbB%u=XtoqP$dCE}MS!ZQ=$(-ZlRNW_0V z5w1woC%JCoy9s(r65-nu^qxq>-<=5SesigK{2`HlLL$8upoi&KB*HHx!vDGJDoVV_ z|Doj)(WI99UYBOIeDJKs23ActixutXu(eE;MC&RJ8Y>$aJ4PKm_TYm@jvjOHxUT)1 zjX88|xpfuO>T%uLJd0_dV8&!q=S!~OBc&snFNwm8iG7+cIfTJoM>Joebqr_dLNDh_ zB05joOFhNvDN;HZ9%4sN^CkOP{z}U=k$N%Sr>^7UU`518_B3CTGkQ6rH_zxV8e zke{?Jr|FUW!bq3j$yfLI*4dS{ev@CkBlXr_w>EW5YNT6FAB+(p4XM<`OY=KXIhZ-# zJ9&nrWCJ=*9iLyXZ}Q<)O4)n}!PV>cY8r8PzlvqAafw`qzonu@qWSpz2Iro-wr%*T z39J9MV{N|-2~vf*#FdDfLibnjhs<#V8kEVT&9*B`!rBu(X1lA=Fd5}gu`3CAJ?8Z; z5By@Z2P(d6P$jpXKInvv&FveTS8Z%wyRmuQ#^&obHm@w1YO)OCX{7!9t?S8&DYEa; z?j3i}fgy9w6~+b1Nt!i2U+|hV({M?jb|6m2N_NBO(}s@EzqI798>uL6c?RY0tgW9> zSzGbFCu{o+zo+^53HgW6Gd;{JPgBxEjQ4)_ea0z_-*^Nyyz{UNhcxefSmWS@LvpPP*DZNMx2d-ELxZ#^ z=@=+cOcXu3@Yn`;N;>UO8X5Q%%^&3bq`c<$+pYNo zuP=T5_ITgSB}djNNIOoQWuQPvh;p+are=E3g6sZeYNiNt+{^N-&4`@ zW6^3GdZnvSS~hWX%l&j7t&-QFpkFUg#YROQPvo(Nq$3>+90O$ACz2x4gC2*z%~>sf z$S#M&P+yDEc=p@y-Y{x zWm@)7)2XdBgBHI`XRRV)@yqnq?>XtBr$%#IV;!}3>!d;D`)LJK=qK+8DJ@$*8ZQ$! z`sq#}=%*Hv7TziqxnC9VDW6KtbAnVClPcTJwfIx2Is4=38dQ%sYMTrSWE7M!IY}FEpd)Z5rExoe?Svmj&(j+0P++$3fUP3?qyC7!PjV zl^|pJ;oCJeGw!wAXhl=zB%f(~yv)m8nS4A`h00O^@Aql{3?sxAe z>o!`&v&ggq9)`*JS~i!dZLMq1PO8m6nmv){X`=hcGA~u>zfT!d{Bq_56I0QWCs4SS zAM47mQY>Am6+-SUj_Y~fco#aer;P~Me)FJ{EeZmtbkCnTN1H16Gk$G{g|4l|Po6oa zJ1y{Z%jM9h7SFX)!`#N1XV087W%{(HX_oZN=CfSFrfH35H#CJYjkBk*xx~EG_)=m= z3y0vd-A)aS)8?E@Z3IPEJagw+v7F46>!i8o<6(OL{pZeeKU|yF*f71}teJDT9KSg+ z7d@p;BcHUpr3+52JH2w)cwead<@~tHVJCC*qeJpXU-YB!HK}OGv>;@Dsy{1t1@xnQV)rN-}4g-~MI}5)ASEKaL8$N3IN5ijs zth)qc7^^!2RQ_s`CFxslBKsEJ7a(vdy+-x#5!SG^G&MEY-mJW5qx1i3XC`AHF-T2T2k@h|+K;V6qAWMO@P z75@S+0J3M@{{s~^J!$%rgpoTl9|Pe}GiQN(jWV*YR=Fow{LvtK->SnwZe`{GkVjI| zTZ$rf+?AhDkDA=Kv&pAZa(C>{FIkGmm5J~eBExu{hv6xSaCIVlOd|iWiTFJd;nqa> zZ;7z_D=h!liLgw5!uahIth(^R~y5^-IZOyn*_1F&t45Cy%zIUA3s#IL$fC~c|56*ay~9bAL&$MiinZyNk6y1=;e&w3ZrMiUhC(^Q4hx1 z)HnvaYAV#7eva|6*GEi0$G&-g$mah&A^%EXwzQeH&YMLyCRK5Apt@W$KF+VhUpUDw z*~ssZrb>TOU2#c&8Z8YQmmT{*q@v|toO1~gKx&Ui6@%!egpzZ2cNx$_$;_)HT0xCrp&w36Y@J2-OWl+D}0k5EA&&o z(BA_=q4gxlw(rAlTx+t1j(U)!H25Pvqb4rB@^XR8qldMfe@ts1%xZhV6NAp`$_MPw zT&w$a++)iGEvJ{fXuFNkF#!7=9yl!?}@OLTm^L zH6oEP;}Xs*CG1$y#n(hLD{t5eWC>(iT;s<1NFIwWAZs87&1pEhctXVxFjDhpUMTY$ zlg&zJlBv#|HoswBQzI8=&N*wYa*CY3ukp6V<(r^LC*DM1C(cYj#-Y=~L*sQ{X97kWWC}%^*?f9~z2JR`}zF3k=UQ zoaQm3F<1@8qRgIwd<7uGe9}PtC>6sc(?fRg_j|Rmj9{|!t8Eh3| zeDWnq2kq$i3@1S_rBOBv>pTpfo(Su03*(b~t+bb6yy_K(_aYF64^6~Bln7s)2(L+m zzn=)dlnD302T$Nt=@rZCGQ>GsF^r83P0fvSv`JaS;kty5yY+l$^kTUR!FHCy(d)To zx!y(YT@G{Z>yOa$`Vr>aZvNR(!UOO7{yd zNxgXQQ;QiCtq6vd($N!t+u!QrzP@A|Y4jorkev~o3pL&h=HHdo#r*SfGKjxj&R`|q zaRkfGKW{RB3oFAKx4LyqK)2fj^s4T+ie~zGP{a%4m9D8*>!C*QAS78{n|ju?GrKrA zcJ3LH!Om?2I;O{`ovUryd7P%5ccgpBrD^9Zr_zb@f$W!s-SLh+Lj_*V z#B;b~bl9ccPe04<&+&Hq#ipO1Dl`53NNjS3>F2+OlQXgD=UN(e6V%~UwHYeh-`OrS z@Do71i{=Jh6!7#m@%%fc1hfhGIZlcZ-|Qyv*bPjlt*5We-#?5qC%p`49=t@H%@Gx! z{1w-hyv)ylie;;n(mxG<<#ps~m`WuAK3isQep;e%l4c;Y zKCT^;Nh~gi#18-@{3=@Nc6NO&6*BW~f%+Kd6grPGJp~;5_+E>@)xtL${?JhSTazxc$ilK|P`-JF6G5Kp zjQr~8`UXQ;6(}q}J3{%{5q=x&Px@91FEd{%p-eiLMXsJaq_)vD5r zFkO-{IkDS$6-Z{1^D2L5IDkc~yB;Lod3O`G5SF~CQD5@nbWrl*WKiWxepLKXpz3iL zNLOU`2YJMb^D5(%jyguiahwD}7YM^T55xKjgkjMS!y^cU;j~3;|{_V^BNH=oiSq)9~Gn^DTwio!;Ob&|V$0)4J z`sbZ>$Lsa?qIEYqqWO_kytLK2&`bF-qVqd@h&9h19=!XpqbK=sq~)))T$8C6<3MT^ z9|0>OMzSaQF_N=$Mo)6G=tT!)XGG`1p5({1WMG_1wKI5)q(TJC%8!h%y*^^|Bk*{V zAJ>`z^GY*dZl92UEs|)G?ldGo+K#T-r62FD1gXW>uS0@7l7|Oo_gJ7?3359+$Rx)#o970_e z$0>f?Rg`O~!Wb`Op5W3shrqN@OY6v`P7UheB{1GTlLTLtBxu&o5(VY>5V1^pd}v(h zX-G>S&?uGMag#RFJy@2VZHuAVv~mK8T;z*sbFq&3dEF~}Xi2QhIp>>CqB!%LAET9iQ(c8uaf z`XYy3VRC51$CQ&pKLUN;g7h(l?*@6YGOsWw?+nUDU-9zyDtyFH>z5UOhlPJ`C_6l* z`@G?0h9`T>jJ2?Ix=J_9aIoPnhIcWtDPB(9g`YK)A6SJ?GCa;ODVJ)0H>H!syHM+$ zg|G4>{G;LT4P_>->q`wUHf%PO`i{R&^OXBoy!?&umwtrKV+5)C5h!`^8ju02>a!qC z%UlAA&aocTM;lffY8|ZNWoIXPZ!>(Fw;uVt?gmiTuQmK6D0x?QeSAEeT_3!gv+Gm2 zCs_Q^AS|e}>!T~2T_3l)to-?5(o=Nt*pLV-E{va>2q)#wx05(be?}sGQr=vah`&1# zPR^(PBoTjABK%|`ylL`gY;g0kW~WR4fpTUyo<^CE?3JC}s6)%z*=f0N(#&p?=OM*9 z=!oRVC@ir{|Gazdc)fDuarUr^p7O5bNAqvJl_MiMzj39fQs?vXg@;wUc&R5jGHPF? z<&d6FB-rj^XQ@{@utOI6Rb!1_j=V91Fs3VtHR$O&4V#N4S*k$J0@ ziTq%Bc`OjW*pNP)!1K~qw6mhN!b_LujY07bsX8Oi^=Lg|AI4>YW__;*-X?}F0pVAw$!yc?MZ zKz*n01bOu`H-eoA=Bj_Z{PD`_P_wZdWs*Sw?PB)5R=8G^Xia&hzrH>xIqMiFzX+c!f|BfD4Svrb#M5DX5kH@iv zCGTV(&-$>E>CmR?eHZZ1>WIE)QJ817Pv7fvco}s>-|H1T{F?af?e{vOBbA*F?K2V{ zyo<4;r|&(?@^cE#k&Qv&?vCx{Qa$(MP8GozH0* z)vp}E=C30j{$LDL`367ElT8`#A`~dy&Ze}$hjGWKQl)<6Gsur`ToHP_%ah?ZZYzGP zY0(-fqAve(ZCh2NCvh?tJZo~5%gQY;`MY?DMYhh}h4*zKjd51aFG?C?@9pBXUU|Ea zIKSmI#=qeU2Lq$Y+2=3$zSD0RH=jb9*-O5o#y~~iU1E{W6KvLa<%4PS4K*LliX{0M!2J##^&%#=3 z7V}i`Jf&?RPZeK+bjh8?CU~kiUYgEwo+?mKdruWn->%}hp>wkIQP8(DUEk7rR`$z8 zsI_iY%bg28+>^74({NTX*|er-d%`~g0>bBt}WPm6z$|LU%H;|Bx=GOIBa%4;90GlQ_BAm&$RG)!>0`YX80|T@w{r557!+Bik?3I znjd(tzn*@#;b6m^E&f#s75x_spEmrB;oXL}8~)UAA*gZ>vhZ+2&FhHXzYPCj_=I87 z&hUD>e!1at!{j{9JN)&!f6zGosxIb-OI3S-DzDsp%!5QK{bple>J);f3rf( zSqse`Fs=C(M4zgsxmk!VnLmN(KdOEOa*HyzfTFVuRKA6VV%ilx)8exh{(xc9?(Z#j z{W+dpWTP(UUyzG7*{_21CZQhYJ%lN`cq~tZKbQ!AClP)xnZx`#55xLwhv5?wVd=HP z_%jpn5jOoUe@!hcJI?@fdUC(19c*KsNu4Yyu96P+DDrIXEI(L+MlmV`a3 zgi5x7MN07%X)4i~3_4Q9L|cg!VK=iosZ`ndoici&gAW~thXoy7>4^e&J*G0+RDF?* zdUQnkqA1L}-Y0$02@D=OB7M;_3?f>L!JxHR5FO}u<~QNi;%vJxWy*;)ll8LL5z%=o zgNlxete!sP#+vBVVNd#^sg}ReaxJG`452CQ$7b)FmE;rjq%T@*^m0Z|{!&FRIvCSt zMCZbu^hGPEhxA3O(ijy{A@XlgebG3x6Vy609Gp&Cm&IdZw|-6=*znvHHqRi48B)_! z>5i)DFL_v44x$z~%;ikK2Y_#WlAeUlPK4N?F5rDN@+a-y>hLYeMm=(f)|@RICwhL> z(>FYon}Il$^8+fj9eR<7G4S7T^*MN&C$WT(R~kL+vc{A~&$XUD4wrMSr|-vq_i&vwN$*4AXa(P!K3*(0=F-@$HMtK-HB5H8Ow4>VNFH^l`j?z@l;!Ze9K40Q&I=iC>4ECvT@8ao$dw*Wn$52ZKEi2jzd8 ztIx{c#~rw~{0nX{Dwe4c*t&&@ev@n6?Y><71SPzu<6VJ-zji-Wx0PW9Xxo10Tx;#l zI6J))XQ#Dtt6A~m)p0dI#gBhQ^r8{$_k^?4Rn3ugqdc$Cp&7a-==sk=w(yKAqNcrN zm2+*ow)mnBXx@#gtj(`k{q$ZMI|eje*s`(tV|Fi(^AxqUcR=wAq$`Q)9izFW3rNA8 zdACnLC6+#yzwO4)yDS>Nosw@oCunNzRn{2e9He5w%Jl(m0pNL#R5}Yl_zu2yH0^za zx~xdYb*K!lLuDxIA*VdNOnwHIZo~@mx6rI!wy|Q_3p!c6@hwf~^NXJsyXk9R_f22x zZ+dNOHn`~%`fZPkTW>M7h>e2IY0rc{+ldzSewec5~Cw8`iBYchk`u`kNl< z4R2uJrf0^{K|#-`E?KPzN)@E!ZLO)~&U2&p3vT>72+BdJ-S?Aln|r+7_me%*l|VpL zTB<@n$Z^B9>pJ)4K%a0b|ry^6wN_Rzv5_&Q5|-Q^lq}}qtKTfxV6&R z_PL~p^lq&lJVGi{s>dMConjW9NpKHH7h;dulfSsy=y( z3CgLE9}>EBo;y-+c{qeG+)FB{aQqIP=Qf{8PipsiZo|XAQQrdSh1-Fk7p|h{!V0=8 z7;HjyV#lssd$%2*f4X8>1-z1beSQg*{03SyIc$zrJ-LCycEht-Ecx(ObJlih&f2og znND-Q;~J2b4J7x-`~d%pDg@1upjY^{m0Qk5?cN3Dpj~U@W2RjCRxG=QIOnx@H+sc; z?cL9L?Y)}_=e74?PP+EmyI-tHcOLC4O*#yqRc~>jf$s)_R^3R_ zXfV|}=p%K%JWC^wi`>;O$1|)9G8jMOw=S$`kqBQHf<~}h?^G6ECU+S{>BB@#XkE7N zau5%`XhEeY-4{exIyAdP`pv=3Ct2mp@0428ae=PU&>aZS&^>&;p8s-{$D^?Tc$lwZ9%CNdEak z#S2AUt4zqDP#vcrGx_LN#Co>*roy8PW!7>jOvv0Xp7|S{GxHurcjjZjBL3cuyYYPNzp zP_rwkVBxP+IIg&SQ*4}2i-sa`Nk<%9-Fno;W>;Tav%UF!1Jl-Cn9#?2ucT=XIxkQ< z&xe=lS@un~O=c&)~40A+se>wg0G0^ALNFQmK26-Se_q@&PC0Bxq z|F+?$?fQHR&oVsDu8*?t{)YdA?dRi{`86mycNyMh_+!KG8J_R4?o^QRsZRU3DgPc8 zzpLSTh7Qqt#PC7G-x_`%uFz=c1KYC_XSnXP{Z8~D-8cmB2F`RgGwhRM)*_1 zuNZ#LaDw574BzXqZaYxrUcnEiRii-B+28OzhC>Xs|C{2UHGI z9_1>H`>2vK&+<@ntE(OX>DtUXQ0>TrBuU$PhxA1jKHK7tvhWdx``C58B+4iKvG6&= z4ns|G>iYK$KMC$ad73yy5_RhzklZ)fukrh+2YDG$zgCHv7#`^KuS7;!Ul$*>464DH(!nv)|O%zRiA9YRmu2_M766O*c2O z`TvmpChaz@8fSqjE!3c$%s3Go+w3>D*>6e@v(0|f=~3iUI%dC#t}LcsS)K^@)_zlV z5uv_DpY1SwVj`T>Kb@I~f8*^pot>tJRd1&moq5H`w!O0aURm9Ff!w_Io1+fGvQtMV z`_0DEUW=P=z3*U@#yTSV%_xji-6#9aFQRnT5!r86qx97?j?#OvAUb-o-;C&_O)>Oy zy|}?)my1_=(idr7M@OamO{MN<(gIa`Y9dN%dtYNDd$QkLXY_JLZ-ddZpmg#xqI2PB z{s;5#%Iadh?_}z+EAb2XnMWd#pU8iBD6jrW+Up~^-dFaU?cqlCe!cI?+?tx}M7*1I zznidM{pCzSB<(m$`_(rGOMjbqj!^3?0t%m@KJlf$b8PAFSu)?$){B1W@3K#D>UUlD z`O~M7ALjYJo?0~!UyAD2b!pIL+Q0Lz>lkrrBg4|--#_(t)p{0)6Ka4&WDOe3&gY}W zzZ)ppFaFieqqOYzT<~_BH@U1aJIbXkeCC@7)Rn!tq6} z%k=&h+9(Ve@v|i0Mr%5e&b=_6{6d#p@As%xC{2$qoJOX|f>SGjKjE^a=XoL`IjXwNi52yX8HH=GSK-EgnJj*J zuofpnV^N&OLPtaQzA&D<9$y}Ooy(Gzb0i)fO^`z1j5q;R!r2v;^S^l~uN2v4#j`DT z=T~m68<1ac-4Q>^5EO4K2Oj%*O|79 z+1sQ|j;W-KB;EH*mucv8T;?vD0i4|31`Yj+YXWa|mn(tur5<>YhZy2FlfCeFl2iIH zz#P2pO3>NHHBFUWoW5;VsjGdy&nVxIN|#&xAhQBg{wodhhGtKe{)mO;%17zOg37n6h2Lhlz2QG$x|HtkhTrj6 z_i2#ftZp`_{Kr{*&QSZvDc?SZ?=sxY@DGe^d;zPz0+Oz75h!|Rf{1RJN&b5JSi_?Y z54HH=79M7}m*IAXFHtF#|GeQ-hBtsJ_e=|)YIuNQIs3CG$s~G@8a`ks`!lj;zG>nA zF_cderH|~-GCo|_AEcdCU*Lz+s%Sr$;e?fbnBiWA<@SO3If<1%+6N|Sccw_$o&AG{ zgGZ$5&mdi&(K;>F_tT*AYnxr+V#B!>pY*%Czg>^~^1a3@p?v=~6l1OMPYhQYUJfE3 zXT-J1?raXoS2A-ZsCu1h@yCIfR#uG%xrLd7KpsJTNA-N~sFgb5y6=4n^H)52Yj-v_ zkzcezdQ%eN>O{CUk^k64{5HF@H+_w_Q>2EUPOnf+Ug?X)nOg_mwY}LvW&8ymGG?4p zBX*%j#BRH&K-|>z-y3*|bVT~YD9pRxC;j1_yo5R;{b418^C`N}OZ{O)M~gajJZtsz zAvbnJrw)74A6{YkD=k+$EF42-YCVID6~S;+I(pI{t~7c%%W}WbizxI~fA|db*pUDMKH)#zAx z=%Jxf!o~YZjB(UY!SXEgfpsqup>ET1Ie~La3Q2BzlBS&jm-Zc5@*-CUG=**hn|*n= z1Hp}Kc7^E;FPsIzP+9m>mmw_=LR5FG&)!xpyH^&z*UPI?77pYwa>~O018xKN;C}4SbvwUN5Mn8Kk`n2-2SKZm`De zF3isU>9V-R9^B#+JOQ~}3JAEu%x&PRuG|I=@!7QVMv%?xqMcrFAWD@tQZG2pRVaM} zPc^O54w7_>7Ni8#TdWQ#x((E76OumUVBlYXZ2QTii1dQQ*&YGic&^Qj+v`Q;U5GbYm6y6#%ZeqYARU79hi2AS%(^l({u&65Qz0%Bg zhSQdDT1HJ4(~*hK?~8tHr1>k1Us^R ze0y71Y@e>b!|;zVJ3PFZ7Le<8GeI8Qx*AaV-si8UD-E|ZEa%ry>mV6}tLB5EcM>Ri z9{{D_%J}Q)q+i2bEPi{7f0e>j&&aRg0~Rjl*Kir}D)$4HF7j*G&%)*W8YcHo{ys!h z?iUOrzlK#7j{F+#>BDvMzQAAAQhvBpRS7D8IlqRF5UKdcF7C4gsAA?kyI#((q4tqt z@Tq!%n{l;7O#CN6#kH*{OBpXi=n2F6@H1q z3)!vihoHjWG1SnuIrLi66UFpegekgsd@2#HPK3Xg2+KQAm|y2%SbTICJ}D8F@kSUw zJrO@55xy!BemN1oH4%Oy5&m@|yl0~P9{d>|uMx`hI??GikA~Bl8ra8udV_UdciSJA z^=DW{k2Q8w*?lh>xdFj)POsA1RDIUs3LX%SNS_sjdDr`-&+5#@ zu^>8nvWJW43}R5wG1BVkLvE~yP9657&l+s`D=k+w^0q&^F;cGX?@ zHY_?e{0pBW*yO(hrrZi08_qSyhG)w%u7-}2TckE{LjKQi+>g7=>3aY;?$3ErKLFxh z3762~qN=4f|GYWFQMHQx4L?+AF)dxGbp(<9N5}{3l4uW6q)kg-%&;coYYU?ayf*p#+sHFDq18F+s&3Xm?9EB60x=F9+rJV2Z$F8nvlOg?j5r>e_Qyx6n!P)MYFSm%+2mA zaYsG|bdW4rOZVW$OVwciyd3C8j-Gubo`SE$N%n+%AGr>qZ;KPX45Ebx`Tw0 zo}G@9^y_>menW{PABq*rK2OkE(ZQe$@vGy+uW-brN-dg)mT2oUTF}NA&cHDZ0V=t- zgMq_S@t&?|P38L)oiGlP6UO1C)?P)`Xzf?1ci|4&v6ZO9LpeUs zj0cyu9wqtK=7uq$2Z_v0eoFZtJ94eBYj0Vz4}H3K3GOAYZo3v3C7v!x46U7Yj>ZRQ~nIIZA&QsPJuuZFc<}3)dT-W+?xSN}n^V z@L2aevJ7v1-Mygbejil2>kSthUSQa0c&=dv*BE})P<|Ul z{}fR9-s!`2FTp0edVq>wYbbw>3g2Y72voj?x`&XsPk;m#KSDomTMzhL;Z z;cr2;SG!v({=0_f+x5v7{)pi*hDRC>Hr&N`hKGUtWs?3H`&)bmL=^ukP;~AvJjbx!@Mw>9`+zE6``>X|RSPO# zjiJ8R3X5eDzQb^Up_~ir`osJPA29qh$fH&F0gy+wY8O!R2pf6Wxz%o;B)Tdids)@@ z3m{3-`YH*dc?HcUDE=h7ew^VbyPn*~I%zMvnsHzBZZfCho=xKgoo4st@KjS8>xBqXpm;D&eRB!ENr@1^Cev4`!lkmE=m(`5=|0#Rf#-N`f z-CHz!Q_-@S?Pbq*g~0^%&0e;YeVe^(Cwp1V7n=%r^V-W^sN3~A?PV`;m4JoptG%o% ztoQb^-m`#|yoIgNUiK1ItXq58Q%Lc;>}78V68_iO%eond9_?jY=z>TMn$T+gm)px~ z($nuhGa-MQ#=v02t}OJzUiM3l5TfSmu$TRG`R?AT>}AD(M_NJ7w;omCW?GYOOUr3j zFBh5n&T#g!oCZ3+n1{$vueZ%!*6TsG*~|KV*k&)={W@^zl4OPu9U54JVCqweaCIX5 zy+k;vAA4sazBv&-DG^TU$EGLZME~G!mIzY;?NKgXE0HhH2BMY?24b z-rCC^H16PX{v%mqGDZGQ>M_^dZ2GMJ%q!@K>}8`cI_*B$%RYvZTSsIsJCga7YF+51 zy=+A17JFF-SUp8bhXk4M=t-ZoLJi`mbib+8T9o&ac1JQGSP?OjJ=x2yGI}|qr~SP| zFFKerm=T=|NAo|Je^*u){v*dxk9QD1gGr!^Nksm#{v%~q+uNg)|H!)hy)u{0=I_bo zf1k@YuVnY{wLN){tZf~pg0o96-j{8rtJf=#YaQxgelC|^<1R7FzV|a5kF3t+|6*a5 z&GKL*O=bPAkK5PgXRng)$X9Jr{tl8d$Ng)-S&D?aH*R0i@@;*v*5dAM6LJfxyUz9s8eV7yE&d}Xt!_29Cub%-h2O@znipG_M1RJ1Ho z&itz`Zora9v|saKxxp1}qnT(LpMNggsI#_yfp)@vskYzY_Y|~8SE*IckeXKQNULf_ zZ44|P&Ar|Lf$9Zr)$lN;i1np5dJh_sH!yaMY@f{YBUtFs*)g zhnyBnQ4j5R-RWvBU$c%!ujzx?r61ouwWu+>^yjmvJF7ge<=3A2b&Nms#p6KmaLgt_ zw*738ZlKp~X{&aZqu0OYv&g4iy!(7E)yVaF$AMPHET7?$ZZiaeyWbVG3CqDzzrnh5 zZEC^p@|d~kBQ8*Jxzh?bW3INL%OFaf-s+1`NkKE@Ry*4+Cq1L&)!+m_axA@_#s4Ds z@$b>LDK2OFI8SG_Zf@Ja!{T(jDy{f91!P=}7Uh8URC5+`2Y7Pdg$~tf^yD->8&pfP zr+#s&>!*NR%Wo=LE_Noib@EKN7R%F>+EukS|DrZkbt!%CoFro)*4y5(cm>o_xi!^O zg{`SzfSF}J|^T{L} z?h}r53BM8~R4ujwTc8+^Vj};^0pEg%Tt9dAY>CNs3e22y*4&cpTso7hHVBq3G+i*S zAs$kaBO%Du#@W;6&%99acE&cP1g15f?SGYY`po(BrZmr)*;F~Zd45ynnGKcm=FXql zH1lH(sbeSA)>fW5ZN4teoYU0MSUGck<;*!Bn>K6a^vd&RG|Z_KbzPh@cg}?kjdQ#6 z9v5~4rAxpMFGU-uPN*Dqq!aqJ%EBMwd-`IxQ;7krj)-q6XSXB!jJIPqa1Y1}l3ruD z%J2skf31bTZumvRi6D<+=Di?)nVsyq0;2aKUjX5AhWCL=Coc-R9<39VGX{mPF}%Xk z&9m@K!!r#JwD^G*-qBEB5YhR);XQ_H48Lu7wc!O|e?H6gAS_#*+=arTR=ofb{_5l^ zflGB7TKP+V!SF0Y4N|&3*--YA3LnUi>@j3X$naG4HV_su^Aeq<_TLFA-K~Z<8(wem z$$dQ!;yO*N`hPqY%6EgIRlip!|-GR zVfe#|_@@)$A1A^OCBnZ*gx{W^Z%ZR<8XKo{wWq=ahOjBqXErv}dolX>DH@gHS0*;j zt#6n=KU!qzgiGbK3ywtG*2B?=Us44c8=9IM=dfavanD;=xV*C)qM*y?g3%`dhnLf4 zrKUu|+09K23m6F9rrn9F{#xC{+9_@roHK3K>)Ww2Hq3ifLZ?f8vjy3i137xk81E3x z{f;_#?7;_*96e_2!Cm`LJLr&cBYpBt`!Iwf@s#;9rZqN9FN)KtOqy%;xB_cO>?5e!?UqbGTKvC+#}mg|gOL;3g&J-{qTcN1X0)GltsMgVmPo(nYm&Q(rrSU_A!*s5rIh{tDq{-sdns;!?PY5K|9e#7r6%=P(9 zl376q&?;@?9rrSJ7M1Q&nnqZaYk4Gt=|1mCgu0QWPn0BmGQvu1&xVog*$@|_b?>^D zqDRxRE~MzEsEW*1so2{Axcj?FNTamiB;F`J`UPzfPRCgX{Ett2Tc@;VyAFUCNEKdk zqVrSGlITpAZ!pn$y%(J`Byys2nJB~>IbBPL&TBV|=xodH5~6dbt6p^eyF}-OUUdFx zXVF>CK0Z1s7B-yBgw7PPMhNUUsH#=8@@ko^+b?G!QgrnHq8c&&)7a^|W@@ zp&?)NiMJyZBwk43K(H; zA2$C3!=~??8Zl{pL*x7rXEvTalfU^R#?P&9p4~8~Y5oX#ycjVPk+6R5#~KJo^{TTBQpwLB>cTZ|KlyO4*)xAa9Go@(-N#P^hwhcAJ?x%XHQ)~aqNP;#&NRjRv#%v`El4vNka z!_y2W86InRwBf#>xl-#RfU2?CK=PFmMv*L50x3;Q{~>X66Jk3L4TXv`v%IrU9WC%6Y8Pp8x4M)h2k*g_$htzyHrO0 z9X)PTxAVwNP1EXUl*HammU}CC*>yy6Zxm)M=#$)A&0wS>l6$pJgkx8GDfdQnB(Lb0 zVfFMOH^xM#4ttV&rN`7!>3&nGhyA*@)Jg_dD}rIGbo3LeraxdS#ULUb}55#M02$~G80SZ*7h5wdNMm#k)KL@;VOQN{=?J(`p*M#_evijN90~9#`42rH&Gjy^l$jQ zlL&bkv(4qvt!d{!nyt;Ar2XuCSK-06HvdE@T!y{Zy@+`+wRR$A|5LN4WlztZk)3k- zZC&gMDDU2dQ0`thbbS8FxXe9OGWTC=`|W#Ab1g0L+fAhXX3s)x3K@DoK>R1COec2b?9OCDe2=9aI54-#k&9e*w?y?iTn7y+eo|^-$sCK-oFE z39c?KQ(;mh)tum~G@LkmkBIZgwzmWcPle*vBCPoFKa^426~qB#8Iw#nBWxzEUC+Jo znJY;Ur87VEW;shVGzGW$MU1H8MajZl@Ov?-BC$hbMqlKK{z#-cqVGvjo;YUdPM7Z3 zw!>xHUk>F|O6!Z^t26t9yfJC{(hzE%Nhog`ir>z{FL6=VHOL6H?wH3YBNyEKWxnV! zeT8A(u&4Q`_xp4isTBB2>qqz^#D&ip$}|f4+^DSQJ#r#s& ze73vV9nWm@MhA^W8x$Qq%^NYJRBqoLI!JSF^JX<{M*GV_#{Wfpa}?&8?-SpwaY9GL zH;?0G+E*8P$u~!I()KV%e6L99uws0G-=6s9>v(x}RJz|(Y8@}JF3B&26%ixZ6W_en z=;e&wGe*yX8cSwG=fa-&=Bd;}%-KW+tC3V_i}B4To{-JI7BO~7c6k%*D<7cJof+oW zXi|w`zLGA6c@uBiF)6gFtZW|REh?Lai(!6%Tw<6ts2A<++75?degcNsjlH3Vs}Fgy zCj)Uav@CQYo-oNLUr1`$xE+1oQvlB=pX>7IR*YKZO&U)sG021ZV#K%}TKW6M7aLdH z$;4A!F&9g-QR0fr+I2dvSl>&yeYy33ZLM~pfu{oT9?)kk>VeK&@xNdQX^|?J^1P?` zb(Kcj57=?G_B$ZqR_8`b!iU&h;Vu4`xC_ zM>KvG`NX4_?s#dDOH8Fc34QT_dJXtX&o`9aq{3(Lqxi_a=oq_xq~TDIVk7=8BY})d zY5AcM-e(*n0E*9IOwDNUP`P6*{{0|BZ`D2^LwaTxkfFTD-~EPg$lv{qFjXlY z8xmo~h4DS{cS$>+-tu?XCd!+Y2=~O_-JVGQpTXbt%{nN0)m$6LPZ66LyVMu!pt9?0 z%IHN88W*vHUD^fJv*IV>xxl0ETv?M5$W^d2^P7VI^Dr*%H> zAoElPKPij4>gyzc!^(<;1UtjY}#vgj)VIWW~ z=UrEv&95^O+Szqk`Z*HO?HmUeT<)52kgHIq^)>B&eT`%+p7#l!&QEoF+XfyS zr}H^Sr}#jvC&+Awmg!)yv@+GK^)+i#i?qJR%#bvZPgl+H5JZfKeHo>_@$yeR~Og&KLCBnJNl~fN~M2c_%p+m7JrR}ziRk-!~gVkHRm&M!a~+f z17X$b_5@)~tNux6@K^T$KU}K&iVvqhXE@#PbiIXa+3jeR6Ms)bTj6RKnz!@M)sEq7& zRIXO&DSiS73;DX&)nq7-zv7|cCk!8u2!AUPPWp>b-Z1|qiSVY{7o7<4kp71g^q)?I zlk+Xx*41o@bu~8Pm8MaG3w@EAQ>n7+X_zcwT}@?Wm)Nv5#eO!138h*d?hHE*&#CX4K5c3J9{pDq{2Gj zupG`T<|(ISvY0VXMVs85cVo~~X!7|?KzxgD)m}hczL`bsyOf!cAI>E;?Ef8RwD1%iwIA1_!oHx;1S>^R5!kknv->Z zzXoM(mDT}jbww8|YDOfSQM@}e(#q9OuFO?@@4;NZA@}eAHNUlE#;AulX`1F`;EKz> zuez7y;73)E-|}RjZ>|hP0!eL=(mOvBg%wKMdiuI0kJ3&3a;qQ3xy4Yf=}~R|AD)1* zj>6Er0D9d7Nf~~}d)iCA$P%Ff^Au#<{y=m)IJnK;WRCf|2qnIrwP{#YA^BkQM=7L(p zrMxJjDq6CBMjVj`9sK)Y?Bj)pe^uUBAij{~6w3xB`@%b)JRKF?=g1xl4Ww_^VsR50~m> zPs?BWBEt_GjyJ3_)Vs}J`W^g8?vmLj180@ibHL(c9tKtKc2McQZzw+o3V+SwWss_H zv*CL|nppKs?vbwRYav_+O0Jp(O74>UBDqTw=PFn7mg1{G$z7T^gtf^G1K~k*S^c?V za$U!VxyWDf=&juKMz8Cbo~ZAKeY=YF-zIl$nnhZ#W-Pn5H!B*o#YfO^HZwkSd271v zEYzGF7EMSx>8fa-Rz?mRJ?0Q%baW|)O>fxD>pBMW(&~uhuPEGC`D+C)eMC>BCHL&B z3%!)TB07WYC0}dx6e%56j1TbJll--kK~hJh`^Ap|gPbl+rJ+_tjAT#p*E*w@GkP10 zo&|d^e^C$d)|2@-45vcf$zObbdVR#^FIm^Yq7IlQD$Q1lovqaRI!pN&HSa8ONmeQu zsa;J!!~Oj)AS1PsvjS(NCPxL{NbNCl$w*BWE5()V@l_p#C=MH+K55bumLg3jn{ul6K-vE&T)@y)<1`Nb0fr+pXk zg?A8BmU%uJ`VsT|JUp>W_&gVr%=7#pVF9vnrtwWkF|WE23umys;UC!$KGl??HjV?gp}Byfq&-iCV`zSZLO zR4V=v!(W38opqnK@TUyL7m8okgAc!%ITmDW&3p({xrbT&2#_JTYCn*nJ@ZbG(Xq&X zUQ0N%Q%mZ_x2;3y*7?G=^hVD#LDEx_kRbR#y;g)4_;;|mfr4sHsc7mcIk_&k}qiI2M!`S-EJDVDlQg8Kn5uHkVIN#$`Pa@hrGkWPbw0RanQ+tKIQ=PmlvXufgZP6DX(8+hjg(0#Di& z;`5|QMW6Re0EX&IE;Mi@5bumrgU;w$pEsd(*}lt3)jD~4cIj&yFCISr(B~JuuM_w8 z^N{=7N!;Ii_%RjfnZ6dg`dZWhfn~u|R|Q@d$7+V0b72NV%c=@LS|&Q174OZ?W)?48LpmRgamAEZk%`+wdrm zXX3w}?@a0!f5a`M-Noa%L|AcQ{FdfBe~~D!w|wVgiTwW=d}nb=*uQT9)9BuH!dqUu z*aP2rNZ0nfqsNTv&Yst`N4w2Mro3C5elc2KAMu@i)h|YL_OO?w-S|8nM|Uv1#E$=_ zdE_y)d5g^>znOkczRX>N<@_eFIsKf-_X1?KjxO%yLxXFVEGHb=LQ=zS$`2QLPX#=? z+3fO!YQ=yx+Isw)e41y3R$KtUXJ%b!;ORiT2POwS(3#KNbU!Cq=toMzqMwr&xtP=@ z&JGf8MSf07<7tv1)F9gzrZBE1?PNt+EHKFgs=T;rkseE>G!FK~-$^u&9F3zzK5(1A z6E}~n31VcQ*X{2_d{d}jTuhj^t$4hY2rDj(?}^Woy;PXKxBA6jCCbx+;gH^qiSRXv z@KcHK8_MU!*){j(C0I6pEqb@M?5;^&>mhseYS%}8Z)~^w3j5&#vzlqf@og%NtC7H&xF#&e~b2x^PT2y`c6{wjvl=OGi(7#>qx6 zXIT~-y@&$*+KlL2IGX>#{JXNc*jIQE^$?RGqZ+k&i}8DtvL~J}@y*mTz6Av%9F}%S z-JE(x*&#yqHXyEAtD{r9Wco}g_98i8{Lc0He-C)ZZ;{IvGJadLp79x;8Th~Z0a&fC zyU@T}fOuz|5p+gp{!jDCn?uhiCll0Su&>1_K%i%=cU9nZ>7|~r#^qSgZ=h$~#g`P* zGkz>cxV7mSr}&|}6LaY<_l3RetIp9^q!ZKW>ajWXkIT2|ADuq+5gtm0mh_gkZ`3?- z$d@MPkzXU8ccysgJPh~5m+nU5Fnw?NQnf$KpVUA8G!g%;L|7&{Vg5IiFHP{92{zTg z!%0Tfu0~lm^NyZ<=1t4`6)2~NJa}}^dPvt+vF4FBa?|Y{M<)2wDBM^6G?ITKedJ_5 zMEmkg^_D-4=!~+5aZ~k?k)PyB)rBMSle~b2S`iE%rK2bQbUo~qj)*@Uw2A!bV(KAY zXdZlOH5J-o{OOyik6ht-z#jmcQy(c$Ua+Q`$&PE|baT37P2uD&CpB!TtpY!rkY`IZ zi<(@{Qrwti>(NJQeJQPww?R0;qg`m=Od#F^n&pgopff+Z>H5fO=y%dbb~QPDZjf-R z(?^!Z)vg&wrw!TsUYG-AgOw1QruHnPVm70ma)a@U(fGPePwCgYh%aNz?X_R#q@MB< z(BUmC9y<~U!#WScJ@JFd_1C@S2Omh3w;~Zv&R2gg5x*f3ena`et{6b~rgX^!`k06j z+)8zpW&JddD>FYmw%h&d&T4FkEq~c$yT}CzelQC6l^>KJ1|1PUxB@}p%xLci?NkN4Iuv*wIDSxC0-m=nFyn&($Z1t;fhBq!%rFL{L6!L>SH`d55i4Wzi#VILXNoYA!bct1Kq;lT@s4%^6$&$XU6C|7@qydd3=7o>S>6-wUrefD=47g;R+)eAjF@kcZqS1AAZemGS0uo(}h9i+meJlGF4*4gYQ^zdYDiRxJay&bbj}h^>;zE}y)N-a+zZMtV%Y-*6wp zw8j6MjuL(8$%Gn+-pYFFuUYsDh8KXmp3Z+NuW)8E;Q?SRsB&v8{!ox1zDnN%x+XIe zo1Zz}($U9ZDA zv>dgflHf)YrM$!{hL{9`0*QGbT0t<0vc@2NDSe8qwzSo1YkzI3tqouW z-)LLws}>)%tnq+_`h_o%@|LXJ!iI;m+GZ zzBxvCb)L#yV7Klc-=+SLs(*Y}&8ssOcRz_`F6~B{Cvi-EsJL3PJ+BT{OIGvh9H*vs zc@@dH3LHNHoM4CEe(5II;k2g0G{28LfWzJi@b?XKN{y6cQ##7GAO#5L44wWFfF_)m zt8^s!X5e*?izRQ*1UrSuZqk4pocjyv+#xz?f;ascv2Z1C0Q^^SmdX)6XR3>NQhX$a zz^Ivc{L{1cVS1iFs#Au30zd{P=?t_bWq@BXQJeH@@oj< z9Hec5NNj+&YQjbwjlYVYwDfXltq{#`>a574pW|;{0OBw7jNo4c?*lTN?Lhp6*oQ%+TMUtW6purg^DW>n%$f*)A+9SzJVx+v zLGn`Y#=^US4F9#@ZGxQthsUo1l0P;A$qP9@BKhiM9Uf-?7~>r&c&H%9py7DyF%Ke(DiE@4**UQ))1KVpYlfS+$n#`s&7}`uXKp2T~4t^i+}6@mTRh^Rn_e zSeQ3ZZeGCM(hAz+`0#YRwCDLAS%`B`WQLaRupKm4_?q$CG&0(5eHtI$ikFa^;icp7 zG7sf}UfMy8o}u#4a=9*hlhb&IGTA}@ljeJ5+q@?`=#I|=RHEkrT3@`81-SF)eY_V} z;PTV5*6v2kW4HwqI*#q%IFC$oHBRoWK-NAK>kYqz^@fKrPw~GnW9>s)aHC<_s{?>2 zl__b^bbz0!(d-cE@R*t+FxsdWzX?HVt+`~qL{_W`)|c2LCG>~w5F->-HX-Dp)O?WjU|;y4 z8K-0F(R6(93g{=_s|VsQME7N4l_1w=VmN(Ic>GkslLS8lByW2k_ny3s^E;xd4nF}z zP&ggm<2W``n-44{6>C>*Og!-%3 zo7dkh_Qxj_)%!Rd#fvQc7^lc<`n(wRjz-~t)NoaZ_*DogiY3-P%4@2I$oaTu&|FxI zOXS)%&m$T*%dskD=pX<%z)J{(o=*UNa&$Igr?Y4^ogDu;mFb@Bo3x7mOH#pGVN|%C z*)%sGGu1jRXUow9Dlz(+ABaHgZ(Q7$=EbQgW_AQ|%uXyl6lVgK1B`$DOZ_YroHp3P zt{r7a{WW$rnW`q!yNo&4l9*!nY&s-)GPzNHSn zVy_HTTA3iJ!PdE)sHYaOPzJwe4%$Pj0k|RT_QnliUiqn%VmS|cT}L7EO6(vqz5WsT zFeMGD1Xz)0K(sh^{7Re$t#Y-lyQ!~0n$UKqDNXMsNK|^t-`g7qu%77)kGezV%{KK^Iv!OD{rC$N3!W@^g5V*7xq_b) zeHQo&55f=A4G`?c&7u4jkl`F3 zLHPl}JLLFsk*^k9B6z9b1i@1TkJ1=E2#Bh=5J3F{>VUTWt63jsu-e#0MLcgSc4YD` zJDiW4Enncs470<(;>e^FrR5Ec_46z1F6}dU@rFUzb|@(2!$%r3Nj>apWfC9HQIDdI zz?rRO!H~+@s%m7j=XnCt*@4Cs983R&oGqLDm7FYQ1^5B(OnJt+Cql6uC?uEI?GV5{(pJW0jxFteJCkFuNsuT5gh#1C>M zKl~_h8z=g-q`vPpW}ldeALJk(Z0EDl#X0YL;s-l!2a3cViE!P;_oG<m z30m#hfa3hutdAJmRVm4XSYUpQ6!;zv(CKdgXaYfgs=eWS1Y%0$Y~Ol^BTHj%*luxl z+4bxk_jhDI$tKfByH!nIY4G+}O8X!Eh*}F|0qz4n?(DL`$NeZJ4PryyUo>o@nxaYW zYMKWbK4FHj1#Q4XWUH$%kzxi^P?c5NgnusAhu z=vUZ< zjwve|8mj9X7gUfJ`eY0emP5i2dp-A|WXw=Qih9z-q)D|=(EOhCg$Hif25ODXe2>!c z!0$jms_t+*5N|{1D#0rRxqctRt3>AFrHnUCut;P0P>}}R`)TnPUac{7 zli=lYoZc1q3(G}?$4_s8Z1YpL&5#vu+v3O!v%~pD+wzf)Ox|sWk8#3XdmX?S2JIcdX3O_YG+{k#=`MmR;Q``2gfBq(3I&OxCcj6^Ff(LrZ!;PMk7PBH`U#&sna_`8S$*2B`;ne*uUK&wr553Io14b8NuTx_k7G3E!%l57>(qF<6` z;G{{00&4r+cJzVv%(+j&la_*W?~L{LHbFHw_XYs?9>1cvm|FpUb7-Aa7|EPlugkK< z;oRTWI_cX8o$Nrfh_a7!PxEu`Z-enBP4s=0V#Bh`%OeotJZoA9L2_HeYJX_xFBfBT zS#7%&aV0eFMyys<*bcK*gDQ6oyY*jrl9QnMgjl9bb0`IYWj)*%{<=cOt(bZ|9e>>n z{p6>vU*N+yj=#_!CEWE3yjjB8pNyv=T%+Z*{l=e{@OKdzyZ?3T1Cr0#{PPOPxKwZ3 z>c|YU!!z+ux4*cz{PRKQd|!9u-#YS5j{J%v|6BQ|k4Ea@&^{`u51IGwKdQet9S$s40+{K_eODl_p=_78J2Jah@Jb4PgSMC4;%=&M7eJQEoL zk4@WO{5hVumz%%8I1>A7G}g4S$F-o3;~65&i+gJgo{VBh=As`%S%QlO@sxnm902Gl z^Y=X;t$ITbZX6m><6N?XtxqAT7!Cgh-AMO3Aif_;Ne*}F!;b;{w96g@?Bk%IYxsZr z17=3K>sfyZhFYV0VNUG+XytSc^?nXRy&o-WeW~e;F1RIf=TzLG6V+7>`4RxE^BJ52 z*Ej%@#e=KV1+rftztb7!9c_K4aqrg0gRMbadDrPsNUs5m8-EM{h1Y0>bUd&W&Qc0l zVo3_AYaO_7H1>~Z8@)SU*o@v6#zXiqgRn5_lZjkM}deR&eIq=P*BGAg!Yv1m+<6L@81O<7Q9c8Rsx1E7v#8Yd>6wP08w{` zCjn_+o&e-#*_QC;W6rzSEJnIr17ue%X;XIx_E%ef~hXN6OWEld$c2q8{0u%9~WZ zj^#doQjYua9q=4Xl^e$P8LYM53!3K4ZS)2d>0`=;!|%{xs=eK^xsY~zd%E_*u?3^Y z^w3^t*xBQVqE36k$bD@u+=Z8rn`tl9K@s20-nJKvo#g-xie zxaFx|)Dgn(Ie(Fy!lyD*dx4cRx2T4|5u#5-)|oYCpP0#R{Uq|i_QFb8Be=r*^Pz4O~vA;|vh*dkY|yINQ-*{gO4Eg1 zLwX8611z4NBPe_!^DC7!$RYDpIFadth}d>_Oy;y#Y%MOhYXP`;<589iFX?8F^n9v=t+OC0S6G~yo#Qz5GyvKWYy{!HvkhdmBltE)ItJqx?Fi@8UyH598RCBc z2~SJwOI1qsXvCj3wEhzubPe$AF*cU^7j_?7?|peJYHyB#-gCr=uz49LCFAnb`wy3J z*p~Tv>qbkGk=;6j;q&H@@)s^aVfi+GH~PZsHwmvd-<@>4{+G~C-cH9i)O8{H!4a<) zTqfaP6}eGxp5P>n;bTQUN^q#)5W)AL6c1on*53^O7BbIshu}{Ie<*l85TB&7OMq-I z1cCS@75)xNP}3Ez0Fu8i2I3P_I1fnvejX4}!+hF-p;3ZI3w}Yu$vYYTw%{{BwhO*4 za+_cski5MdNZx)Hki307kmnsM;Uj?L?MDD{$>Glfvmpa`-2=#jZ9Du7eVoB+WB%~x zZQQrzrH*{PBfEYcKXt;HPg~!q5Nw&(Y0F1BGHp$Ec()_7-D8J$Ir3i}`Cvr0<7cqj z^WF0E@btvoYXF!xOX=1Q9==0ZSADz2{;QMw*}FRQpGMw$ng`&7{M3FY`D1#VpNi$V zQ^$vyaZ|?LZ)Cjteeyfm4=*`4!{2FV&*gz$`kfd(^oQbhlJIXWsk+4MD$K;+S4+O~ zB-KXfL%k8$iu}oYAu)7>O#FR=#Ey!-Euv4vUh{WWx~RVbOMu@5qHauU@8`Yg?dIA0 zr%YCpQ+;GSl*a@b_i76yra+A>{Rp}fBf~hL7i{KvfQ$^=M0P)xHLV&Mw#geAmWMdB z0zZu)@ZZ0yl%YQXz)|RH3q3yt_}MfqGlrAdyokIDBg1Z{GCeYkV}qe$W|9hi9E^%o zgq)ULWazUxJxx%Wkk41?@Rdo2iz1Z%7> zS-O4|qTICvKZ-)Ww;6lTZZu%f*Yj)Q?x3$nm1P(K1JO7+1rK{PH`socI{1R0NiQTt z-v)~QNYnB--79ceD|oW@(B%M>^I=LFR0Xiu=h+bLF9uP zbjws-mcN5Jq^KAzc8QJee_!V5%mw4+X6g@*hdJw1Zoxx|BeZ2h?(6sWAUqsKA9p9>qrzvXx8Gl*=O($?r%FDliW{Cq-cN<1zSF%Pg~gU)vMG%ggG9eOJKXU_9R}#S zfWxa0Dqr@9p0cO0pfomb1IK-T$S{n=Iv%ByW+ayC#+;4t_yhQnulBEy51ivcfPdW4 zc~IEXSGxka!so4CrymPRf3>eu>3Fje9rEms$CxbJoYwatSrI&m%BGf^7!8gOH!O<& z4>#w3%rupdGbHO3sK&SYaR9#6Hz;Y)Zvg(HnP(M^%ZY-m9Fj#VRZX;c(S|^<7s z?ndn1ie3MpsNl7K#xV?x3NC+uTATlnhkKJ1Y-NiQqt?&?kB;kTTiJ$E49nV#gVKS$ z0B6B)sXu9w!Ew&W_!ymW_U_@H=0UPZ#>Gh6H66EXsE+(u9r>3!^4kC_ay=t+2zoyq znJQ5vEjsdj{>c0)+Vtg7eC5U1D)zooosKJ3S|`z7v8=i{C6n#15&srdv=6yUr3>8* zz}Y#v1J^~qXlc1bo&7{+cu89O9F4-p?AB`Rb2JP>?a>JHy4|m~B3{26+2`ypoNc4C zj;H8`?<+xUm~&ZmplVJ-U3n8{m${&#p}MZI9w$g12B!M{XU(lxP|I*IRK3r+0zeVU z&n`K$d_rkt+F6szCr2ZbiiHX99Wt(t3f;5wR67Zgj@aq4b}@~ zn*`m%>HP!J+Z=o03_vBya%j2=cFT_bwBys#wO2--a6B3@*iw#9YiO*f_c;dd==ikN z!naL3#mIQ}`(!8FA1^I8>fZzTAew1EszIF=MdEa$@ z!BbGI$?X%`PZI4DehtCL4g~bdFZe0wM!GivarS&jQ)I0^%x`8Yx7aYw?eyq_^6rC^ zgD765({2IiX2?~Dy-WOpIR#^iE`8fC_$2WQ9!0<48OpoiyU0#DzhHVdT#4}bWB8G> zV50*?^fbU<7E{%A;hPwUb0N!AF2e97@Vf}ZmmsZ+u<|817w3R4!4&usU=p#WOHw%p zpWr$NA669GW}837IrwQf2S1{knl~VmU8gAr;b7}E6i!UxJ_lpC5bRACf|ug!*|dPO@lh!qgMW%p&oTII2yyx& z^17_yg80HGH1jngR-u+v@MiUm1;A71Mz0lLZSWAZJ{i- zA~ry$`EY*9j=}nyW;advkxS7gnN2TWaVAjvh?B9MqWl9hHXY=QUYmh(vU4!XkKd)f zv=f#{JHdR{ymo>!pZ{l}pM3Ze)JJ%QL+=Z+exm#Wkl}w7`4PeOf_G>PuMjyVc%`86 zKbQ^~kBIR%2=6Q5pB2m!q~jLP%W;PI;w%x^Br z%iG9HZ25~$ID2jE@UJ;CZMSy#Esi|HkvX*4j(?F8&Pu=z|363m$dT7MGOG_e{o{^I ze-As{ZV#xJC*dHh-scQ{2-<7c=McP88U7FRXOO1-aO`N)J(9Zp zaOwQYo!ZZ#NIvpv+7CuX-O#7@1J}vpX4((zHyO$Uy=*@iJsfAitpoL{y~%03Lz&tS zw6k!_Q@?>gCn`f8isC}$6h4)i+7BI~FDm*ri9Qi~-F}#ee9&}04jf{a&NDY^gTe2lgmAYf?$^hJ%1Bj8oqA*coD*cGSg-SwVYDP z@4|2f^rY;`0IQpi*l0fNq0@dDpqmd(Dh+Q%!uMd3B4?Z`4bB6-b_HhQ*prs0L7zG- zEDwWH?s7-om_ytaI#BeN&V4jYY44#6samhQ}GXuRN{`FC90-<5uA%I)Vp!$>WTkq4Lo0hnLOXTC3DAFrk!HH<%07E)Mr>8wtGdt~c;AeKW>p{{~5sNTNuIEu+Baz({CgGhiVcGpq zjfB@Ox(z+V_75vDMb2_B~oqXX>WxVF-mc6!xBk4uk|=;0cJt+^l&@zMA} zvCY-zJGXBHe8Cyg(Jva}TOR26MAegpB4<`lJlM6^OskErLG~Tp(C0SR+^=$Tl1vvT&Z3!=FIFZs>hM z*FJeWj+0+r1th<01d`{m?+sOYpVujU426KIdzYGusyI*zzHcJlm0@ zj_mTwX-@bFj_lew*E!+WIP&d|{B1{m!I3RHqk4)H#LE-^=V#CpzZ{j?FZ$Tydt9$d zw?HjR;g0$lEOYp!k^9Oo>8Hfa@XI^;$S;i^!!HlrL4KL%@XM(1%PoE6m*X6MStI)N z)vGpYjoBw=;+I>6Uv5Sv#j%p$r)kF{p}pJd&Gj>Qzej6fnELg?@8dReKiW1#Lqjwg zTdxjbw9pr~bdMj0PFInGt*7AbXX2OaxdOi&0CvAK=fVB4R?F{|pGg(-QaX4=j<12x zO1cPxAI;L~9|WYMl|Fapygty%65QBbL@Qs0YS79@0HAl@R??tf0sMu*&xR?C)U>js zt!3yk#8PWKeA0dS(M1JsFFrhJI@>?mJaaGd%tOgDHB;xu8oAg{=i)3t63N8tqDba6 zYxq~ZrYF8hQ;u=?U1|8{UiwT&Bg}L7wfW}q-G^^V)on3O&zyKk@0apQcH7Nhs`O4~ z*rq<9R&cN^maKRC!Z%k5-!%2MXRmblCYzPylm7(bFZ7(CjGGT}{ws$6UXK5t;4cK( zY{Xyqt0FfF&J&yf#4{28yq3f7Lcs2S-MqK72io?`A40~ZdfPjW%rHAVlRa~9M7HDi z)}FcEIiG9KyweGH?U^q-;k%zb(=$BEo0VX|=79f={P(TB&}08}I^H>Yj11pP**~o> zNloZoi#xO9^WNq_`nQhMtf=3GeH2bH&i!T5u z=W4*t?4K^uYR?7uduK~gpoV4n#>a!9EkSJ1&1{`^20+uzg({8Tin$y1Pk#f?2(Cie zbK67omPEmp1NK9?evjBn$k?f-Kc-ss!x*$VPBU> z@PBUPBb1mAAaP0xC&d@78WPmZ@)i zuSb8xODg90hBNK(ItMh~b0a@fo5(wh@BPmoQ5S0_JLCWS5o238fzr|J!hQ;6wln+@ zBhZtM@1^rcWX0~EoYXRf{m1zuPP9s3SMa?8=r=UZ<9l!5pv(8Ftcbf2-&6Ie#q=om zrL)<5htf>HDQXS7qqviJ-T(X%wHZ7aZ*X{=k^9QyP88#nvDV1FlIOJnrB%TRp znPtdOPj)-{Licv_^%tXCFSjK2iJ2P9ox-xTt*`yXi&2J2{l#qqqU`I-YWhNSeb!KB z93S~Y6h16XX8_{A!J*iirOyM#F8u(%m|f{wbqsUR2V0h6x8?rE$sDHLG6H48Y3W-} z!cJ^$(lqU19mVqIw(q$OS&qhvhGt{`?`l75DDwAx z>>_`E0K^9}W+LlX>L3~+{hhHBkkLp7A5@_>v9*!50it^?qDN!YJ%saPLHBn6+E&Pm z^>N3|IDpBeoF%a``#Ewom86-s^lY1RHqqr@riAa>FU7$~ThY+0*3QLyH*eiz(Ukbr z$bxm%*D`hcpj!Y|=dT{@?z?1+r@C?u#_mKUYJ9C<%33yF{*L$a=hQfh^B6@?{*0?}0O> zb#FWw@eSiV$8fov-}>9LM_< z%9ijCAy9VbS6YLEh!W=f?YQ~jWjbCVCyl^2FC5i!i0>%=LWkf7k8s)EKs@GU97mIb zcn<+lM;CI!G*sE)+ks3^dpgtcbs;Vlyja2~iF}6O34-)cX8d7-2MTUNvEorLyaCAY z6@s-udIyo*GUpS0yq%z5x{JOe;$bbcyAodmm%A{brEEo+S|Bq z%d;K%myUdjBR}oPXF-{*?{FvlUPu1ABUd}=S2^LFr^?nJcf#HEU$;8p5huMKfl^XF zK02xdOt*G+eRV@aIbMLexz&wxYUg9OX?|k{D<|JFZ#H!Vb zoxhWKG}lYvX6&IxMxDTVfpv)5%F7$87dDCjC@;sTCC+{5Y>$g*vhpd&$k!XY^d4g9D^H_U4F4kK(DTsBFZ%f^cK1DlacBvg41D>&%mbGm$U+ z1=!y&K|Yn4cr?c^a2uz7!R{L!_v0nm^#vYa-cCAJTEZ?Jm;?2zoczKZWKhOWjP|X1>)p*=xDu5 z!H^#Vzyy~lX%M4Wr0NWaX12~~>}lUDIkB}+!b%Zbj6Z@L*w3HA>QGJlnicEMS=G;`CEkeyZAk2K5QKhXY!={4Lpzo8cDWNk@_GDX zfV|7U?Jr`#%O(Z-EzIecGjOl$6^Jzy#|Pto8JHM1^E`X}V0?4day&Dghyw`U3PiFn ziyIGOs8x{N@jOn#%HwAWo+da>Fi&F`9D~n?_nl;h?eFAd$UJ5?ephXo32m9*VOth| z`|dVn)&OoKPgT9IeOISk$GxM@*h%n_`=#b^DVda z9qvzB4RXTG)SpJ~YyJ6owhu%f-}8+iJ!L%5%lgykVVj)WDUweusb|UTD$G=WuHpq@ zo2h;Sfej#!cy0q@@W2tV^{W0PspGahW|vex7d)g0_1FDHG0b)FGU~m})ZM(byXgyRkBe+% zHU6XPz(lJtct{|+vZUX=k>U3>-D52hk%+P4Q#+r`Q$D672G{(LrR5uKgAJf~WANBP$+Ng!mpcUL1|BLmoPPM}sXt#R*H$c#aisP@fAG zpP#RPA|SS&j^Jo0zYO*G@EpFU`S5&?`III3Y|p6mk$d-#qJMcZbq!f=h!Hs)N98s#m!3OWBB ztv$gQFE84kA2Zyy;??=@_536nF4x9p`9BR(Y>N#IB);b&`(7b&jEl(;!>1Zbqy~2ino#E57bUd2Xzn@m@n+ znNl~TTC3wM%Q|BZC{3FAkSm=XnQA>R!hF>IiNw|yV~FjLqS)Kk{fxF<{`U?Q9_@bc ziZ{1w&B!mZP}}eh5CYMY@IuS1{#!Bk%ouCZd&&Hn$TdoAHPWFhMnba6;wS0~bXi2E zS*4K|e+>oh+`ZD+`zp7somLq&9_rn>B7Kgx0J?yF4fXMJ;Kh}=?^g7Xj=s)|{yRoL zlF{3WSGNTsvAy)040pizT4YDr*GQglJ)F}SqcqM3L^`g+uQ8il24jwjSP#93n6D#} zFGo7oS`mK(jp}mz{h-RVn&e|x!->PH_704g+E88JFyeyx*>mvMFruiovS}WgZVj-D zRaK9eqdG+vU}=#Nm34LD#+o_xRbZ-(mxdeaD@TBo^1rfX1lz+^dOtksm{G^%k1*ku zkxdaB+q}jDWWlv)B_HeUsBsnz0pzq|ZeCq2W-(MN0M%E|t8J{d4jg%8ZC&+zMwnGG zXKr;B6i{J#L-l;$KJ=NO`s&IB_P!NFJ+jh}(qd#36zTbqNAe^Y?Rj!V9$TlZuBQ&S zMz(5Ts(Efqlyu>nB>f3^J^Eq?-1NTY`P8pAGtSwWC+BDcmf}Be>-NXz7}}W!O+^seCRf}Br`;eQtSA;CWhUN3l^;9?*uukdV^M8cTo63jagFx5;3x5wh0P%hX90>V(;J%O-06{Us zvw+ky0m$^H2#ygP4&?c{q6y=<^I^u3X{LKj@BzVfg0~5pdGk3NKlO3iU#JW(0P=dy z10DqVFd%B}@L(W#WcUdvr~DA`KwvA7`7q!Z`xdj(@TfE-m+2Rj{$5`qswP6y6ca=<2oO zVI8Zl$Fdydu;EqCtCM6&t9&XefoIK47;IEUo;X#qb@wcMd&>EdD4zp^wWuFIx3-}= z`6w+B6_u4(M#LAHhsEPSj+Z016_pp2SJqrquD&<_CU4qV_0`o@!P-WSayw76n=0z7 zBqHvI`qGxqgG+p^o=>Xh38Zje`(iH{bwb*Cq?ElxF$~LKvZH<*oWF>hv6mQ`hxv~> zS8dyCZ+;b(GdE*z&OxQ9j9)uej}xO3~g>=lZrx_L3!Xoq3XKwb)CxqLP(U z_*7=HH?I|!j$>WVQW+eF6`#J-0;&wI5L>`M8AM6E`tncOQnr;|p4 zD5)h3Z40vki>H>v?rrXvi=$Wz?JE3ADZB$cD1~fXjMZ}0#Wow!x+bJodd1I0$?aMR z8Dsk5_Z21mKyIVaA@*XV`S(M~IRcHNMBPlSjtewdd17u7x1}WZY`g*rirOYuMPYDh z?G7$ugE&&KEx7#W*eUpGO|bO|mO|Uqj-@1RgBuT4I4*c48^^JY!*EbNy@P|T{c!~I zbOl>@?}}Sr3ohfh(%42k&R8R&Whw+d%p{F`m@66hn7iyF>>p&w%F( zR%rOSO7kr2D&NE&UXA^E-WK_uiJXJmAo@g|*kxIghcFELIxRh{q@H1JHV)^!Z-2ju?IHJkR72e<2h6vy_+ z?~KCGsxw-=GTPp>D%w7Eb+op($1PeoI&-9@#OKHJUby%>jME#CW zUb&9ErZ4u4abj;UyvXafbnFc;LO<;YPXO^sgdP>#Ab6LA-zM^p1#c9r0^$)19}CPz zC3P?mRHuoUoL#U2P z9o=>B-bNtPapg|NH>s6QuhpGU>OYja7ha`JEQK+it>}NRmsOE=?NS$n`fzUJ9C)l* zrRZxutBdPtT4nlQnE|FW%;$OQfv58yIDX`46)|~zy+lpyX=PnrY4G;9O8bvS<9IxDpc!$P z%13A)0GR0`xEAECr1AIrP`K?Oxn$-sQij_uMbS1H8xG;xW z;SDE1L*Os!#6zZPCAUJ-E#x1m#BK{Y4_&*HyPGzkZHzW@chhRsSl*cE>_sd2eS6Ih z^t~_6#sb}PL-&MMG;%Xe75xsr`bkY@+#9(qO&@ z2c=||;B+X>?*pu2(M35M(Yhw2S9!&4qU0p4WI7=IEpZym9DDIvya?|;@}(QhV@2Jo zxH9C4Jxl)8(&zJHWZa6SF8&d&HPUuITF%8A&=g-rE>*BDxO^258X^S~YT(hJ67x6M z%JwfB(sx8#ABW?J5}G=qY%hNn8G^UMMtDLj=cMJOmFv(#Yg^RWHt=dSyo5!w&QG$uv244j|%P!#2?#|MJ&dYy?H-F`s?L+^>e3;Q9C9yw6 z=?=jLa)f^R0ky{a^3{x^yYC}y(cDPe#KC2i(Y*Zb(l*vu2pdAcRd=>!b;Q=K={mUO znZ^^Be7HyBxFsL$$GsCF_emrp7?mpAHWlEi=!;?dAE{JZ!;k`GiQnFKyGQ75@ODMgvHpp4Oj6O*a}yu)fkfO_pW#Fuk$qf|4&E0Hz>+i~G}b-0(BqW0H&)9@#|upA>YLSTRzXFDmNmD=sasouz!EVaI3) zct?~W}#hZ@J@a%MUmW!dE zb{3K_JnW$vg3|<}5`L1%qXol)dkB6A*247f2)-tGx8Sb@TLl*jULsg0I9`zJZd2cJ zg2xE%E!bbs^+QQ#FIt1IJoWuZ@Oy&a5?n5L9uR-w<3wg33DeQVlb8cUeG@((+O;SmYZ8uK*%R8P~Vk z5Bg34qCze_7D#)_Q9#siVOIXQ6=4z!p7$|i61$-X1lI}P24wiPBDV^1+zI1+CO9C@0Po@wp$S2{B7Pj7};v z@}kI;h>;TcK%MJtl2s+UmjruJkK+JMzAh7Otl#ZTvh5wpWPchdnaPtBtD%pFa#3)S zH=oK(_NR%WFDm-j?_pmr>dqPoQjp31l!ttv{ta+Fh|NHxPqIHTgZyV$Z#U2WG-Yy0 z?1>27FyJz+3bom_GDVis8*Ol7p58$d_pgwPVw;8mOxN;SeMt2rH=fI0$55I74EBR9r1h#R`#J1H z+ti0C%76hl9qcHjv2CTXH(7K6Hlq3c^qkCp0Rb(L*8tjNa|L3>IjB!JSVFWBA;Jv+ z%lyGU5k0Ok&TA`*y@-ah>dbu+ow-AB2s!EwwpQaHT0NI2C80{HZ4aHORkEAhQdx~O zU8kqj^aW_@`ZaWo(Yijbb-j*M$X++V(lraB8Fq=*U)L$oc4g;DIL-%KXi@Qs;U`+n z%K%*rY^<8WCYB*3wjPbQrx1pWFbYonJ1@;Qyfp06LCHT2*N-VMc6pNp!!n`lT4rV1 zIOAEPoy^VCxxEYQOh)_Yn;IX1W}x~4lqM=rG!w}20V!K7aJOGDr?OhrwE^WnC|>8v z-%t0STGcVskn&qcRO||| z1v2~(g1-^GUGV!r+>x?{B3~?cp&*}bre}X7_;lGYk@?cA^9p{9lTqdiiSJ7IF`gag z|0;e^f2sK$P}QmV9mqo&h@=Ca1_qH~^If}{G6Kv-D}yBlTpm{7gfDgEdmWj&Y<=fB za)~4J`)tRjiO80Za^zm~JkQq_B(A9Z%*o~YEf75^`uMhs!9}X7%4f})Uom&iWx7*M zsUEM!-OA8j`)y-~qKYx02On0&GS39NscX6*{d@=McvHd1F===c)XkmKP~#^~JKE3o zB*_gn)6ZsPJcEiiNigOU*uMD=&cwsb&GfUW#vKnN^QInoj?u&ZV{Qx7Ct2_F7q5bE z%fxdyj{vtk^^5lil?Jm~gGxkB;ZvE3=d2KYQPD>?ExB}c1n+W<1S!bGbLx-})}8E6 zY(a*|WhUARu+Mz*e?RB=_J|(Ok#$TnP@TR{9d;dx(d|o1CQkPw&kk{7jfF!Narz66 zkT@NHi{44Z=?73L#EBnlMVy|%j!?d6+Ze^2=w;&PPI}6!S5ttku$i#!`DO^z=ZOxagB2OowV+ zdjLSb*n&b9UjbOUSht%jTKxv-<3ld?S1E`5K&N~gpgGc2DiMv;iti}@*K~|$Ghzi| z>-559LxksapEa@RbJ6vusW(W)z{+Kdl9u6$>ghQQdDHiyiUp-W|__Qmc~ij3Gc zCVsrJo%4f*5}2xB&^dre$Eo-=Ch@45OYB1(k%Yzb@LOy}{0h#!TUg6|-vcp|Pqe-f zedC7yOY^N(V4qN^qJ1bOS7bfj7d!AonMcfg2RxqWtXowK{j?*F0pdvwab7Xvk%AnT z#_*uXoL7wD{RFo_An%F;QKg5U7x}M1{1x7dA3XDF-7Cgh1)26j@=)3Z7X!)H<^#!7 zPXppldB+k9L_QkG@IfLE5bTC>?1r`qz6{Jp#k5A`y9DnPyjAdfKzu67$Um8${F68q zh)WB93CR3DgeRBwUGgz}HM=o^YGp-$fh9k2&wZmQB$%cv@PCjnSye?a=aKa0maF(AP|4K(@ z+tCjHnj?2P@(%G{jCfLhv1Ge_C%)zl@57o2n*2&7!yJ^BtG*===<qf$MQxSXy45j}UH2^XN3qw`)N$Y3?X5-z5Cf z@Ny&fm6xA^N`af<<=L#Xc%YZO+~_%69{PqIsMZo&CSJbM z;pLq>$jcWZALQj7sBD)ZL#R{#GkN*7D8|gZ{61Ws!^`i~hb&%Bn+19KekhNf#LK@6 zmBPzunp3>|&)7*YImOG_GSa+U@x1LI<%@9HV7%7=EXI2pR2#;diImrAQa(#53QYol zMjocsp6FLQ9cp_Z<%bzkez?{}4gg(G)%}g1VMuv54x*@zRxoHJAkwj0l5*!`Ahdj{?-Q}piMjuzLe2dL zQ<8HOBkS|N@bjqfbMrk&$InlNe)8|*fOu#_#|R!Sc%X#SzkuO;3UcNm%CF%Eb#CFy zK=SkFL>9k;!Zncb_=mZ^G~;o;Z}RgtAbBkt<^0rL1SJ110^%=JD9C0tWsYBCIOhkZ z++Xk`D5w0c;EOa#Pf6WR1Z{X)%ZL^CQ zx~E_FEA0}Fp4Q*sgf#vJ$ERIygA+HYX)+St20Ok^ZjHmwjf}dcPj++qrE)X;d&xVi?2k{T>ZCx*_kcU_J-7*APs#xQ`sMnNrs~t_d+<{nAysF$Wvb~IM!C~5d?{%< zhK2M!*cRB3LyCWZA2E%8h|`1O z@}v4k92K@oTWo@bcb$b9Lzn&w92uj+{{=?^)%VGBehW5n+QndvejETE_;am~#xYA@ zm8H*b$7VK=nu9)|Yo1R1D}biWm#c()JY?Es7_w7z-0L<6%-Foh#vbk1(_&AWZvJ&? zE-To27ie%i4;QSQyC>lExU@+M22E30Dpgt1T=*5kh5xA|4%ZRch>vtMCL(sV7z2+U zJ^d;9awlqC;lSP;Mj7aD!cD<{9X?aEr(MXdC##{~rgA}{!1l=vx7xquh)e z3`IKnF>Dt8EBbK{_Q|TU4{TL;HsyF-$5Qjp45qwzi_YzJ& z2ZmoSc%2|^A3T0J5LIqjnaC3a$vY7q{u?e5RdL}WAj&vA7YKWDn0-v(7j#9RhZ=q-dxCXq`o{LRI6eo{t&XwZ*fe?=6>>9z++|`0>PHQhyYt=K5h9z zM|Sza`|9r;;DzR!_)?Y2H~Qb@d9nvMD8N#%5g*gk(++s|U> z*qfE%*UOMhK4#wSJ{X~UYjftc_i~gpxK}!VS9oWn^miS3LOT0!r8iHTML>7dKFoeA zZpJ=r?+K}KcjM;<0KXRIH;05 zRDuL_giQQ%nZ&LUeRqgH5m^_RAa#iSVY&EM#gk%u^cLg;^;=*gYA6oq>WP1%{_gdb zj(<*`h@~sib5F&cBF$HTr;JzhK~}jaXx#IBo7 zW%Q{MCaapLOg&UfyZ?K&iBO+Jx}*as{5FNJ;D-4(^Zn$|-->>w^_YmmJ`irMUnjrU zgYiEd?3A16PvS$2SA_p@5|8Imo8dzfn)h6ubzT2*9LM)RJPC+bHAFvQVv*qS5UvcD<9GOns`13YC@3zcl zlPzE6$Uk@FZ#nXFj%?OJNj#mJh$JQ{&0tx}z&lcVb0)O^C(w!>`<>J9iczC_o{!YG zh%D~Oj`9lnMRGH|!pME)6~DpDVf1mg6EDpO9_S^nFnYrB&^{;mq$+NBr+r%{Ua=XK z0=IGM7i|^fi@bvK%!n?Z%1pfC2+0rMb8ZtwpO#czQe*asnRrDM`Cy&943*F~am|3F zerINo|ExQDyQSk5n5=KgWSC2iD2v?}i9L!bST;mr??z*bIxz=}^7KnjI)*V5eKC0b z86}_E;Dwo2=51^`s0>-qPL|8@5P@-g8xY@s)7cg7v<;Um=>!>VYZDX2I4h1Rzt6^(@#ITsz0eq0r8 zn>F-7c(1WSO$ifR{%aPgH!aM+cpCi_X6uWjk;Sq<&SLbA+4zm$%(%#HY+Z_>QSUX~ zh?z9^Q945J;fVk_{S5%cMqdE`qo9@QM}f0?bWKdJ7gGYEWV?PSxx7H@r0qAoPT%8& z5n`?121CQ#njM_g1-=$2Sj@+y2ast~??OaC9y&OQNU>$~y$8qRPvZwCi+{PNF8(r< zj$!Fp7!aiBJUJ%{;%Jr}7FPj8I=*T}TmsFz2T|uFaOS&fPfsDoK*N*grSOl^+JQxU z6DRRzXOKgti(h7AK+#znJ}2Bz#{SLl{vV@O>5U)2P^cmA@4%EJ+(bWaT53D!Dv8JQ zsLjN4=Fhwh;j~|_0^$V;v7#q_U9d&MFAA>4Lp=VH;3Gh^ zFUoEZd4*t1@Jd0hbAf9rqkl2epDg$f2>2Ek{t}2oW!D37s7>BzKA+41=ewB<@iu0x<5ez6nIFTWlBjuU>M6VBSoj?Zx*ww$50 zqsFWGX0=pv5SSy0f&S)om)4Y3^~f1Aw3|{4jN9?q4wOY#sgdmcC$zrsK4a^xU3b)| zG3n+pU?ndrZ6pl4JKFwYzdtwA{xWi3+h4SA8hzaDKqb_d_LtE^y9>7`C7)VSb&=Us zn5q3m`z^O|>KAn*@`d^|FcOt6>NRcxTFBJ?%9H%m>F9x|=o683c8%F5W@>+pLq6F4 zT7rZtaLs`K-uBnSDEaMde_f4-2t4&`fZehE^&uXb?QehGh3m$}JPPm=WZhQLq}xZ3 z(f-jK^W zI#=3XzhIWV_Sf?~jc$K&RWMxS0f7AO{P%vxHrMvGylz3uYoJOUdIzsH8XW%zfUYM2 z{)a#-)ek}DmRAW#u-Edc&^j0NsMGggvE_9mS~xwnycQ!us+QNiI3C}GAGW;C?y2QP z`e#~Rdz+RQZRS0-ysm=g-KXWH*S7M_3#bq6+IE+B4zJmzkM!8;Qf&wnxt|*HfZ@?> z=k%rB)w!MRuGJEc=TTdlcGpi3&UV*#fOtJZ-w?c35L4u;@QX#hP_R<)D2?F(K(=rG ziTa0no)g>vWV`EYB3~oeEO@zK9q|9>cGuImNp`ynucoivg|?pWVRHRZ&T_&ZbY$1x zdYBXbV@F=%$ZQ8PPiFf)c5J!Ak>?@M4zG2>k95M{bixmC!l}&GSK`Q~A1cAkRXa&0 zN0XPBjj7)F#Q54~D($D+>e83-AJOPSd&@Xx=W+AqjVnm)M>EE_(Ik(vyrgkXV#c^s z?W_(y7 zwTq$>G0!0MFfXfsl2z;_woL6J)94u|NydpjqoKF$qSZ)GO0*R?1(>Q`#C-B!T|cll z8~df$|CF1qnG-!oZ>B*nLhX28SAVQ^1k#7km2|@w(Yp3^JiG7 zteRj{I$FZ6SovpWB&n?O2EFbWEZQ_h^}&*Mm%lCAQ=*bhz5k1R*a=);b*fPDR(l29gI{Su>hIyPqs@z! zH19xV1=a(utgWrDYA|oxj{ARfN~LY=k484{n*?w7d|)l|a8V!AZbswaP#}aQ1he70 z*yDU)M$exm!L56mlp3Mlw`KayPL~VGlT=HPFO}8ozP-O@9s~3JUS;%&{@%X7w1=X- z6j%wo71-1JizvO``2J#y%QWNfksFOY7>WHY!ZA%BrTg~kdAzcsu^Ctmr)h(?5)LN` zhY6(+AV$H&l&EmZ_z`l4Nd=Ts2L0{KTCwz(rTyqPz*O@HV69lpmTFCminU^W6Qh<^ z)^ItTS4#UIjpcBeHe%7RlY{4tbY23&16<1nmR_rfLP z4dorHC`{zM$czX*UE>T!*@>UTW{zMg?H}e*%%+tU2rlQqtKzn)RmE7IW!Y~i6ucE& zej9eYHFG%c>n0qC#?~~C*(2Ec7wi|ceR*IpS5JLg#r%-hfKvNA^rO_obKqV`mVX2L z%*=Q#j*seE+*8i3n}w=c%5-05yL}KR4e^&L??U`1uvp3YPtfOofthL_MCVTH{4>@0 z@nXS*g$H2t5$KS!hw`C$LjA2LY2A8mq+J_TKfS$2lz9cFDNF~*S)c89gQ^nX4lAg zDO2Bj-*?AP;4tXN8x}f5Fjw$%f_xbn{*2&yAgcWEEh7Iw@CLyqLC)iaztD92;E5<3 zCNf=pc%182690uj)VpDs2cV2=D&fft$ACOf1(5OB&rO^xc&dbdQRIUJ-@vsq9_s_* z^MbSoQT`qfmsU7MD=1cmzK}2Zj`7!7+sQH9Bt51DYj=Ce-$yYs-rtVsHc8n_6DaK z|8v5~3_MLuDcdto<1-h?!#_5bpRrA-1J2KCF(5Bw8f->3Jk8Lf?X_QAIY{fFK2oE+ z{Q`mOcqoad&7FhAWGd$7AFmRWmrp64&WBRA6{5%3x3jS$R7=I!$3zs&#QRo>KKA%< z%QcF%$allHW#WCS`5neKQ~lyP;iQB2DzNhN!vECkCV_xV?KWN?w^iyl5LhDmL?myk zG5f?!{myqF9|s}cL_7dn@Peh{eatWa5w+Kw%loF6(aHDEYU2Bkh4)3VLN*uOUSGU| z`ey~-=$sY2qFDXh5n0dIKCAV;#Rn9}o{uztl--aUVJ(P{a-5?;wGhw4Zc%JQ^QNuQ z_Jv!cu}`9FUhg06zAyGx^9%i>&E2^TgJ%V6_xxxe626DM4P0!l^&8L=|22O8NR83q z??>A&Ke3w;|LjGabxiP(7KEaLJ0$RSuy+4DX9dTM+lalQJ9D_Z2D_zq=5hA{>`u9J zq=|6eo#VLs6pmKiIgz_BsAMy_yG|vm{@&hJJDF#GAzNqLTP_b^afjAM3ATZ1g-mAPxnHE#(B?>w`FZpZ(X`=k0ssR z>Zu79y@l1>sm{~2+Sb(t%7(%Sdb&u$x=#8dnXt?e05jkUFY#g=_cHPeo%nHpzQ`yN zoAGHDhmXJmRWJI$XaA()jltF^YAsMXP`2q7Ws|ZgD%f&)DEmZIahu(_81~; z;EI3Cw?ZzCZ7S*BK<3)CtR(hOS2oCMS=-#9Ic-^YM`A^P2()G0Q_@yCG&h#@JH=?n z-rZJqE6ORh;oFh-KVeWFf^hj1V^eP}DcIU{cYGC8Ti4BJ=th)6N$lRlB}dnf%f{6N z{>blwTx`+M9F^5AIE0uT{xE%!l`K45q(4kw;uAV-L;Mh4t8x+;@?kcgoX|f3c&UD* zq(P4Wte2`4=j$3F2_Dc1eytPK>jdBTCn!Y%^8ii0a2ysFY?8$V;S=(8t)M|G$kz(a z^DAhx6?8YP>^f1-K2;|^UMGGBFC8BHL;Q)S*@-XAN_h0=;m+L6LXBUxS!T| zvR@-9ho{lb&RIG!m!-kAJOQeW(&^_<{1rQKQt9xE*)rA>5A7GcxGU5Oo2)Z$#sL+c zm_G*P0lVqdGkK?wfn!USAJuIZOawe@xFO>El3aio)yi4sv)}v5SncNP*ZMj5AgT4X40-DzA#3q-q zDq*ljd;wEypQZ6Sja~)VP7|=wSWj7OEfeCL_o;IZ>95oO7@+U&DJmWLYzO`WYQT?K zSQ+*uW!v+H{EWkDx@z?q^&G_3*>|qzaX*LR#Zi7|w&{ZR0_Gj8q`XO+q=qpI97lwu zl&3|Se?N3Cau*1;uzryO;8KHly}0sVQi;t*w617RTCez-sQD22ftnnsNniH9a-?t7 z9rz%Zfg+vAyeV1>R;O>w&$Pl<09L;CNB-m0NOea)nAWZs*mY2TC(eic#rPt3H%^c0 znv?6+rWA$*wTeyk61kdZ8*oJ0R1qsUW)&m+S-Ras4@`x6#&^k zLuZE*+E~R)e|p1a`J(Kpul%Pv4XrFt|4o0ILsXj2;v^guH#zCJj*8*s8Lj&J;fub-WtGBrb(dsrZBb z4v2K{fiNz2zlKH}v^E6t{rCR0YrV3!=|yNTmKf|< z+&P8@K)qL2T|cL`YEGp{wGDF`=V1Lh_r%(}vi28xr)j=BWLxh>PcN65EvJTtd?d@fR@-(LqO`9B=7Cc{Y zqJ)nZd92`Zf}aPX)ffH*jcBHSU+`rhw(xBt|5)%w!Ak|}1uqh;5a!@mqE@QXm| zeO6EzCvf~XBHu2!00>iDnCn5~Sr3l|GX0?vK3MRxz#JTZ9fij5hk?|8pWq(_Wqqd* z$KxTa2swS^}Q|ls^CT-^^kBfT-N0b-6ZmN1o<8@ z{35|B!5M=2f=3D-DmYk>4-wOU06Il{OR!7ueqads;J8d82YwJa-jett69NAuc(Wk6 z3y*XC6_}C>_W|;H-o+=KL9Yuw1;i}~v%3~qDeI8qGQKkOJ;->p!gJ+#wctdJ;T(}a zBe)ecA+i>J2*~qsrbwReX2I_Z{tlG@l7vVFiFrWga~u#+22dsf6mlj2yFcYc9H(sR z;T8!u^)5v9O=o&;kK&)l%r*}@wmjC6?{;Kb;_UdhIP&)pXonAV!k0MmnU4Ihlm0v> z9Cfizf3XvPn-l&kC;WOx{*xnkWRIV7IxA4lpVRF6k785JC`sFm?Der0ZX*=Jun=0z70=U+>n6A{^ zyXd6iNKyG|rDvTQDJ_qbmQI*@=J@imspxP@??;uce{R&VBS&k8#ngUO=yyzX&fzIc z<+qrPiXxDwA5na()OsLVO8({i$lQz{m63Uv|EQzXw!QsxO{yl+`j~bjD#hW{kkmid zvmcewbDuhUAVBk`z3~$5EmMEmIJwR|NmQeGKp+<%Z+TyRDl_$`%@lo6(YH+WnLI&l zjoBw=>QBo<0;mYw0lXCmNE*kjuk8)n!Tl;x;Xyhrz5H~0{rf5nn4vLt!A7B` zwZY^zoyv)AGs19cdQ!b#8vBIiGuzuH&ftW<(iUyDI*v!xXu~UJb`9w%I3icI1aBX1 z5$B^wQx3jM!j;qf^d+>8%ruL%^-h8#R#RC~+eA2Fy|TEDx>3|ip%g_uM4y6F%3G&k z>&aM5aKR{SbH#b_HLz1j{x*T_Ab-?hC8oPZqyvN~5MPG4@LUSE+=7^}Ty+K-PtgXf zYB6bDjcAOqoUZQCw&^*=?WcB^bi@4hOiA|pZ`5dr;*=sW6+zl(i5EU&B64&iWE zT*0|Y8nhN*W#SS!$0K+4>n{o_pwj9PAZN)7HNKdud>*>vf&S& z-oF2LPj4T6WB&cYoUFEBPH9_C@N-$$1wU7MT~4%lO?FAagH8V|ZoNO)vJ~eliak~| z{HfyDQ<3){EAICgv@{<0{!{tSw4p<1ZC31LbPH#7KUnZo)9aDpnBnq+z3R`@N%Fhf z2HzDMd{5hXcV)%SyC(~n4a^1(1P%n|0CRx*1NR5!0&{_bfrHU6on7!j(_QKoZQ}dZ zHa%DFO~W94UpADsHErygaeDi}W?cP-Xu$_Ou;6nzaP@yp0YuyC^7ug3A9Q+q)>WnG zg1ze7xG`ryh!)%zY`zvkG`6KUzY{)}s_fSk#qN9miK2c_n7h^8mK$yE%!(bvd)ECZ ziWPTjYx5_21+Tmcsf&lN&A-2G^s?CKYuXx@WyKn=$pU5rvw;JF1A#ff9N_-I{eii_ zT;O0J?$(;@NWlY5zv~)_)-qaWI zq_q~K;^@I~knU2crW@KGufZMk5Oi!~bVEm0JOh``nJxN_U5=%TyreI7swG>s-O2D8 z&+g>dlP*Dp0U{FO_)_8=L7L7fpDs9FaIBzNw`hpS2MD_BiLQha>iL==*BwI@96nd% zDS~B!BY@x=VGdzuJhof08+udlA3*$-b!xfnXFwEDxDCko=j-Dkj^|{$iGt%LoUXGx zZstYZf~T1>KZC><1fLP)_Z62`I8|h}4;k-xAU?w3VL(u`LICqM;Ao)T9;PENj(gil zj@;tNbo8;~bKjQdJ93#LlYiUsrOlA8ap$!Im49KPouWjm{WYh)y3#Zht+7-XE!x-C zp6gtQeD~;In4j9eaMW?5F+(V~)a@6v5;L}6rsIYN^6-z1<=2ycVV;oTg-nCZ$fW1| z$1|a}?QOrjED5L&&u?HQxQHTON$r=O{R=tYHn(x=7mWerllsgCTcU5vZ~HgQo_J_c+rG`8>=C^7HYAJ0-YjcBr@N&2!|aC8@A$^X zV?2D9+HJ#b_an_OX?N&6Z7=;-$|+~HY~;E7*a8-O_I=MeKd;XJ__BtU<^DOYCE ztBwwMQ?A^fyKuql#3yrI)AOF=opQlb&UnfNZv!+gegK&pYJ?BTtbImZBPyFxeyJM_?Rk z+i5jL1sfL)h{O=OE&`7)IEP^`k%tvL6V8)o`GcGoZ5x-(Mnb;sc>OYp%ID{?4G%nW zG5|TzjibppeVjg3xWGf&_Ev>|9W%zl|1t`HTXw@f9W3##T6GV)8l}|VDrrAemHHIu zoP|PPqY8Z*B(UH^#;NkYCQ;tknDQnYexRrF4lceQxfvL|ec+Yi?)XmIX;lRq7S+c} zhvvkJhGs|G_xu9R6OCmJMe)9kCk_|24UndIHzWUa*eUWA#%ns=2LN3d=kUVSJg8=V z_Ym#_PP`{>L)Tv3T|o0NZ^pW$_Inw$>-PIbH5e+b?~9&MHsP)!69Tm&Bhq&FxvTsL z*@AyV(jX{~iDBEF-W)r@UFCJ0292hXs#Jz>R0PWQMN~N`+m8TN+1{uM3J;Myy74`c z1!+an{Eigs0DdP6+RIIY-`CK^Nwav;*oUR`Hfd1@n4}uj^bOXq6}eA0`A!eoq%pM zRzCR@sa7$UT!6)Z^be8gnShJpGh{`+S)BqEy}7|<`b6Z2Nc1oQkmwkHqMxcnx=OX@4;U!)xZlDhw`W{*Cz*X)7VW3wkf(_O0h2}ZJjur1Lj zl0L@YJMe08J09;`Z`w^mk%s;I)1}?S^Q&!-_0nN~Dy=>N#w)`AOqoAO@`0B>xnF-S z;&p7(?J(v?Z6==64*M1A8$=25vrfEOaFHNCwme=dNb4cxiGn49rwX1Vc!(g^tzmq6 z%i+?(_hspJ(`q1(-z3O+#37f>2jZ`cTl5Wz-#WbcN zM>&o|iZs%=M>t$r%5DLX!<6QbQi_NiB8jj?Elv0{QN|7Kzey{iJkSzEoZLg2tkE7Ht6A$_+&+_C}KJ{{z?89!?veeFNWyC+_ir>dv$NMvt3%|T0 z>?@yEE|jB|d%^I3dtK`nY{c?eysov_EoBA4?xKGF&~o87wGkvf`MQ#w&|hNsNV)LS zuWK#F^SU~950CG$vAchWe#z&0<+$6l<-AiH>l-W_`;EtK?4(*;OQO79Ic|>@-(t1b zGg^F$GsOw_!Nu=n<9Z!3^p5iOxc*wfhyKK-uYXC`Zd6v99Wm>^s;|HInJY}Fq=ur?l6*OL?VnTM zw)zKW#*eVB$lKHqjCC>pk~Jh)ym$QHT)ouHxZGK>c<;E}CMucnuMqwjGUFGCnrm8j zt25&xr$(|}vKcXJpC@q3s}(WmV!m3kUGp-k>;B|k)&L{O6U|HW;&R?y9A`b5d-!RL$*Bp+nf_yM{QiUU;PWIe zb0zogd_oc|SsX17{#UL%xc-2R`Ct}*E%PJg=y z2hydD2v`9nuBo>YxJ_M7WaG(NlHcbVeuHBW^f6Gpp;99r0D=%(xd_${YInE?tLF*=lhZ*Xir`zrfCSx}-sh$Z{m7 z(6DsvTj>>fv?nSO0n?e3_Qx25aGBy9-`g_lFE5 z!!2)b;pbZavs(BALQYk|-zAjk-mmpf)xxj2!gzUa0#V1`M95YcJk2&P!^;B)^zxCX zk0m^S~t;@P=mvzgq?!%`o>;AiC-OKaS*UA4by$*6M zQ~POIV!1KxPtEkoj-uVswrroj)&{5hyIDW+y{mV8(shyTw|(k$k^Bdwla7 z^;Hjz*YdxM-O^jIO{t$hH2)jN#x0-4{I8jvMCz3P*!=HeJR7x*r$C!eiAp|f+e<#z z%l|&8Zt)%-cWPtF{oCx99=|5jsl~M<%IoESpV#7hREzHoEk3PN@~;mrewXli`QOXT z$6AIv!-!W12|h9ZE5H4*pC$QEas>~@%OlM3PpEBVO8Y_d7{%@3&>yg|aTfj&f!kSFjySGdidO$^c1S{T zm&ht}csx(G%i)VN`-9hVb{%e!Cb%NaSsLk=h+w?dr0{^aR(1a^2GFYRZ*h$hwRDu* z)cIJ$|FL{>ZbrvfAEZ&FFH%eTgrXbYv$$j?-Q~L!7LEj<6tT0x!}?kK=|{go=eoPX zS2PsgEl>B;$Y-4LOIIR0qI~aita!l`cv)UQwRE(gtD|kxMx$N&C)Dw1onnfdmyu^{ zrKW296i?|s(dD6jA5n+6Ryd(uiRJ5`=VGII9`<$Zg?L7Vr+n32_ao258cP>g=4;ml z%UNG;XUvdBTVk(OlMDT_?WNXiuN3*PA(y^mmd zEx4LxR9_j)ZGCcSfP36%W6ZVA)w}w*F2LJ^*>c?;MAgb9i|>*9=)zIa{W z7<&avCT|1ygtS<)SWB)8ysteCD%SqGBs;k!pr2T6qE7f+c z6p;*p>+;p&bpa_)u+HuwV4cnKJ0sjdm)m?Ep|5&fK!L7KkICEFa3u=$W3jxwl+VWz9#}w)Qapi)=lWiP_kB|HPCf0>~ zmbYVkEB$W49a{ap#IJr9%LB{mXS}5fn z{^EbeKL&|^o^U0@DTFe7DxnPjbuE}+J7QV) z_m*|PxvX2_a*t0+$?n|=%ewz&S@-E>-E#DFAODlfIm?d`u7bw@-vuAHBc0Ybom>NO zD-O9o{o;CRM?Fj~zbugEKAh_*nNPoe?8_g2|JdzecYJy|$@*>g%LM=H=U;x!MlYYm z>jaD4QY;bdo9gEeEhl{_Bk@@*C#_>6mupr;^tc3zpX=T4wHVJnZDaZ?b{hAOwmV$y zb-i-Z!0-tq_BQ+39$B|>};y7-ZR-@8I2JeS5mYNxV zos$E}AH)JO^{L0cU{u=W=DNq} z?_t~N@X*`;m2cdHXg0L(|DVvI(Dy^%4DD7QTNsVkUcD>@hjONJwcxPMHK%fa#Lpz6 z<`VvC1qUxJKTo=haiC>^{))le(&ZtB9p9#HN0K#T5Q)%jkX$u7IXaI0CpGparQ0^F zvt8C%KWCKV2t|kJ&^OKYZfneVa-8z2Iq+4t{*eh&5Y}A&Hj!a)Q{LoZQlg(TJDq#@y11ICs|mcCm>nEq zNdmbY(Uq9bs7o)q!q|(n*q>Vo>* zMZm`K8mA@}JBTi~H7^_E;tiBZ(!|}>U4N{Z(t)Kb%9kNL2yfOx&Ml1cGuLJj+8yVp zltgFtA6HlEHdfR+$4%e0IP%w-GrE%&ays;V ziz8)Syd%k%Rzzu8yOF&{ZF_K*TBILIL!x~a!+X|u;*@vQ`Qzv&d!kyaHZ=ACGpa4J z+(9E3L_IEt)>ZKw6vut~lo;v7PEWnu+tj z>2iy+_BwGAg~xb;7NLyGOv+OpL@1{SBCJ>%;SaA9A#2g&YmWWXuC2nd@OlaL4%R2e zytyQ#woY_60}%T^sKMHAs?o*pf3bC<7r7@)9Z+f<7%qQ`zss{gWn@0OR2WQ!WOKy!y@4T z{Uwx3$MXA6wC+YNlx&CmUP-u~-yb97TpfI$)?ZqMl;7{x!WbR!a+hA?v&R3f)>_l;lF92osjDA;ESB?_!|5&p~NFkIZG%R5(%Z<6$wiSKgV$C zS}3jfN%s{FuM#e=-)N#gg9N|I-YDbCnMJ}ATKJq6KCXpDT6jMpdtLBn2`SnH&oGkA z-&=$-zT5;N;ZI#*ywt!-_Y+zuZ>?a|_%9Q3IF9g>9~pl=At&*O6@=vdBjk{^lK#IT zl=xpFltCqPD`A5c)@Z*=epCAI)55#8Fh&dS)Ix(6%JG*Zh-f5~@#LT-p_7pEMeu$? z>a2nvBHTduEkc>U-GuVH9HV4DV+dK*!CxVyNEES!P?n28(&;k?_~%}qA*XG6UH$A? z)*ZR5`|z^v=a+RS5t(~@QqShzZClnYWl{Iv<=E}sown@vTbFgquJ<@)WZ{0TKK_dZCoA@|EG>$U2gKlPzI zb-a%@u_9-N|0kMG`4gK(ajV+m%%H82PirORQ`$+{{_*uh+e1SQt{X}}@|>YO@T(=? zwW^|zyPkfT9p1y&wdqJbquk5}KCr>xm?k&mUS(H1P%3@DiWo zfFIqfwUPIcdZOz*XQ;(t6i zGEefkgZMrrSyC*?;zkE{Qwx8r~;tN2Ch)p(c8;`Qpqp3>rbLyPZuEk3PN&KVCbewXli z^~UM%$VC$+O&`rBV~a8;XE{=Hk32$z^? zUe;jAc$u=bTAXTTFlr($Jr(7+rAn?W{)le<(=X}&lRNp|HR=ZR_1uU15{0Mz=f_tr z4y|0~{yu&E8JaUlFe)!mRF@{?TN%}8oA=RwcaU#d!Q*wdbF%t-2`F(i5w!86Rto+n zQepAo#(%uYxGQNq-!+<#(KWnv>G0A>+tuN<@-eMVkAIabiqYyAVF3h8Pv;tc_0sX> zW-!gjRg;ym6t3T?aGfkWopW^oib^o?p@x| z!4wJ-jmqHoXShFsDHhZjCYKz72c_$3+?7LDk~qkJ6idz(e~foaeXH>dxN0|`_X~FF)zFnXLwa_PnOl@O3G-%sM+C^MJ^7oWOSLGKULFdrq84s zHU&SBKcWwKO(h88NH4}PBqFk-yc(?kHaq8Gj*SO`xwh$V#d@3 zZe`M|`qibhDDOlY2EG%*#@l*# z@!k}63Rc;Zd4%kUu1Z1m4L)OBhmt4y`v@He<`-jR^-7D{j;H4(Ri%BY?@p+DM>{Pu zU1m#ulP&oj8S@Q!K>aNbqtkL(>1iMLT>c@Q`FYs>zIE?dDdVcg=fFYd zeV>&H56k+Oh5`EJ-^icmo2_G|^&}6t`^>zn-^%`UE!KrstiO}4pUZ5k%@Dl9w|=!5 z0_Nbcw@ijJ9E>Ej3f7qdc}-g-iKm)0u-!uQQ~K|{Mc;VkjD>eH zk*u$%2MCMv9$wDWXKo+kwC7Y56w#J^CTn}Bky+JUdNoWhs|hv<;&_-3|TzCt{H_h$8@iaOAL1!dQaeolgWt6y++sVnE+YIaNc?H8`!)R$w$ReQL)Xw0g^SK8LH{*1T_wpyGw9S$90 z`P6YfuMT_@jc;}MS_~JgzmdMLvR(G6Yn#n!&#UTwL%+vf<*KE{@Or`LwEgAY>gRYS z#!LfiQ%2>cA9F<@&hS6lSzd3il^rN~aTOg%mR00x&f^CpI92UWO6Jk&lcRR6EhKQu z_})nN?dtUa8YuYtvBGKf#x}(+8uDCiJTt@)Mj1@U5WcK?>;J?X+6z7xr#r3uSj}x{mysr~os)Tm z84b>JUe2JhR=duj=G~s4_t;;qq-QsofP&3N$Ie4$E@RqW)sgB?8)hCOQAvGe=hH^p zho1WH9wOby|E^?KOv>a;pW?iYuf{eh5RhjlbGuIFQfZHqTK+^q+ZKvENF_)nKLa zulZtB-ZUw5it~29D>O4|e^mYTzeC?-?%rbxuKktM|4g6J@VZfd_v?-(iGi%bd!9`a zg~KkhP78T)?|s#IYk0I_I$EFbKZbXd%3J8KIDO@R(--+){P!lqcyT-hQj2p%sZqJW zyKG(Y$7j4B0dGF1&0syj#4U zOT8<|S?@nHPGdN45fN{u;|I=W_c0mDQQwlO{R0_zeZ9Keo_1M4OU7%KjJGV#or=YI zdxa_Ry~PZZx)qun>S$!%C6YLYnvii0HCf4+NWwVx=uCm{n{>Zo;>Foa(Wsn{*2hzj z_%*SabiXh^W69`c0;NpA@gid^1leWDxxIYpv?zRh%H)^=)A4MQq%#G6=ulJAp)QH; zB^__uamw82$R?>@j0>lYfiLmWMQ!gi8K&YK>e|zP_b!RT@Vop_bH*#?j8_-u&0)WT zAFgE?)f8B|%+We>qm>>E7N-o7eU|Nw_78bfm(5N8-92>jikdiwdgO|8*kxNLon*Up zT{w<64C@a_%|Dy`%11sI>s(W6F}#*v%$EaZ!|VC9NMu%K%`<&*IyQ4|#r~yd!3JK7 z$R5+o-ttp<;V~~lq(m{x9wU!lSpqLxoN+&0V{z_pUK9GJqoC^dN{~CcHv; z#c_L;a(lU)CoG0Htb=1)8I`iB8q(a4ZIqQ!NIvCva!zFu(vTwgln-yt{{q|n;sUu= zytJBF!7euTQ~s%0B6HwdyudM(eQ)WYMp|Di=U-g8+Wg|v(){And|hWM_f>n}MjzAD ze5XI(>3^r%{~onJ-|2tPl#v%tmVZlvxbi&&C8npPt0eB}JuDH2vsYGFpO#x3zQh() zNqL7-*`PYs`u8MQvtAwPCg~_ybCWvGLc8_6wuZ5JLXIRr(wHAq8^@sL1OEyS@m@^codFQ(;4rS1?&>3%-u%1_X;+#KL zOH@qlDW*dqU^A<_{g>p3!oIRbJ+&>qP%@5ZJ&(qo)9$k|vq!KfH=7*Z+>i3o z*POQmnitNP!eg$Ooh4UFeqnB({esc4g4;^iEmwS2o6y25Cc}r;3ic}5edP_MWr@rP zWnNhxtzLuTYtSKe0To`!$ekkm#QjaKS*7_c#WgZFJ{)jfkrzx zpVq0C!2T;RCtY!v78m$#DK z<@j;y4~dD@sz#zlr@!kBS^1-C6kl_i!gUt*S=;3stV|*Lxj3g&a-ELW=VTe0)P;7a zH7P94^Xj};%i>v-w~b%F$F=QH!DnmTNl%Xgn$^AF>Unh$$r{Px6x_=K>}IaCrQ{3{ zuUxUr{FgfG##UKWw$m>&gyYB6GTU*6Id!&;`nv|y?NyDKt?Cw?Wc%b!qya~z)I;$W z_WLLyFV-N~KA;%f!s~06Ru@PK->P3yIj~q|z)dM`6$w-sNG?iBA3bA3#6t$>yW`hh z;&*^q_4vs1L67p@yvKP)=tU*|HM3%UK`Ev^sOX!`O7!!D>(uRAZsOT>IxgdbC`VlL z6}6Euc~PJe{d4zCLaG=@tS(kORbLJ(_e-XpR^D;Mzs8+BKX)asGvep!&uW)_D9(}l z{9|7;IWkW#rYLFoD=PS|?G$7htFJ7kscTb+Q#S>zJmj9P{Y?JAwfLF;7o2zM!sTUP zxsMmeNsS(Bz!Ck7QF+-El=%V^D_Sx!**`yhdPHDcc+JXLD*6SsKK-FNHepBVYjGKK zADe}i*M^Y4d612hBz=xbJx4M3N2R`?e^TC5LM5bP-!DIAa2J+(ua;W8W7sFCY-E1E z>eyLzEtLzlsI`jq%(aQ8!rzHk-cpk?o-+&)8&aQnOwSKN)-&POpXC1v zSEmHL6nM*5IeYP1-2Z0i694fpUrTGLZ(zZmGbwi%e=56XwDO@A<$FQVXTqb2GK?tQ z=EqN+pNG}?;q_~k-(p$RIpSU_`7U#%kX`!SVi9qHoLxOt3BM`fRm>%mG;tLY>7+i*#k|=griAKe#frU91gjIin~UoHfw;A0X1Oi z+TuXL!A9Ny%$%s}?$875zGHtwVT;|F*dDjuZYzF`Z<(ARIr4 z^UQ_C^fz)nM!DrFDS0n+Stp6v^O3u#0U@LD6uF&ytJb(zxjyg|jd%Z^#=Cz{c$x4r z;T6IwuBN~#_AvEX>mYC4lh#n;pE4=Bv36!fifqj?kFLV&CEa{7C z`p>bXH0yG4{I9QVxcUPRF*S}C9b71rde1R+s~!6~eaReTv@cMIz3=fW6X?1w$Q%M&lugF=@}t+T>Wne#R4bC(bVeM$Hjp|os*G=NM4!={ zIw+V0wui^FdwoyRz;?ycwFP9+B`-X7-t!@qTk0lYUP)y+O`%WfZEN|JcF`ZVI18zB zdR=e3!n7pKIX1i!$P=HhnrGgO(~;f%m1n_Un5Dw+PL6Lo%hhQy}3-J=61iXbKm^rcuelKZH44s+ioIL`{D}n zt}l|;>|&8Wv<^!(-)hPSWBd4Lw7vWp*A<0dk}vI5w;qaNhmbuvoS z)TtFP?etxEV@&oDZ9iJg0fPNVPAlw3()b!xAM$LM+kW&A!(4r-K=Qaj8&#hCV$`3w zMwQoEGHT7zQFGl#y_f5l>T<|6%<=DV@4ta%A&P2O6v?hA>`S9~*ewbo7!OmUP;YWQ zV7s~?KA(4uoJOElEHsy@<8iAV+lgv7!f6q`%{#WYc*UGJ8u5p}K$9a+Q$Z@|z zo!7nYkKg)A$?sj|CD|jtX-rF1_s7uFi=7?ny+TBLHI#VVyFc!``oNRv+Fd2w`pC1E z>5n{;UUc<=%f&9&Q+O}U=SOqXA1)#i8A85l4MskYXMLDwF7Nk! zAU&fX?~(i)J@!13otr6r9^nm1JjZ#zZ}!8!+4nz6uNyt?R)5X+jiBpR--oTa-_Cr* zSEBTNDD!~=wfBu4c@IBS4 zRNeYWa>(Bvb@spPad+OHf^ReH_dm*Fkfir(0n4U-`*!+6=?`aQ@|{IghvlEd$FjM) z3mz$2((OwR-v=1MH@!ezHNx5l_pqKq3)<0*v*<-XE?^Ynn8FOCNiund;A(7v+&>$P?Jyu5 zM#$TYs!%gI-7uTwahRmsKQFF7NN0gEyJewOEgh*a~^8R}exF0V85y zK|GSM3n|D%5lUc#+^=4ZW2iwLn$dzzoJBw6{`U)*#0=&j_sFmEX1jqrBN>1lh(;_D zkO;Z=J{jrAMLvq)fD_d?iYBz61Kl`_Ui4!K!x+aU%)o0U+XsBG4SonfAhshCM#wu~ zldv19NJBRE!iFO_isPt5E85V39t`0;hB1Z-Ok);at5_%40zdd82q6eV6fBVU+9qHZ zb|Vcr*o#8gp`Z*$P=i|3p$mf;!8j%`jTy{i14sL<;0*2&3IifwK{C>jfh^>~3VEMz z2})sy0~M&kVH`y*PNE5|Xh$ywaS@}qgh@=nlatDN_+T^q5QtzzA_j>_Mk+Fqhka1s zL1+>r%PeSK}fqvPSoHePN5ZD=*C&} zV*o?Ah*3;o9t&8-jlvtT1=|pS5QHHdu}H>lq#_4o$U+WEP>Exx!3or%5lv`8ANnzfF-%|%^YG+4 zhaOw84gLs%0TGBqBC?T>BJ6`52T_g+RHFvRQI7_+pdH;9#U!RM4=*xItKowH1jB%6 z#9%klkb!LEp%gYaaRkS394BxR9q2?K&S4Z2n8qB|a&37Fw!#mA2tp`!z=#+mAq{(x zk0KPK3{|K{Bbv~RHnig``fvgB@FqjJ7Ml=&VC+B?qG3S-l97rmWJ50P??WjL!hv#B zpc+R}j}~-b0E4)Iaa_U_X0d?H+&{1lA=r*^L?a%%A@^3~VK1z3;xLZl7#eU2t?0o3 zMlcF5AJ!w*V;s&Evws7Di8(Scs{V-Q0a#zl< zbWl)+N*qHSTF{P8bfE|5F#>s}Xa@7pQ2<{Hszg0D!vG6nk%%l*p3*)BN1uHKqj(Lh+-%>hLdPOGdj?T5scyzCNPHu ztldUBA`C`YkbvDtK^pQ=3_B`Og=45kBbv~TE}X-8T*MeAF^xHR{w3QF^w^AT@JA3r zVL&Vrkbx}Z!-^8vaS-LG#!=MZ6k0KaVO+!|%)rx+X<{`35Qq?LM;M}!h$QSr26A9S z87grCb!b2vI?;^*oW}?zFojuoeUa&5BQ_xr5ilYO@km1!a!`a~l)#Q7IEH#Op#`1j z!C9QcAkO0grZIy#==|9~umPJ8fKWsr3b9B)K1$(41*%Yuqd18MwBjs!F^FNzU>06~ z#WF$<9|Rx}VF*VgVv&U1$V4{sun(oMp$tcG6m@7s2fERN0i4GKrm-=Ap=tLhzFagiMCJnI`8?YH$u??Y!KqM?kL<&-ojx1PF ziYgpM3tG{R0SsaY7jOwP@C+nPu^!vthe*UA6`9CJ9;~q8Aj)tA$8Z8C(S{BT;2cIU zhD(@&?r&HwY=J*QkbqrCLnd;Ni+tFiz=0}MqZuve#95rj2*xpqIcx}GyFe(mBLb0# zMFMsq8@b5CJ~&Z@!>GY=)S?wY`l;bdtq81J4Ko zAP6A{gAp-EK^n4vyO4|wWFr@) zaG)GjsK#;BqXpgQ$1o_s8=p%|rbq6~*|1jld+t!P6B z25=sun1I(;NIR^DA3_m^9SBD}5|D)5NJkEG;XoPcP>*J`;4Jzuf-%fMw}b5v-q?&t zM8kpvq#_+wl)#A^)Z!$%F@Ou0#1v-WbqD(|wqZNMU_=aJk%VNVArpDni(-`FFizkU zI?;_@4B#BjV;Cb?fX=|Wfgk)4h!8};hLol{u2O<%LJmkZQBJ6`5<)}h6PNE)7 zXhA!=(Tgc~{T=%=^jMEA@IxR%upLGuBLkTzL@5s97@E+u}DM`b|Vvcu%Qgca2zL5 zhgP(q8|N^DSfO>gn}|OpaY#4zz{BB0^YHt0oGyzw!$Bw2uBnw*o{o&q7Zh}p%G1JK^uB7i1WCB z5nRL=CNTqD9Mi>G=;4FS*oI(iM=W+B8R^JEK8jERCn|6lXEBUXOkxW2@QNpXY(@YA z5rXY7A`!chi5!%|1}7?U1Py3JH+pdn!?=W5%)#q!(hwW530n|^Fzi4C5|D&6WT6Ol zI8csC9KkWvqY+JL$655@9L6vQ?*#TwY=S?65eW-2kcC`Wu@9xN;~>g$9JQ#&DYT#$ zgBZd*7T|dg>4z-{L>M9wjTj_hFA8Bp1&-nvPN5qE7{Mh>U=H4iq#4#?JvPD*{s==1 zEZB=8C@4b}j-du8(2REUpdS}7f@#cP)!(yS!v~wN8Cwy6C`2O`>BvPsN>PC-RO2{K zq5&=FKo`0(go_x*0(_E4EBL{PXv82EsmMSnY&eKARN^p>;v||egfUED3e%Xw0@mJ3 znqdPrAq+bZ4kIi`!Y-sC9XZIwUX-C6)u=@yI?;y<7{fSbFc0rtOcR?CfFKwUfdnKX z1sTXf9*ST`6>8CdQ|QJZMsW#Kn8)g`v#-Jj8{vl#Y=;4nh($b7k%k=Xg%vg^aH0%H zP=^K#U=&kWfG(MR7T#Em4cH1l#2_ANNJlOTQ49sgP>Xsrp%Z=R$3;xQ^BbfW^zcCd zf)I>dNI@!ck%xTjgA-M#K`lH7y2=P3z)<#7T~#?bi-zBLo{L$k7T66ihWRU z7)Q~7Mzo?2Lm0srE@2AOSb**yST3x`25iJu1R@0Ch(`*tP>2%PQHg3CLk()tf__}Y z1m-XgT?%Q3P1p*51R(+z#3BntIEX6LpaI<&z&Iu`g?V`0$FTsbp~n^kA_UuEKn!9L zk3{6bib53QAQYTHE85V3ZuH?C&f^kh;g!ntumKyf389F95iv->E~Fq6S;$2ZDp7-4 z)S(&e=t4iv;XKAMiFtT`lXZj**oBp?l0$i-e1 zq8KG;L_0b$h%t;~0@Kjl&oKn6;Dc=lKoAUwf&~dkMHZ~E!-)zUMGa1(9bM?g5GFB$ zS**@v9b+3pU_c~d5sxG!BMo~|3@6G^fnzw1Iy9pbBbdS*7NC28eF0k#h){&Xh#15p z1?k8~F%&pZi7FgH6PnS9v*^PJ#xV`gEVe6b!d3(z6gv=!Xe1&9c_>0D>?p@cw4xnn zaRC?M`5@~8>#-5RFd!U}h(;{pk&N9)MFz5wgS|M2!#Iitw4xJzIEP_e!UPte%Vzyx zEjA($A&5c@EJ#2ma(T&jw&3%G1Q_Sjp#xT#xad~tj%S4;Ew!1H1Db8JK)wj&(Tu%ZzAPznVVsKimUq75S$!xUyQhqZaE z2W-SvgdhU(NJ2U?QG{aHU`H8_pc*x(M-y7mh8~1T|C{Cgk?dZk@T*N4*;8VbP7Qrwe5=NvV2m7GFi6c0HlW4#x zG~+ymF^V~OTUn>@M>rx7k2K_<5DFY9M-{4Z3@6ZpX0)IWgSd!sOk)n7-(mZ~HUwik zA`ppP$UrvokPkZ?IEp5mLI;L$0h917WP8D8Y{51JBMe5wVmDHehP^1o3Dltx&FDlg z1~7~2w~WPa3o+C(y$kWaNr1zp%(RML>KxohH*?_67%rh z&or>7K9)a;fO*Kb|VeND1m|_sKyD@ zqY*9W!UcGLm+b&P*b0AyVml%cg=koifOOkJHikNBjS;WBqSphnaD;S%5VY=XhshPa1Q4&iZNWm0=y2e&tn7p;E!+^5rYJz zBNK(N!GUsAq89ZyixEs<5;It3XT2a62}ndLGLVZr?88CS;5ce=3TM%e0SsXn?p%A)S?kB=tLKKa2_-8e1dHko3Rz!umcf@LL$(H?iSro27^a|eG99di9|ExhMx-DO zdr<^C%5elIP=_XTq6hsL#05-a2D&FXE@3PDk%$arBOg{2p#)Bp<0R_QfL3&&7yTH* zD8?~^1^ASaM({&0A`y*PBw;r)k&V5u!HL5-ij$~ABTk_i-59_yCNK-{r${GkgdhA7 ziX8}t5m87$5^|9bI~=IQ5mcid&1gp_E?^Av@GNKhK>)TR0?|l7BGQqCeX!#&s?ma0 zw4)n?7{Vn?VhXeH{Abb(+YkaHVvvj+?1dG@u;Cz_IE-UBi8?f+4ISu24+d}!qnLuO zg6#|Iu?brdjtE3y7xGbwDx5$gn$U%FIFE~%zzlRxv!7uDA`y*PBp?G>$VM*qp$bQF z98KuJFh=23NnF^7Z3sXx!eBrwl97ruSWyZEWjKPPs6zuzp&6~{#R$eQi>==$y%CBq zgd+l(C_^=l;RI^Yjvn-(9~Uu!Im}~i73UTBz#l=_jvX){3Kk?H1*ynG2@awH$I*aO z=)hU@V-Vw*f!8yn5mv(ofe1l3j7UTd@=yvJ4&nqF(2O>8pc}n7j}c5`7IRp8nDv0I z2t+8t5dkA&U_la!VMjSCaRha!M;p4(gR?k?iMJ2f`7B zB%~u3`6xs&6qKPHm8d~I8qtm}T);()V;Z{W*e0lbFIhypEAp&|^I|BM>17gAqxvq8JC^#BrQN9ZsPGofyF-%)$HL*w*2P zK!hL^QHVi2a!`a~*r33Ha#Z37YEh3yw4f7xIENYNYB)wGXhKr`CVjXs>i2rgj`UeB{lV+#TigdGUSE~FtB#VA7+YSDytbm1H>VjkYLY{%G) zQ0#yKQ7C~O2jM^kYS4fdv||t#Fphcn{9leu2!jFPh(SD(u^Xw#!CsWY1}7?U5^d;2 zH{=aF6VRPx+2M`VSc~=8gm|Q2FY=+F8YfVXX0)Iko#@9ooW~@lF^74q`XS4J%?Q8_ z7!ZvFBqIgs$Uq4ks6aJpaT4`t#UO?;ig8@RBxW!RuR4x>h(;1pk%ml^;uwyj13l=& z0ERG%DNJJ)3-J06)+hWB1PkJkfZa$(7ILr`4wT^ts&N9%=tLhza1mpe#ynQlGYteF z2-^{b1SBIBxv-)H4jjf&)Zipep#{Adz&yNOAnmakkuV|#u}DM`vat`vI0z>i(1srL zVi;q%ggJOMu-#xiHen04A{0i%BL$hrM-fU;i$*k~4gENeivw76Y5nRI9~u89*UuihfBJh5-J|Pt>(+R$e2SsI zNdH@K&p%5$g1jI@8}90RaJBAR2~D^|8&2j^{TM&H?t3>xt^LeBHt$29ae6(uqRdnJ z%kTww`-CfAnQ!&8IQ+8r>&oz)0zH2HAFknLIn>YM@G-W}9J(62hsQ6zz;?i@KSM~= z!8L>{*yNtoLV31Xx}VT~&(pde)WRe}W;FQAT6d5Zeo+gzXyH0SiGPChmH2+Gh4LJ> zbibp8Ki0xJE&O*aJgSBHgg3Bj{-Z1W|JeH$_^7ID{RyNPEjZB<8x=GvDySm_0ZApA zfdnTyQOZNniXntRsF1{Dg24htLzLq{x(td)_qlC@@(%)D6X@A>*^tTyE`xub^hH9?7J9nSX9yh> zIu}U(&!L{-F)#^8exrble}AF-3!Mg}|F2NdS&r`jQH264feg18$Z*qyo+R{0p^p~& z03i9ixi{KegnJQ)_m=f1Ao(lH>;R|y7y39 zt*NazwRS>vU8GpqdpXZ2tE=Dvr=8g+x1C*qQ$BIXslLc~LTz<+S1s-8V&~2|zz%|rgH%Oz*y_^wsaomMn)?5Ws<#A;Ai z5h<-Hi$p4FtGK1rw+GB2xkHZ`m6I^JBS(!KIc)fd(ZiG93q3q<^l0t7)4kBMYs+dX zOYt&~u6C-gFWJ4&tfRgh?FVhKZ>g)oYJ2;)4UHnrVBIeIY#MDH+dH;t%IxU9&{4Ey zG~~yy+tDx#p+&l{kzkwd?p?O|ye0weVqy#<$#rbHyC=C)@|hzcmLpwgR(%EN&!l)< zEW5iWd8zOV3BNmqpOEZ(D(z?DaQvhH)^Y8LNcj)LNNFDe$+mAJkZmr)`zGMuG)yP| z5mk@Pl#ulf4w^nKI3+lF5>D98F0s~!tdh2%^*pZ8*nq41jMLCD>6bVaJb2-^h%LST z=lWdktbDv-oWxxOh;M)kE-^S1FeabA{LMFOtF>DX@GrR*&r4b(r;q97UvfB7KBl+7 z`FJ3XuU{MAujx&{#Ccq3K>cuK+4sUXJ5GS+B9y)8Al&16;g$}_H=$@vruAsJye21% z>l?$pM?B?k{wG-DXzy*PW4QEqBLL@%|4~u>?gKmkci;W|x#w5-3AV6a;@Z=R!AbGn zNP=XhMu%tu;2tC+P}m4$9`F4iBHhkF*4N=!ey$Gw5SINw)!vOqnI&$`taB+X2+QawW|jky)XpMQuL+lD{EZ`zFT_ZUy*F)9AGN z`GwI58R6)(4Mlmc_?JBiFDUuJI=*Y&@zpTdEq(E;N`r-uW6|j;{tQ{ivcf9dz|jD3 z*@CYDsm^h8nGUb*r%T2j&|VI7dzl9>!4`f|@e&-455_#t7Zqa@0E{giYCXUxjxrUB z$&-qa#e?;uQ~MU>y|wrx1e>UXQI<4<)j7d*t|kR>>CV8%;EB2WBXKLdpo%?|6MtM? z2KKCf+1Ip*He?pzikjjM-V};EB5}(XZpOytGi~j^!iBTApDA*AI<6RK3+25yKMPm; zU5e`}p04|;__JPYA5mnr1)DbSRx)HQ?ozn?q}Yf{anECB`i;0T;Koe3a#e~hdf?{n|r=!D@to?dTY1HzF)kW+Y!Zmack49eRwTG$J2RV z*Z(s(ciqWgn|DsL2lE9vR#Yg8Kz=NyGqT^WyYy-k1K1uY)^o9=ZgX ze#GAtrEhB+FWmdG(AqTQr697-3~X$AZ?{PH7n^cljpEva)^sbE+30v2H(UO5$SX|0 z|DuZ#I5^}v<`QaW&;NRB@fTl-_t%C zNkF`zAzy`J>DLs;`d+Kb{SPSjKj1F2z0z;wHDx!dk`Lv*QvVk2)oL!nXN((XT%Y(l zCC!{@cjh?Oogx#Df|p00R1c~qQX5%NQ{kp?j=XOiB`n8J;)!k*GiO)S`Q}v3Y@mI0 zM9B=1>Y8ehIP*VJU5yj_RZIq@52wem>b`kp4G3G&zz5ArA3E=d9$>>m=p8!e&~fSr zdY(ehgXkT@{yUj|3Bz7xy!xS|U<(z5Z|av?FJt%rj(*6a$EijGfL1p!2Z%2&t4wf= z;7Gxr2!01o^!J6}HbI^VPWugl94C^#Meq-T*9t}jX9<=H<^$0$2l@k60)BE zOQBB^q+E(u6F3wIk&2x*)76LNZ;m6+()M&#W(jK1h5~dYr@01S7H93J#Q1Aos{exzDJdGdD7)%80G= zFh+TVcyD+r$Mpq~3XF9yrszh_KPI`He@yPMVO`4k^U7*=rJUa?@~SQ8+w{)L`7fYS z(%5qTR#g6DXwgGC-{!;mO!KXzQ&Xyr+m8ynlk+#Aa??y#zdqkKWDwthuMxrl5eA=4 z!gMF+50><-kRTI~PvN6%dMf9yKsqR=j7GrwfXU>1^5?&2$OD`14dwjkiIsWV?&;Nt z3mn6c>@#v(r@8I}f+&?4ie54u-y5a6f>5*|n-9l!wBa|1fx-IpL5vC_(1m!<5XqJS zw1oQ$*xR>WDKV#g@6Pd|$IE1#1)c8i!?@!ijyrHeACmS(55^sP>y+#Vh(C@*c*Y&K zYAZGF_#K|@amNwJCC439^z4Fh2Spf&mk;CpK)k#ifI>P?QT?s}xJMC7;M+CyIF4nm zt{BT2s{>8x6sX<^p3L`{yG47#LiFU&+RA@Hw%901O#fXM8riwV&A4c;(N+Wu)d30;DcMS7C6x(hhkY zH_Jybpk1`V7g->~mfs^K7q$z-q{WQSl>j+Z@?pxJjI=4Y8LfiCB8(DA-+-m z22v%6mrPA3LUBZ9WOOOBI2CW^CGGhi+H-~We6!oLMbAgV^BvmrGVOV^_RJb;aK6+@ zkBm+}!BB$5h45GE@aOCB+u;)_7ypilZ0X4ZtG10f=C*XT5>( z2QC#WX)Ccds|KM44T7$+5gpNmfXLf9%-dp$Y=oU-oP?spzBpJdqoM2nN>xAj5it}pAs?O2kv@H%pZmz1Xs;TCM zQqHrMpnY<^(-B7~`PiWn60=UCi?$_biq9?y8l?o2tpTsrZE}R1tFe>&a&a$0bJ-I) zd=SD>4sQ`TT;j(YllfQSOMiv&uu*VL=?+4QTZb6PG;H9KN=yL^s2}D*(jsrrp2n+x+Jm+ojm=zb?B={_l?tc;b zzXUn2L;t+HiC85#TW|;vqEY^vD15rVBKQapazJ3~PpG-7@JTJ+vXTduCNsqte|V z!D)0{gA9Jg#vo%S1`!Tl-I!@+9PF4Qi!SF6Qj9BxkIu!+0!@nfgQ^*|yK-E?d0QHL zTw&9wQ%ZhC-BxBt=MT=10QR^d2Oq`Zh43IMgmLj~!{nm8PZpmViiR>l`IlUTNQ%o}j7F~b zru{b}LF|dw3sL1DfFY`IvRtcgU3Y2zDtPuZ+(7<82GpuQK?n$8Poc~aejC6DKTL(^ z8&;yyX$euM{U5oXBMqVQzE|MJ+1PdP5-NWYR}OzsY_%1C(N>(cL0vg~D6Sk%+{%kf z2QcT59UXCvbqqAA>2mvUdogB3YNzt{;k8?EU27u1tmRPcW{1*VijKM48grLTEW8_v z)4QP1)ou&#hW_*}Tsv%&P@~?}m&#Y%k6XV6_n+?p<(Izq*)?A?q1bvNXyKM*Oe9#} zrJkty4%tgg)UYc;S$znQ0n@fa;lZA$Var-*ZR<2(Iugw(2TbPyanWzGi5ghCCu%-% zPt;U$qUQZ@@1rnL^9iDX#JWNyW?&-#udz@kZ6=^7_e0}NUI5>&0n-?yLh6oR2V%?M z4#aQB4rEB79N;KvnL0W>XnF$NP$Z*ap#@kD6|^kcf+sa!vt?57bk5jdidWb3riUOKIfl~S@SnE=XF-I*NTE>5;heq!x zF9V+e;B|7uiU9Wjj2tzA)B`FRz|25cCEFWixXzI6t19NquAG6pT5Sp6qrg_e_z_1C zw9?sUNdHdYT|EYnG}!|VQvq(qnGot7TU)eOSG1xqO!I3L?m@m@_;s5av5BLK?u^_% z^((DECx2yZIeT1FI%QqTQ zfiMByafvQ2z==q@Q#V4qKx4^7p-&d19F4z{Ec~D=415mH4F4pM;T{pZPw+M%-7gio zNsxnj{AHaYc%oo|U@st&o_{aO2aj2I3El`q2NK|r9Q|Yd9moXvF9XuwC4!BDlsoB8 zJvQA>6xuyFQ*T;_IJ)!o8hI$#wEu=9%(4Co-VZ36{FKu%mmjjOZa~8g4SHk9x?wsV zBl+Q2(N$sVy+Z4sVe1pSH=luv=&gCHM0C0U*+K_>DM0t=LGX)Tgr87s$_gD=Li(3b zQ|byG)S<&p=u;4|{lw^$t1kSCvkaWm^!W=v3B^jt%VD$*)-FcdF*rdodOM7$9k3@8 z3|S>;Jrax#7$oA`V0bUF-hs}WD?AWB-3h55v)BRYRiF8vVI{HE@MyT&)>j=w@8*Vm!&sH(I2!9;d*~SB2Na znBtQeN5^BKArIz0ig9Ccbbe+qx^O85e#_Er0>i##88(4I-?F|ofdw?nuw-N{Mu3mi zuM2gog&=-l=!=aQ1TF!0)THQX;5TBaHR4jZhB{j7KSb6RpI;n1wWHA5F0Zd{cdR06 zZmlnAFDo9hKKIeY$TZqNiny|^{>!41qfAh?HF;S&o|zs#XW*I1;WNgfYtxJKo~|de z$UaEN@r~y#q&8<>6kwaNStaXX#F)m*C`l_wWNvPxT3qFny`Ub^? z4=U;lTDzfIEd;Hc{RcMEm$$tPg{_j7uvLVQuH??*ZWk+tqiRJ%u<3$KU!*|C8y!f- zp=ezwWUW_LD5-o{4$SmQz+<0g2QKJo%@)W_+7_+#MdnS#7U zTd5H>H4XL@+%=MkZaAMjHV>HXofchFpzDU7%9ljov?p4Nuw`(*VvR>(^Z|SIC*-?LI zrzMbRh`$I~Z&(kicVey6FYTa^euW*UPN>fct>?W2(z^03#UQ&|8___Aj0U=k2}X0$ z@-i@zoL`0{qqP1AFd7zJRI}l2$0jYuYc6L2QkS`_{FsFnG#Dk#pGSsaI(0cS7a1a{ z`W%@2t>vnAGh_{7`BNBgfVYJPUX@r*dPBlq)rzBafc34L@D)&tm% zqek&jly?%N^sG2!I+agD9B66m{Xr* zy*vr)a9+gZ2&8z>3H)WS0G`U@zdsyu7t1RaIht-Z(=E;jJ* zn#&(Gm;Dvh?@~9H=fS0YDm-7UJ=bf`|3v?fD5tqSQ?6(~5}s#h&mrxZi&NownA`IU zuJlcek4B<$pG5&~z$;vGDO^M4+gYB`!j^BETcz1t{F_k6(|Cm;Ytbsm40qxU-W1IH zrd+$z#U7!;XMgmY{P}*D#TLQ{{k>sVT4;m0gnch;|@ldFILvh{{3s?vQuLm_?vx0ta1A;Ao!*6b@ z;uU`qbDGNIc_;#Syjy$xhw}If6qN1pBycqJTzV{-P$*SZV|CeZ(E35?w(4-|DYtuI z6{vnXS})90wny8O(FvuK!_#YJE1~rKvQkCWL@Kdt-=sVlFZUs1bYXn9RdAW}J} zc4kc(mZ}EoYRiWrcK(-F4&|iSO#K`<=ICRN&K+vIb2;izl@A$Imz#P#CnGyIk*`8k zV@Y46whSf88TyLZ&VzTJUe?*N==F+Qc;IwDR>0~aCOf^_6@Hj-te~9>rd*b5lA@11 z;s_O3M`=HL+^VbQRYS2^T}2++Pr^$3#V_2Lg6ewYqe?|*k_m6_cUfPh-X#S3IQHVC~|@Ls{Y1TP2DpC$A{!Fs_F z;(oNyhX@W3d@w_YUkPNq*9rbs@EF0P1k-_x?=Ae$|7(Je0nvt++#vKdg7bmsNlQ)y zLLU+s3B)VQKNN^01o{K<7kCTrS@9EmLGU3U-ES6}!YBPz3v!{44P1;CB-cs+_$qSwQ+L6gppUl;BXoy@B-iF#ixbT`)A~;Tv`(EkZU+8{qv`GYAhR z-RPm&8Jq4@U77SPAWZr!k2~`0a^K(MpVGM*{!))Shg+um4IX-nC;V<6_m4g96e~=A zN^f6Ws@AcTS92e-5;PoreNDZ+`aRWBdKI*bb@G#yuuxnz%iip(0_?<^7Zt9qX6~Gb zslE5Egz3CR*zV#g&aE%Q=3txD(u?$X9$VE5q9nrD+RW{^WphjG7Sxqi)YevWceUPC zY%{8>n2SBeo#ivV?O3Nzq>?W89h)ha{luRir?D-0tMjOL+#wM|=8Zu>s zKD8+=MfN7!R06l6@u4940q*JI<-zhT|Ui^V-!q|arJ94!Ol>k+v}L-t2)r8H!0>1_=ecQ;W(HVU|t8nWqJ zbFwAedl1%~yaU!4gr21mqZXTBbhd|18Y`SJkjJNoQ5`D{^wUs}eaoOqy`A+k5`(;O zB__tiMwntFj7z-(WjGhIBWgDD2>UZoS~a#%g`pl?%~WtP&nsAB;#!!WgUJ)65QD14 zSRxTeAXSi%ps^=-vtDL$C~bpH3o$`|L0S6&2_0AxcY9YbI~SyirEO%#ECN?{kZX>X z4@11%6+9YREB}(Eh}NFu;duO1E&)3!8p;S-{%Aqppw*|-5)YKehYS_VdKrLMae<=x ztpynAVAt#H^Cf|#u5){t15)<+UP!%rj7O7_aU%eX4^vb>eo+SFX&`N-7T@tn2%4Cp zW=pBIk?q>G<5d_e*ZFXC1UF=M+KcIo(v8?V*{PwsXHhuYyPX=ZK>E-_cZ&Vxf=dNCPmI5;3c<4lPZt~lL^~9abr*rRQTJe#^}66=K>U^bm!?ZN z>4dHzz;(>%7Xqhf`z$V+Vz>gqW5k{MDBAy2@J+mH()Rl1=Y)Pja2XIyGOzSi{!S1) z5{OnHupbajtC~ds%TD_ur^6lgjw!&CNn0Lzg@>kJ(|?_Zp6H>!*E)?Pm0Zg?-N}4A zE8=-qFn1x>j7+``WBABpyIjAF<;&$&#tA6jSFW+;1$GNGHjO&4Q*sUW3($}s&g>2p>@4QG}2}f)mY|=k|XjUk{AsBiKA?FCS?d?TdI0ZTSYw5^I5P($TI4h+MXr zwbEV-{6{<&TANeKWh2pK6(4#wdN+zc#^dtmk@Es*j^HKhFhL%uLpodV8xW-bCHOWF zCeR8*R}|neH~7o?y&zB6!C%R*@dFkmlY!{^0vr#~|DHhnW$h+Ng7l}Tn{y>3*uvA;Eq? zbVY$2AfjN?tZ*gJ)OW&7(XBw5O8nE#Hsoj0S9s{P9-3=aO#i>}&}Vw+ksjK$Pt8+Z zcj+2m^}X+`oT!y*p5&QY!A^o?O8r>f3BS*NgkRWM&wN#R2rv16mnWGQ5&4}yfpQ9O8b z0JPx2VXnPqQ|Z1G14G}H!}VNe2TP~L$r%w-wmDg?aQY*|Dn*z7^0)D9r1dBrPY@7a z2`3gNI!TX~46N!`BY|Avie<7Yu?MPWCN}Fm1Vmzc!^RMLsI%5WPrM&krsV8zJ{`{O zE5ZL;1hM&VR?mw6C3pn?R)E3(G?1Rs6n)!&LcB6HZ2L8h?p2><=+>OFT4xl+K{}Sj z?pS83SU9kXpJ;2n#wFUnuH-5ztrCkOaD?hSrN`QllgX+hY-71T0!%198BK0y8?EL- z5>3N)t0(8nABDh_lctNF%Wn4^J=e+ZbKO^hKmM|=6Fdiq_8@Q?5KUy@7h->mAlr5P zWepIdHW?MBY*+4XbDfL)q!yT+0bG(OUr8V8X^Rjd^-Ou&V6Fl_y*JGL0 z_J3B3)#X0?RPx8Ll=E}^E-*`0XK1l-cg9yAeuwv!#_o{iiaO!Tzzg@~;2(zNx6~|f zWt;e^lz!BfKWrL2cS?^{!?NdMJO`d@P2ASwUuok!T#7?&J?8Y`}Mp zgcyu;G3#76BE{ok*`556Bjv{Lh$bZbG}UwYqekQp7Wxk?f9#m-VISMeh77$B&lwR7 zkRf;YoBxOmYuUrU#GILE}`&eX2CQ&U`SMoy7 z4=cr4@R5276%-MiR?$l*6%TxDS9V4|XchUuZkHVSz;o{lzZ3jrjSvh79wx|{UCImp zLLFlN{SpvXS)80Dt^wk&gcHG_OD+Mjzpnz)e^}dR6$u_MNI8J++=NFyR1Okf#oHo2 zFG!J}^do{xfoRI|3xv)SJQRo~Ezlo`CdrWpz}BV5U~QnCZN}iiq?Xo>z3=YJ-25nZff+F4yiCsl;Kzj(w5su#pK=lVnIfb;!f zJ6!E2#xb9x=yBwzJX*qZ(nnxHbp&gS?W2FnX8t;{&G>uE1vyk?!Ps(vP4BE+Fot6Z z;m58#ghn$$iyq1aHXojcMKiOnM*CN+Z4&E>pa8DHr5C03Rp(*VbZKe0&~e0rI%OP~ zBbJ-@)N;XAEb5ec=3?2MT(D8nW6K3xbS$ERiUE3sN{LEAcY29!NC(!b`ljPUFu(%yueO37i{H}rJJT_~gTj=REWeYWhn!%o}f&ZPsN?5?`WpQ84~|Aq8<))lpB zD>Z-h5T1h0s_}}yTgo zPPY{}TfxX@VW%{@8tB1T6}sNXSC76>e6#W$SH!K?Xp^vu?81kZf`_raPYU8AIHMr; zLsr}cF&*ATQ}YRAn66erEj}&Sbl;%4C|&H4Q__)M>UE{&eK)|6!t`624bSbNuDD+C zUy{VIX2XoQlW4wQ_q*a$UKpw7F{Zgp+;T*h*b?{^$_bgC;7%AD+_(>+5R2>+Z*Fa< z#%90e+#PrWoWXb5CSa&(4c{HIdlBoDenG0p)i!Z|GbfZ#{+a$IoGOuwH0fxEyQ5tM z53>5oa?TrU zl!w6$mC;;!pLM%X8p*}aVo2kqa<^;qLQLar??}cfFqgv zGh{?;4jYUm0{$hpz&1ZZv z`Njrv3j>7nRsaetTL+-t+bA$j`>36P^aamXYR~QHa*_1kxIH(~Gj|5A)ShQ)&-ZK3 zr?@>^Dm`|APK>X^gy91PuvFi$%JOQ~6nxEA(aQCz(+fq_r*G9{gw_{i!!OFXXt^~m zC$xUtFh#B(H&|OEGQ28WX`#=l$jkI!z1BK;bg2Bh5Dq@T#==Gw505pl#_7Wknh_lu z`&H|Uu4fk=vTor1a-6$1I8?r9xddCPlV|l-DdbQwI^}wO^uhH!`d}q0e9v2~(8R^d=2B0BAQ>*Wrd(t%Ve-isvu zXiTNe3Jz20;ORp2Xid|J&#9|-)wCnYU z>eMHFk4e85A$#ch#P8MCq#I31e0L;8SMY(HdqSQ0D*zRYCy=7f{2r81!PrLFY;Z0^ z{ASe6rZp4`@D=UD3ZPoXfz6s1x4D29wWQ#6s+-rJOkOy3!&o_i-iRk6`{MKP%a7H+ zWD?pfVSb!uzPo15DPl1H1YjieHaGL7ZssVkIF|sbZI~mN?3h|27>e~P1Ql#K9l`Bw zn3sPc`!)B}5mL7Sk5sh=Th5MuemdG7#O;*W zf54KN!a|?(RW{VX5sArzcVudyJ5zswcf0h1IHbF=eJl$nQYk!mDlFdMHUtI_3OwM! z^~grS+~winDH-ck9=)(ae>Upqg?EsB)adxpNINQQ{8XTFwl_ljZ|(<8G6<4wp@n*Q z#LcjJ7e*;YNM+^Nk(yK+F^3yfoT-a0l@b_H%)?I1uJ?*^hvw|siV7dLV#<@lJrNK0 zjn-Ay*WzY9SYn96qwFFTGiOvsDt%Z8j7Z8NbE>QAe2f&=Qm7#x@&w*IxTgboZ#JYb5{Y`RHGF$Ml7AnpPHN09-Q?t>TGMd zBPQq2Vzqs>2K6^#I3DcDx|pL7bO8P{KE+20V~-~teU9gz;L+fZAz@%&U?#8+5PenP zEy&gQ*s@*|d_nLj!5alv2wow0sbC0*A$H(6p}9Yk{CErw@j!9kTj-w(rVDk1Yy#4KqhKo#W75FwKnzs_ zR}0PnLbnsh7d%?*d7mr&ZGoUe_uB+5AcTwjaYFA0ROt}xE696aY5yS-Lwr|oli)_d zR>6A&x!;riZxg&+aH(J&5bb1OxX?!m@{U!e>wO4CcnmxWB%cQb{~`D{!OI1g3i2Kd z`afTAir^`NLxAMZ!z1YLB|#oV!T2r{n*Ax=Yc-Y>34Ofa03iNKcrGLTZ4vxC5W}_n z|D+}OT@6GP%3lgZRnETvh*uJ*0x~{IG5E_mK=9{+X+XMfMj_FioeJ^Kg0~3%LGW6^ zGl0lq{=4|*=zo*oeL(0d0_>)t+6ep}_%q<;K$Sjm=h%Viq!JphK2QNfmCUD}lKBGg zy>(h|4?A0bLodE-JT&>xk8RjNnsgY1Ntbxs|Ky=LQZfB6@`P{pxbN$sd5)wReqRs$ zl*d2kfldG8J#@W?_Uc(Td-zdbZ1VfaAO1h z$6f1el>)X41?{fbXlm}k)ECU!J=+hvd$ggHV^^u_Ldr>(*VeZMlJkxufn4P*nC>26(J zoA9&O*@h(FHWL<^X}Z&2H%Ry#3AF7%t#58T-1%NzEW6WRuMmDA;g<=<=vN$rzP{2S z@X($9dMVOz0Q^-BK|7C>AbiSwr=FrPqe=Pf)nBun3R^KBL_2j;ZEQP-jn>th0XTs^ zvGpOLyKaLM`G?jwZ^I+a`sTCnOUqgQk6LH>FDSZ`KP&mOoIi~}n09*#q(bj`a?z5^ z;Dz5HHR)k%%~qr_Y~8X^!Rid8)6sTMM&-hQZzdqV4c@Ue<4}OTTjOzUrL^7b@3cBQ za)3hUy7TaU+=}kQVPh-0C*YZi?$3Zbxu>Indu_i8_a1}2wiGO&dfJAD0VCFp0E}3# zR8+tF07bbSOrvNo8u4T*y17hCD+97hb(r%3*j!*Kot+V~$_Q!bJ*;&&77cNzAfr); zP>DkSosEI`d#V%zyJ@~_L1_&Nmul(3cMEv>tW9C-{f_#a;Kb;(%t;-qS>-xb^X+u3 zW~J*`%{tei-cZMCzOIAyD9ro7kdUqfK3ju7||^9)7*foS(b(feMfqYBQW6mbrtYD;%O+5Ra6 zFPBmj%J%&rM50c(YenocmI90y-AL~(v+?V?41(taKCm3NP$7MXU*R!C^O&C^ zolWp**SBB$;%`Ir>?*C7Pev|;^V1M(Q3CG+QrBU3O~f4-wGkY5w}v$a>0GVSxrVg} z)HLM0xcm_w6Iy`xaW$=*#$4+2H!ozF;B?QtwF}>a0)NTh5zZ;~_%D!Xo=_&aZ|;RO zhNG%J;+~BK%XE4N{!XPgYY6~f;9iRAHxJ-&G79-(RW2B?z%_W9ORfGWsue!ynVQ`M z&F(=|7Zk?m6znW8iZ5iqXi?635IC$jT1{m+8)YWe~o8U7__&^k7-RL6C+j%y`GKPaJnQp9x?<2n=Ei_2dR z#m2l25}NKcnTSZY2q*(iCd`BvD8n0DP$l3&H3(1@8~z@Fzi{*xCfL8^cT8_oP3~G7 zP=oY5FP3FL+=y6ikXWeq)(rLByHHW|ta|0WYZ>46xfn|bic`9T2C{dk9Td}T=$F@BnOU#2oGJOWA z*=uf4%1?l6(;D{5XuK`*xJq=zu#z<ZxYeg9c1GHGYrqxbtg~Xilgj&F5gVH})=Iyk$SS-V z-7HH(&1!_o``;KlDb4D8W1-c5Iqn0xG4{(et3Rl86z(I4fvYH>QLXe+_5xse`vO`O@_~&pkS}n{{l@K_!F6?6MTGtyZzY57GjODHHiHre#!| z@$0}_MH0aTqeOCsj^ub9NtKS|a8O3i^mlNL7ubPo6M=Jd;4~dLR|kF{U<9T>7w5!? zin%fo_(SDA>mdLN^D~V0kiFa8f$v4Q_60bTx*2z3U z07g0Nj`B13b$UVITZuU0&wfVPE#CCzH=)>qZ$j2rp|$U`@v&ZPdN&P?2hJ2m${qkW zUueinq1eLXaf+-SN>%sU9V47i{nh=ioaLY2Hp{>1nNNfM>H$}Q!tv#sUY_Nz-ZINS zf#UqAP$|ANVFnfM*lh7gml%rt|Xbrs3vVTK{h%(fh~k{Kbii1nAZPgYZXH$Zej z?*F8q-|c{4%PgeQp6a{k6PfB;t&6Eqdt9PCu0wuok8h&{(4u24?eR!iI`Z<-qe#tK zq&{mfd?P0hI{8ALHoXFu4anEy$k#fgu2AKxZ(BGo9yvJo*`_g3pa1Fyt^ONwpA9yR zxl9q0H>9J{D9(Gb{tf*SZ{V;r6kE-4>b>~tefQvgvv9BlU;b1aQXbaR%+57tnK-K; z#}Sf7Az7%sTLD@&`Wf=menit6HP(&f=_s=N+S_4xOGeG;Z`2G!j*4$(1&cPbcMZh` z_;BGsZ+m9kZpA5{e8`&6N#1}Bt8B;$KitUbzia?Y_*Lvw2TQhcq4E*vi?E>!1D`jF z%O92i;aLB*_v)NubcUI9$#^KH#_baljS5P@-@KV=??7P1v$%Z3^)}B_pUBZ8XL2LFs{UB`?!J-Ma&$D!hhDP)7LyIaoHAzl|bB$rM_*vwL}<0EyJiwWTh6P(8@qutWz@0}tzY(X(&;xD5P4AjH|{ zt%LDKhS6zUj)Pfd? z9g8%w6Rw~JyQpDJYgmPS{>yIyzj%ZlpYBhdQl*o{<5N*qO_&NmS#griC@ap_JFOJf zAe@0l)2ZbXbdX*MqHFn~@Es3w?%KYNm~(94x(T4YaPf5f09BJ?ETE8;W+!kNm6p6e zghDl6t?ETtHy=O-I__uvL!Z4-)&JNkfGQnUyS*^3xu3N(6k9_FjB0WaM3-Ll20q)e zwv?!nR@95!4v|*X@Ov0bP-!zEFBCA0^@gXq|2j>FN59Q@w@@5zT0{Q5{FiM(0-@W$ zi)88{p|Wz=tjf>Mh>c6L#%C1fwJ%&aE>;*oW)^3P&|JPPwDw)By;(gNK~xlBE8hHQ zWOtRsSNPI|9quD(T8vdOLl8O}mQDbE2HHDs6-;=~j;g|hu0xVCHkyvZ-%rW3(yvpT z`i_kjzK0tSPsxT2kNu7|s{*suhStVU2&JtJJ@aKa?@j;Z91XVb>10n85eA9Otdz9+ z>O1TK%yCM|=f5l;1>3adGyFm%eV8?B4d1fo^|C2Q@p`jR%scyfzr?p`zFr;8j=kQ^ z2%C7lZ|T>IG`imFnK^u~V{`Cc{g*Yu&$w8a?^a9r(b1L?ghS;Yd*5*4g>i<-W^0Wd z+;qNvzvp8)QnL5^g3J4`!z^%z;j*UqGl)^b?4!f*N(h9xOou6QhvAJ4 zaSqM#8uiO=z>z~(TZfNS7Yx7t-I$PQj2@!J8O@LSm;8%C%3oG@0jZ@%S?7Z>I;4Lh z8pL*hj_oCYk*oh;Y+Dm0!HIH|#JxHU2OlVjo84iqMi{4I?ohQP(G};!PlvNp^s6)n zsy1}dPiBM%;YSxq7H`%@6x6dA$vTt1zDAB5My1-{UJj!&dfBMTNfkrL3S#-(0;~!= zH^*I8M=>_Lta4aZ`_aZ#Rtv!wW%VFpL0NH;84`6HC?ip~GDhy)Rj--7aE74&xf?M5S=_#R*HSQM8rFiB`a6 zCshgy6cZlR5Ljg@o(6$e$_fQKxM{&?pMS|auG*OGt&R2Lozg{3j9@jVSqpbVrckn# z$RbL11u}->;0iXQWdFqCfU3lPk?33&4D-Io`qP|f@Dd{-cQj9{A{@vC42ULINAo_w zh~_qscByLVYrK{QRH1OyW^@fTlG1^x5`k=ei1VIaK|vt(mw}Id)!eHQS4$S7%?zp5 z1Ljz1=!)b1t>|>bz?;wfx2K(dJZtKXPPLv6OVHFxIPC0~N5HOLMpp%%NpD-QSIz0Q zby%flE|#;Gu646Wu9hp`a0m+jOY7#Gk41R2vL9hNXJ&)8QV$g~19jzPksKX&&W!q5 zvnpy;-sjFORm%n<74vFxYO!VjsmUp;tu0&Nb5`OZBfPMq(|WojEAqNtebv15fECOAa! zV8L%Odp8jN+JFrIsNjQw{}8+eNPjbdm!B;QSfYX$EW zyjk#i!OMYA@dxG$T`gECSSC0E$n@+kbT7d-kvPWpieRhYJ%Tp_nXbh`pC?!&I7jd# z!Eu6P1V;*H02%*lm`Y)MF9<#*xL$CT;7x*@MWX*J1tWr-NTU5L!BW8@!Q%yo0MXM1 zK0+ZO34z}LnU1jFyO<^cpTMm^6iMK>Kqx8#wLrA&fq_7V`#lzsG2E{OcLOrqdMr9* zxVwN1cO{VFjsr4%BLuSr_Y!;um5uIi2)-oPCU^&sd~XtL608?I4G32G-$DIIf7F+f z-(Ll96Z{Xsxj^&>fo#ERp|xYU^MHK6X8;*~q97H5q>mKb2ME;zPh#v^@9vITR_l5bmTIgkhmk2fro(iPD z!-dWf+*fdK!F3ok^8H)_&wS6*fuzR>S{ZtMwvWXtsup0L|Jlz(4z(S1=9c5@J#=o z3AO=I6eZURyh42 z{J-X*srNO*^Lz%A=KDA4e|o|n?Q#FssEI=x$CaL5HYZYsK}4y!;a24l? z6*KG0D@rM!V?Af-41JYLlHnAV#`fTPm*h*AeO+GYqTa}a+UgkCz7%O0I8am=V=M&VEin3U^#^)Z|JbvY+XBwOd3 zfp5x}gMS#bU0t3x#U05sgBb?KrfJQ8H22Ev=sMpQBmnvGu>p*V1UW9kaZty~?coGMxUzNyBPma-|x|54;&js$} zFXh?0C65%mgYN3ysqfN(1X=T}EDjcg>3;um_l2%83TW~UNx^a%v z8fKrTu3io<5I5gg*XKs;i+WsWZF3*QzAkYR*H*p!G{ESCO^a|h&h++yT{+uY-21>7 zWw9Ax)KatXTm>PAuzvuJAWv>63^grk^F`+IP}L=S;pHHQy5@1Jq6vxNr?ObxlGAq( zJ{D{PZ?pD@7Vvw)0_ONvYR+Te%_7Zs2K>7(t~S3)BfreVRHV>RlP=RSWg;g1<`;vbt#~y8 zS`QXmZ^R#=4mLKBTg@=@z`gs(+{v27?*K+(BZ?2&GO4YNobTmbycfa>p<)X9U7@^9 zRo+xN#|tsbt~~NkH+Y<>Jyt4@OAL?qgQF5OjD1W=52B`;59dVJMP~CNUTXh*Nu&_= zy#J#Y=gMwdIf`C-_0FnYPnMK&6T6*VI$qJocDYA7sm?aZo@jf+Ga^zFpS!41Z7A-X zN{=4X<3XPVr*;$D9VlKc4J%GrT5r63w`mlTO;%6zn}ZOJV-6oS{nL=YGWNOqgoG5s* z;3yy(`@le<_YwRSZ8hy*12Wzh1n(03v*0a)e-LaETqwvZ${D^&kViN`<_PoylK)3= zr2AIE7d4jf6bg7Lxdey~B2W*6=#yUw#5g$rY#`*uKnak1c$hT)obz_GgiaUtxA3Ov z{+b|L71EpmB68Z3c!OXm5Ji#ybD_EPk?#M(%ffg(@HTKy;PXI?#{(OHOy62@|2vTB zyaNakF7O9n2IvYP(_0KAzp;Y-fh?CCAfi%IACY{_aXsu5-3X*%LrOc_l;FXn|I3nY|1E^I|3B3T#E9=aQ6=16)PgdfkTK>O<$ zu%&F|nC`}zZ3uw*2h}+89BPm$$C(_D_SCq>c@R^xOROi0u%FHtELh`- zP3tI4*My>VnI+{N#n=LY?H^(5EA1s(H@Kwy?c%j>!}g=FwMA^zdk;sk0$@>Fao%^4 zy_Y!A#Rz@Tm%rm99iP<2_QFARDt9T z6|;Cl#Zc4)-cZ2>I2_)N0VWyV`kVXM4(1INA1mf5Pm7MHBan<(o2@2}wkt|ngk7vv>673)4f^)Gu1&&c*W zh!*Q{eu8XcAatdo`tdvwqu4H1MF2rlkJKjxPm8|`LQ0$CNt8C*HX}@<3Iid?7hlfd zs$S^J(J3P3JPTsuu_Fk162J&~kqXJ!xZAK@R;UjQDbHCvQW-(Hlm|im?x0O(&?!)0 zv=>FEayjJUlM$=FJ8s~9n!_s1;X8M-Er)|rN=$+#X<}jrZ%+Ifj!vo9u-+@QKF7ek zH54t`P-JZlM@!mp7N%}L)SBGL5N8C;nvT@o4bYY98WjyIRlF7)abDPS_Sp3|utWwg zQP3}{JkG+ey$9hOd+b^RZt!@v_Bca%yx#D5N0(#QIrD0`fam|fs5Qw_Bxj(Pbfj8V zJG-i4Hk|YWM%*|;$~Uj9!5N9-8LMZU1G?ZZQe9m~wY&~xQ#vR^@7zEY!BP!T-K%Zn zv@5(lmw6jhvT^7(@s)>GDw#XS6Etb(PxPfVWTs{I-7RA|s>@NZ<2bc-yB?>KzcTjt zv!rRa%lgFBSe5qlAI5*9j8_?-GAaD$pabG~=x0EDWm$a%e7d%67 zqTtDbIY7uZ0l5dSghCVkN}fPukZS_mtpiai|8^k9gZ}}9s1;x{%lym$;xFr0f|CWQ zl%u)K^}U($3K;|W_UiE^hOWuo#%be z<37y84^x8`^U7-$?9ySZcQP~4c*?M^67!HVi+K{FwopUj8TE7K;v7OFCAAfi`r0a< ztUk~5$iSu5Wp^BvRM>)1->Rrbs`BKiSrWogrIA-){H6ZRhuZljUw6=QQ zoa)lL1@mT9&#iMNRZ$m`&8xPsLgnBehU4AQW(8BW#t#|;nvJ#}p*fu6KiVQ?c67Y^ zdkH{(WW{s!)FPA4ivC93t2M;L%-V1(x8C73I6;yFLOmm;jeKe5(rYZN)Alqj6ebnXaf6~@YtdW2p z*vg5?dB}a%c>IB5Pr}}b+<8d68pFzXv|pTIWjv}V4BB|yrB1AaeO+beu3%2Q@*u!q z{k?8It&T~G(PL#s>U@Q{kLt@Jk%WYi_D-6lgncUcc@Vr%e$K%djK*#+optQOg6k8( zG;lEx4PD>@Aexy#1CZ+uD}a>8C{OMS90Nq00p70+nIM44(MoL zIq+B@PyIq(14Y0?fWv{5+lK&;0P>vBJm61(hXS`Fvs}mc4iHPX)&0z4fIJIeF!0a7 z4B$;b$d7>)z#%}c6T~{k!1+MR%d>%Ky91Qda)CkM0YI*w8wlj#+u1qshdt?8=?Q;}Cp_0R zo8c=x{Py;QAL()b(nI(0@Vmj|&bZ9@_#K%vms^0j&N z&yA&Kd^dXd^Q;@wopTB%z1kCgf+xS9dHnC|aev%HkM#Ig1Dw+FbLL{HDb})Bc1BA%zM6qZOh?IIQa1^hGE@==9i+N; zW<_nq%;b@!a;&bYu!qoUR9#ntgJ(-;p(52SK(XkNv#vnS>twQ1VSZBDc(y(GB_E_oc8h%uA40>k8+=__Fqy`D$ za_KUcZTZ~lI@6c>4(Cm(_(1V?)e3Bm_*Eq|%FE;86pzQ=E)I{i_HNgMB#|U{ zas@MTuVRrPhBb3%e+{K|mH48toZQI_UrT3OsaTzS>!>?f>nhO6S|zBHt@3Q7fW8c} zZb6k^-L4CJ*6?!3S$f@ikJb_79y4NCjxwFrt?Mn*`mPB_weo%SDz-kwi;%&0O0V*3 z>8!{PU5)Qf^jDBKNi-5{)7`v3^}IAW>KD^L;DbNKRGiRLCQNsF70wCJgf#dnZGJ*S zR<4vs1(b&&f9t+C$@=mPWR5!76~IOy!l%@$U_8)c(`nvc&-UYdXKPX013BQgl{||v zGajqSz&&+}3`Q4agktp@OyYS(6j>F%qG$l<jy$~RoHn_s;kD}E~zvc8DL<-;+p%dP?DzS^E? z&g&O)c|rO5P~N&lg}A=z`B1F?>-1mTdrCG3%UVHH94*2L2xB&e%IkHqZHs8p^KO2* zt+_ZoYg+jCY zGflwEFO6OQopG{fo{8(yI1b~AOpbFuLDYB*P!7xhHVbl`g9;u910iw-P5`2+1z0ap zbpwY0=^w!GeTsnQxXh`$^Z+vl|M2G+KASYg&@LKdO&5KJhsIdk<=)_-b~_{`>voqn891%(_t$6J^FnsJYtuX1?s8m6W4F5-Pqdfe_V zXBe0q^@~OkeAw=814@0tQ^IuD?%pY03j~)6Kbu2O+g<8|m@oDR1GM% zvxu?hvt^z3`LJfYQVYcU4X~XcJq3uO4h#mey#dg@55Ie}oq?{&t{3#8o~52B`XI4W z1b#+)X#M?;$H%4H1M`b_E)OZ?_nx3s1EI(+?)^ydo#&2BxlS{2B+V}T&Z!TfvA=Vh z-r4Uw*Wkzc-GHB+k*`JzpByF*CKG)4oo@ij`x76^84Y+vC0;?mmzG{)Gu=aj>GYV7Y^?VrOkr@=w%dF#_+t0Q^=B`7U@ z1U1p7zD-Ci`k@&6Y08V94?dFKC#^VoBBZ1CvC+P(9(W&V$bGiZdRKW5!^_FBG5F$7 z%*5e;tL|s1-ivMV;ov=d#1#`0DoJYQSVtADf4=$i#Yfu#wBHtH49x?)2d$4ghlm!n zb!-^2ZSk;h`6DOC79vF*t;Nw(Gsj2!|4DJM9#KKp1}C~>)6tArRcO5@=`Deb_o#o_ zS4>=V%JapsU*d}F4Z)_(y+ci3^{(5S(-$Q?f{pJZehYqr)~h8$*3y1?D0WI(D7Ls) zD0X)5;=E5i#gTclzqln?WXH>5Jg&Ts63rD5FZbLZlCGobFcD-PS!@QqUBAmal zjds0Z*A{AeB)vHA(FnvR%ig5|{?0T!}diHLn6)zG}Y@0wSo> zeq*k})qW4u?)cT_ECAn~ZP>qK;Y5s3Tonj@MK5C&zTtpXjtXJ<5-5 zygpA}o-H^2|2$r2Ke-AY%Mae4Oh9LXh3Y%hoA5$ubQO=J_l9hFA{OrdGeu{Dv3GB~ zZ}>i)2?qB&(wUqTTiAQ2I}@xBZu+v~&v!X|>`0hsH5KON(T5 zJd*d+!g%}s!KO!4+w8Q-*4iR#n{JOSEjrs$@maxXog`z{-<@fP?eV%@|DAT&voCQf z__H0J0AxG72ax0T&rz4y4&N)d6v%e?Od#7~%+acLnC%~$@BrqX*$z7G@WG%>IhuP& z;O>~o9-4L6bmy~4d&l?VJ?`G|e7VQH&O_@)x69VoY;Elp*lusVbQkR}gG@3H3+cKY z&PzUi&&?Y(B8A=*YV^`_%VFoh{j7{5e zJ?eroJGvf?=bqA#AHxnqWg9??&U(|j2##}{O*a_teSS8deTCm&B%Ru~s*Coc!tV62 zt0aFp5{hy;S!SY=OBCWmd+2VQut9tm2)}K@PskpR6S9#Gej6>oHsB96PT(0E#wdCu&dm`s3}Z(jhjbQte%GWsMoJ9xtnxuSDkhM30v_QGa)~0lFDd)sy zSJy7Ezi7Sh0LyphME;kLAt;RuHCvi;q%7$n0dQbAo;&2__W}I;(oKx*9%@PxJ+=aV1*#ZBWN1bIdbgB2ZLt( zY+D(BCJ^nJs>g`G5BZz@vRALoegXa*!+1^lJ`a6{hu+geGprfD$U_hH&`@yWYWYa1 zQdap`Q%ZG(;vi{aDYrYjRQa7wr8COr zmQ|HQ1)u6u)k%c!x>CJJ9#guh)}QBL7Brcje)zG&Qq7ODEI4Z{U(cKha{+p?aaRWW zq8$9gbl2ZEs#Y)2-`n)g_V+yfoyP9(SAh{_#Gdx|HlL7GqB|s=WJSX)nx?z{p8Y#b zf%^6Nw&UYrQdi>R5ne8q-SzjGk{-LA8jXBP)>RDXuPY@g1>NZd??gJ-$4^IN@(nOq zf6oN+A6|NFq;ppr_bl!Q}3jL=(QiT3}+2vqQMdBpK zZ#1{0ysbEPQioQXec8J%J-4Ghh$+hX;n;xHOisy=2ic?ICZz)lu}5`ZYrwtH0lC&$ z_ohb&oD0Yp8y&DaurDrlN)M;KT%7k+{mamM{c2j|;83jZy-3V=p|tI}&+71_tua^N zW~xxyw&J|D`fa(b#xY@-e{ktJA;Y}j-9YVM_ID)8=+zGiM-OE>A-EI{;wIm%q$tjC zttV{5g9?h8I~vYN6jfo~==mpM@2!6cC7u%Ozir+J4-ho=!Mldo(F*`EfSbG^u<%S$ zL(bul$q-oDCyP|H9W3DcFK*vcmG9&6+kUusd|G>a4`8sRG?5UWR32rHu9SqPxOYA0n9`8C*j80=ibMU~;*h`j9dIkeU9wFNK_+qr zuh{5}qKe>fFI~Ti%U{AP-3#?All7}8Z(EVBUyE#Q}t=zzV5sA9h)vW_VWRmpJM zOmW_q_0LneyW~hPD~=Ve@gY%Ph0?x5Y`KpnX7Z!Q>suE?X)hM%ZK&TC|C;At@g%Ba zP?&hf7a#!;;+g=#mU;NKg}6^_k0&V~S*K}_`t46JJYEM;#M_0q+w~uv(C1Dbw(;WX zfHDZBGbv2CM3@x z>WLm@5W-Q0YQvp?G~};L?Vgzz_Zru)Pmm`h>3y|m=6nsf!-|ISC}Ynp&SLDn_0%uG3yawBQ`eXY^{@T<+y06075ISKD2R zkzbeNdv@+`bW&Qd;E58mw@#7tzkB<`a z>ta9(`L#&-$oi%BI7NA!fL~kCO)0;!J^yivuBxZ`fuz<%t~&{=bV?$tqAY(fd3Ey+ z%BxHNEwA=SUOfTttSfnyvmK`VIK)Fg>Y?B8(3Xc@<)O*jq^sTwa4(~=z!!Bmd9zuc}$7I#j-m&wNm(ngx_-HQ>>H?`*O{HFyO-&_FH-_b@P*i^IU)q=m1-))z-mv-SQnMD0 zHek8U=eRu}_vGk^W1;B`TkmgWMox}Kj?LkLm^k%L@1?=fcda2_4SjO7@Ysx~&q{+$ zrel*yo7`7nhXvrcX7w?}r102m+Q&I3B&x~)5(b^-D*!{(I|&|wEyv^6(P{FGM|h+f z)$kZp9>?I9Q^G2(TBk|&)N86x`Rm~Ufv*Ck<-%$e&W~TE*Tlh|lW>9`j&xK9JK}&x zTtskM;v#|xxgBBayB(SG-K*0%j!GBEQwtzV%}0cgr6^JbTV~_ep7woI`J#>kz9>7v z7gxLlTgE1Q#eb1x+LtN;wQp9~-AiQ3D<;uJtMl{$@8&N`OB=RN zJ<;EBT@u^D207ouZr_}FU(dcJp38Sq6y2V zwi!cibsjn6XS>1pxgZPeq-sXMy3YZiO*!U|pkeQr(H@%Llj;7Xho+n9-r%9H_0W5H z=$Rh+6c4S|X>ke`tAeW3d1|it;beL^Rnt<4HA(BMbEa8hhXkYTa=LhzDc6wSF7<0E zn~8TPyn)JgVamHD6`s1mena_ z1ANp!N)-zmo0Ln!;K)@gJ(vr0vgs8T;NV&m#_#|8tOv8(4@WML^O5L1Id%B3 zl=~AQpQ?=uRLt!vId!Axd2Bh=rgv6OJq3d(8e2}~Ad3292)vC1+dzNR<^DvQ&j1<3 z%(n$*VIa}i?6AMFyvy_VYb2jJ62d+&e>2i2QMg!kH;=Yl_=SXD3kI>K%B-jJXk35B zxiiZ3n}Ppp^Js$;3M&7y4x}VOr=CY!haybOqpeJY((`Eki(|^lGnW=QmX}7ElW7w$ znTA#DQ?j+{3ERUtb++3$Or{OyR9gLpP&2NW!W>(4N{+VAw))Ud1}EHdLhyuhJXCUW9*dO6Zs*yk z>_^}g2&{ExdZx=W&z93spWW4L+w|`{+s3oxpi!%3_GA4x=@x7uVQbX%Y+HeH&I&8& z$4R$f%Xs|S8nyn0M$K%Ieq554nKC`q1{=N5KIzd%Ct>2$EN4oP*SF0 zJGL|PZ4+d^&29%By_#pfjpxy$=?L(gCj4dbycpsUg5Ax>aXmZd+uj6bK;QKOkovVJ zfM5~eOfmifOEjIeNYK{jRfzkEVqYM5fFSjCOwXMt6zci@AozXf+o;C_YsZZ6(5pT4 zV;-7e&F~QqeWi!?&bLkXxKlH2^4r1rHnU#+@X9yFwo6vBr#??DmHsU^FXj0+|BtGLskRkKgZq_h;s; zvtMgJ&VH=D_S$PFIu{s_hO9Z{eKs>08@k5W`%Bjt{OR{# zbS@g7dTPCFq(id$N!K(BzJTD{gTdfX=o;#O!1&^M2#{-&?&uou`TJ~)e2`o3!Y8!P zM!6gtp^##q?GFfn-LjtmV6JUPfiUxb)fuhZeKtxwB=_0aUNp@>4*w^pdf^732UWoB zwqVm_JPlQ#_t`F1-nsNZs3|HGd9Q{luoE`0n0emV`#aCilF81@^KC#x8MwakFAScqOQUI!d=eFnOtad8XHWbK>OZ0hs3&yJ zBVWvF0VYks!QU@>2GkCe_O>~RD7lG({B3>D?y_$8>I^46b?0HxH^a4B9w)?26`$O1>Lw+)K=DtII=^FB`3 z&l>=mR%u97O~+K>v~ZzG9*DCJZ&Cp-!ZRV!tO=+=+Y#PY*^5-b^qiLaffrQMGMx%< zanm{BI?ko3fw$97M?1Pqw~D&Q3+%cY9Ga`TsA^aSbVhqsLQ@0MeNCmC+XjI4@&Q7j ztWC}$km=KL4gyo#AsW{Ybzor*@#11zd2dBvo3e}c<8US(%D`p=D4FP0I&v$5fgXEO zg^uHC=&>tIz^|zgx!=_Rf1mQa83Ek3r;^l+<<{%hH`T1}S3s;#you)$?aA#5%@A9F&^)4B-|;G_lMKY`x^;)vXzkip747D?*PQy zKLZdy|9Kkbeo>%LpjSix+vs0-&HbmqEdpBv{z%|=1g-{z z@y`OpR9Z|qbj)-9B0%PY3rFT-C?NT3|Bb-F@2}S|_cnp#$}(McQ9`b}vJmbRK;rcQ z0tKpA!(o8-eZapNI|9*A&P`sG{dkxC0hfJ~%f8TMzsqHR&Shs>_VliF*~h!=F1lHb zL|v4Vbw572XyrrDU8XouhlPSJ6K&B69cNtzL)3%FtB;ZmKXrVraP*kbkY5{BG&(h% z-JQI;Ee)!ywv*Y1OlKRtrH0NncC^WU$+Oi-BQbP#f92K<9x9Zg`58L7-JlOSOiy(7 zdWqnZSVywl`WECd6`gJRAjX|O8%1YcJ}qp0n4}|nC$!F;S|zj|Zg?>Uq4f(jdDW^u zh*OX0DF_Ps=o|nW$wL;tO=$fBkVqR;z@a|_09o}a0w5ZfRJLf8bTyPx@Uq}EL)B>w zUcXcrMz7aVNn~ld@Cp^ni)SH@6TUMoNex1eY1G=+n?r5KSi5iq%dAa`AmhOa)G z{l)cq7T{Tcq#I5KB;7Fx5XEDsQFH|7cRT&CQoGYz88^Mad>~&5^9z^#QkQ+1%g(s= z_+*9K?fgD=d#~t&l#R15%p*Eih^idAT;9)o#n!$DcmVJK;75QT#YcVB8nrfDw-HwWwbee~-UJ-W4`#7s^<1khKX|fw z51`_fAN&m88(zb^Doq@LQJMj&G@DgvF4m=KR;3xKN)xhLhlA%PMM8OwiJj4@vb;KQKGi7DABWHsg-pZDjeLp*beA2h_!9uTN~e?O(3>o7vFaA zZ8zU`^KB2`_V8^l-}dtD0N)OToFX=4`4|C4s=hlrE|U+W$w)4m>dRo3s} z1!c{uPJX%7sE5RtyA_rcUoICVP4~T`OzRN87x$}G{yH)1y1vCwoj?68c+pXc{GBBE zOHu!5Q9lJzox`>~)_(vFWDKOpr?UslTbnw+ zA7H9JJo$YHm_SG$g$5XH9Qqb&8RX|y01(o<0BnSG80{q3gz*P7tAmi9wJBt6tb64^ zxbYS=w}au9_5tC}mY}sYSobpS{OZi})^VsR+{$~w8b}eflRc~=eS}CK=}1R8B4vB) zu4EPINE~q5J4~eRQhFvCsTfV6eI6b?rZk0(MyJ%oNaQm080m>*r1LQVv|o(}7bKqW z@a>VtrA3|4ce~b`lexy56J3+z9h|w^J2<*J$D0#cbeiT6|RJT)Q4s89NVZoE!N)BKx2Bo?ed^&}uoMMVDw=uul3V?D8^Sg!l z-NyWGn@Tt4cMJ2ojrrYHMK|Vm3-g=f%{Q~2zA9(hJulFOYIP{JQ9ISB?opS` zBBcj_K5T_ls^3)aOf{E#kI44TaIs}uZ}5>wZV#y~td4IeMo5eianB4qzzF%R%HS$I z4ZGw{6>7Qi&TZ78zN$hkN``9B2fM`19OkOXY+B7<6sxFSgzXmn;ybIxQ@f~QNmWI8 ztYWUOY7XxxMF?N)=Bf(Eo)wWCd3#lA!DsfUG)sin#vr5QS__vY%~dkj*3Lt?d2{A3 z=!H;IviODpLl?Jj^ZG1&2G>%Z4!n1P=JRNL{gHQ?{VrMwjNnJR6+Ph^t%p4_g#RAd zk77E?m~fH0qt|5KJzy)=pCE7izXwE++}{X%K;RF>{~od5EpWBKIRd{daEie30?z@& z&;JEHP~_rM06`HJ4+aFC;6EA=>H0gcNMri134C7QW)1y675fhbeobIpV1>YI1QrV% zBXB4njQ?NA1YZ5G05U(%;=%lE2FwIJ7Z2tqTfzh zQH2^70^0dRZDKdyn|%}E6XtU+`;T4r-@EM9E<17A@nKo*uwUb{hh289cqp~9qXaX@ zaRW~3am2+%I)u%oM5_H_AvrdZR2NO`9~nlGbN?tEUukp^d}vbhm2Rq@AG7Zq9V%a` zS@;V?b%mGUHhKw<@u zFLWtSKImb=Bp$XhNr#t{{>k00XR;$zT}>8QLDFZJ6vG7H(a#WyK*Be zCAfInYK!b|i)4WF0dC0d0kIRq`*-1f8(fxp&m~s&y%F+dntA_C1PmYV3d$)&hd+I3 zW9Z)ONs8ChT(}S6<4b?>UeH?l(0h0}z?TDf`G_wc#mD_3XpMV_*G-3u-l_d_`vBl5 z)~u%gX1+D2iMQYsCmBsF!Y(-BifmPcXH^j{(M5Pp6=Ae4g4Grp-j*y!-EPHa+U4Y% zO#+{3l9m0Oqded=-Gn4`d7c}K@_^H%%M*?-eS1s9TDli}rloH~bLP^$ZG79sH}IL3 zzP+1o;4>|Kdk^2hXIlF9UcT+++X23T&ou7sh&666<=9yEpR^x?^!BiUw10@AvyhxY z>OKH}De;}YjxdSuv=Ww*!WT=eUC!@x8opDqh->k^zKiemy-4RK$M?Dy*rUT=!1wwd zzt?xOrF?z)UehF})HUS%96T+Boa)a(6^5x=)DYx!ZOZybd)kkxkowPK{pZ>0zgP9D z+SHEr2Z4vR`QL!fJpKZ?PUMlS%~W~xIcgK_Idy)kC#T5kG9-ybRWI9t&Tq$2T(p7F zv{A8^hCT=Y@_x0l4Z07&wkG%z@TXxk1+Axp;56Z8EO45(gj@E2)6^WanuF?g`Gepz zv9T34^9rH{e!uqX@zAk8LM*VF7z?Z>TP(1exLqf)xJGM#R>j&Gtb6r9Y2)MrrPdRX zmVXXFXDYGUm=@T!NUJ#+>kKr8_Dk^SIjwUMO44d%tOt4(i-M67>mXyDg2CW-NFUs$ zmeR&(7FNaJHLU~#W+izytH6I*Mc&Oy@@`g=ce9GTn^ol9tR(MdC3!ci$h%oZ-pxw# zZdQ_avx>Z%RaN1-W?!VPMe&-NV_!g%YQWq8Uehjw9=I1grhy22%wF)Aj!|JTZ2ld? zX3^8$hI`0W$j0KUYYsOfnaw%KVJlK;Weztphnow4td%)zWeztphnuI;jX7*(4mUH0 zo2%%?9JVrtInEsZvDZ2LEpvE1WE&}ji5}U8I`kYlb-2@8|0kUAY=0lwJYwtcD6FyC zzkqBWu{q3S4(st)dt~s5sKpjM5b|F&=jBc`z7%|-hjq9X0Nc2zSv=zq#la`CbYMS_ zI`~94Xm_%CY)I}6OV@`>t{cP{x{2&HAd$$64cUHC+5m2=39 zB8BD1;}q#7+^4}RvQ>cL6)7h-vj|_}jx0Q!OL*n5OuP4+U$k2IMS>sABQ?KhcMtrc zZ(&^tD#d@7=G){p2)tcjjrh+KdzrwQ0t*G6E%0=KpB4Ba7FBrl?*l}Ui~k8o{>;mO znCbn021GyfKdNEwuLb@@;637hi`Z)fUMuh_fujYUCvcF!fdb#u_3eKQ5KjJI0y01M zT%HTtj^|Yap`{>X|ev!d*fi$v0BC{DuCgIW(zbGK( z^hu0L9aBP znmNz+Cw-nRV&N_iWF3p%v7XznOTNdx7_~a0aX-BvWn2=7T5s*4g$u#EkqbDM1|rs9 zv8NZC8LYb~qjp|t!)xC96W|w#Pr%I^JdYQN-^c@aM&}U3lK%)CazsrCsyh(FMww7T zQFiYxlz?G`015LBK*tHYwj()XsRP?^Hqj(X8?e}qTDiyRP4-tNM(amnNkSeej#>d)W#f1 zN5mr69t4*rTxY6a>Z5e5QK16L+o?+E!eprSa8laYF_;`tG?gP~N^JmL96NAH2jrZ) za#gYF=F_DL>#@AM5h+S4bl zZ|Kl=yn5K*N=L7Zqy{3IZs?U*MMBZgq3&i)53g4X*kktB``PP*mYXq;z!NTN9J`FIsIr;bcTte4ce`(+3P z@uUoI!<~4;@qF*A|u}v z#{7R<8%{N;xfnFgn}{Z4%C`^^^ZbtiY%~ssIiYdpNFA@YfuHmbC5-XQ4GRnk90N%I;bNz}5`MX#6PS*!A}5*QC>Txp=nsGx+KS0k zC4I79`}@gQ#m~P;+jFlII9uQ}K>Ylp#eSZ^Y=K7$Jb)TwdT$HdE^v#$hXFA}`%3|{ z00V%`Paz=la|WQDULrlz9lb<)3P~r-5k@a1NEe5QP|E&!q(}&LOD~NsC`irU88tSo zzG++#7b}}Lf6<%;^KVIr1RXNH!~qm0K`)6NZHeuPZAqEl-iz`pPWmv!$GDWc3DBXB z^pe5DjRu+*C12X6`i6N`uqS${k_;1=fO>j7YX@n1DS#bJWR*sMw)8|VtrvV|aBCBM zI=14^RGN3fp5%de-t7d0tHMI#Ty(@#{2gYHe+2Ebaq@SB0E)yf3RArhg|6x@_IT^> z#?V$$*x507ZDDiW9hsimiuP6{1$l*Vd?GGhy)Gvj&oA{p_}1k3(sQ%abjr6JM2`Kb z@I{-v2*ZctQ$YE6KoD($ph|`c9`4+vV#JRL7j3G3o{7Y+quQr%{0c;v#Cup{;ldY- zcHNZMadr}+@h;kRBa{FgrEm_InA35roZI4EXRVz(oamo`Xj4uym#q_3YgP`C&Q_E@ zeoO>{ODj$X>7a6QC2|rmNiiqmR8EfX@EOOR(^qI&xTg}S!^x3$D`p@O({X(XE}PYt zI5CS~;Gpg!{=-Ut5@i7!1}*FWE;sv-rKFFidk1Cm>{$I($2Jkt5Nl=JcG zM^zasQrGq=9p@%%o9CeP=QxbzO%(MsXe98~lR=kEF&rPC7meTQi^PwIa<1BA75Pn} z)NuR;6#DkOaQt##csL}1K8$^q>bpJ%LHncNQ{(G6neDT2+)-f*!4UcHrPf7J>maVe z4L451WxxAkAjl&Kd$SL6@)u-v3}pEtIq_gt=aw_ahr;n=!!5frJEIv8q8gG>dt5l9 z1^FqU_VW06=qqoIp=nNrJ&bk$h=!3Fwt{()_&`$no#7m#%`0ks$ecI$(V{?o$Ad_9 ztZr}&yF@;UZU80{(I5?I2Mcr;JfdSIs!{h{5(28lybp2!Ehce}k^MDIdkISyNH&c& z)il10Tud@wo~0~S&EMN`2I}juw}+C#eR2;pzTf2dsryy4xCYH)O5?Eo$)=(7t?Bmh z6|@hmsB{B)(_8pN3;rO~fmOD2bpN6kH3X8WJf&50ao9V|xMI2XiU&@J3%Ie&D=47;+ z6T&Soqum^bc9VG=+YLq>wwt4RYBxBc;chq`rC44z3}M4LhwanebQnC*b~1;d)Y!e( z`r{%{lgHwo;cPuAVnpQpOr&#jr0(P6ybY_t?sc`Mv6x>}Yia`Vh?&4O{@BLd~=S-1Sxuf!tx0XTdU594q#MeM$T zhjHix3!{A++5*N`(tp#YhT|YpJ)ZdB#!EV_jE1LgKMzAGMh;9J==WniF${K!#jbiZ z{AQ>Z5Le99tWC*NaYNrh3~+`%1lT|kDa{^g$6FeSC5?gsJZdv)C|JhJ#^4>-x#!1<4}<{sx6F{7rUx@N?+)z{6(uVzGOae3{+ibb)S z5#@{LR*aZGcYaOz;u|ZfZyr%zRppOW&aa+}V`j0N{WaC)Be0s{zr1q9wYBpX%+>Gy z^Upi~yuuOUUlyaQZOv6~&ZU`ESYl%+;eY}t^KVensrVdO{v7Kytn>Wq05SIGQtpQEYXU7m z1oYpe?S3O)^Cj^w0)+7w0D>#%=Q%7a`HCrT11h)pSU|L{;`@+av_1b_0+$G!FL0K? z@dD>%X*rmgfQ%Or_!nfB_9q2iEpW2HzaUZNFYp?H(*=GG5J?p8N2VC=p923Z@Q(s{ ze-Qn@E$~}dI$+&Zyc&@1Hw&cv4edB4q2QlTSy;jqbN;0J{|LNKpe67&f#m`zhL5T$ zUINH?^98<#7DD^q1pZmze*t2RSo{q@B<)`{=gijdqo9y@hXI8R7@o7@(QCyF{ z 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

D9M^Mk~LKX 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 z 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�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

B)QiMpqZ_9jnPF@D;*$WOK*Bx}xU2>G@>U zRMHY*a>Isa&bD`OZpr?@82b*qLvs%|WC!M-Y$s{*@*ID=^X2I}swu7{$cTCkqNfL3O^bsdQX>( z3;xp5ebMWI{6%Ln<%nK{id}0vyu!z{1DUnnqx0BPMh|ixtAlDze0>rt ztfx;OFR7x#mQ?eP8%$nVOcuG($|L9ejEy~_uZEi~sl~@QDjCfo;|apMoAi~BNAr^0 zOc5Ue=NH!x8tgn)a=^y9PJI*jm={Xce%y?IMHQeNjJ{d|b4PBikB@c}KHo7%H2cqj z{hh}iN1U2`vnz)RA&Ic3@N105AuzAu9pKyPd{&bWbC;pZ0K4VF=d)FveUWQBc)Kju zHKDwwRZEi;`^3KNDqv0s^Cs#UA7a`QjUw$xI>j~19!GBPJ}c!K8#|+BSnG-My31M> zQnm7vV4>v`=@ne6+tgAcdSqLC$fzfK_p05V@GdpjnuYBde)1cLwNuh9AFzM^whm&t zd&|71Y9dfTuD)+}!TWl@s(i6sC}$|&ggwibZ%yRebneFC^Kt}0jIh$Vi7rQW~QrMbor4VsOI0&zQlD zX`!XVTEAifheB3!=C9-SR8Eoh3Ul$%v}z8%b&mc{?pc`* z$0y?p9tno+Rr?6#UeCMw&M1p}rKWv@LcZbl^Zx1ve=0q$Ce_*3^5sN&5+cTBH3+Pl z=8AcZ<%!HB`phIJVLS;5<4M)35Mgx&wp}0z<4Ggr;XWzT{Akefaf2^UX&z`uUtEKX z@roLRjE_zLMYn#IdNnXrAZFZW#f&9epIyg9qdTU{_1#j$BWQeHjg>UMMseLQg>G&B z&`KKLNP2J9W0tx+^{h$!WIp)a>P`toE;U%sA` zH$Is-?rj!*xy;g+`M6~^Ux2=JaRGVb^sL7?FRyv$X`L6JnJMGty0jED#R)tVnd1i-g2)`7cqk&r zH<#1sQ!+y@<%;H8&dLlu)yW&bt&fp9?#&|d#>pDp#9Un9*v1u?I3{klM2@e6^4mCl@4lC9b{_o9aBdyBDf9Lt^|7!bH|4;jUr1iA!zkU0$U#cq7 z1w|j_r(a2Cr&IoRMEel8B`MsFoOQl5=j?VQ#dc&(8~H-pk+yZ(CUZWJ!q`M^7jh>F z&6ezI<^dtVwI=IMyOBs|+K&kANUrFAM=~d1g5)i-vQz#mz)B`kl9F3%`Spe1OqD+hnkG2Kzxc|!zC=Uq~0nZO0eGJ!c+m6|iQ{T8&4XVKz?^SGqs5^5iGKVyGV zj1RY&aJkcIsABOI>MS_fmn#;(P6Ruyzx-RY;0_R94YO;Y_}NfAatr$@-)5LH`q(a`TUcdoeQUDGZgxr zJD8(y54G?|Kv){7e*{9Hr&a(Zr!yPKC#n3RgOxz2;_;sC57E&;<*NZI-;?ws#ZR>T zDY^rus^b3$RQ&Zo#qR^eMWy$x`0oQ1e-2Rb8*P7%UInD6(JO(65WXBp^@i^c^8 z`XUT3!B)lxMKkx)E8SMciSRxK6yB?W!n@t}ujnKotf}bhAfxC;pNAqvuf#9DZ#_`; z*Y{EVWnM~9B#EGSyA(Bg29=des;+J-H`ulq5O3rzg7HcOvv7z zd(O}1hU?pCIKXy#w*f|TCm3*sj$ncT61Bp9s z>7?4)F{hfu#qE4t+GIKAVSc%Wmu%vcRP&D$zkIp;{kZRswGma!CvxkYpJ~bP%LV0j zRe$NlTAN<@RF(}K>|Cghz7xNEVEc)0I6PY{x{~r!EI#MeTv*@+vlp^i3~OAitLIkm z1zos_8XE_`XUK0SH=P+&K^&@b&<%FaP{pY>wc!ErIATm;eS^64JlOd_l@9iBTUd}8bo=HkoTn(^pV4sc4EwC#9i#2@O)gi(xIH@`P#JKyt>A86Ki$mg>uU2R(hhKbG zMN1MsQR^gef6+v`n;w$P4F4Gb2KhC{ci{B^yX{w|TebV}xBanc)AMpoBYHm>7Z29V z>2VL1(Q?>}`}mB>uf!U;U?qGn4Hrh&cDZ|ZWdCePZP#6Xxnnb?C%it{D2QCE{a(!5 zUi*w=Vv3)}iNkXh=}Bdoc%L_=tN{h01Eu*@-rn`0H>s?*tn=R1aq%=f%&}!Pt^1>< z9vhpiDQ~GVs$yj=d$+&4SL*@ZA52^H9z1_-U%adpVTK+PAbxt^U5TbiY5 zloX6=LNV8>obk+*GKxSO9u`lZQ-N`cmWrNIec?20SX_A=0P!(%b8?77&Ojjj7* zX|uP|+#@4pyO#Z-I6)L>!fF!a{$;`Y>n1#OE|AKj(gd{yDgM+SH9G-aGx7UzvxO?o7)@QLi zvnk$mR@s<%MdVsf=+kvoSSZ;-P15z{!z9UdhFA9Q45ji!-^S$F)(tEEskWIQ#+Y}1!h3||BpO-qYFTf?e`-JlWp;LF{(kS`vHorSzoc+IxFCf8r92 zc_Y&K=W_8nelUZe^n~SJ=QYA(bkoc$;+fkO@*5%e)!t<#$$IIVZ8bubXkF45rZ+42 z!qSxYWXk(X$_;3mtB%94F*zl^<7{)B4zNmm$5LH?A`1v|(y6m8OvOp>=GnYB>D}I} z5_vb?07x_qt4U_YJ*$fQ9m+7;@1T51?+5E_j8 z?0J){bGdnY#{=fWq_0!)lj-YBWzrc_waktBi0xM_=c{&_GN*6WtCQ)QRguWG8D7A* z(dTNY{bMq7`(~bU_X@|;U(<-5oNn2|e6p&7;}%yl^RjfOQZqVUjHM@5o#EBLSeBst zO=m1mjJbQoo$;od^5NWyI&p>@7^+`K5brDw5;kFzdEqABuOjM3*zY;)y77S z@3k;AF$-ur-|%53VdZyE zAS6@S3m{t>5E!k|Ko^?MR6NbrAC*D%qR&8lHZU)BOy!WqVSUu#sZ3g|*IBHm6k`2s z5Nn_LBE5|uiVyG+BONN1d&w2{C9fQBiayf5WHY`%(MJYfBE{ld(RN^IcsY&Z4yMT{W_Jc?P|Z(ES{0;y5i|;y3Oj6S=#4qZr?Hljo~57 z_A^#_TI0P<@#F5~IlW?AMf%ENF>l;@Jy)6M73<67sdgU3n^$Zb;XFgRv#l&X=FQf- z8D1^JCZEsG=kEj*_Et1n1yuT z%MQQQEW=2MQ+D%A*ZBGqc(OmF*D;^BZ`l#gEZGs~qVDcL4dI$N@8S06OQje+%}jss zu?zjC!9+Sy2!(zHm*}CUPmTa1=r%gO{zvRMJbtlKX(ekla`jECU_eE0o z#rwJv>>pm&Li{+jYVX_kvV9SV7Z2RqLEYv@770}s!>MQ`Cl^#w68{3|zVRm>s5aSNoNVkLhWBow->vr+0t%UytbS{ZuJ% z@4mZMzpH(^n3GY)?3u? zk1*&qx$EzMdz&i)AAKQyLu|hpomxE9D4kuaQr?ZKOR|an=_dAAdf4^eQ!X!%qP!7H zQ-%#HkN5PWTO!|kZfW&?J7Qk_&1|{vOpdv8#eK{Oy_2=%*p;Xk%Mq359BZbtqXA4k zp92J@Gx7Xl8?-~I?PA|#+RHVTc9Svh?zAadCj`V#HM40;)AI3nI=|Ms&8%qJ-Y}P) zE3}?jgzLv_X>Ck+55&^@cxI)HrT6tZA5%KJ&L%S%Ezhze?(ck_M`+npjjysWHyKZ{ z<(iu-*F3Uhm-4e~n7)|9w713d$sDF-!X&*axBqFsT}3KsInOo8V>PBpD#;M|81t3u zO}SzH4|I>g`175z+$vk_oF z&H|y+(MG)KMvW`Cpv1hxlbKO&1847>G+QSXB%RSt$Gfku+cQsbujBFcgkUS%^%}Mv z8rr4^39q5V$7Da1DQn7mn?2c1#r5}89X|<{`kP0a_WLowmih{n`j;eeEgk6yC?w6d zsec3rwA+Qs(m|G7-;Q+X_`+=lW|&NszdMSMOy$uQ#a;LUC}b(x-wI11C9oNYSue@6F?* ztj_lF2?PiVPE?}N5*-yZQKAWg5+Ry_8JLj?L>6~CU>1Tv5|a#|MG2imc^pS+tF5-$ z(zhG!+l4MFXu(8~09wEm+=I5t7`3=mKq>iM*E#o@d1f+z?fd=jcRrb1&)M#CpZ%Qs zY$cVop_3BKIPa@RpWJOl#-Isfqu`5R5UVfjYik#GxC;c1;^pj}vsBdg19Xo40G!1# zaK##~>8zAAzh9+KP7NF(&2LecNX%arA9Xr}rhWfjw_}5-pea1fo2YA(bP_ z!$|VYS#mU_FDt=-^p1KgMdQqoYRZ+TD6Wi&RW+9ivSXYq zCQ2XWXHu%-GhXX$lif=G0CS^Pau$w}zQZV2`XET#ddEc+woHf&dAt}mhI$;1l8T|t z*&J^7>mt`B+n0WX96%;N);)yfOKW~@o1Y>Y5lhbt8ZsjlnQbpnOt%EodmyIcJ@}5u zHIU16LQHoU_N}6PL6~y|b_a)4>gL=8Kw1~;w4R)t);s}flijGy z=innnauer|uQQVU*8WoNZl`t0gT_UxqaprVeY;Q0&5FVK?ogHK{1^Ii_=x z$7UIU`?7?sPfF@6kyqNJa7wJ`(qcuXANkQiQ))XaA%|7vb@_*Ev8>Oq@zzk+qM$%! zeKuqlzay(EFzlV{Y#WEx8SWjOZDsOh1VyW$r@)AJr9xn|20*XaNOxBr;Zb_ki5D$x z(MF`9X@~!v5jw@KlFQNAk1OKz9D5UK@3l+^5+37dK0`-E6=2@{h;edO)1u<7*3&V* zv28t41e%zR)&e9#o`?%0rllqu6&zp1A)uD4>gci7kQF=l(4txv=6VBXr3>kR({p>pnu zn~r&yDYgawFuk}DoJAfXf0$xOQgdeNZ2b*lgaHn_L_~=x>(;ZW==w3xD7SRCi!t8_ zmo0P|&6$kopgb4oSe>05t2d7js~8`!P!k4U!G2$K>192|U(|RpDXsB1>j&S7+_J;1&2{K03=Wi|Wo z??Pxck|Jg|q1OT>pEREn9g>AJ)xLu5{^+3ldY&%E^|WP<=+Mioq3e7-oxYO8p-(*- z`>cK}+xkD+Ul!#y7G>^Q{tif7QY_jOYZ*Y z+ICP=auDa494(^6Mg~1@-8UP%RxlrYJkz?b4AqIBS=N0n79o5NvYbi=vb?heEfhr| zTUCMM5Z^a%I~!tuG?3+jROIpE*HI2^`4<`YC#%G_yhF9tT1xU^j3P5g+V15dpY&rp zk$ULI#vn0K79UZ%!Dm5d>&ITRmBpl0CnagSAGVQ4Skg_!P)zb12dbVMVOwpy#RdcV zzp-*W<$wp>#IRQEhC5W7EXFxHCBusP@CA>?`35>y&+q6Soqo76TQv+>;1_Ja2YxXm zej5jTY;5yr;t?8#hzce4v=UjhK zbAx|C5>@3SI(h+9GP0hIAz6(x z&dkjOKc>5Cr#)um096iD>~KM0^X$#u9Z1FX9@xYiSQm=7Di)vUBtEF4x+NzmpMr?A ziLbrC=$+L-VtjNmRlHTe5L(|<_QXNKB}-StWI?ejUvrByR>g42QX z2tz+&^2f(#ZS4}gvz6~?Q%r?<5uz7vhcrulMcP<5eAYeBupR{}AJx6lBMs2uG|O8y zTF%xI5{W#ZipldmPx~zOX=)X0=nI|Py<6b0cq{B_5dJdL`E9<{M9G%3Z9ki>NL1PE zIfO3rknS@3pv!by``qC!h)5x155b-4lxlp=x=!>={^-&%7-%#d$U?IOGfFSFdf03? zVMU$I_O~<+4{I!p0Hr9v`jZ;xOZ$L_fnTB-AN48zE&VhbwC?z<6C5idwEYUd&y}SM z|C>K8qLZ(*6SSULuzm(TNuSWKWA9@$5P5_}CaI;G&*s#$QEe=8dci2Ap_+_PAz4uC zJFS1CGijRIW|N{UU9$v#7cNyfoHqoNF$YBfM3pN;3~lA48gWQh4!L@hHFe-zjcIj!&iRmC8bqmG+@1hLHPx~=y+sRoAP=6A@qH% zuP=GY=iIPS?l_5fmXGtCwGTbj%Pn8!JKI!Ssi@d|!u@TBkiQtS>-rz@tfjB+Y@hXF zB1j+Zq3n4Yq&9&QU-Y)Ge9_TOi1`yJM!KPAqMVCFK_fT?78v_{|0I<%!|1DJP!(7PN#`8qma2w%W09bswG{gbk;;2O1gTsNos9&?!6ud6)1^(c zReN?}re3K^7UND*E=RqJ-arC+Q<2U&SqHR42XqK+pe-QoJ2+NAF^{HwFK<7Wwq&ZJ zmiIWQArcc+lm@R#rai}2R8-dzTMc0Zx_r}Su=o1(cntW}pqvvD_mliDO$aUmj*UHm z0pxAhQ8`6N9RpiyU=$-#C z(RY(FkksDnh+V|ut=#8b4@QuOYtbaa_ayE6r_kBhsI*0YdYVoVqAguxoox?b*)R4B z{7cT$ok({u8(z;+)W>;G9b8}yR5b;WM_B6OZKpO3MEm7|vnLQTrqUfuOD53Uo=CI^ zu2og@MODp2H>Mi^vsCA7tw%$n8i4=N$=skKIrvV1Em{jfJN6|qQW_tw#I1nV@7!?X zFtn?$J6Ak}O0(9X8eugXJ;(FVI8=hRKcj5Mc;&vDXt06ZERC%+q2*`<*b>GY-j~n< z*Z2DZRL~%Hprstd7S*F$)NP$8kBI14)zUj#S?}=pi*Nr65OFcde0Tu|FL^c>K!T-v znoeKF+rIs8LExuTZ``xkVeISa2xRO>-w^s3uUPhNTn4Ezz55Hc2wzx3+m;)MUe&kU z`G;2m(d+sE(Qok<;#c4suzgB&(4*uAhwP$5(bC*_c<<)SY?O|nS=8*?oSDVm6B}-B zJbYmM=FD8`;BM$)Xy6XBhCs#^Kc04aDp4IGZOk?#bOoUJb%+-^pYx4L=`0FkJQI9^PJ)JXNj$%O?aXg8`H_DV>*ti^cU3&k~L z(pd=G$mr73fY2`5?|zVRi&QN&^cfvlk*FF5=)n{wHYzw4l5@ee&w9kih*n|-4PD#o zORn`*wkZ#mPLk*Z?2po2n2r**D7~76%5o)ESs@}q#xd!HYV%ls$y?>oMHv$RrLRg- zb{Bb~H)Oz@Sa?g`YA*0sqQA-P*i8Ok?>@_jYj*I$vvb3( z87SsHE4q{MLf4AdZdG}bt`)uLuI?eIW%lm%RhV`Zzu>pFgGM*R746Q)vRV%2H}`Md z8v3MrLeJCP-O>t~%x`@ajf0AnTgU1n9jmjGV|5D(MQkzT=hg$N4XeaBu`QddMKjw} ziHQy^i#LsG3@n0q2Hu%G>_FOeqhwG!jHsC4ysY0;eCq)hY^}`ipd!;9qt-o`;!8{E!DzX2!@1-F zVo#OFiVKMu!hNy(#3XKD)b4IMgw$Haq*ZqR$N2CSQ!MWAxcb{E@lp90(UI_cC-ca$ zKzDQkbLboK9D2@{Lty&(?je#($W)z6Fnv--!!~tsI*mR@X;}n~=g0Ta6%>vABE!xy`_XKnx+oVvVugr#(^PV#}weEQ~UM!Rk zzxCF*0!#$h0!Q<%M}vhi4&Na_vsA2fgCo${nx)TCi_*!ju@)6x&${JswsD<3_67ba z9$5!}24AX{-_8L|G-rUOJqKW;9fGUacRowhPqjpe99LyPkEOR}DISY3W(S?9(hWWh zx^&~h7ZkG?q`}rbJ$W>}N$s-W#-p|v&WOcs0Ke!Ku<}R|#ahHfQWzo%C7bvZO{okX z&p?`>#Xc3m>Y?M8@SGSr+GP{HhVAcs3^KZB={^DNl4^dKaEW#Z<)ID+i8`uSm2}Xf zI1IYl{><1}Z>YE26|d`Ffl2p8>s}?~uX~el*1A1})7SljaPqnsVbHpd2>sUW10cue zs2tDxHEKT+b&QVPccCkW)YjxS2J|{b^i~OUb}C!+PzB98OQ3RK=T@b!g|4eu%~i@V zJ`I0`3Hu`mxcCJK+Eq)8%|$tDId;Xcpr<{2Ik;FfDD*Gf4bxt7;PyS}_Hbvz4erRO zJH3$^cV@QfeJW1R4lm@JUnYIx*fF74}90 zIS>>a%xG@x+2-$Qcb6Pk`u_gcFlgv$_mu2h`i#G4qfS;&$=l2Bk1Yfzs1D3tB+mEP z)<$#QL2@9^mqKSNvRoQ72{gU<^@I?NyGdeB*dm=8kTMW}VV7KI_`rb0L)S5?EU$-S zok$0z^kK`b>6!Q z9|7wvH^!eHYg_mo?V$>Hs5X@sbf5%pdC0y0O9=k6+<1@EoiXG-h@Ud717bQ*o6fio ztB2bm=Yd2DmnhLfL@tbHl|ANP_@&$jLh{RPkCjnE7a{BkT(vNiN61p0pK zv*r^NCtPmGbZ2DVHz_*f8{iJ&8%FCzlc1PvH-DhlzGxFyNK1971&Pd|VbTvRGVjBS z|1b{YIn4MEQ$wDQjQ<#>{Rcs}I!k4c<7NBL1-<>31-<=;99PO9s+&>Pnb3%I6=R}B}cMHnzPv>actW)yvbKE6|g;BCj5s;(b{<`MsM)j_J^^(fkIdyZZgA3<0z`c6hzOi~?eRFk?B$^xx>MQ3g zNcvu&%<&*#{elHSOFjsjGK2%$0~#ObSk{Z(Ka5 zv8rN{zpkd<7}qz17T{sB;G)W4U42z`kQ`OkR^!#~s(DQ}*MpdZz;G7MX_}7^szMD7 zjrEn)IKjvCvTJ$vy`tP7yxKc$x_{~v^*w#&c%wx;rUj==^?1wO73w5ol?pYHH1t2e z`c}uHISWG7j`@q4f^|GoMUoOE)3IS*-CV>D?9!GIl~2&D0Y^>s;D2s)b8USS&)(a$ zNEe2I)S)H4-!Qyt792G!oEKzx@RqEj^CZ3-OqwCBaOMknU|0&(H6dwmFMD;BOUzvA zihyMQb8y-*?x%q|S9N1!eWPO$PJsfL9LYXHH!YagRBLj`#$Q9o&MkE0HW3+?Kz03q ziJdk`IJ#+0W8=K)M)4v#TBoSs%qf$nOuc4GFva};FIslZR3^UP!$-P%4OWQ*NEE5q zq$a5~qWc5z#N*Y~SxNS@#mB|kw3q)?Vlw&&_FZECL)fRg7otTP(DAT8%h9J7eRCds zGHlZM=M0nTWi`}%zicd4QDM^oRWJJ@ zv8T{Coqd_u{|ws|(uEI!zET;tO><-{$r>?2MsE_hJ0D zh&Rg(LP@PK>zN8>3$_dkdG*}JrRma`=HY3OsCV*76G zp5^Xn?wNj>aI@+)?Ow`Zuk@q45pcIx+(~&%>uv_zb%{GEm%ZFEUVIgMi@0O?RLbN> zN;>Q+R)s(BZ$Nm<+f(FloP+x&9swd7a=tHkCy@5bfJlbCCBRE@PeqmJue!+L7!G|A zkp2n;&ldcK;8YxaqrVG*bbmUK?oSpRB-l@IOQFMovR8O5knYC;>3+1}P$2336A`EV zGeFvJ5PV#4jo|Hqiv;ThzX>dW|1u!yoF(R`3!W@ENbrdZ91hf-!e0TA1f|u$vCxkb z^WkFtB~B;N-77%4`yr6-ZV~hA#rz`CXN!Itn4!C$0_p#5ApOq}{V37z$j6>U*#7{? zc&`++1eX9ovT!1hbVdM4r~5pu?*P)@6M}yhyjw6VxKywnI1+T`0`XTkTlB?1mXGJp zbvQ1A`FDWSe+!7DD7;?u(}AO)pA2NUBY-G+g+qYM$3bGBDfVw5Ge~C>a18AK0%Uye z(&o|cqXNM`XBv?48UiHU!Giq-|8z4Wzrj02%%qAV?OLiuomi7YXJI z_MEN#9T0pONPoW*{VxT7BKV--5?~*PBYL^$FBL2jED$^nNP67j-5315F8Gq*-voaO zq`O;1-zYd=uu8B{@La(&1#<-l0-0YuE*;+cK$er|flSXI2{w!QNFc*K8A$#H3HB5G z{7hKlZ!3`b^gn{dz&>zaAb6JGX@X16(C$YF4gxZqZcOeN&ff*!6x<19IotwdIqVSq zZ-Dg2sXzU-3f?Zb0EjAFcny%{X(W*4^GvaS9u4p%i1#)i%i~{xq_+x4dJhTSD)s@f z&lmHv1Wy+{S@2!7!}R}#;LC#B1-}PmIL)G8C|Dyn6UcOR0hz7`PS^Mrkp9*KN&hjy zKM1ZC+JWj4|z9h%(+Q$4Ypx1e^v{w5`0i_rQiy|WrB+YD}dyq7)Ur2l`NtlfPq_`YD5;5H!n{yh*) zVkx%?p=uP)0@A-5$nY-{JWcQ>_fvvD6y$CJnqLSU4$J|Pj}rtBW@OyX6a-BbzjpY?U;kBtErPQJ%LHA54#6(?$7la`!Bv7Sg0lt71YLpv`Q zpMbP7_aXfr%rb4WQRt{B@uq%==tsakmk(Ny4pe?1^Oid-%*tyZ+1+ zJ;q>3_E{<6v;NuruT9bCrMN#OB|X=tgx8f~&pET5J`c3o^|Mmw^Zqis{f8;;52o1f zO9}s`6!-edI)4!2bx(Cub7TFj#-!KEL6Ac1$yZMgPO5GWLdG3jP+d2-xfX)pC5|LJ zCHqdYg)ms&&EXA#@%KH0^XlbtLj5`@Zz!BrSEbD+sE0ih_ZKQ28FXFs5?nQCn5lpO znU?@g3y!ax18KRw5D?KBKS8vCV0GQ1kyr>YF}r#~(9cV4l~WyZ+{lofpaswIU=Xlz zuM)=Srv)qYN`kRX(#l#*`XvtuzQRc3?JF3@Zjwsuc~~%+L%}+Yrv;}sH)?Tv5Vy7| zxw~582v*jIxU{0vX1oZ-g%Vbdf}T)=BZxe%t6Yc=<_Xflti>cP^MLS8w^cXR$0L=x z_>$nyUp1qCN=RSch&(ol<6f}9U&lmLAvV`9z>RVUdk)q$Dr@KKMIoBhH8dh;YG`Nz zQ;S@@p|P>LCdo_|z9j4kzKdrDk#8(f6Bg7r>AM}lg7QDDdO`IZngvllo8~u$>hL{R zuc)XM8B&=UG;1h{^28Fh@K(KQ6GWY;nG;&jJPqChT;>9in#O7!)U=?tu`#Ici$vO2 z8B;{PvAQZ$3B5hab3<6WGVuZPL6&qfug!u?EOMywQp^-HbC$%{O@eb-+Y(w;9MUdF zUD(^DN0lX6By)h!0<7GrfTjf};G9Hos>c)bUhSO{oDlF|HPbuYZZ~CSd0OMCfvFSR z0lP~^&Fh}zofa&2UmGl+J}Efef4vvY=F#7eI>J4eV@8fFaw(Pm9?ZstbIj9G48oD_ zKFrl<^BgYP>NVVa>W`pWFbJdCB5rC$k71{SKMXgO`nvaF{toj7D$+w&=O{WAJAi4> z>po1bY}MD%iV8)~J;SZP`QPw?Ib&R*sgEmrpFqQ7-G^!T`j=1$ao}ZBsY!IK`zwEr z`4$!9NVNdzmP$k0=>NyMzjC$Eb4kP+K#%dAjluLlO(Kc>vF@+jg83!YDxtSh&y%$w z{$tw1A$MGHe9g30&QCZFgIN5a7%0st-#8n%1q1LAU=03y-Cs#FOxHNB|BqGbdHGy- zcrEY2b~G2+&gzFzy0D+*9>7x!VgvuJ^WmRE402F#`sVp8_9cT6=%WqrW-cFs<-GVM7?zID+41-cLAJ;#JLK(;cWdJg~lBT<}UwAzXWs~YEEowKW?n*D^ECKJDrN7 z9%~KjLubn{{AWq@b+)uH22k9Og)n>(+~T=>g)->d*-`|DRB$-Pe1d+951Mf>?`#Pe zA<39uzpmmq34EnQ5JVfqd>VyyQdeZ}a zLdSL9)c`#$%~cEBvw0Z|;+gqZh(}O3X9A?|z}6H_oRk@lT*32CStL>(nTv;+g8E&i zKQa3{-b;Cx={@}}(|6%oJ<1d)bWDzV7CNRxhx`s^*cu2<XCJ*JQ4 zJ*ErvdrbS|?=f8v$oN>^W16quV@lY~haLRc-eVFw+j~sdjd&g(V`?EMc#jEz^F5|S z;7RW>JyV|15kJnW1O{L`GOlq|G<+GIxDrFTP?jZWt*l$&<+4D= z4&0{Noo~*I)35cU_6vHNiiIHPv=fKVBTnDEub2dAo++fkW@%j3K?8pYj;;q#H)DK{ z@F|B2WsM2C7e72tI0>iOQ7mVGaXvmq!{XPUVn=GO<5BjbVDGm!vCJXwaD58i3+s3n zuUYMr*R0$F-|`IH=(dIq!)sUhldZrAWbUWSx4~cg1Z&6$JQ`Ktw`TN%=@-klgOhf* z)!fe!$oK%JgYll#b|gC9vuYlU!ZGM~!3S%> zqQj(*J914fHm8pATSEtRyfet!2wn!h=(cVgbU>`e`K=pAWx+0bZH8D59Ywpz(V;_N zH%{C2F?Qnu8CwGx+mR9F8Qa3`eM^}np&tZr^JPcZae;!p{!R~$B0=FfDm-R26;IL( z+Y)u-Evrene%uX^<+lcO;~o|7gT78Wb9B3L8i21?X**oHK~rC3G@e1#_x zx*u2RpxNdj2Ao+`jd$DoI8B1>vpn6#?Xv)EpZ%874d(uDTMwMg%;cFmlw#ZVY;K-4 zwZ3%$?k0{@+v+m!fAB|!4nu{eb*E=Q zKx#9+ur^FoKvbE*`w~FqC{3G9gErz4=nms{3 zENZtui2E7*yqEMRG{+%4mZuxgbU&rYS~m_rn?P%&&A^$trNZt%qbTf*Lq7$p+cUh!ii8QIPjlRiucli(4IcVIcNgH2t??bG96oExXH zDqbi{=fp=z-)CnO9efc$kCGOFbc|dWf^c4pY}yNRb#3n5`pfBytmK!^x_h6p!r)pQ z4d_0R<8FPyi_dCN&TOMabK^xWcG&YQZtKP`(fp#stwWVTxN7(x3ALh+z%fXOIIoqWhXrk3t`Wf)-vARwFhMRHUd{9?B zT<-BnY&5Ku_6YZz<(6AJ0=O$26BfVqGH;GL%&Tb7r^m|WUOuE*@}%n(H~@P@1_H@pN6nwvn!o%we>>sfsQJ@-Hq1SUh~wYkQ^)aTe5J-Qbv7*dgVJwqg6OFj z!z!1Qe6NxH=wK^O`h!%`Jb1*)A@`y2{eP+A*p1bT>gQK;CwF4|KOHEUBev_S-TT3W zmtfVckjl=hOqd&&!KT_d5T_~U!z)Ltdqh`I(zdj`=hW=w_m%6gG?wboid?mGyX3VdkIFkN!VA2{gJ}Yh6IRe zs)k=pM+Po<9HekmN( zqMfE<{FFL^d$vKp#qWT)XL>7T+}rj?zXXewxF~{3(mlbqcq6?-_$?84lK#EiF&!w) znJw0Wp7uWy^ZNyt0ig=LK!$S(@GRg-K+^dN0#ed3`(s{&o^&1+ z^WO_{e+=nd4Wz#-#C(k42|)V$3JI;~3BIipzVH{oJox)QkbK+%B%N!4bbpm#Um!%! zr5~VtVF;V|8^Qa5bQcxmdx8kEa4|3w?izrIQYqgT#0V{q?+eoZWk7~=8j$`^55D+Re@^fj!3~1IRZ87m)r=6Ff=qc)>R?X*mP#w*%?^4?wzKE%;Nx9}03mPY&EI1fqVI)&Mao$jd@v zoC)*4BXNjNBGJhIFM-_WRtKV_J6CWT5N$`{PcyXn4+Xhj9-{ZcS|I7q0^%>q*%U41`QMAeL;jx!GMsIKKL@hh+$s8Hf;R)93JdX%?#~ruVEF6b1wFA{ zaFt+-;B3J%L6;yv`QvsNzK2K+RU3ZXM`PAeczHMNXM;H^PCuPU$R*OC#$ZSNQqfPu zH}z(nXqf1^ZbJ1>{J0mw^cP*CH~qt}NDn{LAMu7H>P`RfeX)l(r51_3>7QV&+?)PF z(qCL-FB2TljZqKa!><2zir$@~uSwBAm7)))&`;gRaUb}#hxfY_eOHRUCxw1{3jG&S z>`zXyeudVGu7Cw zCXHEbef@lKsoXSSMSC94Ym%X9%E&zI=m}25TDlsZDQ<&UIj^sb>#-`$C2^e249-(8 zKiXH*)vz)VN1YhubLLm`nC09?9PJFwT~L419PB&b=v2iKJ4lROWA)s5P1yQ?4FL6e z=IC07ZBw1z|w?$#rvxjeP7NH(%Q4+etw^CI?`vLsi7TPv?`y&k?`*3&yJC{r)v@*gtdV%m z7Ek$lJmaX)<0hIWkv!HufNV+k2Zi1Wp(on^cppG5_+a16eb^pwV&4Z~Xqr66xbi<% zak&g8|M^DRrtTi^(yQI=Sn1wLvc{6a)Xu=XeXC(+X6r`GMyc4(=oXjkt7|LxMAyCB zVdBS?OIy27T4|^(@1TE}cD81%#24e>i(q62fc$riFES0n(HU8gqN<|n%h+P9l?~Ph zQq8ULS>31N3Mcr}bnMIiedrDl0l)%!&j4YQ4lrhw6O1{V)u(}3U6O+|leQJhV#7?-U{?HAdnd+u!96H2LZMH zX>A!SaDQ2Imh!I6mcY!WU6HKi%9_n~i%lC@;esxFP@d!+8eZEBy(4t8FTA9|amOIM z*imb|;*DOD4v`amRs|Z;3_LRT7H&Y(V_c5&?9$L)cf-KJ5v83Zp~jJFgDXV1*f)!* zfDz$V)d%NPR)!Yp+g9p%6%6JYb@gVr4W{ktdnh~UU1@ZvL&I2f=Pz+xwBk%Hu)fs%c^Wf(b`I+$1OMW&2ZWiEICho|OQifiN zeDWlWQy_OJ?FWQBqwrO9K*Vi=PYV84@Dah=fFPaIB=}7r#tDTbq8}-k2h4)`DL@Qa zN{<6#=u!G6+9gzt(w_?Q9xu`h2~GoIOj0^d^rHn`K+3Op{(^Fof4~#{y(P$VJJdfW z_y~~hcpe2kpgPw?`{Tu)jxhu+_=c2z)^i87o3yudeTy|tmgiCP_<6QM^IbDe7CqUdNvFEq3u)Z>&he8 z_fnA_+Q)=SCy!`=ASxKD!}y^p7z}t4j^pe*%Ea&h=#dw;hxnrs(3)e-_h)No@y-2X z;M>HFR_GgR#fburx;dX$$&zN@KS%atfag8R_P%rI_Dr;>1bjh|dPaCE_niT;#* z*!wXuM!n%zM2~J1b6nh4BL}~NN zQ}u!xd$me?ekhBX>B0|+^@^kWBPkyX1XR8h0HZhc%G8aoTdztbqe+i`8!*^YbFSX? z3Mcz`t)N!H;0*7zGeiS0bc|7TJma*R)be^Px!i-oSD6IS4tlItxftXKtt67is;9e! zUW3r%p!WY#PxHYC#^a7_QNVa!!Cp_9edb3d|1WYmBiHZ+tnxM3@U>cPYPV)?!7HN= zdLj#RvBM6Vb};0_q%v|g_7n5`jkA@BggsXNDEA^q0>dzuJI>wd8OB+sqf@a*yIh*( z(u^Cvv$5rQmdLL9!B zTT8B>)(%25;6A5y*dZ9;I00TF#3t169%sj%%%~@$Fa6M}#+tdwn$=#@_m0^$*6o{p z(c9bO@2RRC?&rV}9(av-|Jv3rCv!r_yTiBVLS}P2%6jQdTS*$%)|Zt>yi3X>(H8LS#zoJ7fYpts zR?D=cZ6@TOe2{eJ7VO%t*b8gCXR!%FI`2xiXr>z`qY@{CoUJ^X z4M~LB6sy+LAw(FPWuy={F-X}Gj)Nu4(?DgT%M-bIX!y1)M0}UC^>1WT9}nWa6W++& zT=()r`g~9hQXn=CQy+IvU|6Q}0lW?NzGAQyuX?K%Ayn#*EFG3l(Zs->shQ5!189BS z;ibc}`h}dd^3kfF@?<uX* zuQ9f?v2T}0(R5)GKC;06&@7(D>f>x1jIu1^(GS5E$o~=m@;d-F+F={*)VtDAhmeV7 z{?0a2Gu)kR9C1L6aCdr(_~8y$kHS-GIukM`xz;%WwE`)07c{8}dy2ghy~J7{9sC7AC+u8!OH?9Nz__0=wu_GdL}qQV zc6aPOBYXfCvCjqVa=Zo#a7QwSxh<8i&c`}^&OhMkv~+cuIqPnTvaP~#CDb(Rvg&~d zHg+qhe~sGlDD(AL)op-OxAQc?`)$?O+2#Vbs2K>d4}wf{Qb_HEMtgQCcr=HFOLFm0zCMGcY_Av6`>Ly{INds4196mi`LMR zKt=~1x5LRuER~diz0-Ki$@&x=4}5LBHRQCO&C3sSC=~iD9yIZF?7>l>PjEmZOO+{q zWGapVam6L``RJ863N$rWPIcn!RQDxFKWu~FY5L{Z%a9g+oijlRFL3Q_{V}|$o;&8p zS1U5)kBHj1KF-#ciG9&JAt|j_J7TA!AC$5*);HAI_6;!~w0uv`6}V~9m+OoUpxJB7 z-|4}S#TU6Y+uGr)^tn(@xB2=G`ijLm_8!QhRP4j%#FRFk@-1EHSbUGt&c_R$E?~bP zDfHrNK$)s1b2!p8O_f2gTd{|5`Mc=l`}*c>%twGm3LPDi;kWKrGP*QD!P8erv4{|9s5XZNYOfQ2$%#&(59-dbVt?~K^#9ZS(*B@7 zJ_9kklMP~PbM-Cyj%&5g1;Ti`#m?qA&6TxqW!J)8n)|LlgpfF${CpqGsmk$7C!ask z{BQ)^bB>>dH$|vOU#TO=!-v5#fZrCR9~Hw>%D9*Pv?DO?r`$J3@LkZwSiSIXf{zRS zRIn6?sYWS<;ON#${}y)3Em^fdwys?R`jC;3k8P(5mez2Ao&~wB%g1A82RMcT$(=#q&YiU@^h!y zp9jQWj!W=(Ao=sPeH0qIerAe2_i@_o|B+(Pj?8Y~lcK*O#s42t>?xwQv)2eZR0^7vQUOXG|gpuBVhnsZpz5)a@)r}Ab zi=f8%uhN%BCHB#Ig2qa=ki~b{C2W+8I$@sF6l$)0YMWxR0D4-Gmjb28q~n2UNjpT< zYWeaA66#9ZHaE2;a3;8Ax=r*{1nV1vZZFH>QRTNK>E%tuqesgAv$XQtdBKLcN0l?7 zZaZpGCmk;Qpjdx)qYNEMtvOHIte_vL7SXerwJgf3mWv2 zGu_n0x?@!8JvD|8wi`yFeTl2oC>?7*nc*voOhMJe7i_g&qOUdhe=NDx-ZQk*Rl-!m zSz6Atwium58j{D7Tdg=-dpaQeWe@-FbBgLc-jYNTq%*;Xq#^lIq6_&#un!%>AW z>~bvhbL{K5p2)k?)qOO8|45nrWk!yb>$mn}=S_Tz7N?GwT$la{0)NZvvw6F{TB&MD_ z9>TM0J=<|Q`#_-N-K8(Z`oms0a`!yvE_uUwFV{OgR+ry;+F$URUp>G5OBj_~JN@CV zL;h&RAw1se?}+vB2^Q0=~gS1Bh76yQKAp5+dA9P+`1we9fJ&c{9tzlSF# zxBCjV7r%gcjx&4GPG|PiE@$>N`<&TlI!~Om#d+e?-OdxQ+3P$pc)%BaItwqRLj1J3 z4<01!Q~ZMai;j%u(|sAQL5u~To>#J**@0JbohN3#;yf|%N_IIm+Faldzjr8*@fmp8 z>5B$l&GHrOW@sL!>8R&@R`c@*@FcXaWM}A~{>n|tnK{^vH1}98wX4g1%+TzoGUZ`< zMN6s5x{#T__+-P4OlSDiXc)KgH&2wzZZ1`_o)@ut0%6Rr0GPV}31Ab(+>E3(^LM+T z2N#H#GsqB8T_l1Aj=OykoU|T$MQDJ(lg*l=lNU^yqKHQo+g=a7;nVMJ`67H)Py}4Q zPF2A@xXB>A$(&P6-H%q`w+_Ykn3XO-(b~W|$i4X}M|yu(Io{Q3y@v+T(mRq0pGt3t z1T)={nb{C5B2gjDKqVLjXDU%3yv%mo;eL_>XQY?D=fImAnUQ25p71=LztWrSTfVW2Rib3`(r1m3q&%`P3;cxcR@sMG-RPdBH|E9nvnBEm(q%JG zgT&_aK*_=8X{axF1(lbdz-R!BaIW(T9N~W)TNIFKZ2)B2_W`y{y8&#NOmkloe=ILI z_8OuE)=Nr(sJm0MLO9Q@8w|+FqS#^Z6xkDEU#Ao6I29JZ%tXZOgsNbX7O zDM3u00cgq5cv~bOe!UcBTakiCg}lN>K9kE#qOno=ZPGX1UaI5LpSzjZs?SZjimLso zT!gCvP?8xf;@-@*&0mR4x_cQ((_;CpiMh&^pE0+*Tm06WrV^fGE9248Ympqq5aWEQ zDM!XC^mnS!x!1ZQyWFaAxjQH3tBmQKSRv>WEEA;M71#SrRGl?8oFa29ywm;nr2M%9 z`SU&=FtlFNp&^5oZ_-8c?NC>IQ>|RI6&et*Mhn?2VxkPuvoLcmHXk&6?;9 zn&?dYX+H_ZiPmnkJ@!Uc z`LicLS^Ql3bhJgd;wTRxs~alLLiN?{Uz00d0nno!uWqhDtM^{<>wfDD(-5fLxkgSQ zC2>|ySB*Ls@8dlS*z>4vIUC@Mpki7BZ0F)hJ`X zDcz$JETR9$MIN}(<1Al<3AJCh6lfCO^IK=SJN4ZHG1e$*0H|*JZT?%XK-pTB5z;LX zHqKjLU~{kHitS3$&e9#2SR*zK0Ntqc#VE}bKIJ9$4gx5ToM&nUg}p8=&Z!zE<%Nc0 zY~N+JZ=dbEB4B;CvSlpzy8--}&BhxDG9hM!xDh78fXEkJKN}u5w7}I9_&L_`3)dLQL-3``p>4cC4S6z^`iLK%tu5su@*EGfeEf+QZWJ~ag`UlG~`uW0G+*My!-Cd89I-Scf!lKrmN ze!1QaCVrgk_jdZd$auI~1@?RG;XLi(yU8BH@L)=|eV}Gq^Tv&y{*AFml>IXhe{lI4h zMoryMrH)@wigS@s`ch0ZlqqEyhbH=6iU}fb{EDvMi6x~C4zz%}IP=R^oHL+pJm1!I zzp10j_bO~rrI<0c32De>2$o|~MT6Kf{ZO+WZ&3)rWp?3}xe1Xz19J#5o-`ClJ1_+Ne zd#!^y#LCTqj4s?~M$Qt^TM05PV~|f}8KKYB0N#1;CrA)q^pTx#SlrWnfJYvU3jhRE@9tFf4OE27js z4B?peZQ5y*O%wQWiOo*hbkU|rY|6xDpYy~)m-@mVw?I~s z8M=>;OOHm1FfgnTk5reUHWy|4JG%N6_pEg0doJ7O%pY_a7`dEYFNb)=%Z(=K8Ycp)E(VfSs{^t8wv$3^CIkp}|l|{}o+EhtJbRRZCw(jpL zOFRE;fArX?6?uhTrY#h@wf%shMoTjhG0sW#h0-wihB81Spty*KIYzWiSs2&i zSK3FpQ>NX>*wQDFG)aVBpurdBD4c0cHJvB3RGei1XK42o{`{3Vsb}u1ig&w-$oA?_ zamE(6wfU{j)#1b2iu{#VXm+iQ>riZvLW|yB9tpY7emw+ER3B$T zL^n5B^;O0oU{!B%-`yYcYc%V*(w>iBk$KJpG~?%H_xHCQnePIZVQ=p_{>0iBL&vV}UCvfBMWTK$V zdAD@(1LYtu1XeL=zX^b$EU%ft@M?qSSTY0Cv0oRuV$eW zTg3qjvpi1d67mxzkHcMdg=AC7Z1LjMTNe1 zEnMPOd9}pQJ;WXz)F-&dtT*a8qlfPOk=w!Q)7Z*FR?Ej;6gs2i)6nVRr2{e@%@f=` z<(VEN*0%0ilmC%sY^R&j6FxX#F>2eOdjc7IdiH4NnRFgLoB^3m6r1ik)w&(MN4g8* z@ZTpy6%gTBo}v}N}w7(2A5iL zVL#5SsB0;Cyeh1m1u`q}TVg|g^G7=qKb5V^KjhFN-o$gDdmye;Gk|Y_fnGC!CK#e8 z-}m3o0OEmg#C{-jJj&(rP2^?PMincZ?wR281U=&?;ejK^b$HU`*6Jo)PSr54vbL(Q z>ZZAc4Rh7ag6eUhiRQS|`R7;GUc8h~&c|1qdmC}n4d~;j6doIrr)iFK%OFB&m|J-H zBCOdfm)NK8n&ZN9eh>zYg|n@YX!2$CFq(rndBbD^UtrUUbM7fE?$6X z4%T3;pEoR~8o7oyBnZr?=Zil)7eL-7)YsMdaT(8ydb}Y-!;}bM@w|Sa@lY|ms_>>z z)4V$HSjo3*;*O_RHycVIYu@m&eKKv%Kc5LWe^FDg0Z%j~>5{Ga@CjaHO1RJl2}d`{ znK$i1bhM5$>^O(Y{!&mI;lk5LYAc6JYv)z* zqv<%uz^fw>xIVNI{$^w^qmdZ7+E-5wgc zr4&W7*pSc`UQP>LI-6{E@e+&DjJ(miQQ{xG?h~((xh{7ZvW1s7OBoMT*P(qhiYElp z?TgEXIn|r^rP~*`PwaQWKAr!aXv?UsLgSOpe~}uZIvl){A)WsgwYrH`8Z^@R-zoN( zz*8ZVWYs11dD^&_y(3FoKngqkO7y8hVAl zQtXdJf1lV_!RJ{Ho{~;hvngJJDu>O9$E#B`+CcuBd+qLoeLDWiBw?B{K1pZajwK8# ziDs|xcZxk09I1NQ?>mNlHb?hR@8Xw^f3?X2b~#5VKQ64~*3IF&A^do-Qs^>#E?>F+uH8vHfPt&rmn+^>{NXN3+(~n9IULvbP6ytZvP9e+seF;opTpfsamRKp zDcm%Ca<1F;speDKyjle!mqPy!6g-Bz2}nBY1s@aqgWwN=q~8Xl`x-G13SKLC zmEeXPhvQ@=wRsn9l;&Ii(tMMSOolyHqZN+=pPXMy+FFVP3v>&ffJyw7X9@a z^Cko7&L!rj3HAk&-!3c%G5i;RSAApL(=>?4A$g1qm$81}q>lIb=QNdC?P(q9&kbTb6M z1e4T%1RMeTU83J9xK;44zzbpjXRXisk(l2v7!_;*j)c2~TAw#f%qI(a1V;gxjzdJ> zA4oo1kXQqeULhd*ki46Lm^$PIf!IElM=?I@br&2lJ$4BG4#;}VXRq*=cNhNAKi|Ki z|9T+(Uk{}JD}e>Ti-C;)2*FcdOcZ-8unmIDi5UJazbZwj6&_Pg{v zC-2vSd}4|I>VV9TsX)f_3NgO~$Z~NWkaYV4Nw){g5_v|N_=zANGorgcivBl(eBFrd z9u}+uGTfP3pEp_KLJx2_{PRq3KClz>KDHB20ZV|70!in8fowN^3PcyV@GhXLmxAR$ z#={9D|CzvHz(WX>`nQ0jvrF)gV!j%Pt|@N?@Laf?4a8p_?*RjeJg?xzK*nTqW2dI9sqx&?V>)>;kj+?B6c9O0Y$6wqTi{OAw&^(t9nXh-iEzhm-Tmcn@>C~I~EYIOlZ{#=M z0zcFnc?Y^Hr8n}QTJdk@%cqHdBVT$~^eqEaaE|YY-pB`@68dI7?h$%MK68tN*Cqa2 zMQ;QXyf;trhjyHb_ZCubrMcasP)Dy+4JYOH=eLCwBVZP6_Y26!&Zo?e5=C(f=le-iQ?aycGU8*Rs>=o1({# zp(Oj%bDFoM@XK?gc6tw_*pExm^Y~zZD-3m&iNlXrKrss)Jh-QC>*umc8q=#MBup#H z{XxjC^}F^dg8m=`*VT24^l?SCMl*@a0o6<5$0kAFH>WApXdaF^&S}P3K<(57QGqoK z;SK(H!@f<+?fi3P9(cY3uhX|W3@XY17?T6j-iYT;I3=U*^)q#%ei-Yb$PCgG%sXl3kgS1(P*#gG6H6 zjH;`tIqLb{G3n3mjw(9FeQ`R|;%9hM?_b2&+QG4{!-XFd#4GVT;FLkiznufM!EXA2 z+KKrM6}xr*Fnv(!>z?0jN4rf$di-3C`5wmO)U*(cI@WnxJ01FYP{tX?zp!hxsF+7T z4{YLP?<9m(MZ?~A(17Q6>(ICwm3qE-mGDz04whh?LV7Kj*Gm!_uL_TK9@vbdW{a=2 zpocEe(GGepXCoFtJkmb>!;#x9F72qBgF<2j=pQT>Mlz*zTLeTu7Y<-YxMW z6Li-FJ;$8w`1d&w1gWD3EQJ4g1024UX_BdiWGDEGE^U3+$fdj>4Ve&SAF z6v310jcHfRTi~eJ9*=y5&jF)F?D$b`G2PsmK>#<|i_~Hu@ z-Sytcm6-{%VK9rGANQC(_*3DiS8(p0#@y-MV~-Z#S158R{?;-E)9E+qEsEHBlyq|D z1_#M;e;Y))eaT#Z0<##`sbFl2AZM8|KK+)S(ucj-!A3(}40v5w34E4EuFOKpWrGjg zG-XomMe;D)*m)z3F4zxE=99Y@QzFZ4jP@5dV!IG|Lq$=Dhwzv5zHQw72!4}Ofsf;L z-vTr4mu0%5q^zLXtYov5H1j9>y_sg*S1bOw6-;qo{DL}mA)E2K^OL>R8fQrX$A*RGu$)0LH`u@gc<&; zy|SgKmw9kPVCrzEo1>MFR1ed<${T03PJbWfPvJDl{PmrtGMA3t-7 z#}TTVUsu1l&f#@W@=gm*_fGL3^7+_Dr2h(rWAG(**G)l`(>cJFqg$|-$L2I)!d@Fv^aZnlPCdn0ifc!ju_-;LHjS=s8sG8dm*Nu676f z9#;hm!VDL$`(X@>+KU#N>P*#rK}IZCA;|lws3=cXN|5hO*wsKZf$8?qaPuV9Fb$&9 z8vZX6laJApr1L*SoF3_Yj#c|nNue0NQfA%u%CK5@XSg2xRvggogpXe9rZiuG-%4>u zev~rwCTM!YGu7BC?+hTu)P=l922OMM?gd!L`yA~Y&G!Il{u+?x&x?MW==mN7?fD)C z?I{S5z#LfeH{=*xO6s<^spvDcl|l&BjyXb1UXiwIR}PB_)!Q@SOx@({au0pr7uFc zScw_MozU|=)>Sg!D5oBIW#%)#gPwBGGW@6(;zzxyKRZNEJ1RO8r%I2toh1D^Df&Gr zddA1@-a#}=iIcQ`oegpoZ`&L1ybol-eF`Z+AHKM zap{Vkd;QerQRM<9>E!~&N0tj{e}aj^Zds}!x8$3yCL#CIMZ6wfZfb`St- zj%)Exk|&AevF6=tg-)4Zm(UX}+m>4MO+3=Pn}O!yHyeB~y;cEl1j2uOo{dkX$R~f~ z`#)9c+yoB9@1;kaml>9HUSlQ`L-mvLaz~to}V;ciTOtyu|l$35j_?q*viIAksQ#vLM%i zpf4OQ`ZEM6!vGV70AhdU8{1i<_-WJfZSf@i#1y@0iy%8qytosu#@ZI5|Ai?=`imY_wuNy{l{>PGa?Idx;RnU`WeN31 zQs{K4a;4CAv0y`)_C>V~(0|?b-t7w(J+MX~Dpjs$_+Wo+l)YZr z^O*L*U=tq`GsXzL6UDRH&u&6YP4Z*O zMfXX%8~#Y==(<;SW#>DguwKR5Dz>&Vja90x;-lpIuf6w~IWq~b+wZ%--*d*VOk=X7V~+| zQR;Jt_HQ{ej3FdfJSfvOsUK~>V?V2A;BGT~3rsna_8Nemv}I!Kyv$f9v}m%>B?OncGsy+~cXC>||1Q zvAjj{r-~HIm2~xmyXh>c@u2PQAjHScp{1?EJ+q6>qEfKvQrBb1GgyW}hq6~)8w0um zeg2mFq)|J@sLJBT2AMrDI3^YjJ?3=2#Fq-x)^T!msWvgZb>)d7j@#}S-MdvNg39sm zz6y2VKSAXj_lp3k<8463jn4as;KmP3sgtayPjeS?%{6D~J429rO%WKlS(6i;4akXV zgy&eenAvx&j&VV9THp$uz>@@W4Ej>BDmc(v&z`QMZ%zrez8A%Qn(pkC_TC=N3g~mm z+5I8gJ#{jhE9rCL(jWsZo56MrnPK{{NQeHYHa{?8*%{RJJWyl?6nYa)Lgk4D45j@s zz*Ab$Pj{NoS#ChUe>EeEHy-8uGolqokg+lYmSGgIe|yH4P|aY5L@OoJ&a*2pm7 ziru;Pti#3sr8BUZ6m_%5JZbB$2LGw$#i^Z=RR5f=Ekg~7V9&{ZC1Ag1W7bra+E`NL ze)CPL5B_j z0l)Z{IkEC^qMkjhj})%?UTBAWFZ3Jc2{x%9F4CaVF6JHzh2A+zLgHT@5gQ=l8tlsc z5d%08dyftsXuqB1)7KMhcTkwY9!nvjNk+SV6GFOLNAQ-EZ8R}DvSO2TRox{$^(A(T zwB13kVFQ&uv3Z0&*Khhay&zC3DyehE!g#WjZn&;d!~PiU}4ymeoj?aBBtVYdX4kF+}Oqkc#E{uB0AsH2Y6tQhy<7-;9fZ~d*)mu06 zUd?|`a?V8taSg51(|J2t%*fNE0a%$&vkA}JPxx9BK7K#pyG;05`w7oyj*zF3lzTc) zxRwc6p8ciYc98ImCVT}na(p@6%IE4!E+)LE`rD|6xXxcs^>?s!X8xzrle@a4ebnR1 zeaC6J?>Tr@@;}4iNjs^>#p~g`j&M+$jC|U(8fqWgkPJ>|+T0 zxq*&>Ee19K8G|JgfH{b_MX&b++~)#|fJXo&U!RhB$yX;(^7Rr>(t8vr^dB_vdq7r2 zCAB7eqVXSR;Ca9T!p{T>y#k=nI~pkIC;1V2e>CtRprj-BZb&@oKN4>)P~uGi@>f5C zABk6HpvaCS-d>;f|GR;*FTvWg78TgL{4l?@`gK?jWTlyPes=vuvSHfjnQkBQfA`$-jR2W!jpm>V^F7O1l8`x%G zvw^b=tT3?9K!A!DAhPUVlo~n4L)7cB6x5YNTqc>oy;m0IJf}!Faol;j1GiW1CS%u+ z-)@7yUEI)cPHUqP0tBN285ZHTv!tkI;2-b*85lyP`>Y5Jhm|I2AuAs-j+o)9f4x zcbd(Mrh`0!U|}75%BuEHC6nbO+i4$@=Z41U*o93YMK8?|?@u#4jo~uU>FgQhakyKg z(hJ$E1KGXo-8hZLJo_#46@M<*3wiO<{4JJ)YHH!f7d3Pbp9eea^*z+9gF^way1d! z%IpHj;zKp9yYNU84OLCW}7$$oma{H4%iKyl#Mqk{5U1Z#bYl-=%XNG~_v6GUIt5pYa?_kGRm3v(Ut{peLWc z8GPW)JefiAVDk40L$AWnt26YBQ{?A$?z=!K2YirD%cDmuiHiR$@*%v&E`FW_%4d5r z|K7)))3d6=i?ZK$SDqshr6EWh<2UBz#jfBEiVBH>uoAQNXfO8u9gW82oJ9z(9_AGR z$CH2zsUPe*BAZ%%jc#JV9$Vqc>g}DKVavHi*f5coO%U02d$8{Q?Dmm&Xl~6{oPr(@Du_e`>{!$j+-}8-%{n`Yq|)& z8$g#QWIx@;Ye4Smmh8v}Tdpz<+rLM?`s*XSe)_andn#x{NA_;6W{4571Q* z12ef7HO#QSl|1Nte}keusm>{rTa@PG3hTNEIjSyN?;%ded1$SKBqml^@s$<6*dQx@ zDRScX$bu!;Naq+4vj;Kktfb|*Dal^3i~C9W*P=}aGs*q1H+)GiU+f}dMHHN!*yh|> z_SPQD|BGvpJEGt%%H8;>cLz7}ttcwfBYn{?ECM zT)?@h0w8(o2u$vt^%*+rt5yqLmHSoA`c(?B)D&P*x&U=}&(an%lRs0KlJlcO&bM{@ zT}Audpxf_a+OL4bErirR=Tbw*jFJJn*VPf?_#& z$q(>Lvug9?;1z;P&6!~s&-*UgpgpKo$akkF`&$Q-ceQa}uRQK|Dn4VL$sIuE^O75kf0Kc7B7xWPVgp~L+F9?Gi-}M^J>_jcq4zxln}Ph5Y^6Hz zFMk9mbY*4`yzd%V1C(@UnDC2@|M>=Xn6qnYQim{=9*Gz~6vpX#O-oEC0myYyHdBl#5_n}W` zJO|_dHky1Dnpiub$2jn<%}@2e43Y=q|F#=?G9$^e*U-~0#lO|L?*b3T|E(te$EQ8kLPdMA(Yq`^tXP%TgdrZ$eEa@IZk~IO2^o|QbG(b z6@rTpF6?zdPOK?Xyr1(m%V~sve59zEF2Fks1D zJ4LfV6K_R{yU`UJNgm{$^mbBF*<2$Q?Sl5sP{P_5NQ~)HcR76C%O8J`CVgC*l}xo3 zfRwyU=;>laoUvS6II)0j&9MC!bQ(Mr(#6@jSepv@xYAsCl$5)?L(U^b6^h1piY%a| z8O2JcO_)f@O{|D}GGnKQ9B#9Vx0hPwySjY7CH{!BqAuVZDYcW&z&G(Mhb!;c&MYU7 zKEL8KE$4R4r@*AemuWs_Bz(%kJc$L*hgO0V2}cSs?1bPmBb)f=hLsik57ZdFti-9@ zu5!tdiq8~3A2?ir7~EFYCG5&FVOQX9g33?5%Z;L=f}4cT9Hn@aUMfu)%~T!ts98fS zdjg!KRS2vA!iY^60n7)&N#^M**2V~0A(auf>o>wAZSdbFQfY1}njGQE6Z^NSD_ZuO z5$^4YZ!T5G(n5*F6`{nFMSCT&;&#<|T*tRI?1WFFSkq2}7oK)H8cpHTw~OB{@!Kta zyTwmA_ej8A@!KPQdj*AJPCK29^*_zB`=3s7xmJ8jMQG%<*nRZ&bF9tp=7tjAQQgb> zZ0FpyA!qopsQw&FyyZvpGyG`c$UR%!qv0G8wC^sGA+-bm(c#|?LP#zzTA@-% z4EHmp{Jz*_hCz16j~-Jukk9>$ss66rcn|;2c!u+o9MF~kyEKSC-fiPmrnHw+5O8i) zt5iZ-?+449!;IAo48@@pB}P$3GCgoX%q5rlVwKrN`BbKd#{C!Nr1WY=?oH@ES4b&Z z{>A99BhSh34=3gq>fRZ6Qo2D#{E+I8zi+%qb*qm!|D4eu|DgNh`)+^iyv!TBlEbES z$wD1>KV9;@&c0lh=GMRT&veHyOI?=e8=S~<_5|Hs$GF{fmt~L1?yh50cMT0aiK5X@ zXVO7t9<-l=EE9BQKkX~}d#10NX0;OIGkfTI)jy7qyLU1csR}Wphh{Zvx%;s&Gkn>> zn)P^8ps3GOd#WVW+@I>71=6y&f0Gle$@^5kbSLfLT|`+bG%TUF;AYa$&7HiD&!x39SS1MuHs)v+PAWNQ|BjF4K1RNW zi)%Vk>6&#e3MHD2vR52f1@DQ^o*Y~??s!>C1N*gh(G0nV&t@nWwO#{1r*L`K$uhogUV z4%HxgyZN7Jd5pV`Ovz)i^i~?6PjS`ShFPS1J&P-G&jpJ6bl_3QOY*e;fE)uqz>`l| z$xa~n19lj=4hTxgDg(y=MQ(F8@JQf3*du{|F>o^url;~>0tN5eK#6~af#1NB*YdFj z{t#rrn*fw}U1UP=w;DJPDEXOVUD(`TjM9=3dH zAe~ztp+~>=l_F?Ce@q!VdSzmQRh~ zNQBy>93613DJnpnUMviYIz6op-}5iPGm?mAeu{W=g;1Uw>#XEmOm-m=9(@*aSpR}1 z(xcPLo`;oST^Y9dn!kx`Wkg!o)V0f8Qx=M^U=nNj2IUHC-X`RnhBzcFvVxW;DXNti z!?$??%)+r9V{)bZ9cos=zo27`?A)+i8k5g4jY3|19b+m4G*=Jbhu08!ceVG4E>&kG z;))M(CJnJ{rx`CU{x0NI7#Us*cojy5SA-dkFft)b897(-slRg;E4pB5-UPD#C7JcY9)#?fdEm;c zJiFybqym2@GHj|oZ=#Pd9aGPDMYmETST4)Sd6O&Bo16jXAz40#oXVm)Cr`HN9>$s4 ztmX{}_cR9gh zm4x)^RastMPI>pUQbzi8nUX#osdhPKF7nw+SeR87oobI`n{%An<`lOpMF!0wqz0@R6px~+)-=suk zy>DWo{{#5@6dntw@rmKApO)kW?R|lxUJtB#nXu+c`y#He9iPbckGCs_yA5+Lod zd6jn8QE#kzMd;g?c0FscN4`1s$B6&uzYgW>^tVi=ibEY0d4w}Mu;!*OR7_gW z+T60A4d?vTvM1+l{!_o8{Y7Ba3*fhNpy#O9?b3;f+_NXzl|%9>kNVPnXVoi2Y9DQ1 zGK8zQhlK3q1M=**SG`Q_vv^Vg5cLsY?uIg}xM`#EHox1?{wB7%duC1%~Nx@@JhV3MB;G@IENlta-%0}g6?S@xm``% zG#hz3oPGauz?U_SWzLTXef7BKD6-a>MFfWV-%b6M=OTHr0bjFhZ01ExJK%po5`m#P0RzuI?_bTtKrsTFV8H4PGr^Rt+o6 zuhx~v_!XJdx^mI+|2w@0m(E3+obLkk0lbgNZp!Om>q^VyYnF+z2zrcHpWL?~kSBxW z!Pb=<481lLmGNun8RucID|eC)DdKJvtgc}|dDoSaG5MEqCV550;;^6Wb)}__+N+Vv z!Q~A?FLRmsIjOMB+yP*j`3}Id%#>Nbhh=7d@+;=(ko|JN-k!D691Q=7p2D9cVtg-p z3ZL;7a@azegzA-+rXE0XYaS`r>Y5}v4&$o8YN6lj$tBdZXIw6^ma zh<|Z}f6aY_1u2)(T^OC#U68d!N_SxzNJ+76XNo3#NrZI`OKcQEy0$0ZVql@NutBZ4 zzo@h~%LGa`BO6#dC!ZoT%m#6$%Bxge>&<~e*6d3vRfVu! z+s4Xft-D%Os*>Hdt7fZc2i&e|r?TOLW$k1bpv%&mkry4_u2s87S0TM$#X1jOjfK!5 z>ncPN*X5&29q8KTZxK7amG;byvbD#~<>bKA8@qhIU&&8;>v8Vd2~9Q5+_BuBr}srN^d34|+sUdtL3^D@J3<|;t~4Xi(Yk@|DNn?{ zuZ>ri#YI^;&=FK(j_5SY3BZDGSWkG^o`(i^tGvpiYD-om{a}|;B95QJ12Ikf7NA8O z4}W28!VJ=u+DPW-j!#j8s=kn#7A<57e$JrMJOwL8nEB&>=m@J zfHP3C!emhC(DKgAO_lc5@aogsoYAM+sqNrBB6D&^Yq5hpo+bAfRt2NcUC_~ooEn6D4A&2I*nXe{(aY1wEj1hcpKl@`!`H5S^V zC#QS6+NVzIE%&6i@Vx)FN|iMlQF3_5dJAVCa)D%ndsKR=I842T_UIw#Eg&A#dJ9N% zW^N28zEv1_N;DP%Pxqj=a7|HOsQB$hb_HeZWAXiWLHjqVHwW!xDCZp+`w{z}fv)Fc zuQJ>_%e@tf-ooG9-ie;}Un}hwRaAOpBsz&?xY>k zRh8ZXp-OLI6>j+ssOC=It3;n(+#mwf+m+tJRp#_Uzz&MMQEB|aH=wbQDV8LBMkEoN zWj^1oazdon5{CGae7F^l!a`7SWN4^t2(w!svCmbDbt^4F-$FO(?1MIoJDK&!yR^Q= zMCQNkS5g?oUm&(?H>#0M{mPz4!V_DXyqn-q;!){!p~Ui{Qa(RrZ^^zo3U-!*svQ!Q z)7V!>{Z9OLiQjJV+bw>|$-cU1+2JSpc4*##!uLaz?i_UOY;^9t`gWu%yXvBFw=VtF z>Bm>6-@ozIK}gyLU!}i1!L^~0&&B2--3!~ht=^hrGwKTmWZFc1VVy8-iro|Sg@oqa z6xRoRm0_j6pjkNcWjnMz{UKrd9QO26-#o)vh3z59v!o!fYM+)+2k=PVN!0{krg_J{{}QCbRa!cHlLTyj zFGD(v?ueESE8S-!8J>_S83rd~KD6vlw3xUFQSJLFQ7uwDWW<;B9d9omnwPi%8S(pC zh>M(YC}C_g^df9NVF-!SVe@so6X0fg5r&l5gxQz$GE(9M65_9a_NI}WrRBuw#53i@ zk(@pLmOH5cS5BOCaCDQfj)RjFT~B|@tu!rlRv@j=UBoKYDit?A(QgQ1_`Ja8zaU}V z6jmmNs0Ck zeq1|X{~yXx4^JD1Vafu%Cpqe5S-A7m)1WrVXUS}!;8g(W!{vS;pX~CRw0=X$L?9xml8X)eD`SDza@iCS_@4%@VCBkRc@sZ) zl}`mqyaEGHA~C`5W1ycz1b;h;3cj2_6a2YA#^Zo01IGiYsuH+;0C7nY&j`Eaz$nPCa5-&g=eWR`}*D_v9>hbC&zRvfPwCgZ|&M+^1)yzb-5M z@~rTavfMZ`=pV9Pl9A;8pXnz3zaxk~G?}v!PP=mNY9-4)uq6s2xP~sWm7ZK7HT8VJ z^Lgj@ET=xNZ1{yElmb+b_8DA@e6IRakM^LIAfk{A@SMc|5C+Kpo>{W-!L!ZaALGb9nc=Mn~&j|ocd*|NIgQ*`y5Q4%FUNB z3G!?y)zJOTuA+n4Z>}))ROpE)<#nGP@+Y@2?$>_vc9WkrLvK9?6IFS~GP!A@o|MGi zb!{CNSjt6>>Zz)l7MwB7O&z;R#FuBisk9L&l6mWo&qJNY(7y*eKe&N>Oa*o41fTEs zbPVFB&JQww%N(xkaGV7+U4XYkf3oH1bsfQ%B(_mNKui#=3B;dLUEAOCBGns8+_N5p zkh88$@Dj0?(u}m6UwUe-3Qb6jqNm}S;f$|%3BB`n+RDTXja(;mmj5RC5+59sUOK5i zkyJzzi#Yd4Qjx@?D&fSVvaW*4Mg^X#07RVoECtr7Wc4n$^F7f$inP8LJ2jLT2N3I}0C`dHhGgoJboBgf-Ns5;9xK>IUhswo``bgYmtWhrF%V?p^BS+$7 zuzC^0&ZG*Cx^2)$;zT`13FjP4ll$7I(RTyCyIPI(-+w}>4Q4LZ`Ny<-)sd0}A zZio&@*@sP?k4T@5Lv5`M(KxK^^tB>0LKw7LGDX4tx5+)ia`Fv{cXQbOqY6MWRGO3v zg*kWGF5#PZu_kWmy-7+U$}~=^NLlURle8{ks1;9IiJ33y^BK~3R5YtPRO~oIrwBTc zmz>~}t?eswS=0PMw7fp-Bb5@_=q|O3cUYT0&t+9B=>=HM0+J7__Pa-C;ZM1d#F~MU z1!`quP-mf%JcOJ_rG-g2qlL?*h?UMSrHR#sf_wZCn-l3>1&%-7z@~ya{`g1um#{Nf z;)R@3LFY)*9-(Z%VL5l{hQ{oI_f*q2=$T5~iLC@M#gRsIMpsZ<8+1dVyyZ4DQqNPh z)YIQGidZx~#uhjoq&89lPnN0-TqrU#%ieAk?|EDwPJ7oHxy?%CmRbI>&q^~ya^B~d z$VLu-(X^kdil(z{4COo*8G2U8?&Abk+oI7ieXW)fhwbX_(&6!G6*Cr0N;*uAkr0c- zx4Vj&_HTVvPPU|9SH&A&i zASM+@wnQ;$xKT_Bq;_FekROIermR@`=~_3#<7?>|D0RL~?Z?myrF~1?NzGPMr1WO@ zJXYppMuexq0d= zEqz#hi7M^bTIPz?At&cB_o+BjyK;!kCL#N^AZua!6;&-^dzTqk*q0BAoTt6Cv-c*| z&pEs*<5`O|L&aO!ijqN17hE5m9=7Y-!ij25h&~swKT~q%kn;`1+V3<5LQa`JAF2}4 zg6)W%guFT>x*6H_KDDpa5qwfwSQ$R33PFvL19m1M+|rMF1Bg&G#{gLa485J7uy zIOqIuag&@I?d(M)Qwk)YZBB44Q|5X!_vrJhWq^%!Pvs$T9Gf}NIC1TG23o07&9r0m z?ilTMz=3AQ(1FLBnRU92FzGM-!IYC7esGg7jF*n1&Qb{NKk)47>RQ3E!2@)BwZl6m?7ib zqDQ0X;p$I;KFOCkD#sxeUowkc5pupWuw9a}Ka1EesqP%<^@#EcIng2{V5Cm-a8 zeO;9;sgw_(o)K+?jy5qBt&c=o!cW;->ZD(beCMr>-bkI;NRleOKmZ1RWCPUFcJ9e( ztS?Bp62ueenwT5lbe~)9U`rP~i^JH*_W4m=lXCqn6Cf+v#l2(45@1PyHj3`XvE1Ez zB*zo;u)mZlguG-FqUlUkb{n9}eySAWA<#S-PkmmMdh&iU-Zeq;z13B|54L<7yUcRF z<;nL3sK&n~*~Z_KZ8u6f+w9-xq5Yi7c5f^JWn}xwK`Ps?0(7=Tp5g8ht7!HXW$>cT zBlM=zfJN(czGq&OCnG>q=&C;H`G~BNkMg5DC9|l@(tODo{ABa%oTvCCWdF;Y(X4cC z6MiUF2r=^DZ~YkwhMn&UhZ9MRt_W!kClnVeR4Zlts3Yhh&Ea?vHHXu#zqLJUOmy4V z{d7<00LQm`*w;;cpJ;9MeF|{4)MDa>18J+YBl4}-5S?lzt}f)Df=?gn)!!53s9|Sm zUZi+m<0#8v+I@#FAfH-QaS{7Z;hZl6UHyuyqQ=lFt=X{J_N2T*) zPZtk6rAoBEK^62Dnu))HN?55^Yhozx7@6qA;Mozb!n>0~3_BAmU=rH-H{33Z1VLvq z9&T1^*js}FL&%Qkx={AkCNepw)td6tLqxHo?NP72wUE+VkVDV*5$4Vd_F^^PZzXOM z&fhA3SAPAYU!d1-3MD2M!W3>&eVD4>WZ9cTL;Y;O1?{kNczUaeqkN?<4x``Zkn&^Ldm$)uPs-dVHnV7aUE=N0B~XH2GTP^a)Ly z^)YfkwfbX(35s`ATLxR+iw$=_M!ornMk5FM5Q!EU%e#<`MW2;eX#S1ZkNSOI!%471|w(JAFJi$J>z3VZE;!5HF|G0C2!!ya}cS@auVtC zMX%*esftFg=IwL|i&pVAOubdh@Ktx)7?uo;%g0YqDZd7IMv!#!mon}CwcBl z#GvT2ovbki+UySaklx+)qjxB57l5VcG zDnr#Bg5%y2){(0)-J=$AJ5V}8cYMKKre%i3RnHf+^@sFGMcF!!EKT`%@XM= zyjEVKU77<^RRF)3X(#cQ+_V5wxCo$Y?GZAPe77IPocWUZ$j6uFGc(n0^tZ?sji#v- zQvU;|61ug>opgqM!rGT)B%CO@9ir;|N^X(P5So?XRXRemFWHmH{801E?{awHoRMR;WicNZ~d+7FyD>% zGPDa?@|I2YR zTvHc(WS!|gtNMn5xubGd#`-0H!ncq5Rle9d6~;pr1b&1(u_roH>nZhRAPC=k-4-3; zi&}Cn!!1no;_Qpv{w6uxB;$}T>l;++%~WbKfp1s4?oh6LBUQB3>!GNQRz{C9@|(_c z#G1xq&^=V5!lOh;$Ka*B<^oTtFFQ*;B_eXUt%eidssQyd* zEux)(9ow+8tPmqP(V@E5&M>vco~b0jskS_;`g*Cf##mlbtR09?eDjcy7*NuwjLKVl zjQj2&&fzR0MoeR-VKV#2A-7L2Xz#y$3f%hhwvVU(G5tpuc-zR|`T_+?b=>=)?q*rK z)VeHpEACWRUFvbP%=ciL{x}0KT@@pD`di1R5%h`LlUOR4;BEdjU$UA=FZWa$$rFBT%8*PRTY9&MCt_ z*Sp+MJ1h%ddN?6t&dpGa9;?nBM?W_Sg*t*l#h2VcH%T|)T7&LZWJ^E3rs-hz7o_Ra zV^aA4tnqk$#y~tFc``XqQ`paVJe2mH=B&^H0){aM6WuGr^vpbqR5C{7aVM&|`w`AR zs7A1n4`8HNs&SK=8d_BO-A>}9$7ifqhNZvddKs|)?wA~<24m}BMe6`PAco@O;WcdZ zco`2px2lM|t0Q@HyK=2iB34MH=cfuvlPxL;RR{CJ^Y-o{TO6{ybWD8trFl8Az9?y3 zn%Ciz4}EHMY^T3Za9S>H#?#EU;h|?EI)uMPQ_-%c%SDi7ceB#A34d;DV>jX+Y8~EM z_etkyX0Q!t2j(UJp3(P=o-4^oLU~Hq8!*$CzokJMSZ^d;C9it&Kf!!mEaxb98pBqO zB$w#dnEZ)QvR_E|KCvfwgG`5Jy&k<-&x*x{9Ge1a)6sH{Pkl;G?7TWnfbn7Smv6vG~T+Jh(6sn$NS=G6#!}E6Oh71q((UOBrOAas#V1MR^=_5 zew?74xy>j_#<1@AP8w-D8H%si=8GP=r%Ta|moppqatxZVwn9tpp2V2r9T*i(8a4JqhM*Flv&}6 zjzfP?@qrvjT7!L)janRg6E`)fDJW!iARi={xq3(NFGi4 zj8sNsUUC+nGPgxE8{oRU+<^b)v0gliqqzw?Cs{&(y*aQc=CYluVUiTv`5j(Z0jvk8 zd?o{|XEIQaq+Jy1JdIkPLY2!OGem!<5d>rY1{z^{`kzU9Ns9_ZBt01ruyc##x=7vn zs-8zm#cTH4t*926mhG+h9($Yw4)_RyWbzXL=Ib^|A2jzRB)_0eO*<;u$s`^bnX-vR zrbeeSC3hty<={#N+8m8`N(ya~psmS98>P|yLDlLa$_-(ib?#S>%$}q%UQJ=hyxloA zBe8!HNS+={;fP(T&OsSCJ2cL%DV)*ZxZhG$RYs2L)kJssvu^St+0C^-7LllHY7hGd zAtyG&LPzrq;e42W{jH;@`6SmMWK4&Z!hJrqnyLuJyGk1uA=Qq}&zvtq@eaN_9JH^- z=pD1!lv3pL*py{nYiC~Do;9!CO;Lm+3Ke%)Im~1nB7rhfSz~X>&oB7#xBh?xlP3sf zN3flDGI7sZ06M{!neF1@udMjqvWS25``q^|)2RJ=YB%3$l^ln2cA+LNZ(x@CZ>kY` z)!52V`FlH^zk#6my83UCAuP8~MT%u#ES&R4b}%HmJd#n#TFVOQv>i9M1LTpaYw1HI zv-i=NE0`PzsB|6^sY;MC)no2Z@b!}W?mi+$iP-O_)=%^EBE=v1Z~6(|GRMa^N!Rnm z_-c)!RO~Er9A&q7Q9v>N5Z}U9-&cXImt(5_*qqzc*)JuZfU;{|kw&0QEjv}zkC36g zB>OD>)_>q3A9HHm-})L3N!IFUb_>PQYzBLVwDt02f?#ihQ{wklViY=^PriXVpWLUd zWyNCm)0v+a&N(wu{O7PeA8GM>Dv88uDZ5qtqP6+UTny|;f|d40sVFIhr0WE+jr%@n zN53X{e~{_Rn|y_;@z!$q?&O_9D`f>zOZCkb0wsf=o&kc!KL-5Hxfz43oV7gzaWI-I zdN}`>zMnM^PtrJI3Qyx42TsO7%$BIxF>0hxM3@=Wg;Cby;$1Dvf^4OrvF=s(vDEY<9U=KB~v_!STN8+4t#T;Fy@vqKtf% z>wI-mAkCd60TKdb8M251xoy)YH+s$h_fsPRet*dBZN~9KLQU zi_Qq0Q*&j|6k5kz88nzz+VmoTM~3$Wm6JSCzK!w;`-rmhRX9h1V@d&mO>ctXe!yl* z-&XRmuyeb7DxI;pAt!h9%&uMOF0aBh&tzC9mjQq=>;XB#jx8nOjtRB$fpnk4{*h$3H)!=}78CsZH5m#&4YEi_VJg?W1MA zt`yYY@++$EnF4+^aT&Y$(xCPXq!!0ec3!P~jBci*$bpMAr(#-K*&cU`$Z{Vpa`FhF zwltgN5Q7>tK@Dq1J*;k_vnOS;a|O)Q(A628@*W+fEET0%q6l-Aj^b}QHan%cI@%X> zMV-ItPL+>o7yH6s-qDSTPK3u(X2^IGd+l{|HIuU_lT~xR$R||G~1q$#z%gNvhcb zan4Y)x%z9N@d`i8KN0Ng%g%Uc!y^Yv ztH+KE+a>Z6aIajb()5F{a<{pn++vw;9*EZ#?8_DEpmnn(+{SuAs9$wZFpn#L~WV zi)2O?c(PHeR3I{?-Dl_;xhX|k?%GYRmq>|U?FFd95I=Ly{;ST?gjBSPh}Ky{93L&- zbDYO?oD)-VMoOGg4o;cP8dAx;;J!u2_%mHY7yJ@W!F4UiIo-w%MtkQ!(^HV%54d6~ zH?vU(88b$7pv)FrPQ@x6)>lReLNt<*4$>La6+X}*8H^;#R7e}A<9(J6Ej11KITfVOX?KYX=)>}^H=KT25Sw4TuP0C*v&aq|Ax2h`& z5E-m;i;UPL(Z3n3#~se_9Wal5y0+S-oe^VgQLof3=Ta+i%?^_8!rp?-PCusOJMudV zjJ|+7`P--`mXjhCc_cH;4wiHB-bYnJ#(Ke&f6{{Z=jrm(>8XKJlDmkNt^v3FF9SJzOAbuL>2VAH6`jf zk3)oZSHFF+c^qKf$M@r!eN2{NeozEpbMdPD&f~+0N(s?)?2|)?b`lty#E?F0D_0Mw za>I?sJLp3vx`?CBiwzLTRO|CGgkGi{xK-_FRVALo6zWRNj0>2|6b?HK64ryX4h2D zZi@Qk*pInvIHR&^7-!yRBWszS&MS()Ja00Q_Y}Ssp@uy3_Y>KjHZ&=z!Dq6JC0d@X02;j?vyz`PvIL;otBH=_!0|kq+lu zEKj%mx0&#lbx61HMW$eCrs^U7S`$8KKlIy8c!f$lryG5_%w3-63CZzw58pmShs*9` zPvx6+whsR%pr`n=hU)M*;0&KwOV51vm~i1odJH#9tiHtTDcoJ5<=imEm$NiKC%@m3 zd7`x>(PYWC=q30$9=D(F&%V9jhxy<0hQ^ovtRD9~Y!ByWmxIvuJB=^>`(XI@gRtxO z8ejT*2L6P2pEc?RMC~oz;`jV-|AWRi{htCIn}72WV~#QX$tQR+YU)y30NEDzfoL$5jcX9QT5^+t8D7 zrXIJRf*Mci^Cj@seyqzY<1GWPhx6E9fxpMx-yq{J1K*Q=5jok$1rzefILyEs6VJVk zaLH#FSo%+mC*x5)ZazJDQSkD(heRG3mp$QqP~!6;6Di*b|P1ym3Ek-~-10+s5q}csWq$ zUufLJ4E$HInxjhI2L>qDE+ADpdE zpyc!S26g~hIFxKO?*BIM7T^fV{Vky6=XwLHb$I=BpyWFM98dgG?XK@+f|GW94;aG# zdE>qp2&*yh9w2kp!0!T&1l9t_f;R&w`MTV|@dlO{c$R^u80ZI%AzmKP0`48G&JYj$ z(7-<#_@;p`8~B`oj~n=N4HNeQ$zS3Q4F}!|oC4iu;4$QL8L%&~5!g@i4V3no2$Xz} zGw?hhM_@~a00n=5@juqU&l$)xNy$e*34ae*NV;zVsn5jA8V-C07y)k+@F?(p1`N_3 zD}a*TVgtWn;1mPT21>q8Fz$W^esrdex7)ynfDF-+%YYMrcMa0;6EY$BdKxJHQ;qw_ zWK!tf3hYJtaRcWXSY_a714kKHXy8c(etx=+|FMCu8u+4tKL<+xxEDB<^wt^w+YG$L zz{S8Y;nxGDer5rsendr6@^_(ug+QTmigEWhu&;stBryr!1C)4419utN0W5{?Q$U&D z9sr&X{E6{jXW$B;%!iFYNGIxmNMI8Y;3Vi*051og51b6lGvRwdl6=1p6t6c7d=}UT z_hSZbH2yy@?%NHtjepd*>kOP@{3FIa8dym>7aI2vAYF3c=|H+j{c%9}v67>KH2J_@ zK$>jeS9r>N|4*Ql?|*zp;|<((qHec0fJf7w&ucjFabP)rKLtv=tq1byD7S%^ zLVr1MC~zTA>hoHl)aPWN)c0thVDE0Ispw!bc;~z0_Bv8tGI`AT3 zZ=lrgUKl2Ue*%jCYe4clumdRN{~=J)yB#R$jR8t|^MI1?Klj)D@NJ;ve+N+VzXd4y ze;6qFzY8e&zXK@!;#Q#0i35iNZve`8Y6MEU^9-B>q)QDv4>*zVK0v9r&so0--p4>0 z$DKgwr#pax{}fQh$Gt$oyT`!Qz_Xwe2j+pd0w~{;m~l54_oYA?N2eM1;qlu2sDb}w z;P(t{1xmk}2bA>Y7-*UBOAQ=u;Mp41pK08EfD-?s<8=Jp2EGWq4F6wg_rOPhA>12) zy@Bh1!e1ne|6HK(7gK?`^t*9D@-uJ{FhG4AZ`?!kb$b^9M@hZ;%{T#$CjRlp{VP6h z68->C`p2_;)CB$tDE>7-=~rU!X9DqF=OZU@7*PCo_SJYV041L2PD^=K8~6>NlzTK# z>TQ&PgMdfie*#eQ-49s8UoKF}|0bPO%DELN{p<+??>F$rK>A(60Ses~1Lp&U?lnN6 zI~^!=BS4{h22ki80~ESB27W>(6ZdYQ(A^3Yy3ZK+pFsI8-frBh4GaRoA6N{WK)Bz) zRdl`_+?N9-JWeN+`k4rndXs$~so&4&gc9$+4IB>?{|e(?O(&4{S_l-pVjxe+9vWZh zUIrApBY+a`&tzKY{}d?kBF6nOl_KF!00ln)l>F`CN9ev`U=2{>9|IKpog^ms4)6@p zs|E6uoWf5b?q*G=&nyEg3@kLzXW%aA@zv#SYcqHfdCb+l6n)ZKUc2BuvczZzVK_pB;1v2ZKHie>wYqmqdandow#Qh_nowl z;Lkc+hyO_86J9}O$@3Hb#ocV&ZN}YV+`S||;dzE$#L%~ln{K4S*BbnZ)T5;5%9Z9A zw<|{~7dP}qnD}QIdKJcfEa75T%9RT>lD@e2(5dCQ+;tDt?r#w$;jSEQCA7uu%H_Uc z+^!t%IOBHZddsPA!FT0Y9gr1wTal)Jp}}|Mgg-I)bLDQm=(mFJ%AscRE^haEP4Y{e zex`nIAVA!%-JSTwNPcja z8u#yU^Ot&LgUstbJ}X>gUEc7&lRvL}DCv3K8?)S>Qa|4CA5))RcT-mSi?Z;q$Z{8x zb8q}HS?=TLPu}pSv*N#-g+DAS{GzP*iLCISL)=UM-mLIvvdZ(lEPAhGm0ym%c&&hIkWw}eT^1C~$ zJdbC&E3^9BhgtQJw#&u_PoS}J_A<|99BO|_ZLJt{Y-%rK?wp3D*Q?E#ss(JGc<{4A zsusu&M%8|HHsq=f*SMLxrN&lA{h|f6vh~7ijJ=+!`ejvYAjO&*%UqwHcBZ_@rMvO7Oo zH8D6XGO4mE<>xkE$|Kc)vzwOH*H_J%-BepOyQZemEj(4PFZq<4ORvxHb?d2W$?W;H zu|=Nxko`8g>h%j7OrfULVPLN&v~aHW&|Pi1dpAsaPc4J~!S(~w&CN!o+8Jh(P*^YYEi?21)e}!c1c6y{A}-@Z^vO{*CY|8ZB2G)zWS;f zwoJJ%XWl~gPh~S!+Dbvy1a6LN*p_T;SeAXQPN*tX+cmX~?nY_W-8&wnLqMsiRrj{` zaEFhFP7f%l%Yx+A9+OXZTB(mkYnQsa>$)k%P?=Rtv**@UMH}>vYyOAw%Z-9!Fo-pZ(Dn>X}`BhEJn)J9~ z*w7+#HNmV2z;i=UWO7(tbz8?~`&@R&7tFgs-&j2`0f9?Bk2q# z8>#6gVmK$^hre5ZB+ZDup?vYMM1A7^tio7oIda5UvV@!(*pU98(pUj)_Hs zG3JWEl&Z;-!r`e^ql057O$kS9 z?SlRX{Ea+9PvUNe|2auKy4wXk;JwH$oogg6&kOKz-p6D&<#n+8tK5QAm>9B7k*uz# zkcL(U$%EP5tS}W*XXuGKr761d>3g_#H^~Pg5}$<}V;hk8DZ87BAU~2p`3L2&AJIEj zh7z1xRukEZZz`2u5iO7J>xwp7PICoLtNPP$bw5t5-KAWK;fuLQ_hU4?j^Lh$kMpsq z;@lz!@y2uTjbqWBH|~~vprN-oQ#qH4KxuO<;Aue+iwv3CwVmU_)z(sDBSs(oHU?n0 za$@C>u=69yK!~FlW$juIHsVa(8)<#@#{O1UJN^aXk=vGcD!ozBa(8~I3gtYeOObnX z*gihsoFJxaZkG&O=zS;0vmFbu7Ri#<;}$(^3+pJ(&E7ikx71O~s87b9juO`wU1m8? z3l&vb%Q@e9--<2UJ*6JpLnlJCGwn|gE^^>W1Dr*$#=PZD(pE^=e zn%U2&xV=VoPw6PR{;Tyx5J{mxQjnuDzY=%+X-S>Cbstcnx-3q!v~PTAoi94pO5Chs zI8PUX_(X-E*<0PbeKVu&))R}o-3rioyBX}{J^UDaf6KXq*&RBIMs?rD%c$;OsR>*M zc!pSp%1YikuX;w(x6;KU>oQOHqKl})QVFA?1tcC5e>aE2GjjMT5y+tg>Kxv|TZZm- z@~8MbqX?za!Wg0I;)IY&b`#!^(pJn7h12<#-H}$w)aP_ZF3FE_C(Mna78?6|rzN*O zkNhHfiZ!w$`gKd)vpgP+NsOwZu{j8@9upyzC%^e^TP?3~VCKvh1~ zheg#q#RaJEVpAO)PE8e`7c}3pl_RUBS`me%xC%5Pql(wAQoI$|8E($!$QvTV(v_8F;OMQ-H|&O5_9@Q*FsG z<1hV;zX5U_PUwhyMCi!H7vjIhz$HKl4+15Bw~~3ukJPQ;Eimv(4ND4v8dbyfxJAz8 z*7Iq`4Nwn38I7_r%Y9RpdtsJay1dYEpG$f1x~FHkYqH#$cT%j~^zI!n&G)6cUPcE^ zEzC7{Zx%ExchH_(GH+p%5mfNSPpxw`Zw;5uA}Kn%x=u2%KYm*?))}2%a@76iQ1&Lv zhMjL1D8)sUU2x$A+!K1?dHb=$UUq)z1+Zc~J@Q**zH08mrUUa^Gw1-mLjHM#*V*Z< zc;%b^**HkQFO@hvu3LC5`FGizL*=*DNJrukdh}bL=soNck8b?df_W@LXD=wbP(raQ zo@qyXt)a74g);We(DaN`bTcxZgV|x1eSdjmpF^JY(DOc~_$jZ0@o%dOHR>)m#+jPm zDqzz|>WwFZ|2&eY_)jJuRK2f_ zO`Q=;3|{_C+C~2HR(Um5jqA`KbMDOkQhhY|MxB#7+Q+4Q#%Pv321{0|2Vu&q)IH{9 zj~QVO*l;$(%m1Y9My>i_8(9h2zj5Qp(Xin5j^G-}VaPeja^kCb3p*Qytx)F5ig>Z? zrzSI*+mF`p8@5|V04#f5DZq&@0KsmJ^4<{_Mv6aQq-dTgC#w~8UL(B}8C zRZZlC96?j1v+THL+FHd+Of@^}m4|yUBy2x0L&&x+;#bJJ#sK7gFb){m_Y5Jx-|{X& zfoC+rZY*~+TTZLw*K!gnX}j__@EXB2a$by+F~d11)!G_Ty*LGm?J?&5hPMDJaLnKQLyY4z&QsDfs+r{?cWV7J z-R9=Z7>zwDxZU5H%b>=X>8j_pk*vq4o@x5Bw{+tZ=u7V7_%S`)4mOkTWC4s;*ipSH z#CesDTk^=0JW^4&{Z(GLb}GIrClLQCC)U5Lz3f%zQR$@-%!|!W+8|)cGg8dSDmR34 zdLieU|DlGRERk+!b+vwK`72+vayDD`?UII|(2{Y5GB|~?#md=c*(w*9P&pzr z^0%>vNGghr=&+EyLzDbtD#8vcXS*8#yiwMw4p|ncYLdRUlN@IBy$@Mm(XuB4bl?)V3ReLZcFRv{(6Ltu$)I_AUNw};4&Oa0b!?AMpeXq*(8-^9qtyL%)=+U z$^1={IhJHX&S@D(&HODtCQ+-SB2Nn_Ur&tDoHvJ{Pqv48kk|*OC ze@X@>z3oA;{a3d8i-Q~aZ{vUMTxG4mN~~BLPDIu`Ei>{HIgHD)=iNIWq;~e;ol!g6 z$uG6@6<=muJ98!5SJGz~Fa?xJ4H({YK~#$v&uP&==*YW>T=tfypT9*a8H2HN9>x^Z z$J27|(bE>TdLEK~VL4BzW!r|H_N6-RH&e+7^OpQ|_h^~NtB=&tL}N|2#&n5x8`1Ox z{R5iMlf#|hQ7!)g@Z@lr#JS4EiJtAj-=OguGx3#8m$M~nPWo%Cx{lkXnX-*Jn#ygc z#pz65EeR$+@9NTve?z60KKf79WJW(zN1v36expSHDbdZ$5S{hEniW=MckL%gf!g^C z(~{2T&n2M%30WPjmdrs?n{Jtzzn&-rf%~Hi08dvCm>$TpGCI*LO?gdL zDYN4^B4){M-X~=vySa~7D&^Oid08WQ`8s*=rn6pEhnp{sF-w}Bk)GMCVNG}`QUqPw zj|t7+e&(Th;401}_b=#>&*Buhr-fXLkjor*nbEfDXrk(5bDf`6r?e4xtuo{sx#^eJ^^{Yat}_LR&*jXEMTnKr@S z!*LmJw^0?OeOuAAb6>z}H=i?|Lhd&Eg-+Hz z1`SJjkEwu;+?N@9KC5eUXyi*w@-C+dgJtrzPFNVr>9+%u9CgW6)ENAutlzxrtxZBB z&GWL@3OkpDjBs8HZ&}IsTTYNZX|GsqRnJ%&u-~>e{|U+AJE{f)PsuDGRu%;DWA%QI zq#d>&Ro`BlJ4Nh-bS~yJDJ>{;@L-$3j^Nz_OdhanKG**dvi2LX9p&a?wXF55>dQ&^ zH3-cTLe(J_ZVBNXt?G)UmaSMu%bwoMB}D5KL6f@>lVWRoB_4zbm`~#)w2;R>tT!B>8^Ozq=?uOB=w0FgK?X?n%xJu?@Yx7@w zSzXWCJL2zh|IxmJrlPt2hTi8O;3<1mnDf?8g}~X0*prG_7#3fBajar2kVVVbMQP~$ z>$(52F~<(xZzar3@|27tGX?rv@~Gzw_Te$oqX$K# zdfQpkZq&2yuV{(v&g0DFc8I6cG}g-M?LHawQEj@Nt|ewH*{euUGJT zp;3>^V%2|pqa@I^mA>64Jo5GBTa)XUL6~o?_==4_%r_Anc2;nk*Xe1o9`z+39#sM( zy_5R{^cRuIO}a?5nlTo;mRW8SqEkIlJ4ytoYbnt?uKd+JD#r;J1$6+=3_9A=0aaS` zKIyrwH<3kUEt<4s?Z_2x8~wLEM1^o|qSY&IxCQbgLLYz2dO|AgcRyneR4hd7q$i{u z$X{LOje6M0-1!4mx}oBiR9JR>x_rX$H>_R{Yx={tt3n$FBKk&NDkQoc8{^1+xWjSe zYq2fNHE)O`xA9;3yv6UM)Zs?!~6G0vivS&v59XRAz&Te%3I{riO zPX>QCFFtL@Nbbo{_ZqDFKw3;$b<*PPEcx_EW{A~bq~+7mXxLUlUdw(|#*V#CxW91q z(xu_*Ic7+>q112*H)A4(AD}4i>#b0O|E^rqD!AR6zOe z6y;ll@}HO{)OrNDSZsvqDP)jt#bht+Jv*mpLmG}9~C=#q?ryiGbJSCUFj zSe<0lM5hBt^l+knt$U9dVwkY~p=W8@kU{S@P45r1kFJ=FLazvVJqe*abscTYpfgs} z5yShMj;tn=zh`1P>>B+N8Wd3s?`u+z__M*66&}TK zyGOJtBg=Q{$baP1tkV(hJXzdByi7sV)jHl!Q}Mnp@&3;Iq}S214)Emh9F2ZbW*%kn zl6=a<$q+=z5dq4S1bE8y1Hn&#j}1q+m$(BpbD967j^8(xy*7zDB^7nG^k&OmEnmK{ zUf+c_|E0Gpu5*`F&&u+|QL7$*%L5ciSrZ?gPH*A5$WMXf2 zi<;T#cEH0>RfPcEg1?cX$~+xca|z#TwJuEbepa|0SsaD!s9GF-O?jw~t)r=YNws(? ze2b7el?fSHGbI!@Gd39&r!bS8ZUa?=+$bCGC}8Q}EZHr$h5`4eLhEZvEjxN#p0i{x zAm6!&-~N0ExiPl`#(7)ph3pP`c}547!*mo+&d}-N$r8uqKvj*{TNLLiLQuE;lB;l( zy(-`D@r>fKx4?+~F*zS!6@@L(N~8ZZnJ)XCRMXmsw9VU?JU&y}%%0MpbAtI8 z>bE*p$>&-jD_6ej>R2T#R63v_!&R8!l1`{G87s{)X(?Anv&_8mbiXGEJ9?tR*AbM3 zsL#C#TIbb~B{4lVdWGdwOqQ33d@d6!K2VkqGgYWwA-aq(fUehTdCRC*7^}{H@f9EV zR`$`i#0u|@ok(TK4P^Du7^))ZK5Bnk`mFn($Gi8RMTFRGNd2>hR(FZJ5TTX`wo?BE zynFve$H@C%h}-+0sXZmfAQ~Fcnn!QE$u)>32QShl&_YVf1>KWc?rKL*C1vz1^t{7p)z6Ni+OiOHa#fA97tU|; zypk=YAA_d1Bwj7r$vtK9y4le>jNi?ZgA~#FMOAZRbF)jKbfQJ6U&^5pYeHAODO(dP z+nr$&&Xeici$t^DMq$>+vcafl{o0c~takk683qs7Q}`al z;qqL?=d`Er$?P}FQ_6o&={KA3#R?0Q?B_J?u?BEB_Ogn=m;Sf(ZRSB9DZhGL{WW7x z=o~zmUVLo^PwGKEF5cw$k!$)SQkJX)Kg$0uWA{nwMLh?=zgO`8q4Od2bRc}m_iOy; zGm*<9^`;(|zQ+#IR|FIoJX3#63*GhjMDt^j!IOGakBc`>+e?~HJ#$39WEzn9VSw1- z5O@l(A9{Tav=fWF@>(GN1Fr(Y7M6?!vJ+Zz7LfWbIRPki#14kU7dsdNcL5O|l~fz| zH3nX8V1>3Oo-e^oAPvH6YuPB_ERs@$WS7Sp$D%;GG7pF>nb` z@^iIuPc!f`t;uz5`X5)64^tgjZ5+k z{!s@0gUORkmy(x&lFqLU{IP-GH?S4RU&%P*t}w6=DCs^-rl=BSXM?U;(uP~wL+oq_ z-J1-o2QqX^js^;TCk~2Q@)A&`Z{Uv&{Jw!v1M3YOXJCbaCmVQzfyYxQN&iy{FLXaL z@I3=xGVniv(!TGpt03(?9>~r@$w(l7B`5I1x2NP`JSD&P1L+zi-vJ8!8-PN;$-pa2 z_$5I8N`@ME3{dd*@FVz11GfW({xTpR^a0l!_&T2Ae%ZjS20m@zV+KBG;C%+(ZQvaS z&NA>Qprm_*fuGT6;{J<)+kqrq@}P15mw|U1=olz>kVrku0Sf+D0$Jy?cCA)!8;Yfq+5Li4|;YiH;R2puq$Yp^%z^4DNvm zAP1%OFklFf3JE4NiV7H;RX|0yls=)&!fDE3g_NiEXTC`S~j0amaeXo^9V`qHc6nq|tDq8j<(cdMwLhwq# zOMoC%Hc|BF2p%tZwBWzMXoo13rGN~lL-2ke>;JW)Zx);;SS@%Kkl_px{jq`v(K(?i zmpug}-K~N@1EOk`eILknw^YpQ1ivXb9e5h-&jX$U91TR*S2hTEDzFbQ0Q?w@itS_{ zkm0;4_$$Gm3*G@_JH1HsGX;4?KGXjmCR_CXj^Il`G?}trihh&eZ9wLKz349&94|Op z@Myulg72YoWhH;GMyl;TG z4aj`{1(5l?Qq1FmmjGG5=ZJok;C@Vp>HiJE=YY(&yMV0MtHu0k!CJwK1cQQK6Fe2j z_-!xL_4_A4*7uu$3@0Jj07SbkJ5BUM1p5M64u6Iv+r#TX_A@UE{szc+Z2*$qw*{Ao zIXP}2+kL*5)23el=~mT6YtxYNdu@w zqPORX-14QpJuiF(Zm4fTB&n{zk9_sEN{HT`C*Cc3Ha@C1kO+r!-x_F~`mcKQ8$Isn z*6IFKWV%y-qQ^hacbxXqJpTXWv2XW;_b-n<%h5^Cd;i2tkNZybARjSlK~qzGofhn$6%8(3suz=vOwz(0&NXH(Svn|}9q2Eu(-QZ# z$THLJSVrf(Ytq@ZX+xu0p62W|`K&$HuC$yLJ-?|jzC0Skg1LDqSG8*89IeOA6yiY1 z)-P7B9H!cvl2F&C(P%RyORm7}3|HutHOS}0PLR1Su@j1-)Z)ql1c)2gqh4!DfiJGZ zRsl8@lqmSZ=;hZyv|5Rg=ZXP!$#%fV=7MXgTZX&j9XX$^o`(_*cP3$Rd_j|2xOz4= zAe!ULmp3*+%-bVkuj)>7U2M6o{kX_O<+P4KH_7S$KyGIIA>@?nA!ohJA*JlgE2qqD zZC^k)Wz0!@?^tVIVbT*1v3;Hk8DFIPT9jIWEQ@zQhWaUxBO8~^|w9yD-@sb?1-sMuN5D(_h zX5dEcKRebkEBS+!imNN4FgqN@eNpaI+I$cB^s=9tXs=>u@gQV+N7?REg-3B)B2|49 zW8nj;o*rn3K0-A5t>gd77TCt0)d9B9LhZ}yceW}%e2g^q(^$Kx*7nrUkP7~(7!jAk z@=2+l>;q!|4UOIWw}?IFOjOsqovW9oY=q+F8%_1117kV!nk?S_tq00EgI77~H z%$PtK7kc-m!=s zMS!u;@{a3V8K=$d|0|@z+WobyXP?9$TP)S#_S=7>Cn(aR-;G#+U_C`m3&B>s$tT)$ z0^(sX7cvgz?F)O8Pb`*n286~q&||;df(~1<$3?QYae(jHQ5hP1^Msygk9Zv5J)!vX zjl;glXFz`2Yc886i*VWz`J2h8Xh)pjvR=W1 z8v$YKo+{8Z%uB)lbdSN1EUccvrel3?6JmuIoxlsb2@JcN!KMc8+t3EQbe5c39$xdw zzAm5d>f(rXJ-APf3Nbco5sZwD5o?@!CYHGrw!Xa{v?9q#RYv04Dqs97M&fJ8!Pk`Y zKDc;8F3xZ|wBXnbb>O!L3~cySGFpapUIfpb8;OZu_r)j46&rA~8(d<$D?U76_CfOKJZ@+>= z?-`Zj$c@z}hLhLNM2yzi&uQa*)$&Zg$C=Mz>k(#g#N20$IIxBJV~lv!7{41FITd05 zl%0r7d${0#@Um(13yclHpjbIgS8>w zbT3A7kkMm~&w#^iF20VJN)XYMrC5yQRCoE^jQ+r|MjK{@yZn?x>splGDiB+R5cmu_ zI0VLkKNn91pt%SO^0 z|AIfs))mpxdGdN;=7excHJo%AK=>cS)>gKIko7ax^BU`Gs=AU&*!q>Ou2YcQ)w;T} z!JnX#+h0{z9lpb%1;^RyIu~3LLx!TFehKOQ64L9fs4p?S7alUbdFp4jdcACzyHUf8 z*90SF0I$s@0?wHD^p5>aI{V zs89wXjXJ}hr4R)Ob1(qn1$P?a(Rp%+sCqQ0DC4*1#c+noP$V@gj0bmhuh6Yl&BO%F zupl9bVpgT*bm;08R;g@8wK@gad<{wRuhHG>*UdW=2h@$bRqxml zn`pn1on#wZwK-ybs2CI$xVmLB`+z~=0f6q7FF{4ijIvogz}-;ca({((PmVn8eh%Eb z7#cEt6f4IP2kV{Gvh+LP3<_Gms)FYr-j1&^FPdqcztG&(wQG@iwdyzKp%a^r$D-|y z4Wi_D;#+lI;pDAs7py||3zt%6!PHTph!&4dO!ragRS3x*6g9W;CRlG^K4e(Ol+HEA zslhEgUUhNtssHQoQwGfpUgyJL!mhVmjhyT(z`5fZKQnk*^ePOfV;uu2q%R&teakXi zfN21n0@LkjBNz-62Lnlq;yf$gIet&;oipK&^SRBCu%fc(Y1wmV&$~Off$}@rJ za4L@jqPM9$3W%eTvNSZ9&y5tVFP6j_Jcn=Ux%5YYq z(gUEr|M!5-^$x;N(;(VY?ZXf5vMT7&KjhJ$?$LYqX_tEJpYiB#^ynG3GyL4Ww$94J z{VG(L?5(Pf-KZnDi&QPJoQtXKiY(v#oVZ@K+YOVlrgB$ay?C=P<>a;xFYi=Q?0(aX zax7%X2c#~|)OWS|j)v;-9-4FVug@yV$Bpmd9va+bxKJgT%Sn4>_Tndh`yBPC0M$?B zJJ&*-8v6qHL7jx(aO!(do47!R+AVJOm1sR^s&yIarc#HyE(^(l5b3G7V8h@qq|kj` zhJ`FHZ50)bRtM*>vWl|f!STXYOrxzF#>yxfUAQ2&z_#T&(oJus#LKRnB}gaZ*OTgP z-8d76c~pHQA|=ddhw^55Z|lZ+Z0JxM)qfNp%7y9O^A*)!(9}h;w{_z|p{M3E@Z2Hv zNQesSz9srg{~rxt(W~U-x!2|(;=#E(-*;MyjLWxfWM9M|`;;S9?semucZ(2_u=&rR ziN|KqUvm7!yf?JRx~v#NjO7>+lwnF;WFepA@0U;V(eu;8Jdf)mTEOStp39?f>VDVDC5E!iW@-ypaih1-{*`ct`iwrQf(@!v2g7!!)z;NwCg+e!GE>2vM*L! zKR(FOxOU;t;_1mTKc+8xiiDeR)GOrA!wipy``dQn11zpPkt7!%@UhB3@d0npss0DX zW^m7LBRQS=2T=uGspsmo6V|Rt*c$jlrmX{LZ$E;I^e)6urPk6S|6pge)H7=TVXWD~3^c~Szw+hGkal`T)>3LBxRsiWAB48?3zr+wIMt8* zZtNGgEyq6qOP{+*qQw{!AZ4wPC39lma?XJtDR>Y5C|h- zvtJc8T0%FH9GV1mIC)2fK=E0#pFsx<B$W_s>sSp|=s|5X+RCpPZ z+gnbC<7&u|CZ~3pdlLJwK>fI{Kk)#ZRXojzw!MST^g;YXUF!sIl&Wj^{)zfVHRI(f z%tr{z&V(5%%nblXN&lP_)?=p3+n$CX;_z+Rlp^Lr#l3!!O)fe3XibHTSq>_jLB&;N z(O}z|()2QPuf~Y&6;CTZ@NjJ`iE019NBL2hyrv*%PE_AT$!q%9-vg7^^yRma=qxnG zKLfUP^cW`^AMIVVK3qFT`M;C3tE(gace(1wf6GcH($ZyMC0SNMb2slDN_<=pKc?d8 ziVu0=P$YAaVZIm{k)lE7)b&Q~AMqslzzxB~%3BM&;-@Hm@`3_$(1y$xP``tTiMMve zUe(sIHxQ#f#`qWG`+1|#vC1;u->Ch)IS?`XV<@?(D_pzN@c(iL`i&}IfzL=BtlCz^ znEB6#K=8xk5Us~pw^gMB4Yw!-xzJET4+C_Q{s2zXyom}OUFSZ8bkOL02XBKvd;m?; zMJVR#8|pNnrCCBBkXXjY9xnqpN|&=)CF88ygDTeys!SN7 z37zj8h4^qFQ1P*=Z@09)1hyWe?NxwI8>i&z7FKxYkaB46w`uR+&w6KDNq>TWM)I7E zh|xBlRk^anowu_zfp2696v9(_iy|PKcm3E~R9pBvmVF5XsaRB?zmDc;hWZ{eRd!}7 zQTb&U7sSs;qefmZK0e%4idADJ<0B>PZ(R>_SK;giV;6GbMS#wU5;)I{M&(7Wqh!=L z3`ycg96~*}Yd=58`WXa2-Uer>-pbtJ*he(1C;n#zBBx?wK=k;%^luKbuf5v`Q$$rK z?L&!eY^W=ylp{w>hh;+@!kDg$)T*8u<7X9!paz^6>H8#WWW=mo4i^wlHAo#-&Djzk zNYx73nCh|@)yM9H-b$)YayM=vP+!Pl<vR{6Ue)4v#R+4csI^V!1 z;T^1vM!_?PhZ@7JyEV~4pTdq+4VyAYV@L5IG8mHx&`wn!U1fh1sSm60QzOMMSXNaD zDyxc)%&`$mClp0hfc;tCo`x9&PEpmgo*yhqWg_H`Rmryoer#BSRUVyz(I3PMw&Mc7 znT(TpN0El%1nUk3YKzpiSI%sSXKgReuwy#Preo>rBJ3N$9@bPLDTG>n9)z5kPni=D zfVRk*Grawb6EpfTpsOmJFi=&6F9CF=JqJaRW)9gsaO*VG0CX?c!igS+pB0LJI8#JlkxJjJ`QkgNR*Gx!7wpxc= zX*pkeoet1xaZ1{&EWqfc8x!*4*89=A)2r3RD5_~D#`*lMt)MTt6&vBAo<@~I8V>+8 zb@J3@HY&%CIc!p0+h`<{oED>|a%!oiyq(-l+eUA0sj5ZW${F@?HvF&37wIjS-!cH9Kb>oz{-|E^<~?c9YgI+ND>Wf^g!I}u~!qFY1mDF8U;coPM>q*km-JhjQHYgKsuk9}L zB}J;t8v(ikE{3P{5XzZaPx@GA+#U0L(qyB*1t0l)SCO+ul$O|zIYQ=jtjg$pNb4{$K71VGbLF{2;}H|73jhC**txS3W*%m} zyaW->j6^Olnp0DSdqJ6*!id<~%vG!Uo6nek%oJ99Xg)*9&-xG5^oth{oukrc7QPTn z79L++@RFfJ2>PdY_#@km4fa&6ufD9&8myA2t|wAq8pwGW33R9qgRai%f&|c# z1{qgpxE=1LGbEcfDEt)Q=vTQ-pB`$HS*XdpqkK8;ytyt%hFsksGv7^y7t5yqN8L%M z7R=I<9l8?!8Cd~Re+B3?DWT;%ZK=?1J={au{bO18cQMq(D%3-VbdC1elJ$8HeU`x| zR+i~qf5$5XS@tJ=&w-Nb3{YM(wbp=Rs?=KchE$7E=PyLYrq-_0df&EkeCR}*3C`x& zXPq6!jzsO`Arty>rMapZ!#YV-Je`<$Lzn-KPUux*w+3N=zpVwnGM8X*Y(*?}Atw9v zQQxvgV;ESY&DM$eBes4V1-S>5U6Z{u_rHx)f^?}Wo;Ih=N09tB%-Q9+&vCr}lT+Q) za1x?V53@!x=Cx=a%fxN4V4`iu1>a(aq(#&+|3LK3ZI+w z7n`IqF%#{;fB1`)7N{D7|HR$?y|Wl|0Ld&N)1Yq*Ldu`{5gnRAWNe@c~p7i1=zqP1;3Vx`h(7d^KkkyqtN zv-|vUDw2paCqZB56K^qcrCH7&i}28cGeFJ12%&Dnj2|%Pe&z@%8OMqB+|RmZLRx+& z9y!U$tvei9Re?*p_A&cJ&7D4N`izUF+uHx@Fnbil!xH;Ea^%S7M(}}yeR~OB#Db|) z3n^$wdc&}x5ob!HvmYYQOfo~RG z$GgC{2=6iCDLP1IXQPRCq*P4hEi*pg=d!eA6Uch5!jgvrb+~w4i_a7Wz?fXOA^>(o zJRj*+|0>RZ{z{=CsvFQ+^T|Q4$M!2#Eq?jrtSNj&HBy5#EUn@HaFnn2Tv&Vs=e(3#B~niHt2p0%9$1KTU*1Vd+ytck4}r*o zvWtPkpsxlZ?vHk$A{k-a1{Li0ri6ZUlyeNEdI(UKTCHT z#r%7Mt-w=Zzg+b7f^&fQD~sSC{e^(c|6xGVKUweu!9Ie#sgd@t2tFtHxFF?gX@7^{ zN+ABq7UN$4`7j@ddR|!tWVmMu4i)?-wzz2ij3D2Sr#>k7HQ*@F8zlN;MW4a!hT*;? z_#zNdE=vLFpK^7?hXo%Lyi4%gg4YX11kV*L73?qg&_GS^KEdw^t`uA*xIl20;ABDa zqcT3n3Vwt=5XS$2;A=o6t?YL|IH}w!=8p<;*M;@_Iw0C=*|)^JR*-utXhLOGz|-LF zG~idEA1Ljh(i+}NPMD#7uB0U)}7vUhn< ziuCgGHewr)>AzNRs^B9<+MM#cEa&S)9~1oo(Vqikc%uYQ0M2c-QP(O)ZAC+4S%J|H+)uu$+l%=Q@$-+v~)1SGv5i~b%# zZf?{34LE|=(mLQ*p$`M;Z<64-g1pC)=9KFteunXexL@#f!Jh!n0v(P=qs|Z9e$B zf@^@N>SY*Pl)DxnNcEpDSS1(`1StDHNDpP6H(+q0x*k9BMcMO>?@TIo z$pHNq`iGg#7xJ0-2PidK=`(UUJ>k9L@z2c_Cw;afr~Z6T`p0wS-HqV&O)tN@wVDPQ+4SKBdAXe*$ zs9u&aHTGl2PD{!5JXWq3vmlMLoRy2U653Q@F6cJl}rvi<~n@FmNkmxwKBJ(pxY8T zS{Dt1WkTU$tS6jGlAkr|jqh}`q;tOb7>-2` z&h$ddsYO;XPdUX>`H+Y2bPwV|` z|7eGUlLj0X3?y88FQ))}ilYFset+6eLmWdYz`iiVdO{tKGj=$3TwPmJfJU>r91Xvfa9QLBna92$iZ2&gR^yb*t^E-f9iba zwUG5wZlTxI{u4J^|BLa6B+qQIZ$HjO&EI+*?95kj+Vgw|xG4R%ya0VzKad@^?wk)I z;jZT@KCA!_cqZ+=4@Cewo#0m*9xz6NGYh zAUyuF_#@&rQ;RTTmoe?kykzNnSjHe1o(CZLKU2D69|1U$&st(9e>ScHpXEqCvocJ6 zTWjT0T6`<>HAi{%@Tp5`T5{kcMzVVMUdf({*X$HwiyzFq@#ED2L5YKjSB0G0y7$(f z;X(6xUJ$Hg_~N@G*4Kkw&qGGefGlBbG%u;WM@8l+!@}-Wqc;emmd+5^d z;-6$^#F{`syVkL2jN#<@MPc>O^fAHI`8-1NrSMZ0B`_(WN!UEUIGj2^Ky#Q?DQsCh z=5rVhr^e=oGuqj{#YbYWhmB3Smm-p z@li(lF4}|NKKu?u`hHb$N+xzykz0}}!#mlXZxn`;k>g6hHVHn)NZ(W8rkE^~|FlDi zMnOZBqmaaJ_N-VAz_ggAVt-6fe;~RUGbm zA^s|TDhW`dsK(OaS*toC=I1r$8(nv92BB_eLtn-)g0rDf0DU&J7Ow0{trC}sfb8yw ziDz0f!ECe|1Wpd6dd%oCXo2BytIgS7WbsDgTXdm0A*JMKT;Pb7vrH(Rnfi;>(pemSFjB= z60J-3^vaUC%zVS$^O1so80O5PVCOpn!G#iB^9+b}RGXhy5BR-Vj*J;S)r^%Fg$BG+ zZFa4B5&k+RnG<0#actOJc_L!{>6&Lz3LQan$ca;vgU$_`bH-{@)Cii6MF=qbdQouA zi-<=@$ej4~8Ob4!%s{%QB_~!*PYzULL(Pcyw{oxo8@`NanbUag8MJ1UfbcPfIcGvq z=Nkjfe^d{6X}~k)pb3$J9bLO<4X*GBQ_VSFc34j`2YtC~*P73n^!O7I^L@1Pqa!2U z$3RiU{KD`uqc~i9Q3=>Wew&;M=4z0!jH0mV2ZK8^7`o!CgqtanN%=8&i--vS~k$yb5Mnj|@Cn67pp<8>#H@mep){VwWn z5L~9Ql>4tRFAWNQRWO50p!r)s#&-*lbT?@8!QU3VNiZRJC6N2zGl7`Omxh7#KL&{A zS2+TRtWUC@Fnv`(1ld0z2vGWYFjV(7>hkdIgE{wO_saUX(|@`Vr6abaZUJ_N?46%lz1f2@K2mw&F=OSrr$D#+p0fKewO1@Zq&)Ew zR;~bkP~3;vufFpCLtm%VI{I-ab_4vONh)=?`!M3%=cNbp7Tb=9O4!UcZY!_+uWfF} zk9s>U{Psjw?e!dLUxM+WpAGoOzL5J5>@%ro&L5SHT6g&W>F>Bcft-iv!uYaf*WmWS zdhDV{Bcstl%D!Cw`@hcVLB4#rfMem#3;b{9oteQh37TdTH+4D0a~2uAfL_-=808}@hNag_n92f_iT6t?4l<9mtY zd%oj)T<%*2j5O9kf(P7^#&@NB`;fvBpL z0nxKBML3l_E+<{izfdZb0LG*LB|zu=4Q4dYs%&2@Cg%g4_LfJ_LUh{4J^DtEUe6hF zrz_nLPIGe-?_B9{raLm}$W9mzH9N>w7k%IqT@-JqMRX6{-;d4T-=BN7zD?v%{XK%Y zy0PgBHFvW6{Cxd=J2N!EnCN)`8(2?@^@VD$xUuypd)2S7Poz5B{{9QvxuS>q>6?kl zq)2z~?+f#k@*u*v@T^Iqim#mNt$!XTPOAiY&ySrp8Xa-}4F8Nk3;vaB z|Jiv3=}|GB_D>lc!9VuT+1}ZAY1jN>w`a*`$%>p^Z~f3Fy=?EY%PHFr2?>@vh-TY6 z18}x?mWwOU+`_?GJsnefcjM^s9@HM%Ma5WqV%+n*SOT`2gi1-icCm>C7Eso`-nX+s z61kgxpzJx5-7e5qD|NW-;x%zkda7OEANE7?&4Uhk-;Ny*XLWGaV^`ULd~f&dye{!# zoT%;tF-fvE@ci#>p0-ciPZZqbj2z6ow0oPU1tdWMp+~+wlI%c)#mYspw|<~XJQ+fd z{723x9%(gL@TIkLXtDqP#Y&}QcF8t^SVr(*j${up)0<}}u84VZZ6W!(21f}ed~w%tCn{o(nE z{x@e|ee?OAgIm;-(x-r^aHWp{QKpp-X!GPx#hm*|G+z%a!u*N*bkGmxw3S#Z7y)8# zRaOS%{OV*N>PIE}1oSc4{`Wi3JNw`BsYe9XOFibKmU_Ei_&N26sNJs1p%KpiuL&L%=@#IIWsR1v1)YUFqu0rVHrZ*KKca?GtR0ttj?_}w5j#6~#;kB6_no~2Q z8hO#Sa*5czQQ}-xWze-FMuBu*T42$O&NIpbx0>eei$lSZ;xB3 zYf2sNxb;_|LwcyczHz9usv&ou&*_5C(w`HWH%Bx8o6apl?{YgL;zW$I9yl&EU@OyB z-hHAL@n0nl4kCe!-+Xk&Xm{OIZ{tjd(3>wl$AJjPg^i#`gmOi(w{a#Q<*-qC#r~7f z6YUYtH`@^p?Cbl;r!x)>);Z3w{qo0nG7q?BJ5t4Q#wqIP9Csk@7&bo)n_akY)S6z> zwL5X}sH^=Dd{5#e1cQcExE+^|Ci?}Dhq&zK2gs-joU!9Jmw)W1gJ5Fyd>mr8;}a)> z_rQ89r>T!I&Jput`Z zaF=zgGLk%JJ=|ePTwm>fbTTPUTWU>SVipdS2!4o*$PDvU9Zd|2)(Ij~bW5Rkh0% zM(kweg$x{rXLj@@@Fdt{%#Uf6OM2>`h?hs5Oe^LO5KSu<{Rf zyuf^N3lcC8HL82=p%9#mL8C@pI5~g^fh&hC4=i7-9xJLGwlIK`g;-tXu;#BF?HdK< zxg%5?2B4ao>aL{M+SrQ9VW+K7Qls=ATd)|A^^7CrhJ^veNF5l?LxQqcV;N5|MrbD& z4_kQYVbE%53}k0W7@~R}83WvWh}AbX1QuL{P!?Ri6fYcB9;P~)r`plUGiqw07tNRz zsSbEk=WsAP6q$l-kmNfoW(H@4rq8i00^Drr(b4efb0ZPt#LV;UlHdc#%*OhKCXU_@F2}Q%xgOlfkFAS-Zc!zm@)5wg;!ANv+WX9}n9%hAVW`JH^ zJ7pLRPM#L3_J*UZx|!Os(&V~X*UXp|o-}uQwQso0Yju5NOV{cL?6{#G5`0?lEkU1* zPhS?S5S%HfeP`Dg>{?yQUN2q*n|$-+<>KR7U_O2XcGy(jdGt`2aUR|AvEEq7u5oOB z0D6Mre7hRIP2!I6P|9{U%{||ydyf8l!5>1!cqwJO_wX^if-Yzv=F?9B@i+J}{40W< zgAvBXvKSC!W*O&Fm@1T20`WI^B>vGIFFioq%T5H6P9YF~gFi*M^!GlH`u`R^<*%rJ zLiCiwqJAR~Lv`i%fTY9oW}4TEJ|ucxS%q=BvI~hK{k=fCdm4x$t=tZz|IK3lGa%jF zEBXWwRil#gbGrMMn9l>!-89iN&q?=OAXMo%{DZzf*9FAkf&sx2LDm=ABX1M}6jlKd z_5J}tfYLt&JPsM%BK7eA^v-q5O`^B!*(T959IBH*6n|O8vUlpw@#tyiv}gTv>LVWg z=^lL%96Q|~@6qe!OE?PQjPud&HsFE)hmoqYeXOo&L99`~=BM|S z57~v=-X|Mphee7-EqSs7KyER_6LeV+<*~)ONn66v)%AGLepHO(!Kgzy&8?0Y3eGT> zM{DbNM88Nazwm0_qN|&bqHd9NUZjmY?s0vD&It*P?A~6!^-&Qj zsxN>aRBz{-OIX37hSLv}tw*1r_Pf!hlseq?(YH>}?n#e+*JD9_Esc(FePq*_A(iqw zYHF=%^S?wlYtZX@Mmp>kp|>B*L0liq$3_GC3n~}M-qtf!@K5E;H`22e`kW>9H*qw6 z%xV>U9(jQd#N$-h?+GB!5EJ;%?wg@sRBIU0XIwp50h8WU;`340S8(9-0r+K&&i4Yz zfmfQ-#ssaJV$(XvNSlcRbnxb9iD&wl%CTv+gDNa`18S_gK+X8m{mCC7`MC><6MJY! zQG`D*kH`T3TYf-B0Q-n{<4gep0&4-t=!nuCyBwf18V-G1-oU@~>j+xqG7^^@{B`Yq zh;~2B?fx0Kx3?c>=fnw$Ax)726?J9yPvOQBN5#$?go9M*cleKF;SMUYZ2xGlN+cE& zaXe-6riul!4IJ0;JrS#JceSsYE+SE9w>> zaw?H$mQYS|$+WIL%u={Y^W>Lz8i6d8_RcRXPb)fbfp^%%U4NjIq9MgmVprfop1L`c{CWfcrVZpN*FSoDv|J zFXjzIZg(2zV1nnZel@#Mc#KXugtPN*?I&!06gF}H(s*l1p}DK`y_2h2KJOdhvsmf@ zAHMUnsy#;2KJg39&NXjf64^IW|2_{SB7HfX@MUmIXXkrgO1$ltz4HmpL*gUN?VW!e zxaQ5S^L)MuvrATe$=tQ(?Jhra<+@@r=STd%{4mmY%qy9`xE@Y;ofG4IvE^aw=Aqo0 z;cG#);|tD&`&WY2j4sP<9(C{L0*-8Bf(1mPzOIJ`~>nCf*J621RB3 z&B|jO%-FZ9uON7>gXWFx48npGiFu=Lx(~8H#Un5TDqJTYn;q<`DfHig&O~n)w7wRv z3R|m&8@MKTK-Y{ye`}frmsnNQFAgT|RR%5kspesO$!>ul0yW^X9v-%$YMZ6r7=LNI zKgpeMn+*eTVe`R0ivO0kXwI&JTkPm9ufi5Lq>YB+3av}j-QX8019f|JJw8#LCjcCE zY6+s2w&1(srHZFfeZjOJ?7DsEZkVv2JOFg@e4M7KJb?W&-6&RqK&FO|HsN_XMl5XJ zvlpOgVgJWT?m;iP-+>Myby=3&Wz4E}R0(^uNHgs<$*m63D(g~JTt=YPx7cM7w)|o1 zBJ?EdJ7{69Q$0zG-IL%sybk7D5@9K8Hc9mo6?;4NiTYiT8KpKubVrdn5oOKPP@y7# zVV^Ho6~M`E=}Qzdyt93&*s0R?w;qSqmHs0B_Z$}2U<}d0v#E7Spi+*4BUVa`WBpE4->N>o4^Ig5Q-GsB z-md~izh{@f-sZb3@BXR1zlU7Jc#o$t467iqy3iLpEoeoC4m4kot}Av9yQ|Gte3kG?ThdilB}2_Q+PobNp_9@;CTURS(me z?ro#SS~#@W9-T01vNfs62D4uEAdm1P*>4OM*s2GyUl$mp3{;7&!Y4}XW6U8PCH5|h ze5vj}-s`$^59qMxAU#(dJ5T#=hHqWRkcYm^*%8y>>DyjUM{7@C&w6@8)elGikh$^* zXA}|he%%kK`KQbv!sf{`#mJl@A5w`ke)$Mn=vOh1Pz~O>>8bB6y(oC0-fb?A)LvQ= zvE~ksSm%bV8#W@sQ>{z(7DMQ)AbynG^l634tF2Xmi1j0OQfjJ|z=vaGadbSX(B|Q= z3}WMc$s)7niE50#i-LV8&0l1Owg#>Kkg|_sJ zis|a2TmmBKtk&#MV>Bm(dn0BAUQ|OWNSO+QUWLr8zM=gu$@*t4wtIcY%t|hbEYBVl zU<bQ`h=*>}+=J zqtVI7CpjiV(!cAG$-1)Gs137c-);0A`1{Pril;MQmEL{#aFmzPS2@fa?|-DjsCOC} z);Eg6{$JiTv;~3JSQy8V`Qh<@SUoLhtsGj#?1z-~TSyotna}EE5_Fynh2vm526*(n zSP(b_tb^#jtHS18njYw?(HL_wj*aTT=IvnDogMIroIg8TPxzo5GLrjNIs`tVX=kLf zoXf(ACloDT?4+>ugd(ppno~N4K^07qkrQ#tRtJ%1bj@EO(^g5>HP*QlTDyb?JDmM< z8laZtVRH(EZ>K;?cuEP)pof(3lmI>v#FQ$9EsH26JY_gF_CZJl^3~*L1&_t0BKua` z7zkO5hXfPXQ=l}QxSj%~!$37;T@8WK&$U451Q?`~OnU14A_iGwT|GQxMYTlfN?LT2 zDE&}Nl->^4N}@DU=9`wRUgm>L=>v=uWlHhJPYb^d^8<)Y;*Ei3mq;h172ku@I$o`cN;2#PCg1BLn!`~RWnh}59S_sTd z@D{BX0nu?&%|Rt1KDvFtGn33YB?rX{GN5zDQFb(WA&Lc-<{)e|D5+CS-RG2OE0l_| zDyb=WHd63nq~O__f@c!D`ihL{20Q|+WlYnDC1bh^?ZMyn0Uu1Lzh@X zmE;#Hg|{c@?GyZS&tEC#Z{4HDQ|mT%3WjB|y<$<_btg*${eio4{RheceZo?J?h|;V zYWE4Mh%*5&x|5dDIhOU=4j?xt%#H`_fB#>RXFY=S>8Xw!YB0%dRn7zpgG@`TS%#I3q zTk004vG!-Y4w^$<4IEpBV_S9oP~h_TA|EMEc2Hc{sJ6|OdG(CxAxBVPK&oqMKtTF~ z%x7^N2`sOx#l=53t;9KRb1V?MW_g{aI%CGPaLzvn%dJQJ!hOUeN5-0PT#Ex|$EUi# zcp-|!rPga53e2s<+*gH;Am4f29+*?{{H6x$@Vl0WM zz6JmJ&J$a(h@xU0gX$K4eXG0AcTEre*K>%6;_F}e!l&>q)lK;2i~oADuYr9&`RRSV z_?PYT9?v^BrgI%p=Q&5Ed(K$*e4yR4e3i1@PjjEsG9HwX zEynXUR5y$BEFY!lNtZIvE5sekT`8Nchu@O!Tj6H6$g#5?xZF=o9CdU5WR^pd@%Rng z7s+`s>xEJ|`h~ZE2HkQ0dAYb_{ZPtwC-Uob$IY7!z0eEeAmL=3w@v`!=%;Kb5Z(rt z3Ojf_c(tS0M?kfc|$7}ibw}3cTulye%nqnzfWO%Q0*=)fN&^};Q_Cp}u zEe0~2FpzZ1fuuV^@UO>e^A~_L=l#OO4#DpN!TM8^0AfZ{^GzVm(kee6sQtYIr2Bn> z&jPW+EqhG#yjPg^_W%oF&ijKI4@1m@f<=M_g72aqL6XYaf!I2#+>OOFx~5VSNdHYh z(!D~kQgEzb7gpW0KPdP&!Pfg$0Fw+2YM zQv@dno+Ws^;L(DwBGPpKk|6KtWjNOYN%s^Wj?l_Fu-w33DeuW;e7O8zc(Z`?KTWW& z;Ae0|^Ctx#5xigU`-0a3na;UDhBqCEDpfWG$a+D(5md=C-jl$5t^m?q0LXaWhqi$t zsk{lu_|yX#?&X3P3(gTd4@mdC50~`$zBc{62T%0(j^Il`)`uH4mYxm_K>q>SAmjTA zkp8&zfz{w&3I1I0hd@-}vUQ?gBS?M_x^EWbxhd&AhIWgpTebp-D3vY+!d>YcAe@vM zK&a9Q_{VVJN73Odp7iF!5&rsD2?hjdNb`MgN9+*XDA*!6U$9CrAP7+Yo&fT`1$%tH zU-b4k@+Z;T?5BI|>DKAqegA{HKLPg{)LzATujaLI z&68>6V!^QQDdlyieE%FAfcWfwajSP?u6f*N>6vSEVLjOOG=s~mXf+<_=2SLoDzjEj z?p;%GW#F7aD+AZmSvzr0hZU=d+!Vp|T&W`rk$KFhRpK0RxIA9JG*;gr#&&$|t0)`} zb4Kbm)P=Y#16S1Q`T7Fzv8Yvr?Z5jKsXbmIk-J`kqM*4;RS)lS34}V!L)sV3tp^Ty z3o4wEjYp!++f`kwrCc`VR#4uHC~|J*s#TvmZE|!Z0NDt$cul!V>?*&pgLOvdw&PUS7U&i3-R1)2+QE&HQ*y-Z< zWGjqoS>@_WVA>mB&^(FHeDSyk0|4o5JYDnP;L{bw-uQyrF^N!0e3fHBb;b|Vx+UU5 z!D#$vT2%0P_<{~19?H!bKHnuM2>8$P1=(ebDHrFSzSHnKQkC6@Rb2PjFUH=Gsw?^; z(Y=Q3vf_QG&3J*neK-QJFBeV1C|R>fG57Chz=n0{CTt!p2x2#xuV4QGW?jp zY(-6l)N~SuP6w26+tJAPaPnU2aBJp4z*Zk##2}l^A5`Q}i@)hQjB3YX5G8yC)-1Y& z<7m}(3EN)W&xW1`x9~D9>*Y5HC;bBijr&3EH<0nw(gJfT8n<+)Ptn*@BV|(spHxcI z;?#6FHFkfc{YW>Y{WvsA*c4~Zpm(NZ0l4kf=TFHuutGvg8UQ-+JK!z-Tl`C@XIDqy z3l*{*^v$+QRPF3c@MIP+(-`+`9ci)I-kerR^p4QnH#`0J- zHrLT;6N6N$?gi*nJq3TRA~kn7s?~(hUVmE+lepJdvvVWdX6rcmy>;l4Vi#9*C9bRT z#lPRZONx7X8^vyTB%NN^x|c^^45lAA+aD|~{JV0jUJPcy9Jjl}k1+}fJ#w*zZn&3u&Xw@H12Yaj)_4-$mmD9ljut$=N$ zqciGhe5GGP0|l2B!cy@v`;f;bRaH!9$osqOd`E=Nb2X)7G|d1&liLFy-ST}^he}WS zS_G3=b(hb7M@O*bp9K}K1&en2+xYgXJJDw%wP0w37&ex>hyl39F3v^==S_wg#4(K; z+A`lj%DDivQ~sd(cBi}!W=Q!>07uGS2kG=oR#CY!+fK0DxhnM~rK)%^wYD6^z(Ptt zgi{-pAl(%nh4`n7@lToMy0{!)g5r}|^X?|5#k@nc3g^HK?#!RE`wHT)wFSsP4C~fn z7JIfWsTOFex8tp~MYJ;GEfMRH4azZ>x;QAUTW6U1)n>D81yUBNJ&1?snMOQB-+xB( z7ZW?+ZnD*?5RzrHbJ4}QSpsL&I6z&9hG89pO#gz8<@nvJ26c7lOaePD&y;?bIcd@Q zoKU<68}Nd(%HGa5{1Nldh*=ekYm#`L3;k_GzZP9H0(_48O?vaU5%U9F z*cvG~XpHZio*Yvi@lXFp#C({Y3OK%646A)TqK~sJBY6i6Bjy{r98?m0t53#d0kM<( z58@u~&^m<9Xrx+;THuKauPD=3c*L&N)!~Aj;SsOn>1$?F;?twzvy>lP1Uup*V@*oM z(0n^=?z9CxK{c2PDLR?UG#`Y+2#0xKu|=4QUZzr=i*2cb^GI^ldVNA~Q_>FAQ}f~E z6NSD69F4%k&!5{4kRgm`a&iIq7d}3vGhLdD98-{ZYBo#>z`CHQ zomp_e|Em-Dlxyq1;dVl>$lv-;d~m>OGj2qzVfgUb_j(7dfkV-%PS3Wg zCkD(kZC9a^Q< z2BeVFuRx!BlsA>|iA75BBEb^2cI|+>tgT%$;7;lS+{u^3EE@v@G0ZJ_aoJh*Z3mSoOLumd3P>=~uCGtQfxdZaJIJ zY?BhfD+1`=e`O!pzn1xl!&~MJ44U^MHa1)6I`yrX443FgHUJ!BdGCCD>G z@Rb2}1fK*wSB@)I!dA+9I?`33qXk@qgk(HadsseIpton4$xlsdZrGogQ0E08aSA%Ak?ux(@AOT9eo?S=ai=gDn zThHQgkH76^I8lA|JjXNxz3N;Lv75wc>f7BUX6mrI`nj3}IULgGGMf|U`C=D`tv20S z(aEkuY{OPkjeZ>YOx0l0x2RkN6-WKdziw&Eu3I=AHmon_tE{mLTsiWPj%671a}_lc zMZ6e~u-V2A0-$0k%_E#rmW)w4i3bmyWqt-ib_KvAVPyG!biju!^M7E7ag_NN5FvQ` zRo2^=m~j`tkt*!mVkYl+V?ZLYBVzrM{UYY_Rq%_3Cz}D`ah$QH(^o}DH5=vP5=uEnYTt~Q*aF$tzb5%azYcf}CN%nD-^@iS zn0T@UcIc9Q2q!-Q9RgOW9X2jkgh4U_@b8O3OPgXgW z9Y^bBhq>LD06D0e{i+6qIJ&FqYkvXp7{R4tQISl~l;^j=))uJ-PRP4+R%xHXW zf@IHTd*06gs5s3JRq+dxBE!+p^!khY-4z|=0dJ)nCD+rNUhye{54*&E-iN!-FTyjf zd-1*_lnT8?vgn)br&KVdx+1aaEnlo!ZNjl-QQ?J}BEy=DnQKSvYY}q=G}zom=@#mp z3caV5IU!ees(#X2#QYSC*7)t2>P1*4a@~M2;A8lW@67CS zQkGe6#T0)L0kdPH%52a7%8H!#DGt!=L!l!_HpQB8g6!t~^t^B?9H1jdf=iNadwQe= zAq1{oP#=>EcI1H;AC2t;agUXYsWca=I$-T)XVd5&SNDsLh$mm(RL{ORzR81X=K%xA zy)$Z?;v-y6>7e5_QV`X_MWxLN4A8sxc34bcf&*eT3f9gQw zk@1m^Kg;t_?uWv1BHSE2sNGBXVN`JQ>(bpqxU=6uI+Q!kYj+<8J@TV&7I!RnrR;FS z`kf?(OMcW1axW6g-{nsDQBMVb0`j)(Bp~@dKSX_@{;xple=N8Th^k(BEf7cjWfucc zB?iwCtP%7BQKu^VY5lU#P(SJZFF?Bgqu>sWr9S{Nyvu-yVp+MEZ$i7Fzi$KS?W(0z;GVj${3Sy=Rw1j~S5f%%D|_X~c4OeOt4 z14-v~!4&Xxm~RsO4+Yl&nGfI6`qHU_X9LUdcN~!A+80Q=?-pyie-YdRWO;88{kH{I z30^5U7l?&N>DPgz`w2F+8NUw%{{STY9io3i@JB%A%gw+FV1t-17Mu=bepdm@fnO2x zFAMeuo(A(L(f_mD)&Uvr8o?z%h8q!mNbqZdqXhqqQ#9toRv_K~6i7N71#5sO!+a>P z6!u?f!?_K}aBdd78pxvg z02>qZzY{nL`X2#D0KXynf1!g4K#x}F}L3hPwth68@F} z(S*xp0ogt#01=PUfX2Zm3HB5G7>$Y3GW^{IWd3~{$aGz+?FTmtUIt`6 z`l{$p5j;kai+$4nGZ3ouIUwo&0EqFe@^&DaK-tYehO+>OCRp|rAk%dckm2?LlFp|n z6yn=JRFSe2ko9M?;9|iufpj-auo%etQ^MQ1C1`u6uO$iWPdd=UFIbVV~H<6j%?*p0M?*N(J#XyEn{#JMyJVme! zNcUd_(*4Omy8i%~$ozRh@FzgJyBA1zcLM2dsn~~s%qMiiDt=Xh1a66y!hek=u>NM)eTw@q0q_AB(<2^l!lp z{oC_9KDTn6)ITaH)>c$?Pe^IMgkF&h%j7)Y_ zt@xN#++B-fVOE}LU#6(8de2_-o((q35f1yMb%)Ctp7-fMT=LHK`+v+U?%)WIM!|qy zyZoAH?UE~mv)azhc*F7qwO&KpNM~_#-Qws1wI0u9JI&-pL%d>`*Lq(Lg zRAujSWG$}Y&yiy(axbB|uBjdmD_mQ*Fnakls2jN1(OJ;hm#+MSaeP6Oml0l7AU2GAT=KM3m0xqv zH`gvfdatRkTbhrGds8P{JMH?)U6?Fmy{nz*?Ut+u*RIYezHlj$4Zf@s*LINGiF2dJ zZKJ~U@aeO$$QuPSXG9{iqmx2YX3PpjzYz{as&nCG({Sae@LY`TNCr_MHq{ z4{ULK_xfIr?bePDg zdFg8xJ^%N{DOS6@XUB(OgJlKda$E@LN1UmrVmQXSZeA0uLpf~?V^?b~^V|%UV9OxDvSDwUH|{Cp8sF=4(qwSyvsK}|NX>=TQ9C!*1UXaeQljxIsUi(-~V4Pbbn#@UpCt9 z<8YDwj_VW1IrqHJJ03RjKJVFf55SI~;+(PP;J)gyqkE_q6=O!1_b@K1{z)E?w5vm2 zc{d&(`Xp)`550W=jIwHjWWaFg5Ny3Y9@_QgaL2zX{k%2V1bW=eQ%z{q`;Qe0UlT z(2h9~ah-;%BX8Vut(l~)2{>gh&Rmf@kY2Q2`0>EF8`qD&CB_xT{;DEpm1vO1f_bH@ z+~~?p6a$a!;B5RWIu7Fi+whZ!Ut9>J#snYq|d$_{ zxj&WA=CoF7D*j8AS9~m`d{SHtHmaE3Sv!lO-+2;01Z%o=8wjKlKm)4DDXYGIVKQ)Mh+g_@e|g>Y@-Lg%WIBo{}QHpd#G&9#T_$InJ@o$vjD zit=;ifwpez8&c=KN45`V9_1U?52B!a0ov+y%?j#!P#tWrP$jBXVV_d;c0X?S8Hd}C zuU4J5riXgv+k*=790Taqk1tj4Q7o+(OIwti`+c?+p(EhifX!plvlWg>T&lNsMb`@< zb_G-vwqlaY1Nq-4!?>Uq0CWuHjo*Hu_kx|bIJ9so+t@biRjyj{oqf5jq)3$3*#>CP z+ql(^^ifrb$337=dMg6zJs4WKqS)KGbx_jRA@qvTcRS;Eq~q3Z#A5;?v0^C703DWd z++q;?(QF`oIM+I2W%EhdeCv46?1ixTN|5&*BRGr)BBy2+Y-2`jWq^;N$JDz35li)O zK{Eu0936aSUyM1iv&@t|5H53Zdhy;QjBU8gQihZ^_{pqxk4QVT*5|x!d;~no*u;Yn z&=>%4j7>L?&^e1BE>Qsf!&N$d7>M2Su{&`{2fw^^S&ywIyt&3!C4V`?!I;?zxA5{@ z)(gjs^b_=lV79j4L&aAK$#l{<6$&t$BnQJLF68Cy=UE}BZqtLybP)B~Abt(+nM>>} zbk8L!wBw0c#~jNtXNhBfE4SKRdCmhOB;c5=hezSUm1fOCm%V#bXTLo^$X6QeC_gEU zCVYbW-2g{v+>9X76r|pEEWT8&QB)1qjsX7mX*xk!;iZe5MF{f>iif!)ps)A71YMZ~ zc@{nqWDwv8atDLtUAFmrpPcjkK4JvlecirO^!*MZoSQ|t$tB#yjc}r7KZFjs%^J zN|auQR+nmP2h%Yr&|{O4e3*I&3Nk>ITE#`)#sf7=#eyO%>>G^alZ*9l;4hhOT^V3n=>1CnB)0h1o2+5#A3^)&Z$N@1e^?O1}sb zol>$IrAzUzqKh{d@KiSaJ^YI#AMoa%9RsHAG&pf(;T@XrMt~;F^WXGNrbpKmt0>JL zkKDA^sJ9Z^@D_ziX>7SQbC7ulOBTXzX4?}i;>0J%`)~M+9@_Cw3Bwzvstricf1}pe ziF;CgtEv0(Iu8E@6J41Q1>csN@LxZbgUhsah$b$2kC;nU=CB4z=KL0OS7gq_tbc~Q zrA7Hi`J<@qD%TZT;i$wZ?e9K-PW#W8_HUsqQ2e^WKAf$v%)L*%(h?VG3YTXoEC+>* z3GW@u3~THbbTYaEV~KJVoEga^%Lg)P;QW@F9XlJni@)tRaO#L1UM*y*Y5a8ktDO+|43V>g5-7uckBR|bFg6K`v!$W(IxO|o_l+IKsLCn`KsLPN&@#`E}(^{mmW)r{><((h~p8A}4%%$4dt!`&q z;LJU$Iq&<}6CV%RS$5wJUV8`40h%W73v>j{WADt*_ajUA1Z=hD!^dsF;IfCX<_GHi zr|*6fjv$`5UpX^VR%pMOxCCbCtH0t1;Zz+$PG;#ZB!0P(Y#wU&o!uq|f5W;0b!8?% zx2gT~gB!6m+dbTmbM-$@YWIPx`@h1yJ5#{Q4sQ8Nci;t$4;Cr8;nZ5S^Nlo0-8anh zjqK;zO-_roo2j#3NLp)vd}{4X{HHQfYwdj-e9jlsU2DIAuRbtgbEZnIU6J##Q5h-E z8*-l;a}GA-KG)|y?M*k3W!FSS`G|aS6KY?^Fh8XXKpb~UJgz*%R$#L6B)nRaOJsyt zg=~|?6VVwN1vsk1&(N6#+v`+Vsqcw#)P~&vb-4D;{^AMn;^e%RJ z8K}MRjcx7aWq8S4k#p~Fy&Yk@{OrYC95rN=%TM};jN*q*j}&ildAwJ9{1*mq9oX+x z;@mwvdg%0;mJQ%A8vur}!Wt>t3YyjucetZg8ci^^cvZwti{+J}dgdBZ09`qvQyRkSG3 z(;ew=W-;-zF&fYtM}tKaI7*%~N)y`$(=9%CkhqG_OS$d&8zs~nQ0(!;a=Bg)LS&Ium&OvG5)q+uc%4}VV-xC@N{kJ}euk~_A z*RD`!pHyfk9afwBRYsbj?T>Lhwm>i$*K-bBD8q@v7m#>UFG~{R%45f=@=A=W@VDIy z5256$0)`MW|Gjc!;!{lL-h^qe>qX_P+A3F=9XI)wT{TjQLFyQt?qTk9TiN1JbFkTX zjOC*A8j$3Z7w|^T-&;RW>CG`)M>^tcYt^s=#->v*Lt zXyOrcv=&f6jh+y~RT0$?+e_>m?ilV=(B0QJvuC0`C_7Xe_geE>9hW_z>*$fnovl6Q z-n=%nk9)E{y0vsfs_0@h{``ya{Xe5zo0f_zD!WVFT)(&hH%*QlsXs(GC%3On29L|* z&Gij+&CStTGPHoLrnaemIWO&mH`viMN~Wf)4qx!cz3+wv%XnS9L&p%7H#Wt5!{Vdt zKVSVK<HR0FxP^6*M@Ba=+s!U0kZRO>J$}+Dhw&NFf0wxW}ax zi>+v_FvbOIi>PRR@Ao;MJ9F>NAo_cr=k@&aT*$od**@oUK4-aS{T%K&ZWVvbCkMTd zJ|}e+ESJG;x19T8emVTPHJub=UQmK7I-?`uL2h0f1}`HAj3@u z(qEb25Wzu$Jm*69!w@9t{1-?%?+fk}+#+}%@NBr(0#5~h7Xr!WI3W2R3M9Q8!T(~G zhUO0hUj|}LvhW@t!~GISK3l~7YQd$zGhu(Bm`4ka5d1dq47d*v^I-^;^tJ#=?`|OD zm3sqnTEw2Zb!dON;7lO?7Z!`TNH7;jIvHaA43kz2_a+clg}cPuE_e@+`N#7)^cNRg zE%uAVe6e5vcs%@11TvnJ#6DMWkYKTHr}EAK;+)3hp}?WQV}V#2n#_9%82+z7#`}Wc zW?&BNed^gvfXJG{1~D%ctk76^8j$&zE%sDo!fVeO%1f30?t&=nJcWKBRLRuoz~ZryyO< zpcA=t!T3HwV^8w|!975-^thNG61-RNRv`Jm2}u6ei+Po}uN3?)a2VVxfLLmuJO#+| zI}vye?DK(GPn^s(%#(q$fhcl=!7IB$gHdO>e`ql30`IsV>;od}2Im5izQNf*EFBMq zAMP7Q6QK5w4E7;i_}`a5#J#X5wh6WhHVG~iEEV(#0#vwh21>{dNB6_sOL(TdjyVl|1TgtcJt3% z?%Q4Qxz8o>oR~d)AD8(%njhf?*ZH~3U9R{ixy(1X;@|BuU+FTBbn##5GC${v|3jDg zE|jW33zjY+>)p64w38r9>Gl}i@7y!`3eu@fZ!{`nB`GX%H1ahCJI1L zB*8f#;n5baqKDZVPK|J{9g%qCQPnwqkjB z$>lgx$jERA4KqC`I^dK?d2E)L8R}_CpL(}ePtQ(!+qO;yTG3F0b7cBhn$2l0iqOmz z%OMHySEnQ$=2WHKnHa2s|KRK(r(-zvqq$bLRl(U+bs(W;fSlRsKH+A~ z%sD3voh4RHl{u|sH{{A?b@qd9BxX;u+by++(nSpk?>RN7`~<6J1}ds5%Vt-VPnlL# z9;j5wloM%i3d{}8RnDBtstVx-pn0>a<^(F|1Os#JUdxOzX(qnhK4#CFQ&}~~KXY2Z z?qZK-W}x!IS#xGo1v!C+wiEZ*q}|UyrsxR!K*w4e`qSh z;?ee5mSV8LCrd){!WTP#pt)H4(7%{d`O5Qr3&DpEeimYI`z&aZCyoL5kS_n&g=V)I z^AO+oQTr^_zJZ0dbs96UUoU`ldPfA>@V60vt@zup&4(!VGa9vtY7xX{KvSm~*kA=W zp$k;)xO91q!fOz^>YykTchDGGwY|$vU6NdD$Q+&CPcTX6o+HvZD@kYL5$SL=p!tC| z$0P9bZ>CcvukDC*{sKRm&aNZU*_5Qyc|^oUKIH z37jMGbRG9N+l{V)kF%$p*J+sh(FYu83S#H+yD|Qj{SHOP&1=;RB`e^74u6V zt&YGeFk(kwtPL2dj?(jt_>hcX$%||KA@eEdDkaThRA#roh4(GT>5Si=TH7>YGqa2l zPkXO@TZwZgcI$K+C0{n|17o{%bm57J3a+v*3A)W+>F&hxatqty=-O925p2;+>WWWr zq-LX^+=1h5;T%gawt#8Ajj!Ac4Q-lP!Hz%{>8H76Ws37or$?}U|8=gGGTYU4S7lj- z`5hG_G<>%F5P`9$FQcz9qTMi&?08g(W5iCQ{mV@Mh>rppyUI-^M#FrNLX~s}qic~_ zEpJd9$+hEP>?Y=tQ60>zi`MMQ{5-J@MxD*Yr-q+VZ^^}Tz3GgXhv|JYc`pxRN?noB6604jajmyKcPA zCxJi5W|LW(hyO`Zi6DG}jHmWEtyWQD?ha8}5jq$>6+wj2fypRpRH(0F zH2ebxllP(RMpFL;*ov^8$LjFYHPzwgI_;-D>E~DUbBe>yW!lfrl74Q7A4||Gv(OCa z>J2Ta$t~Wj-?-;wWJ;fCKlu!(Fh*=L$eccBr3%ugX7G0@d(bhy4tJl6kHbZ7? zAxyBG511ZrK9dL|Yw0FVEQUtxhp`QB6)kUvCn%M{W^@-_%wKf^HX(qg>r^^SkCzv8 z2BS}Q3W16d@4-_WJ&{pe&;7{+bMGmRMDX(yjBeXNFW%;H=-`jEv-avs_39jl}DMfF~CbT^vxpI#wfo)sJtlbsE?%Bx3&1754 zShe#PsF>8Y@D^@zvQZ_`w zx49919ECB4;NW3Sk_z`3CDtPi^666Fs5fEOB6*cAA`+3Yx48^qg1X2f6n816M667> zcY|WVgJw(#hk||`W(PB0Vk81)o&@M5)qs>G2o=n4KACvHMaJjeQvIkVb9ItTk(-Ql zz(?OO6JC}05qzYIjLL9a)s-$SUBjf@09drT2IGZ^1TY*vpH^B?bWvn-k+-&*iET>W z7Ontb&lfr@b}iUnL1++VXMo-6QhcI9?U|Wfzf=MN@o4d>krRXQ^8C@kk|(__Ll1M? zIAZQ#7*AJ|^5^<`HROVvI`x`o;uS)_5MV2UCxSyu@@b18uT_*H_}TGRehpQjzPbqV z20=%z^FA{$@IsQxFi=VKfj7l@stI(of3rinxvq#!sAxGDz68xtRuKCTRf_-u$d9R+ z!T8i%f5+5ZF=q$m#!T3iQaJvmy0KrvvVaC_Lvl#<3$tt=j*99PzCi5qp?-V`JmHgr zQ5@y+Hgg&`5L=b&U-xAQsW>)+M8Rh-=X_qPHq%+}W#3%KJ+fumovb!zS z;f^!RHND~1JLzUl>K)yl=`VRX66f_spS&jVPmgCJ@~Mu<&+Xoh(@fp%k+&+m4?J0s zalqUBVQZ*yd#U*FB35L|eeD$$_wk{+{eX{Pht3n&0CG8DYeS29Xc% zlevl!?{fREtv8JO)nc=9jrfq_>E@8!_BRKb|1R&pz5mlw%*xzD;)D-mWpNhV;uj!W z;AjphrV}{E2eUF)J0Vw;Q*K4ZGog$ZLK)9gWIP?+*?ZlWlt={kT_n)|9}pUm!1aGw zWE73_tn6U*g`l7LVtjgr-vlSPL@H={FmYx_`m2t3i;Z6u#QBZF?M$TUgCrZP-2oWeV8rzg_wdGqiTD)V2D@F1)4VCwu{)g(=-7=$$8Kk*5P{u2p%E4h z)s*`|9w`sTn)8#zD+Xe^c&#H@t9YRyQJp?-^P9AeKcq?>L-PBK-Yq}O73LOY#N7Zi z^0DrgK_*@0$fOu{HQ>uM4xlrs3v{ePrR0urM%VdPyh%pF7^tR=v@6?+p2#|3V}l=U zT$0JAF*!2ju4ZowHxB6GjQw_+uOyYG!|)5mG03ySa1upr#7og<*cs_Bw*hrUL+0An z#C>QjlwVh;VRE)rVJ1_RG9+^fz}9KF+a?~X>NxA%9*i-i&OL!wE!E$sU{1k5!-vj_LYRfhIks>q`Y(=4Bb?k6B+}%X%_Be#1l}jI1w@ zjmA%C#HTQ};Z4U0L8wWg8(G4QSgch0XXU}rr!(mf)_Qz|u~TH3I$arzU6-sMR1B)? zM+M%3(XFcWMYj{1D%CiqBXAF+M+{6JuSaY?g)gxm>lo*4#CI-eK3Mdg`D%RFb|Q~^X}ot_cgI@Oq*+Bbr6Z8 z)o?cL;bn9~r@n@7x!jF3?hl5m;5Rm3Snyg7`L{M_@uGe81WCIcdk+Wl7ad9_I;T_^Um{FLxbi+ z=d}U5xBJao8M>o|F~SC2iZ(RS(KhrMJ~v8sH9Q#Lx8xc4LGJGYr~xo{_NBt$q$Y!- zb%9BQAQoS7Rzipm&c;nPvjt&y@T)$IM5$e&cUTR2x0hRJN__JZ0cK2 zbz{ywaE7@n`2IA>elqs`zA4PfDhB$f9-C2A2k6`nX!MM{gu^%75ng6{_bhE{t(3` z{h{PIWvl8B?a(gL9}0(=ZIR{D4z-g6%6T_+ zv7O2{NEBb;=D%AFutq=y26b7A*SDo^MU!xFqLi>Y5 zezzkyo$Nt78SL={s1^g@u#gdf2;+3 zj>_M;|111;jY~22=dPz58T$b^K*n+#vMwInfZcT(lu1D4m(>trv%*g8uW!=dI{0&T z{CNyGwIG?w%aopt3!!NPbK9%3%VXE%23oqW9$K_V=3k*oN$Yztx_1Oi-iUnI)rXUM z_`d2Io&JVHZm3fl3zzU-gd^QjNFPVKhA>G%?N8(>Pi{KI-ce|}r0IxfS(C?&S2aMP z-<9yHU*sHVYM&?fl~&a@x=#DLcYivzPP!bcRxXN=8<(HdeoTi0_i3g!aUuna$E;bl zVo?pHuw=!RPAX|PY3eeme>b91r8`ebdp>(n4APy~+<>nZpHUi6Y@APFzmPc(QhHN6ONLAAPEJ zuK=Vw?`rKibDvkuhkq=dds<)PDben3OU}u2qH><}EchwMU%~6zAM-&y*15_w=P<+Y zu=@?|U-AWYxaaxPJK=Ay_>=tU;g9h@fj?ufrpJ6zk44WFKmGp)f4OqsA@fZ=mjCHJ z?=Q@UZ0GOS^qG$i|7qy+?8N@}w14L7(fl{Vf3BR{Wj;Inr@4QTs+O#Ctju?Ze;5Dx zaC{qnvhZ=|!*ZY=E4^}`;4+kxVK}cePjE00=Z*?LIYn)t%sC+Vg5WN}2Y@;7*9sg2 zTn|K%FKhym-bKJ{;J1ME$HQs#xBq1AZ!eJk9s|DCUM^TIcp)$s;bsF-)e1`mhXPUlCqHtMj_(1% z+ku!|D0~A<_X2CX1-Aj2u6xA%OTqO(tUnZ9A?EK1o)0A7(}3jrOtJR~dd2>OJRQ$I z!Rrd00fD`tw754ejwwy8A!fw6pR4TgcW{?#527w0AW=a z2GU=>U?q_0n=Iz>f_Xru<2WGce*)$h?mfXhK-zB+^TUGo3H}^N`QHiziNZXw|F+;` zaHKu&vn1W03$_3m?^Qt3uM&IfUduAEKUwTg5d1HM1k#0VK$fRmApF9aajQ`TiNE!icv3N$(mU<5?|O1*F_&i964O)4fPA z7YI^?zr$1!?SCy81CsxBK+>%h`-=sGVt=}reS(~MqFir9e}(zVbJpZ<9FTN|0U6Kn zg1vx@|1ErPn65wR?@r$DfNVE@Bj!~=hF=I|_=^N5362xY6+Bk(Fb3{S$G?FL|5qTx zKO?wV>~9nE4+R?qdET1-=K@J52qc|CvFAOHbU#+?c^;AG{epiNd=bd}d>Y97Y!l>p zMW)*iWO+IVh@w|`HjwG>2SiaVdEl^kU~!ih{JafjQSDyXJ9(p3;?=LR$fRzbk*$jW6n z=`5m4S~t|H6P^EmuN8Dp%D9uw+XnSfR2-bOW=E1&16Ip*fJ)$(Me6Em8ya!z-cjzQ zC`x}GaZJ&evwiAGdmb?oUV{4^zMndhnC@PREYvBF4}W;@E&Iy*gr_ zJ~N(9^s9ulgXGc94{ktzgip3KW}6@^(z71)xfWaR#Ix~-{)uk;(%c6~B_aIe8~_%8 zCc-Dr58_ol9JAxv1Vz%=jn=IXViX7j)%v$>{;EX zWPbMA2$scnsZcp;y&;}+g{JXifXZx5i1O+>6P`C{&uamg7UqscL|EtaT%=+}HxBDu zb5m#Ovavry>ng^6PAn3U(#zWhpY^6>o24K2V1ZQcJu2_=B=;?9_C_#9{uevx(pK zZ=FjV?B6<%*w?>xK2Sv^%Rxcek`v37Q-s`k0MT<(6GTr*6m=IJv~s!J{Aex|=`#f91}z%|^+KxO8gSby#6$JL)+ zMSE1TaYjld+bTa;O=2>weR8*~Wch1(DV!M_(ADQL&eWC1qKj!6ANMyfY*Tt3yQ4{Y z-V-jz=3FKR>T9j_@^bH^Wy{OG+h#0_l`Y0@6BQ18mYZ)G=4*;Oe>YUR-oaHWtO`Y* z*Ofum106jAYG{C(0Hp$yy`d$`>sDZWK`!BfYKYnfY9`e$TyGEspT61ClCLXqC-9=> zOO;;Dq$UqdLo`*69Es0bWA)_WD}8k}lZV&%sF|R8W#PF>O$RInct+y+?(mugzQ%^y zE9kL0yn6ERQ&;;)nnA*gE>|8Q3wa7PLQu|!-(NnT;xFBL!e|M>Q_AV)%bQrT@LZyy z2mQU`z5(v(!mnf<$HQ?}y7_#}g{bF9^YOE>M#)Fg*JD0BAEC?fH(&fQo$9gXdu@6k zm%(AQ%nLKU4u3K)OnN`T-+ZjR^O1CWJm>eEuipZH8^j;euO2JjU`lV}+i*A}{wN3a zSpH^2``*y!#!N0T^Z5|Sd5U%*M4Q7i!ZiO{%;y8~-7EA12LX=-V(O=m`*?_#0r3eg z3<4RR;~e5d!I40QKMj}#JW0&^AP;ZgacdPt<0<$>L+4H8$%&&~yeTmEbqRYJ7Wyai$BRpx@ z=|R>Gvq!GAhsGdjW|Ep)pghPmn5kY|i?vm?z{*A@V!vcq_xbH=hty~+HU3L~!5tc{ zBWnvHO*W>QW>2e{Nx=R{$8f7Glm0P6; zp*sFC^1Kh#b2eBJTJ2x%ZmFB2g*o(sLBjQ<;sH!M2$vtx(nhgOBrM%H!5 z!|}#)EV5fqRaLpa(r=kizsBhIm11Q~(EPDek9MTTqsA}w&;=!ro1P^n!}0(W5h@#d zouS3i^s{UbxwE~p9?H*pdeW;|6kcSxlD;#&v&U*Ti^e9T*DbSD=%ed^P%slK8V5mHnb zX?=W_Vj%}Mj!mGW-Av%b6t>`U^uW4MbkM%j@($QIc2qTBl#GP+164i5egy4p;$C=z zgsT~QeB7mg%|AsnDvgQnFhMx#shBq6YoAco+=liCH}&&0&-Vhb-CIX+j+JIc?OY4 zRv9|JKLLVz z!w-%VZkS?bek9|3O7U)lbclcD8A^_S18DK{`+z-r#HTLDs%JyS3UTog|7!r4%U(9fv?{dWcZ?tg8 z{7aIt&tvQcyu~J}J6()eq*ZdJJQjJyyM7Kiiv>2qVUvM_kUnqA#jxs7-wdmX(QRX5 z9voV*Z?g85tvDggUZI7}@vmqew@K^Sv!?%u~C3J5-b7lq_^A zgktp@gJx*l=%S~Z@cp^DJ)UV=6|A~)TxOkF{$i%ISzr?l;P ziY@fn_BF>=`mAH6%wHTG8aI$$qwv~6D%coZGcGrAE#9beCty{NM3a`-ro_t_hU$FM z8mE%kmCExOkdx$j1HRZOe`mnPmPy<~=4^p>BrZn&cVv)ImKbR&T4VGpcn;@Tv6P*h)u9YBz31oP{G4bBi|^u`6(B=3qEC zq|atnU{ZNtsH8mtwL^MRE!tjeM7I|k-Mb<$b=9CtYk%{0`xKcBJm-^E78$L32#2ZNj7tcJR(JaqKtw>LiNZ1bv2qoWM`qO6x? zX;4jRN12aV0!Mr*f#wTFdv{(Pir;zY<93uEP%|%e9hnC*JVy7<5Kd=BcN7Op{u}vK zxjBeIx|W4v3pPgAZt{4WXP_X9sE${qKj%=s64f5a2zB92m~5g-Ab3htwmEl9|Dp^q zb4(P1HBW9*Lc;vxar&GB3MUS@s{Br#T?keWHkLkB+>x2ZG%M4K#bziwQyi$NK?}gr z*dPJQv-C$LY4kB!7P;~)B_N>(BH3C{x@a2J<=L5a9pyVItjy;TL%mPl zP7P~4e9_|m;h?fhHd(xIY$K{O%JH=TWX|mXTjuZ%fmG%sOL4Zj!`j`B{PFVULF(&c zR-$1tcPr(6*8H+H{+K&kHALIklCkMINAZI2PCZ;3PgRWEcZ&6qp&o6E2Nk62Vt?#9 zwt+2eS6ApRSIbjZmlf^tZ&SrsSNTv$_@si!cZ`fTB%a7f2_`|>uEwg)j$)(w#bC*+ z74d5_);#Ihs_*DWoS?ZHlH@86TqSCe*U9r9JRiV4Bj}m*jjqo2TzwHaVruQ#Rf_zA zBCe8WaHSuXlBPtrlpH{X@kDZ`$0n6fE?$e@(?AIMi}8$6ZDa@6b?l|&N}gHs=OgoZ zJs3nbE<4$hUPTY-Jz;03T;C&#d)HXJy1~5>yRaZum1&jR>Swsdkl+136u42cndyn- zbX>a_$j9iomR5W^`myL69n%VwXaJUFZ#OqZgHGwEkfq zRC7ir)7caLu6*$g({FvHy5>paa-zzToI8AABA)Xfo$zLuY~}Ykd-?rdcB&mN=o)H$ z_2lCxs&PcL(D7z3zmSg%F2(o%agz)IzcHjf-}-F`L~Hw|cLda}OWPKrSZIkSzy03k zKhdwbV_Pe*hvQqYEP4v%QGZX&8DH;X;>>BITYWl==%+&>k75}39~BLIV1EU9)HuBu zyjN%DZ-!Z=_#wDjZGi0x!^994O06q(n+lV21Hzy<{9IFrz+@{9ciG6yT}&CIN`x=b z0ap@3qZn1e^Ul-6&ey~WoWy=@Bj%s8xRu6~##5`W(iKkDq>BF-OJBqwaU83FVTQ9u zA;pf;WKc0ZW1q^k30ZnY(5H6LS%JQ`>K?|<&obvheDff_c{cIE&V*7E5g+0oq-5vc z!d9zm1U2i$f<6#xgP3>WXuU6}I!bg7W;_vWKkVDgtP;U%CU6|uF6@uND}{ZGf7^fX z8Y=l`cy>>T_tBLgF;sm%KLoH$IW{LagpTjj0855lBPlBul{B&v2?VPz(4`z?ZIVOb zjAWOq+fkDRQxC&aAL(TO30VxSg$EB#>zfg-Kz$3vt}aj|?roJGuoQ6gSwcE73$c*0 z70h`aYqymJk(KToC6%(O4F|En+tEXP!AJ-}vlu?z!S2scX3=%|BU(Pq?yF!o5kfz}YD+OmnK+-_2AlfT z)P4=wAAzYAN=R2_C8atorPoDD-sW{+1+*-(5L~H)lM6K`Lz0|)=@uM<48m>>bEl$7 zS{<4BOd%T5@95BHC97ZtDvebIt$jLO7ev>-o*BWA>+4JPPNizgn!oUOH0LMfdW@A8 zzuBR+$zZpVY|yaEk2QZiA8O*`C#am?4jbF2XC9iy#Get` zDsuWZVQ&lf;b4XVjk!%_j%v=;kK*$Und`zo&QWOeSk9VONi-w8WniTU!@P~70~L#6ek@F2 z9t$>5f6<|1*Ax8YzrtK=O(a#A59r!@2zoE_?V@2uE8V#ap(#t-I#`*MBA$Q1(U`cP z)!V{@*hX^d0jkFbLhCrYG5CT83SukslMO<2Ek3m^)LoHSj~~=nwFU**(zg}ukz!Qw zs2G0)-%7g<>w&)`Fi;1N3<<{P69 zg^Tye@S#d+2TCm^j0(O+2mTJ6Y?&P+g~6QrNHqm>w9mx19X>CoPwL3B`7F>rw>f?O ziasAks=x`4n<=iK*hy8OyRhLwD$u(KhU8oi8yiOp8G4O1`Rb~Emmr9QzF&tfbH+{e zSc%&Zx5@`s=wYeQ%XR2J&d_%uw7ckcEoL4e-S!%dzJoueb4*3V?0OAe9N9HM$8pQI ztnA{M88`V@;C=?a19K==-m|i`{1_H~7P;^+#P7>W#g8(Y>Xdd3rE9+$sh(Ix>HNFw=kezo7FE;=8v7HwvdX9U7y~6q9~*Mj6c?r z?~Q1E5^sXGB}rcD9*^v{jEt>Ci7K!gJAR{w`iF-`4`oK6jpCYto-nj)Ln+LU+|#ks9+ScbKKsi7^`-T#5&S6wQgS46j{ zdOYIqxGwpf{*8>6u+0_vBvM&vWy^G(cef%9Obb4A$+Y0hZfh?t)M;tPMsF>$SJI?K zuWhqWr@oH=Taw_IdUCEesPc(Y{v|u6?1M#SVg~HsR1UG;#uutW>mrAcp}}>Y zLPyeA%aKj@4z`l^Ym7k?KLLT*u!`8_^Hq!gDkMW~o^1$Cm0M6Nn#pgEKlYRSO{Azh zw)_;{I0oim>;~mGSgqZSjHeA;;xP$}2MGIQK8<>Y6n0>2q%&_B zQ+O4;>HA95zV;}2Pc|#xTW_)%M*MkG%ASxBH>x;leS^1uH;T6gI7-iG; zH7Xd4+P)GZGK>-E)-hY3Hrn6K^qaa+1mn&5D)UD`o#v;|7pBWhVmw%~)xBdhyS=BT`12Ypr;`j2BW)(hw4$<(YaKu0M7)zqjo>4R4xd>=W_ZQ$7!LpOVe$gYC-mvdWjy*8Q zK{+~z9mBznY4gFLCy{^w>B@>5UqnCc+c+>aBJ47`!{tL;jK9<|KI9bC$%r=b63U?- zkMR50+BToqoE0X>!^`-5R66)(8?C;G$Q$~s`xXjFFDhf zjH<*L)em)4uLAsY5D61FrF-liyuJcEdwgqmsXV}P`C{Z(u)717pcG@LSyn~KKJN`% zP%_n55(hY}ePuf!6g{eInkh z{IyN+C9XnG((!%f`6G5674H}|cBsQ5D3sXlWlbMIRQZT1HG;Vwl^q$tLZsQ{Rrk7LbW*e7?PBRUk1 zw1wien{eo6OOVqA9wfZGs|t;S4sZ1wt1Gq`dWPH_`ZQOG&7oNxvJ4zDmt|$c-~-br z-7=3}nZ-VyHYAsNv(U+_+-a?kVd@f}0o){pE{&xX5hsDp#6>=VEo4N--u7?sQu4PX z$)Cy(e$e#}F{N5ByjE;a4L7PcM}1$1JV52B1R!r}0k-l0_$9`=5=T zqRyDO&8w~GV341h+l8j{$gyhCy1-VP6;H17Z7P3e<0u@j;b?h_Qc;t?)ZWR@J=Ne< zzbQ=z8k@&j*&w3+l)Mo>COWY@+&6j^25H9zyPxE`Y(>ex*1VngDFQ-)oF|-M*Txfm zD^@myLyE|2<*`Oz^s0gA@l6{T9*!c#uO&tzS>Z|1L;b=*%=|U=-d}yx zcu&_NRM@+qJ1-YaRcCSpq1eD?pia0pcRkJ!VO%NlWgl-#12ZaH*$lvMrnhAwYz%W4 zdzc=%4$7`MPTRk0Z_aznPh$PT4@typJ4JqKF0GuMV%^+x(+r#Z1<8W(_hezXsApmL zF^Vh-!)gEu!_@#=VfY9lwiN~y8kH`)Yk?8{JUcQV7U;w_3QYP}*a@R~W@{CS=ap*W zCu-vS@Y;y~+eX|!XRdwm3sEHd0P1_G&wrYqn~}X3wyMZbard&ntI}`2VT}n?+J`D1 ztQ2}%vVZF;elOPwa4UMCYTQRxBdmzcGe+0d~_zDh(jjBg>9IeQ~5Y&nA*!g zd8iEwl^4wpRF%z|In$%w{AIH%J)z*-%D~L3xt0D(xP@lT4U{|Ww1?o#X�YkMm}h z2c`yR!mrJ;a;`C7p+pr?bP)58V4&#I`HQ+|G%t7~g(YHQR<8z^t63O6jNZ9Jlb zZ#Y#e@^p@+$3f0E+CckRz5*H?&W30G0!yBEysR2F>KKt$x8O9%`9{l!sFQFSh0tiv zsCkW04>0PohRc`Wf8(g~71fdY+U4QKQPnGIYDX=pS<+a&;>y~F?~kfpxw0_4cu7Oe zN@ySWeqm!n^{D!lOZZp4c+_Q)CCh5`d*PUoV@4K@68D->(7%YkMNn$7tZ@|7I@C5I z8eBwO<+`T#(8$UbLaF+2mX;oc#8Ec1QWH_{ivEZ7Sm({g6l$Bvg69h^ z7F;X%Bf)zGw+g;0_>o}Wk(%B~f+d2OtaUuR#xI>7(NcDj@Z5*5a60z`=za2e0yBH* z+}kjY;KLc2bmy*{)N+r<^9J10ots`bh@m~6KjJT)yAQJpe2xd786LIsT3g6(DP~Fd z@W4(w_l20JB1`|AaLiNjI{Do zLs*aJxg&(%aFQbLc?OU!{)Im6{sYWIrisu+e z&ZE2ZsnUN4f194d-~kWogL*9gY4pLafrsKw?Vt7ItNiD~@qYa6ep&mcJk?{-FNyg9Xl&IpI@rK~G>93j| z>(i0^h2d}GYuX>{RXTr^Cue*2i$B&chd-A-0LK3;<9}V#WqEPI*Zx@V z9R6H%$wxloZvBV$ulGj5(vnk}e6584(Qj-2te5Js{JZFr?`HV#6urZ&r|Pl%OMa0L z>K0u6j;71{>hPC_?(6Ws>s{?%>Til~2~N71$gAuw?T__XJy!g#^pW4O@W0`G?Y~Dk zwDEfh{1tql{jq+36Zn-^HoWtB?VNC~`gnV?>^@Bqo5<;QkhH2Cz-=5y9U9FM<71An8m8GF+M9B*BqD z(m5SSIs<|9|32C?`hQ384Z*(v>Hm4)4B!)jn+5L&UI_aWffoaRh;|dn&07Nmy}WtA z5bVbTE1;Kh1d#D%YxkV~f_q2k_+JxzNpKgC@wWqK03Q|no!~D8O&~s1h3kM*fc3zc zz>9$7#{ixU^aFHj4l#|7^OQcjlxnXcJl9~2xd_TLfnw*)^uRfqc! z$Z)%Xr2C@aPQi!8{ikC7k>K@$R{<%nFp%<^FZSmPeu+er?k9r(0GDX8Cd1(VD3JCW1#boVVSgTQGVpXD^UnuF(7Yi)>|xC71MCa;kI`SGTwe#0&R+!E zfXLdyyMdE{Yk;Iz10=l#K+-!ONP44yq<1=y^s<4Z*I)2IsQje&8j$VPQ@~=7{4fNIvfpyk6{= zin&H`G>~-mDuARn21q(*2@V%L5lA@?0aDJNVgN<#0tSKC0E-b% z9q_v_Uo7UCKvb!`DM0LM%HzID#y1Ga`2GV+#`nJ9ZXoU3#k^VYLBV^0+Oupi3BI$##e-vhFI%mI>*kwEfyx}Z<+ zJAxU&QxNVm2(uFY-vf?@`Cq`Zfqw%Q0iPG#F8GMxeS$w1{E=W3*c;(~0GtE5%Yo!4 z2qZsK1SblP74!k=?=TiF>F>XS9|-Ofd>Kf8T%V!82L*o)>;wCAf#e^`T2#7D29lo> z#N0=_$3Me7N(R3F2Y{dxPXJL~>)!&hJ>})YY-e8qqG_&w4v6wlzY~aZSicQO`STD< zf8d{hEa$uj08L9C?*TxQkjHxfP-XLO0ir79-2_C@&sz^fk<42MM3Kt-0T4wXuMvo> z$y)}5Nb+idU^(wnAoKY`ApYmg#?Js?5Qr(GyiUz0Z&NIAU^N6P6P!8ZhV z3qAv+|2Dx#fS^-<50K@e1W0)v10=ow4AS)87yJ_t{|oE!!+OMPaT#Ag@HmZmy?}k; z?_)&9{MZYGzr5#wr2B|A=R6>IJCOdD0@+So30fsE%g!IK1YfUIY{KY{g( z_a_iPL!yWW1m6bEf_Wn_1Y8HK0RIbsOz(aOmwdhfB%iMcJ`J1$|9=FMj}6*B#}vF) z@G8NDK$Nq*ohT&4Z9vlB1SI`G0!iS(iknvdeCtM0M(|w`fY(W-6()$pF zgz@YL&O^A@#rzi_<9%N2w*%?_w?O9eD#1BGhMxgsy3YfWzak(+86OUWi1Km-`vEDp zR#XP^$%TIMw^p!0@G{^uxPKQo16V0|9Pnb8Gl48W&-c}QZUjPfdEEGiq~%=)WVpq^ zslfArjAy#wnZWa4|2Y}~y1xOW`)I&V#^d!288aeaH0AEmFj*1(yq607O#r zW&y!!-l@RZ2%jnLU*IFnaQ6Ty&+Ei|jbI&c3ha4fBIBP3ya;$0nLzn=0g;5lcYw?n zo)Km`s3($ie=B&Wpb4A~cOKeczJ3>o|9R))hyEuB4g-=7ZyKaMJrVce=Umvo2&DU? zK-yE!Kk-)lAZdk7z;YlDE6|?jBZwCX&JipDvLA3Vko0qDKn&L=*ecj0xKOZE&?o2-+>7|}+P6)xRj^5Lp!Cx7^e^ZA3&KOppYF9zMM^^!Zpot-p3zZ7?Cy=1+(XNxnS;1!w$_hs zM|q(R|MkMp$&3%?*r?HZspzAh#%HSVW34ZB!@oqW+|P2E&x51g z{Z;s~o2g;LZr&vb>q!sX5za_!;$NT1!@-^I@>F8^GEvHSnP<-WodeuK;Z6)ykx zxZKfaaL{MFY>)2@m-(-*@atUhU+;=Tf*P}mDayn3Stc2zXM0y~GQR|02O z1gmCTFt=(N)v7OA7OAaTR=fQ2@M2sTvYMKEdtP2+*>Lj(?ziD~1ec0mZZfFirLI-7 zktL-8Snpdy!{8&1+WSzC9OEWbRt z>%=KR*|V~wFQk!HvB!mj#B4lN?N9C__#AQK^*en;WQk#mZs+bmDmArVV z*f{dm+P>wn>*vM|1D7ph)x};c^`>_EV4Ipv-?pyTjZ1!@Zxu>iq>Mdoj?0U5l7dx! zwUz9Os@mo14rf6Od~TB)S<=(0xTn>Go>t>~T8-;zHMXY}c4WGlIGa|Q z!O?EF65JQ%;<>n|)r6i_<9k|->uEK%r`4FAR%gS?b86A3G2?xy=csz)OU8-!9(v^e~>tIQPh1^Ld!w&X!_6B z3%%7sZ==u?Bj>CZTkk~7nSAAaReLe%g!x9#ModCI1mrMuHva4n8RVY~QSDAgeRrSN zE5Hd1sz6Vjalt8~4khGmj6)q%7v;w|1-brC*g+{;DY~`$8JVS|bPL|8zBpt?Hu<;E z8Hea_o+V_ieWKi~ZQGi^WMEqnbYA}*`mEyf+Eiei4f4how3U~99PuT-0EM~@%ASf` zTQ-6QkN)r$R@3;olLkA$)*%wyOprP`VeY8Fp+{W(rB4Jy z>-y@fa`QvQrA@pzLga1XD5}RXBBiT(m`dAULm8hzSevfF;38yxj#HtrijC_0TGLg> z_KFOPT{UD~HytC;;U7pvp=jFPLj<<~e! znD{ME6Yfde22fFnK2YcnNS%i>Uxp@u9z~jZ8~b)3D-kPGW-r$`{)duSxiiq-D-^Ha zxS2y^D3q~|AVL4Z){~d`PoYb6x}n4G=hgg(Fdk$E+C2McAo>aa!g%hv5TJ zkV!=G4otQv`g~OsmTo4TR-NZe#ZG4`-q2CB0uaR$0A1O#ZPd%neRGjV$;#rR28~pc z!((;dDp!iXdYr4%eO`?Dg0q9XF{^G-HMjgbPmQQkC9qYfPn;}SQH|?gaJv>!j)^2` zRRw3Gqt#Hgq$f3O($@r1yVaA?aqGIcBbn-X9)&60ep}A_@OcwbNasF8JA00_pVqp6 ziuBcUgnfpbwhH0Tx(|x+spkm(e~*tbTKB>@5TB~avQALA5N1S`bCKX2!2l4SxWdUm z)SkleVlD(`!8{CzaD`vMk>ROTipYDXh;IV%zwmGPA)S{59|tnr?HY49Z$SPbm#mX&HDtO1>!qh_-7#L z{1V9cOd!+2yrVnk^O=qlfQ;V<1WENFCVmfQHBSiS(}X{ot#VcgGmOaxYrPIL-R$ne zU1s*p?C!U@%+p-vnJ)84m-%-t^I(^m?hNne|#*|rmz3YaD#jKQUPQP9a+8vWBIC35yo^<9@5_jHs%QTft@{i ztS%5e%ER&%%WIQmA>DY6cYu3@C6F7krXc-UE;Jw#S3<92yDC;)zRDRb^m48#{Rp3Em*c z?}YuamoeHOZG4!lHMakw8fzJpq27sCA?d;V{qAZFzsrCNY$M;e)*c&yT+P58~0wBm^9=Y6W>@K^dZ z{4ImOg0JE4C-9do{(N{>PnvjHFSEXezqd)?YsAaG<$h?NI$CFikFv|^^!odYVG-ZQ*z)T=3HRue^2BOIu%zObm z?Dp{)yca((_iYnw6>Jh*C|D}!69lMm%y+KaThDqiGd@1`_@ldz20XvPAI;>K5BF|QOeoRoW$m~R&I1~Hcay+~NAn6ZbCd?lYNU1m?!@_J6VW9=;5umY=>Fv?<0 zRd_{J!-^GH4TPOuE!2MPD~C`pP{rn;sxGp;TGsE5y!3)<(RR%4D)i-(=E=@m|>lNwywdlR3yXSW7Sn1aKdgOoo zQY^&Q%WB2{%XghUN9*VPU(EOP>r~^?=X+6c(b&=H>pe88)I_lQwz#$?RrB5X&vD2m z7IvSO3&%CdH7IT6_|1}iRl6C6kC^doQsWVPo7D4l$2Dt4X#b>#@0e#dCPLJdZjW&d zHC-I}9$||Q)=}%R_w(KL^JwE5i!a`@$*1xxjn=P~e9O#n%~#!GU3$ zER#$YA;F`KllBU|CSha~=#f<)Iu6ozbFg@{aneGB=hG_bEk*^g%kS%slbD^^_-g|n z%nLHXc61la+=IJ#3g%0Z(e`$fWsrZ|3(9#j_BFogqsK|sRZUQkZC8?sbugLjE{~O# z#;)gw&g@$ryNNIU?)Gw1y_K8W+uuE@JY)NdpZQB(j2sJdx%s?*-KV{py1OF-yH;#H z3H}4PoUhiJJcpXL!CeAqr!F$1{E$c}z6|WI^M2S?=e;J-X>_n! zdbY9isOds8T@6*bVUba(3am4{%iBKoUejCa%4ZMPFw4MknJTE(4Sl>Bf|P*FOwYC^ zWTB>Lmie&y7rqcAcL&X3SRLY2gx#@9;x-0v0J z7AedfT~uj``x)|d(40&?FaqbkkTxSD#ilj~mQyl0`wZ<7%_N!<|B0ne0I zKZ0DvRuLOn(el2x`AJye=7+3ctRgFD4u-~c?#jfau53KvkPDk!+CU|IHm)u3;gx#X zOBFWNj{Opr5Tdd)h}QKBiae+CxkT7q3Z=mT+^i7D44F%D!DMY)g?UzfEby#ZhFd4z zP-#Kd)jJes@_;zjk z`@Rzb@iJW4{95$Q-bF8k%n$s$qT||I;2YXqJN+Y`nH3+HKO>%5Gc!KqZrI`;V)$Zx zH$Q>G+0zVj6&9I4@Bi|;XW-amo)pS>XL@|7ce;7W=~?lMGs^pau3e^>Lr;gB5g*zQ zZkNNYm)-4h9qxF;yrdu8dMDk?q5Y!UGyNqmN8(0oL1)WT;Zr|(4e?KpXCm^ch`hW1 ztLt7+k)PYW9ak22w@2Qp@ILTFMaF(_^KFoLP%e{8Y=B{#$A^r~f`26-T%@G0r=|W~ z5obrKs^i!{pf2vRmSIuLz0DKgEoeTegahdrW_u{(O~W*@{O#`y449w!*F6o=Sg8GX zdHvkeOZD2U*cNqbVgF7vb$!gy> z(CjSl-`W3=nR!h2_I01JXA=2y2n(d`dk2I@>*WS+GPdY1iW zSuXBaK&9@@%wlb9DMgYKHJBB!eFb)$s_NMD0O#GyZSd@>YtT)~nj4Hx%D38)a8^)s z;s%z>xvk$d7aT87*Hd7IF7778Xdh*j6I39Xxg=(9HeY5a0+MudzuA~|<-1t{i7OOm5PzHyy0?Z0Antvscf*G+jq!~V(%kVyi&u4hXg@!p(2SX##@(i|z_&fR{yeGl) z7>c8wp$n$P$`7BVB4g8%1OHI^*+H9e`Sa%oBMN`Z$t!4 zBhQTlakB)ki>=BM)JZJrCy%`bVI&jB`lhKtg+sh8f~ zme=sYfG0%X@=m;PsJG>KT0GzW!N7Izbe{*EAggk{aSpiFz1fX29pZK6)ff51(jE4h+SH1CYo_r?;8s|IGIG#IWe6kkWB5HKWX3 zMK(SKKR;A2;O8zz4}T{_-}L$?hVsGD1!6T2EPx~0f+x0{!^u)Gwk98qY-K)~>NI)} zc|kG7?P-bc;m45+s$7&YE6};}F{7?S)2nJ1Sn?$Pi{Fl3>h)dxCgq>td~wlBpd1-s z#Jq+%9ocd`dWb5e-sUmzoJ!tsn3%kKK~g1;%rt$9Dwa0NuyqM5?P(&*%6tejobQt6$DojS2tUcxze$_B@S{>6T5^D? z5A{~x9m*#%qw9DiKaIoLuJoS}jBeHG&kn{P;Tvv#JQbDis4XTR>VUhn}$ ztCMfk;9@bq;ii54)fY(7j=kPzEsbr)Ye-_h1vcr@d-pl;_&M*Zyc6l!n<{P6%XVzLlvUtx83oU1$52fKM_IdS=&L*wbQ^xGZ+)~Ly|(S1Xl&a0 zf~$4OB}qR>*%?fF3P9kv`5wuZE^!(8$4C6=YVYA{7EXFkpjSnbr_#$j9h>&K#8lnX z;Z;8#OI{w1cD*HNd@k-(!hfIT7KlvNb*eiNmf5jf#29WB*yvr=r1<5lEe!C$$c*uRG z!3orm^$fF8LmvDrg>s8nxr&lUwaus~G_#o((*FW4`21ghty>3Wd+Gg>OQW7%t=8@A zEsh`?Eq$zUgKgGYAF9szR?=Rj50l_83*DyPqml;dR>R$1hyf z8J~RIAl|`=XhrZ7^op&yquZ(I_8v}^@J^ZsqkE*2 z2NR{|!&DQX1Jlu^*Jl@?_5BJEGsmzQ8E>udHoB6uFi?_aRe1LX;%>&@`hP!knUYju z3$GaxiZym+huzgL?0(Ey}c(m zsttbZS?x=nMw#Q{+C3BFxW_EBabgnLObeeJedG{*SJ&Uy%O!O)P#ZjbWv7}W2Cn^5 z)jfmOfK>M`VLGKXOs6tlW)l&V6F zzxV2Ne{1i#j(Ybq4sJI#nvd7r#JlQK#an5vmYBGQiTijH=k%RrfmkP5H=%ZKk53Tm z>oQ_J%*J{yK5eWQ^^5gY={!%z-{~9U$#BgW4UhO!+Gg{kAWgE@> zd6oBKb#mU=@yyIHK)6q;Tr*Sfoaw%*lC8|QoKzT__E76S>|E}ofqbv3W8yvfJnyZk z(zV7L8PTTQ={cAHjHez=2-sh`$JqSRReVDWR(%_np6h*QXZcNtdcM!UHC4%arYtHZ zGJ!%1^d(ZXJi4R0H znf9H^C;g4aD=&L8l$b$F8<=XVr;RWoXsYe^-OZ^TdoqL3Bb~h) zj6U{c2HJO!7G?}JnmnVhs(yt=Pl3y1WVlMri%8K2n)0$nQK zHjPvpilJ@!R1)(_Vxp0{?<@+sl`y9oxD-)*MFYu~*tYZiw%bj2<`UgJ~bc_vk($O4lFi9nOyi6NF`VYE{RH zeQkGte5djBa=~Aoc>jqp&BvXT95Rs``tsrtW(FqiNXE*&D3e$uFdMN;@8q<>Dt5!) zY6_CpOq`S)Inm40|F*gzdC{(I;k-_n_K2wY>R%X65vxy9BIYx{@Gq1I5}8PvBC*{R zi9V(?R3x_fMM5*M=_1jNiE;EpDGu=xjiIl4mw?T9_6~I#RfDICpCnG4*E^QkXY=#a z-p{$=>3&p4`9;-@`ZMZ%*LC6%XVm*o`o-PwX4HG6UnA`J=8XKeX;_E6BF=u~F}Y(%wnIiUX!V=>?bh)0 zo8-?P&!1gWm0VU>k-U6#WqaR>1Io6z@x@s3xMyw5m}r>xT;h%1p_+shf2=ok^z#wU}G029Kr1tQt#`xdvvvCufGoAqK`Zv9x!xt7=6WM$>YYFinyC-Sm_!@%7qFa3tLVmM@lnC z{?}=P@9DL(>se@AyQE<`w^r6IV9$QMscCWDl8cvc08)@5b=9Q3iqbzd;0Sj{fLX7c zSkw@1ntLHPV1`m=okquHnBk?^Hnq6BHUACQPMT%MhZ`|;F=c8=b!MzM!>dKt4f-b` zn6tft(bh3k8R@_oVA(c0sfvvnT-F!#Y0mc2(P@d+e)d@w^Ahz98CLa8oZJ^=RzEk( zctobTX-T|sNg|Vpi5tg)=`_HS-8>^gt=zE6|B^51=&|YJzBaaiq9cM1j8@F(V2CXYZi&DCdDsqCO|G<%_N;<)6VA~U^0nIUFX)dP^`EX z*1xosTWc#qr&Z24gMSsL^X+nTdOC!bOinsGvCd{ZJGZkiwF1iJ+d#TiM*v0pBY zg6ZAd(zKvOJ9{LAxhs?ML}k)_OL|Um=&vt7*O@PHIM1P_HfP1_r`r3BC+ticEcSEP z0FIt>amjVRTn&nwp0N4fpMSG+*ZJAG&eJH(w;orraw?bmCiQhZw-A0V_cdDl&7>-p;d{I{C^H5AeUj$Gm2#O$Y@V$va(`_==jdt?Cj(u1t~ z7z>1w`CQ=K-@rQ8{ev}OOaCsA>;A(U$2iItbuRhV9%}tp1G)HbckWjY5Pt^F&69mz z%2;d_^_A{^K$lJQXu0=;E_ZaUoU%b6kwGYai+ID2@a@B+@@gKRpS%A|bo%5w>rqP= zHbngM>6}^BN8?U4j!xy*JU(64y>X&{m3QltmaodQd3Hg605aA*XX#bGGw5^N2Ui8n zRt*aBsJv&;=aA=8XjZ=P$?1O$ec0XW_euCa1AXV;Eq~RI-N~b`$YzbB@~FP-j{Z34 z3wtcR>d)@z7m428^QZc>D|(fKA3#&;?)e+z$g|6V=+;9w)zPV*na9u9ze7dar`cz&HKug}_=vDtR=(F-ua#TUT{T-Vgs*mRJ`3K~PLpSQ}OF{_yovulal*DNJ{Pj<^N8H=YZm0X|dyA zXWj!OFQ?y(uskKJLHw1R4=O%7kDI^h3H(#M*7L6v`#ZoQ=xzoj$7=9E@OY3Ym+T~Q zw}seoH~|I|Y=# zsi63kIXuAGfBZRX|GvY=K=CUAr{V7o`hD@!eO=^02OYVa} z@tc8uA%4&AZ}~k4ir>#c@%siS`qd6wo&D*~e6qs{p!hAOu!!H@pyc}}9kBR40gB&U zp!nVD@Tbnc-I-T7)V)^XcRd}m_(eeRD*?rC7$|;kFp(;L+Z;Xy%Km0&zR}@Tp!hwA zz9xQGf=7dMLHVBrPQiSnGf#B*1!upnGk?rrzv$ire=KM6bnxxqF&taVo*E(G3@B)YB4#N%stNFZWFD{{&(6mXRZm0J9QQQa`(TZY37XC|1Q)y ziE`g=s6(M^U3g*N?CAaPxI>)T|1SNiGyC7M3CGX>F1_8E{qN{4j^6(+{(*D%zoR40 z-T$utlg!BE@1vi>PsB|<58*#({%w|7TOxw)uDqoDYwKswJ(^|yJB~s3xmoTTv&`3K z(d!({pnvVp37T~;R?s{p%Y7b_2Hh{pa<9$uzaqbSzJ4uASEiiM`F^wAzX~M%Ebl3)-eU2FFe_B=E=O z9MjYV9vtd#kIY~Q+8z7j3++YkHx z)O3+`G6yD^+fnQo=)8uy`gr3~210j1l!GJ{gq=GGcuu+K0)l|OpJ&{+P}|I~x(+bR z$p6$lMeY1%jyH^RbB2k!yVoOqWRtOtFt(dvmCAok{jdY(wfdEK>u-)A`Ho9+C&jsc`$!)(6 z&Buu2n<3)v&augN>3*H#x6`wi=t)74Wl>Y1sM+c5b>18qJ zef}mhkIjL3(QbJOMf3Q=(@F(%MoM~8x&J!mD_&hrLRNYYReIfC$6Dr?S*9BG-eyg6 zY66?>;5wP6eI>49TX1G)L2-L0ri|!Ez3bOt7oVJxD4HMbE-%!FOIAYIBM@9-^!!)^ z9Ygmf+S<|1YQv%Lk!#vz9qnd^yV97{xd%H^=TTsQ)G--BJ}mUtb>Qnx>+69`UpK(g zPgCQI8x7b#$4Lrru;Z_63zPpnS1Q;6(zk7>^0lzS`{>cHeOmKb;76+gU)2 zqpcW~009K#|5Xl22wjUH48vIRc*E15_^)h#X$3R-?v{-1p{%MgnbN*x#b-U%W-#f0 z``>Q$C5iUkfBEZyj5K#?JjzFn;8_J_whD#n&ab-ym_3%tru z+Z~EzUSdV8?bVf9sUQcPNuuE`cXsiZj_3!Pj* zKA%VZHTm2zY7{@o-s6Cb<)NDE=&9#lwBwE+`0-N6--oATQ<7%$5Rrq;e%NFtbg%e) z3kIyZaRL^s()kdGp}U?<(W~<28M&4k3(8-|sLL$FbAe2TkKi}E44Itki4sah@@JCP zzjeh=F4a#`NtLI&{dWGtL@~RXpQ!|TH663rX+hq}H!(Y=pCE52X2;N`ao9(p*=8F} z-mI#aVmJzljCDgdSYEFKWm{}B^Gc5BR3(3-{Onn#z4o0^uU#h9jWI%2FI}Uvph&=5 zU}O@o!X@AoV__2TI2+dIfy@MaRdVY%SJF!HPoKc{Bii_qgU*}+G1vxgFXpP~H=J1{R$~lU!ipjgAhkEi}RV9@_g7_eGQK%7JKdblV+k`4LJSz`-f3 z+csK)TI!?;$er}V+PdV;s%0)7@gp_@B?jIkIJAc zo;~x(i&!$D>X={Maao}ng?p>K4^skas3(wYU$BxD1A&g=Lpb()O_cRFt0l2A&?i=P z4AtG{aQ!o`FzQlYr0V%xrT2jeB-x?*eQaC7Os2F;a3 zie-v&NX`^`t>-BMafyJiNc3LMg`5sh<=vrnB8S}HgMDtf?XduU$B{ff+Hvzrc%+i- z+a{(%#sZX?QQK(kkW+W31d=Q-x125~f4?KuGgT*#_E)o-0|=gtdUv~^;+F(+<_a6k zH-OCI_eDbLc}B7%zau%*N$s<_+$HWt{JO+F(sH|@A2+SR?zskTeyNFdoNr4_FvpS# zE?wFFjwh1f4!8x9V1iifNK2GTz?<;xL^?Aq(pt+zW9pd^+yjS<+E2|*SBeGit5O_W z_GorTvq_uQ3DU)3aXzbEu$`7r-dw|Ro_?$eyL|c_=%BN;F(V5|&Vfp;P^0DC` zD;7V7g=?qchsKf_Dp9acb#d>xgc?MUQYMMGFZqT*n)Z^&MD?%zL{?(=l=(+&Wt{^s zyM_ZfxWFtiiZ#iu!)jZX&w}!p_iXR!I&>p>Nq$uan>^aqv3lAr?nRqEIuLZLjpda< zpwL}IxLJAH-8&f0R4x;N3Xj$MI(x$G39@4zt$fb6HY~88^!_@`BT_%y;?jmiZpofc zu0v(HE_lKOGZawUy0ETA_Z^2|wU~v1I5aPA^w$Vxn(QrAX4GuL1c59rYPdMW-N+#^ zYM3{(kqcq#7B`$buJQbmagEOZMN3<2n-e~7XR_QBm@HCaWm;qsad3EmBPQ!y7w05~P$+)Hama400^`91%0tsm^P&Y_+?bFV+U ziO(@T-{Q@+{)}mA^9;1UZ1Z+?OMQI`-#q?$nHg$r_Z(gcqPmw< zfs$*Av!CQ}lyiR@N4Y=FKkI{b~p?}JMBxHB(y zIM?B+4yS?QbFedi!Qs28nzDZu6#pk3-U%W~$@QS*xWw7V9o9Pc6PRI zgZzz>f+5r~I}BBp47cXRZY=I@;mkAkSjb z&hRe>aUT|T2pIFpF#QaIm~)k}t8nH{e|#HHa`(rD{{fB6H#qm(omuntdJf0G=E42P zaY+AQ>XBG0WVTWqvrz{I@KA zKgu%yHp{HhNLZwv7qj?H&T>C3%lySG`u(!aq<4`2jx2YrUkSSRW%2jtV|<0l*A{AP zs$;b$oiW?o;D^>zi>9+6zK|K9<)I8Wv?1&JRrSv?fA*F(vVHLTQnYmAHS7D=x)8tZfxq+appeNW3Afej2){D6##^^jP4GS8Z zxNV+^+;|JJgH|C_L^7w;?6fJ9Y)kAsA{@-@CzmVwDydP(6oIszo5-vqc2-}@bhesU z+D@r}f`=3>jdhFISHlhU7jt2~nYFZBMG~B%Oxu!WzPB_-rJ>aeGqa0p>ZP&T8{I|D z40XS0#vD_M{>)#dZs}(K44C`t-LF#JZ<4yPMALMs``8DV&nrt^aI%Z}JXeI$w_W7E z=SK55p)fDc?&kIMS)@nvaC$a5Gu`~ZG_TiVxTNRxqV$jGK{@92=C-yvT0w1X1-D(N zEqpoXu2YW_(U_f>DYxC-cj3!*yz@~<8y#dj#mcD z-OcMQbo>@Nep?+sXOzzAI~l7Z_@8Q9bIj{?B8OC}FbQ}Ti2u~Qo&@t>$b5PE^~oP| zzJ~WDwioYZ4@~HuC03#I6w3xP>62$K-!tcN%&yUm;PX~a*9S=`Ue6cyt%~+-`nSEH ztDx_pX>TSbXyY!6K~2tkGltlayxwr;yxca?Bu{d#)4JlX8!p9Nc0;q>PTR}CSkYVv znKV2FU?{A_nD&|q+{NpLS=0+f%!LtUowL(ZhNI6t-);U3wyNCuY}SnMacX~XWpl_? z&G3?@cv$VZYsM6Wc@!>>%VlfO|5Eq!HZU)g*Uz1A7xN7C-ME~A4?T`Q(a6|tq&2qY zyHUe#dK8X%e7Y0bOmaVqB^g+vM8RUztqy9_ABRYf+Arx#emcooX8$>o9|2=1mSr|gJc~U7 z8Q8DCb$O>wa7pWcYftRLri&XJ7R@7!0q?ImI`?{wvdKrei&=BE@98^wv)5^;7A#a{ z4fFEsu04Oo6$I)3dNw=rzuKO+Ot5^!kMa?^fQ(ontN!aW&`<`xzsQ$EJp9LrXpF%; zl!e;g%=?Bi?`2)??e zo__bn9%k*gI({oBWy<$S+w)@B@LeBTiyUgSB*bXm&6p1ccd$5H^K-%WUFo1#a__}! z7Eyqo=JC&Oo2|2nbvBN@aw3}CGr4y%GNhv=Z`y{X<$vZ=pVRy+G@01JG5!^IPusBU z9WOG(+Yn7g@}tR%3pv!>-c@4ezx81KlKKxWsNBYruCc_*hz5s7|@vC6Ri zMClQ~kaIW~JpOcvF{AL4q{d(lGGuHzHH;jL4*BKhuYbSKXfN?N=N}cUdVvxa^FF%j zpjDhN{Z|bB5{8)99ck+uS#V_+5!9lGk(C{@-nsL(i;w={ZExK9+Q)y^uiky!IC{Y? zqoZw|BO`5{?-bm!rQnw3?{>YCzsGY0x19A}*NcUF?8N5%u2)9y@!a5=9eM8$j($}9 zWbwl~w|}p)kBjdse#^r(zwF84H;X^;KJ5C(US;PH3O@ zp6hyJD6~&O`*GLngUcQ&-dX&%_g2>nBg&pGe!uuhc`GRUfXi=27PQSJTYE>PMXvN% zfV9=bqayEvNZ&@tMl4&ziO}CB_9xaK@bzfk&b}8Bcmx9HeZY@Bx?U+XKe$RI-~1RZ zrw?%&CMW$EDkuFIV*U>n!N(W}i9kQ{M8JZc2#mAhw4@4_iY@rnIqFfoZL60Dmgh%XOhgSJ}eQAM>Gq;xr{D9Bh$WIkvOn& z+KTc7R}ZY1%B?v%1>e*UO^|9Fq&m5@R1AiRLE=Hb;Ak-i=O-nnsj4hfyHRD@ji5sJ zN!yS22qsl$roqi`L(ZlRVM^xQLYk_A-+o9N;*~`^RHnDkl024bNlZfb=~SAw^}*9C zWA$H#gP#q@j&AMO&?wkI9F8?{_+-_5#-|o}c;90^XZh_<&&m8s*WWb{Fs8qb_s_h) zcMb2?c~|fzc(c!^N!53jtX0`18?j_Tpcy;P#A{7f#G=VlO>0iOUhvx^ zOs<=vI)@a)|EFuhV#(pVYQfxME$$fVo)IR$Lm3Tvz6tjk^oW5Qb>`*9$zzpwL4Jm3 zdl%G?cIla;AG3UoHbFM-!k2gcMjf9epG2-ASsLkk=&mRdn3SUBtnxU1v^ljBO%2hN z*WqrOoxh}-&xqIQ*SEomP-O7wLn4FE&!>Jr>pj)gvllJj)5Z7EN}9Ide$&R$7CcQW z`H1&eSMNxwx}|--(9zO_sA;^vc&BX|pLI)mo4 zCRg)os9epjAr=OUXoH9biOBrQ6Os8vGilL z4jYR%c~5ZnOWB6vM`$Ux!>4Rx@mq$rXDGBAXjSi5oA@@gn~R@Po45`j4eqb@K8kTK zVZ^JgU>RY|yWCDEN4#0(?t(imkfJEWOVymkyi>TlZdRB~q(zFN#zZ)2_U`Cmr-ozR znG}WP6r{S*J^z8bPX|hO3srkxx~m*?rNf+3S+FYK^t|^_tflCwc$<$NaJ(}c9fm?S zI(lmuE45a-&`MY6$>}a>hmL2Z?MnWLYIvutqh7alAqq&_9hv(4L3^+5L-UB3P9U1x zLw!JBMIQBhzdVkxX@_7h-q{3 z@(Zp!g5au?lgDxu)MT#7IRs-QxgtN>^@`Kv)K!GBrBC2IUmRW@>PyBMiJPjEL%4Hk zIbBn9WM5Y$s@|-QIeTz{-KL5$J0g$0!AW%MmKe zw#@h2yDFAf5}#;t^6)5K(pk~u$>ECR{K=JL9*=dsH00!t$%mYftT-gUkL%iiifKER z?j7m7r_x(EvFy>v`|rzkWVCyx$uH%*XHFxI4~crsqhsDtQSTv?)Wi+3zID}HH?qbg zuC7C&6My7_{JwH7h8aylKhiTTI&ta#T=j?g8ZB-6U{Fh8cll(JKxh299M+M>ncY#k zwP%fL9_{%1tjle~wV!yAcg%;K`Cc-LKyQJ*hyP#keP`q~;#Ybb`N*rtyVof(T>RH* zzVTM0)%{O=bowjYQez1}h9s?Pa@niNvMRgoJN1;_aD!Ec*QM3r?Wlo99bV^DM$|xGWi)D_R7S=c2A4gH8o1q# z6x{7=(Wrv4whbfOy5DK*+jH61dOv4m%8=3tSi!)+!)<*dmMudi*6QtO{m5H=m3U@K zC7zj5iD#x%;+ZLxcxFl^o|#gKXIhnbW=bWVnNo>orc~l#c^hJAZMysNQI)1=86Vkg zvOL-K#>ld6lI3G>hqUAE#UG*_Z|E{32HnN)N4)nUBus=+nC%t%!}v0#X@mLoI;H8o zs$?As8aq-{oVLf3Bga}z>wr9cY@ZlA?7Xqz_>4;LpTYdAnAXbpLB+I77(Za;B-eDR zH2lL96_uptO<6gYt30=GX{uNx9*8C{>&z}o`F;0tuL~m&#}>BkjV8+(+fN6F1NqV( z9q5U^FHK`yQ?Z%a>iFZdfsN%qCU*Kf%gvHKk?qk z`!n7j@LtP%74H?iA?9=5Loa-l_XXZ9ypQm9^WMSx2i{-s{)jg?ewq6IH@nt8c9nU3 zr0pXV*7G+NT=}Dn8d>daukcI|c`uK{(%zM$) zMOyZarao$^a#d>SKATK9;BIV|l7RmfQMRo~n=Ksrp!+s*k~eJVq&~ zmbd)3RZGtdahB7{8X#k+z@QQLY33vV=EG0tejRgwmfl=?%-ue z`(uW*Z>aVjGzFvD>ruz_OVk+M^g!)+DLzaL6WqT(g%~pQ@R`8C=?vG^tddi9e>2ed z>1A-&cuHUjs3N(To^N+^Vhl+PJcerL!77psw{wLJLpJFdGOn;;jX_o7&{+LHZP%(P zvSjrp(_Vd3L!9gr;VN6>*h_`3T+7UwA*t{#Iv`njlQ&~L7YT5eQnK=oT#N(7bx^48 ztpTH4m_y^@cii5L8YHbqh9i9s1P4SnRC!Y?7%lZ>GXtWkf$6f&Sg7rHT>U#bGWbmT zo7#WRaAJ{a7IJ3^u7P~(a?7p6lOH^%Z!G8Ddw&4M?+^a8miSDlv{?@Qlp_K zGa5QGEcD8qQw-rpnM`rV9=p27I&%<(49c6{_gVp^;ZtO3SHXP}d?sVUTUiH1j~V5;&K ztNGrfHayMoH0Ne^^SA{ zr2pjxNWWoQ8^liykTNHd8X!G5FhEMXwW;L*e~@(F4eZjA#_I-4ol+E5@n|emkgph*@2g>1kbhpmqM5$?PSYz#Hb>pSOT_DDO_T zLcYoS3h&=|ALG3gb-smnA@7%Y&*ZJHK5d(wP-P3Wv5YM)*B^;PxdEGy2iY_BW)itaPv)a zIIFR$@Sd#p-i!<`iwr)M_Vet2kG|d&(AU##I)WgM5wNnOy^uIoHK~zQlNw1isS(?xMp8{`B-NxwQcY?epVRe}POX@s z7nJrmvdeUfPhs)jrOvz)>3Wr~>yPwly|tqFrAaWaWBv6j~i`#$;Ti%b=YYO@*3v*-G0g zp|-@Bc}kA%yFaL;FqT#7orR8K!!kO`w@9mWc~0pl{l=&MPfyow_*DAI!Df^*Jze|n z7@PX<(NFlsv!k2u7H_O5-d0iEV@EgdF~2mr`JkJ(t@N65%-bfY#zt8`F*$^B@Xk2d zo;`V6UWnaj9bR)-P1sJ}UR-GCljT|sFxvi(7MinnvL|y-_KtfmsJ6J-TrH^A$MdI} z&82v92+)kI+1w~gAyj+EWos?LsHG=$8G-fn7KVGXCU&zYby>RcRpK|2*1}BbGJ5G+ zgs3+yVBc@5ccz9{k_TB$W||D%W&O37mVvaGP5-(Ub0t;KYB7QK>3>Y0p?tXs-=IEI z6wqf}dbWJlS7|=uRGC!MOVd-@_fRx>hw1g()-UX*)l}|QsR{TAC^c&iMSm&c-IsR{ z-a))O&|hBXeTnyJ-c7t4c%$elU*et2JAwBQ-p}zC@ap8GooHci^1i~Wi^ZzUpo|Xp zdP2(~89n-ZtbTvF?4vpN1N}oIK)xigp|IJew6C)_pA(JE>i>v0%$&QWUdXO>wZC%z zry=`9&qxYhu6@{r*z38UH~igM-`#$LZI7X}@hE-G* zS;4#MaZ9IkHcu9v)^04~UH(@~r}Q$9PnUJCgy?_3JM}3`uk<(1F6bYCV8^qcoc~AA z-|FrmQT~``7yKuZ1~+W8{FPt3qdyP&sqWqn<=^h;uZDi(+m^rbb650A_uHY@_lO?l zuX$#={UGiffpf_JF|3x4g4*x9js@oXgWm>=*njJRXx=3YocUyj2ZP#QefD@3e1l&C zDT*Z@A8P&G03Lw$S@nZxR-8L``{?ws1j)>1B(CiOB z#D;S}$R3E2od;Wfzl53iy^d$a<1UagJpB(KSy*x!D7mja$nskbD!g8pivJ^^%$GSl z2xQOj^!-5by@*H&&jv+z0tm~JJP=kTFL4-x>>mbY{{v8bzYM~nBn(QPkJ$htxpjYo z`2QVGhA$|8)4+YO{{qN)3)2go{SYt@_iaQ%{-=Sg^_sqoc0&GjkAmWTE-3#~K>42p z>fC_W30!il0p;$2;`lA>D%D*T0@ z!W#!FJlzu@|F?mX=l7u8mw<9V6cpclP<(6n>=NJCX+Ooc9TeX(Q2Don%?z+EISnL9 zN*>?Cnsv^<%<~=Y4T{e&P<+lAZZQgqZm7eDhgowMNYyR+mNQ=lDnHHw72biM5c<3Yu@nf6X{YOj;zd=f|T{R^n@ zzXK|KotrKHI-5-HuZGN1)CDL$zX8MGYEbkigQ6!}weMqk7=Qc?(?8)>?1h~U*E(G3 z@B)YB4#N%svLYMc2RM0T2oJe4{1{36Rd%+l*zJ@fp~x~Ke~kmWA9_)F32 zJcXcH=PU%x$69`tIsd<6-Baclv&`SkqW@x+d6G2`KFe_s!eU5`GrMygQu67%Nd8if zeh1ChWSM`TWi~s}>$%L)Zpogbjp<9AnXTTwfwPN@B^OoJ#%mWR;tg!aZ&>d3&!1L1 zhZC9OwYsXXH8Gc;q1xu99C@^`u63c^As-}>Qz|^)U%jy;z7 z48bHQBHhtK=Vagr{?irNHYmsb_%+CZDiJCrBiDoYPwkJF=z1k5WG0`0Pxa{2n2AC8 ziF(7d2|hho;m-%?jJd}c!e^>vn+O@5I)Vp8zt=kj0ORjh7-)%Ga7rAu| z|1)>0_YwwE8~N;5H}jlY~(TXK}Xa>re!{1XFM0owa!`DD`xRQ;a=%k;?UG1Ile>q$O(j=5D z1VtBf_9r-$o+bKH5Lrsp5AYPN%t5_VRYYb#Kly3Q zD?vRjQb7zFGb2WR8g+?l(%0z~52pe8M8wKtla*%)7Va+59*pk+>p;O5VSLZ`{1-#HEQOd82aPxiSx<&KZanVx()N%0%# z*_~c7&+*&l3Zd@l3qILNw7dH`{B$ZE=@`N+C|}yvhO)bJA8Ke6^n{(q(c}a5JG79B z<(x7^+?}4nP44Dd>-bG&Ttoc)=hNybHzCKtc;3VZefBvIY76yBPPGGiKkZ|N@VyV% z?Jl1>ESn6wGt6&&A%||$FZ$sg8GOCP5l1_w6hr)Hk@y6ua|LEcuXy!VGKSqJ-p*B> z@u}Q_aRKuN1;riB2EMb>!1Zek{A{g(-`r&2=1v25YyzshjV@}=rx9gwWZ>!_6b^qAPtp)8;e7Gt?QFrI}l3IHpf~7{qn}tPw&|(hT zZb;qA<7q6RNM0%?m!-jgN+Q(>vQ3Pq=FkB^yF zq@VH65zs}1;F30SI~@CZZohA%eTk9gXWP^v@#lNTYmT>M z`Isutgd6oXROP)M^^DvnY#1`0wAE4kIUzbEm=qs@3t<%odm6s0h8<99g{wuuqwXW2AIxX&( zQ{ujWuN(1oml}&Q)`7iM<&LB$RsV#8p^V(AH0>p&r|2{_&W(5U{vr9gog{tG2MMtJ zzaWZE+k6?HAXC1T;m2_7eQ==sHbI%KV|M1YFMXaD-xnPw8Dn=S>Jph*zp9Ske@AJY^2^*qlnf1i87EhER`W90`2UB0i# zw^;JT%RP_qYYl7)R&_g{k483BjOBiy>!OW2!pIQKd*8G^{_)#Y-iy6^r)5$4BTvCC zgQIOb!pq)?75wy`*4Lx;6j%HtOSFBTvV$-@WeLPTz1}Goi>5o$ls_ISMViD1bNgNg9!Y9(~Ghp$7pBq%f z(bVjy4WWA4>zBR|*)UuJ_LgvHdN^8t`s1`@0rLGx7ah6+iIdr6MU{UZdX7ZNY_BSk zwzWaBGu*jFHgPy3pD2-j8385^igsKQHcg7(wr^-Vh~x-4Mik6g{XH%Qv1#iswcpt3 zCL)yJ#IU%Me}G4MRKKXPmb23}F4fQyGOF?Pw` zCpB?)=rUtxeHn{$$F-h+OgL0ix1_N?ToRs}m_NUvh12GAQdVPY9Iqon%UT$Ot6kK% zq~Vw_Lt(9T3mU=1|7nJjw8d{ee8V_?F9_+(Q8kSjx z*&f4O2HDhdY>Eq@}p6QmN^^6@qRk1(93i4s0@H;Tj;~0bzAUJWulG@~2mNr0Gcot z=;%@UXV3@uRzSDV(J3D?=(6}qjyUw29li3!JOjw_`Qc{Vqi7_^SWwCP_J@O_JJ{NHyh)(q{{pD+JDvGPXZ{h$ z)PBkLo%velu5;S?8>M@x`4lU;5F7*Q-fh`W=HEe>w^2X&S)}{B`77GMKhgh12Jj~! zq7+>U%Br4!h+cFO$oE@`&L0;)U4|mMQfn?M2Kg%*%s&+8k~hgy{)%)D8DkA4FM#s5 z#bGzdU(p@>WBz>l@0|TFLF!=1RnB|~_yx>Mo%up%*8HOQX~)9;_&*LD4c*Zoe?_JI z3u7MR%-bncn(sCrinzakS^ggaMc)aEPYhJPdYN)eZ$J$wWdY#%-^uB z*b6%yu64N5;RO!M9flnO#-Em&Y22-x!k}l3%p|Zsp3sV&%;7@g%%*i~9`DRbPx-&V z`PcA`p&x1KDO1K=>gYA!D)(|{uE$;DcBPg)^rkaAW9TJk?xgVQIgD5IetWET#*F(p zccq`qetUjCzh$n$O3xL}?DrR%4>tZuTs>~S*&6tdvw3}sbF$2G6pjDf!;hf(XIbt) z&2o41*}nJCEm`hbK^o+DNS6C)S?0fG(chTmen*!1@GN?j^I&)y_YBN4n||GD8=6z) z@?Yke>E|1kEH$H>r<=R4eSO4PW#}kO!W!*J6UOd`VLH1ZKHDmS8YMlQL(1#sNxPb) z8=GgK#W-du`$cuF&R)lo`}c3hTg<%l{3dRHPESP#4=%R{w+9py$GCps0^Q(aLr0q0 zmbxXJ=$?JT`~3Nf5}Jq36jD;5=Y?vQrmmGv{ZInh1Ci?%*(h^^G8Rx9CceR_gU-(U zR`jz1%J4F2QPYC?Ts35bgw+p$b%>aNF$2RO&~ zh_cC3>_G7@#)(t2&;8G5r>zg&N;?t?^YZL&oVf6KOSf5mc($5PaMP!$UsGRao=-YX ze6T7OkND9%g>Ic{@2tSEQuh9{yKz`wj#3Rix<~x{C!=m*xw~;%284>;VC<~twnlx0mgr#RUkyBjAS@Az%?1v$d>Q=!rmP5&w;zKdbFyK&-t z{Oj55+T*R0EkA2(=A#$-zl9>F|FvyaU_QGTJ9RPJkVA2m5Te_TnZMAQQ|MR87$vLU zH>i)*OMe?uGG`?>P8 zmSmiO4ba`&rFBPy|`574JF6Jq}GhV(UuEF87 zTUD`oCJ>Cx(~jvkKqA9~^ zikK)-5f6seyDyTA#4TtUtl(4H$7g%2aHHT>(v|Qx(j`M}ozJxG_*}u)y9t+ryORpJ ze#jNkyp4TZ31%q4^nPzcyJDO!M?b{YpZRfxU1=OB><uJCMC%dwrK45Q{wB(oBG zCtutHNOf$6RPiH7r-@i8vB?@WaapCi=buLIDYu0wn)+%Y1!ss!j?B!AgRAa-gP2i9 zmbYYy97W^-s-w0(_!XBXsy$}=v1etSs{*^yU=y-8q8LKjdmul)!4Fq(TzlF(2J5r? zSrf^>`<2+9)UPhF{WV6PY+X}bPB&wbZlgE$bArkdW&C35$8C#dOZ~Ccn-hghajMVP zJ~eYm={DGhHnF#C3hQ+KyWVVmD=7Z^!#_1IcZPJ2Qq-7~f#_R@N!DTn-M^|~1b(!@{(=gq<^$q5uJ38b$D`uK4 ze&2}D^Pi*wAq{1KMLP^8Ak0j&Y>EqZLy=aAkFDHR(Ebgj?G@`)Xw9z2 zB!hWI$USIKf<=tL_r=P@jr8$Q>OW=rEH++7Z6%9S{lt_Du}r5?&zGrACJ5>C=`Q{| zo!;=wHLG%W3V>0d;=^pj9NikZr!<;Ox72!6X3?pyh15fHdq&_}VVjY`>oOfa$10y{ zgBsLQPBQGz_$9gcMIfDvhvRTCHmY8fnXJNS%fC0ccbGj2DXRh7mKaGMNDz|;Ch+v6 zXKxdhS<@5Aw^hxp)^40NM%>-Lkm@X@-BHma%7!B} zO>_+5SO^RLWP;KsLq)-#Hd2)S!!!q%t-OSPuYseEq;S0$(j^YHa zE+TGau>B&78dkup+0SdOW$|03DcYPTv3&M{CSa|42mB#KWEjLHZy$y5x%Qf%O~k>b*AI zS`Kw&xf($AW~r`f`FwmIXsAtcWJJ7U%I9!NS8#nI=?YD}dmN~Xv3 z1Lbr2T>Ti%j}`nda{fg*5GeL$dDGjJC{9+tV!i4_YJt<91>%;28=Y-V2P>|I2s z-?PtvEW9ih$Z>Vhcg_mizq%HfptQ*9#hxk@v9kA^zWguvABlf6X7R7HxL5Ur!sriY z5UW?n# z$CNo9R+z5_Tx(_ejfz?I#n+p>b$no-=c_b!Bu0v=Vcp)jqB!{3L4$IphIOXoBc3b6 z{%3)-)UC92!J^&225&BC7iUw0C1Xl|rxY$NQ2cM+!aTIFfsMk*@9&1g|V?_ z>$ur%4=U?qhfu~k-FymM<}y#3pvtW@#rwjX59b_OxmlCyx5j??o$?{;9OL{8sI99~^-vo&HC&Hh0AxBS^u+U_p0+$bkn za%mX#N=>{98btY?5yhs3YTbS~U4tD}vBLY%*q3dgW~5hArd7iECckvT$;hDEd#hR( zZMZ5o>G{9wZq}KiZ`%BLB1S>Z&^rAzm>s!GF?IK-7PS8dQbg3G*vCgJKHSf9QrkeoAtfiUkNGejCoJ7Eci6TmqaQ=BP$|Vm!-X!L1yEQ z^4dGhN*Ra(8bo4mT`Sf<$4&aG!29Jr)t;UnF*6LKDIyW?p_q2dy{$!u!IZJ5l}7GR zs?a(W2ON*B+*Hv1E0Uzb+eWxzlRjK$UDP{3-_&>RX`-#6q^yt6vd(Jnd6$&SZy>ri zrb%795b^FIF|VdHU2oh59>w(qENDL$LGjRp2Z}1|eoYWuVbc@A#Te3suiy8`=zPQt z#(%489SW}em5Ksq@z}9~QSfJ3rfM*)dcUYqEy+|98Zp}o;&fFdN|zwveIt}I=CeFo zeSTF=Y4y1p>Ma9Mr`m@*AxNv~W@vaLR>4lou67PY&y||($~__;Y$wubWXeyf{tTQx z|7FvMJWmkrCr+CMk~`ImxwN^F0k8qmW|N#U)8?)Ls8eaPU;nfTe~PrpA24k)%8#v0 z>iYvp%w%1v1pSf}qBF4V!3Kn;d8q36nbd+D1?ZJP0lFDtCDJR~V4;Zv6(CO`G3rUx z$}T{^l2ba7nxX#w0Mw~Os#O@B{&$`!K#Q@;C_r~ng)%=}HYbX0vy-j!OvJBIxqW@C z*M4T(_Fm=5o|k{cs|#u7sy&VaUmw${K*$sZIWF*2sxyL`qg{=J3Z}#7V3iAT7?%3U`7Zu1nxx*gF1X05)S_Q<1DL zOv(QOpEd)fsg@MBT~;W?Ox3F38mT{3$=|4$lx=a}Be7)Vj$NeJU5x+x+8Zgby2TGK zE4?%l1uN?5fJv{FpFviK4#3LH)UrE-L#3m~Uax{)aP=9cre3eQK&k!10I72nA*51f zBj0hka`q6)Am0leb`>1`WNH5$-YSx& zqE!t3jcRmeF|SJAtP0oO=~|a)(zG2kE2mOL3s&i_k=`c1oz2l+yM~%ZT1UUANr#;+ zqUnLSu2fTyZr9oGHsu!VbIgyLhBDBA8fEP+V!~xaSFBf)8`RZ0rXNSq%GsHuLaRzP zgbmjO%G&h#CfFPwj3|l6+&NJx?R;_}kv?^YXoHGxS9Wi#qc$%>mR5Jn8#{#CF%tKi zt60nKt!#g-;F=j^M}_w~$8!(zJH4`ddrGi1xxz}c+KS2(PM>9Vc+8HSW4C&o7CHGO zV>9QJIgzR}VwGox>KD%o#h02zY8Qv>wg&CjzYi{P4nh_z3#(HjDOG{%z3rqJ#g#6#yej?`c z8<*5AGCciXwJg6gPIYseTG%1N(L41`^BUOy0aIB?@(Y{h9y3ClCJ21Vg2p9{@!E@) zwz3DNwlpQl;)`Xc!yHD0(!WE_&X6@H;$dfI3r3igdjb|OCI}DixRYqDiA7deQldZk zh>#M8z!>lZ9ZCb(} z6u05TKd8d8t*=|Oh#e|(8`uWZz_ye|cIYTw&EXL`WFk9sWu6Pd7dmAzaG04p>%#+u zy2u=e(LYFM@8W4qxdT($n8F*_+@CWzPEDFOy|uY+*^&`Unp>Lc*+VmLM8ooidS$pt z-FQ>nxEmMytF>u}SJj}^nbN^J zVvxJpm=%i5ZCcu3cVmT@Eo`t(@>(}vdz-`{8QG%a3S$7VOG zzm`om%$w*c_Vh!?wH|7AlEr9TZCiFsxV5SNA{rZW^cDH*{HS8&pqk6+NCQwHqgbg< z_!R6D%wj_`!LoDTeRjOgwy~Umrur0K#=#eU;}Z;>7Uv@0lcNolDD$XMt)Y1h^Xq6g z?RxF`b@dG?8`5p`xhsfwt%=;Dow8%V+2j-=`m z;)>TZ*+8sd{Z5A@pkKqv7S#C^QUyTw?o-gHG-?B|-BK*SY7#|f`whD%*!EgvMrzB4 zAH)c{ri_kmM98tu?xGsejjR^z`>+bHdpxd{_rMc)|ssNf5rk8h-mXTN;b-0wLg+d8xodp$J_4&*wIdlRFwdYE|B z)6f5Q=g#tpobLYqHfDTtx|i~irRT@Ixx(M-+>7}J&$S=8khyC;-$$}s@w6QcTQz|DcIVFG2tEDMw~#ePdIoYY z-Hm&VbJwz;T=Lbh*g=mg2K~anz`5t)l54+pGn3wWM&X`|{~DL^dk^4#6U$Ka==|GU z`M1?Y`~>npSNJY_L)qub>El{nH$SM_(ATH(ZytZ&@yTt&t~NWct@T)-ig)}ImR|M2 zJU;!2Z9}fXPIPhJnx`zC%RYu|`kz<#1L&fT&ee~cbnBrjcXTefa?-sDoqzuPkNIsL zKiq(PTBFhF_^IAx&;|CLYbEr?=WIMwe=_KDq|YK~rao`!Ri85G1L1!gy0wnZ)vKKG zxgEM29G&Wyc}{fc7&w3LCFnLeI@L4t`0;k}QNE1S@Qgb@f0ZLkJ@(B1F}=vG0u_7l+k8oKKoomqw_8FR$rap;;~wCU^@+Z3IPm&*4?(4FPzR6ot* z^Q-B9Zoov!@6?wpU)9$P`an9)fv)uLmQM9H7oEbt6uR**TRPR>47#lHBl=&9{uN8F z`kXHH6q*9w56%K_1IL3u17SPro6g;H_6cWS4YGG_dIX#R z{Um392pGe>zcUwr;c9+aFbocSxD(3wB$+y^`J4jOpL^*SiNuYi)P%b9Nic^3Z^lw4PUl54IrpAJf{7%2bc z&U}eVW9Z$K%WrZYoPc)=*(+D@%;v<^3&$bCxHrQqBDOU6rVjn z@%a$_Mtq(CW!?Z5BIoVk7qR~%$ilLs-+)ZE7X8H8e;;IVQPH(vKG+V*-%?QVYy>6G zv7r2Y0TkU%I(#O}iXH(K?+u{By$zIHzjx+eIs6GI`M&PVmx0G)ZUGg}*`VS#6;ya- zp!ggLifGhgP+&7j)<3&6v`Q$VHX3{dUmvCcdR6u+V1vDok2hiO3YJy7Aj0V;lf2gBf2 zQ04I{Q04DYa4+zFkS?+0Zjk)#xD^}%-Uz~{<3B;3jvs=O`&w&1>S}Nr=B3~ya1l5e zj5+%woqe&hALi`e-rLgmfTG_3itinunyHrle)dPxdvok;7@E%Zd+~&-`cjliv z^N&E~%lDo6TJRXmmw=_LGgVGlzf{Uc00V& z;qM*(6dVEle>n5EK$CvX90yBrKh>Ed4vzwr4ilXDKv3zhmow*q;`1(r%A^x0^ApZ& z){|mh=ghZ*@_&Of{}@zx{|`|9I-LF2K$ZVRpvwPzP~}{!KSfsqD!dAC66Rw-m8aq0 zao`|ObZ?RQqI&_1VE!wpc>cxNYawMh=2q}1a1J;VJOCU?dr{zU5XiImZ7h}k4}xXT z{lS^nf@+Vh0~Nnjpu)Wv9D%vTnJ;o!2Z~<}sD7sc6yGpN{VUqvx)%)r;ZyV;M55p9 z@BvWa-wlfYt)RmD9jJK!(wTqi@CTsU@9%<&f3vf11XYgaIrI6T{GaN~CxS}Z~}B~&U`7T_$>t$zZz#BbLK;wc~4OCyiX()-gZ#t7oA!6E5$H(J98%} z_g_2nT2TBicIFHJANJk_KFZ?U1KvP{h`@#lh?nS!L5UI|2$%?H7IxuX-3W3~tkNWe zM52VG$*w>ZjV7si*{-EM_0+c7((B>0w&ffv#v3MrA*j`eR#Dp;FSW#2#XDMSzW;yb znca6c8v<>=?|1xu4s8DKGxN+d*LP;#xjX|5fL&z)Q>_ji$rr2hhh$mokeI7OcV;(v5E{=h`H z1KFP62}C&2JAjn`UEo~E`L?zn69JwHdZW-Gp(}*uh9AarDUkVm5s>9OA2<;>P25id zTA)u9dbGGRQuO~ZIveIkH<0=9Ebt5<@1C5}Nwh7~V7>!#f2?|Kr4c6p-mTM$=hG0U7>3j?!|vft33Kkm2kV`Z008 zM`-G+VmP-084gcxF&thDO#jyc8BPt5`F^$77X!(+MCc2EY|jdT98VR9d#<>1YaRJV z3QhfQjMv|hc?{=$Ak*I^H1FkNydD8EUjGZE|6hsw&wz~AtwPrT8Gb2{d>4v+ArSQ@ zdal?{7W)Z8e@W;;K-Rkt5E+=Nmw?RAy}&uZ-vjY~3~s?x$4AttjL-nI0eXX#{(H|77+i(jKv?OcQ}ylz3@!;Pk?lP z8;B%C{|aQi?9y}=k2{i|CmqR8ee>jR)0p*NLjM5B^n6q3dLZBHYs8*<@92+nJdDRh zK)&Z^i9L@l(*IbYIkyD9D(b&u_&jRJ@c#y+oY#SH%Gw9ahduS)`GB_q=L4&NQ-HI8 z=K;q9Dd$lX4&^)oq?~(!wBIWBKNb5%Amv{t?$zRcmADsc_vmFnh|XF9q#T5;dX zk1>yH9_*1;*V%BI0ECI+b4s;itva1Uwg}b>mIxLKdIVj9T?iEahqMZA5v&(15iAt+ z2)YEj5I!D{^0p1dw3p5_~PCjFYwuh1P8%jjo% ziteC2C>)xv2>*WJ{}t@$|De!?h~!B8>Jc8z_wl3qo8o?&&?}_X|wJ@ zJ&~l%I>&S3Zq`i}iMv_H;T$IU&AQKhLYsA*_a!{Wh34;wKl#l%(r2(EZPp#eN_b|S zVV<~~b&pccx7m{+NqS_20vlw;_k;p#!X z`$gF%Y2H?L0cyh38@Bo?xrDOuvejCNW$|3SwUp7o4kC4TBDQj169OKMx=rjvRr)KH zI!krWW8x)?tHbcI4mvK8h)R`;K*bUim)d;ff~Irsj?xKWdC11rl-!dmDr=!+9s4R0 zHA!+eg(MaUL#gq;$HaP}EV-ph_~LpqnYRpBYtbZS^l9q5Dyged1&4i*REDYP(ol7! zjsn70EPd$k|ti(}8I=1SbQs_hal zgrc`4+(nA3KG%dQaSc;q$%zh7Zn0CbsHxOyKCy{Xi{nO;O0|VqEchD4EO5mqz8#Go zP<_#)M;p0^@|=7q`%HBYWnSL&shYE7SanS)iwrLm_FY4FKO3i1_d{i%t#f(ks`Y-d zZ|l$O7l(=T1JkAc#`S)pSy$$8^?rU$_$iNmGtf?}Aygl|pWGi)y;j(f-9GP9uc6}c zkl~kdfT);BPSQYnHS5KvM{q0RM|oDfACVl;3&rXns`)(y!_$2>xhjy&TTck35Ac!JC8rvejM7u zM+s&)UTpd>ly5~hcB%S+gGi^7P`VS0&1iG)Q8aA0LPy=73EvKpv-}6bN2|ll<8VWy z@|qY`){j*CYeoxO^8Su&*kei0Rj8Mfdrkd{t&{s3Sd6Y~@I&6@a-0Z@ISYZPf9ksk zd7g#2O!fVXZ&~JF?g>EJbJ~ym0MbKpfgEQVb2(`U?h*@pE9){8nlGV)T|GPLF-h(> zCDBmdtna?nmkjG2(}{N2>&jCT>_!(Z@}g_PR%_YOTD%6^dd01;PG)kKqd`+U>J)3r zRxKd{Dll{sHQ3{bU9m3Qn|oyK)zpI6{dR1xz8WqMmmfk;v1%h&sXh3?aJYV`_R5mX zHSLw5`R?#Xc{GRHUKMF}b%!4P^1ehy2ZHJe#tftfc#$w>2(E_^RWXf#Bpj%{S}y!0 zg7qS=9zsQ~ilz}ePD|LOErB4hO zh6b&`F?!uv;ru?`Ej{UK?OvdA-P(O~y#$ruzG5eA3&q8NM?W}URb?agraJaq;?qYS`xX?nYUhAeg`g4XAs#`1 zqL~o3dxf-s!5o^RJtSbT#-rLnQ_m^a*-q-V>0-X^#j7!*QwP0FleJ_uZY;0cP=!mo zW6hXmjni?Sm8Cdgh6~PX8SW9cKQqpbwLiE{lcx|c=B>q0tpD+nQZ(mbXuAE$?^CMU zjeid!6KOdAM`LKy{@`^`=5X7e^BnT{u5{uL-=)6o55`M}xCgsX8o?F1*J? zoCK6J+Q;(M#T7V8QEup^{^d*cGym2L_j<8fF7gb=k+v84hzF+nUAF;)z*Ox8gXE9- zaHNLqLHrzj!<)FQu&C9tmvsc}_w9|(_@c8Pq}Zn3>yO9ndU-DfBD4Rfh9};%-MmY# z;LqVV1ETT;%DE%{XY90wjnCke?|0xWXm@!ZpnrI@+i@~~GyH3{aJK)>qO#ZK*}e%b zZ^N#19;q$!KVuc_yzY-ptwFo{`b&fMd+HElBfOKX+SwX|De8(}?cvy*g z8I+!rhBt9CS>;a)bVpfb&;dL9Pt0-^7?KG3ju;J1M*$mwtmw3GqvI__Q?BwazF0< zwfk&GIesmH+BTX#`z(tR_ivJ)@5dsjiKAh7%9ws4iC^yP$$cAqsGzx=N5p%dyIhdt zBhoKI2wuJ1y+HEq6gn(u0m;YdWb%1{@XA+KA+~4e{s5LVXW-{-|2e)ECpvTOKY^y3 z)BWfq+EuKlG1MFlrn2dfE!AZZ`%ism&pbOn z-+X6Fzkx}j_`vmF{m%Aa-w=%%w;I~?8*E%?4!7UP`NNWU+D%63IB)ghZae^JW|-}ArJM+MU8eWbC?8?1NB2Stava~ zyFhar@{#h4InsWp3-NHnb0^jfG9lC14>1V-*qAY{s`3Mm#3c7a^ z_PB51zJ0WYP<^v$@a*jH*my&Sdoi>V3?;eGeS387ulb+}kfq zQ+{Z>?j2lR`ea>CPY}WzRkAl7+qgG8x@W$j-P@tJ|FOosq3QLXj1NIc_=RcppIi~% zUw>`d`0y*ZZgUWn;`KZq^AFjZa7QcCvj-afU&Pb`uCqX#je4-qiR@IGrlYO%she@f zIof47g}UR}gH6pUuJd}4K_B3@=ikpBA1a)ES}0c~taWzwHCaw>AIf_BJe@u`u6q~B z+g&$1OXk%CD>^T&{^KjcBUGw}>QwD>Z-?HEok+%u-HQ=h z6%&e3CB^v(RmkVyq2aT%@R!sTq_1_K0a_v4NrfN4sxmFRni3tI)j*eMQCY zp{GF^$!p#BfUw)@+x}Gl@u1r5ygkUJ6EV4STywg+_X+oQ-!Wcc{MBT|wzF1t+ZETAdzi^g#q~!N0nE*SE>-Wi2bk z-|^uZsh`mWNZ&%0ou?sHH^fr4fT?oBacurmp_96Q3sERvknrtp+yXNHDR2$zHb%S2*LXv6R|5 zzIm4Wr;pa1zhbBTL|$v--a_}SyX~h6>pvSGKB}#NRbvW$@8V`&^{T+5uC$#29(clGm zAVZ~i~pwfBKIrzp+U|eO6mD|jz-Hd@Om&Hg{Y z!52zv_CKqXYeH>KGkUwA{e~Kzqk+E1`=Dx9?!=pqku$zBruquPo#7lMQ9I(M>umSU zo5-QwERKKiUbMLzu7Mp!@ZD>HqTdYqP#fO#1aOOybMkq=6*c#@+ZhETDMj`YXNd>Dl9^I_#A=;}zbUm6d^l;-tqj5L) ze10k&>^UX&KDQ6OqPMl-;m<-R1{zw?;vIu;5c}C?HyZNZoxM+lAL4~RzJmQ>4?}aQ zrnTq1_Mzk9>ytsDzj)gV2f5%L>hkvf-YVI@awcSddaB}~SrhE}Pc;y&+R|&Ae4&Kv3=i~4A zus0aBP(&8HpwLiuO=Ej1(G#tgo(RtDi89ifN1~$%+8w=*h9B={C1@XV8f&QwI9B@G;0b zjB7YR`#=rQFuqVXGMMpRLVvVKy$PzrzZ#=>bw&H>MYsy>7H+RI3JX8$^V*%5{E~%_ zuAepD-E<{NI1piN_t~%Lx9rjIi9Mx``qVs9y(w_-eKcfQ(RCeR4nkmAPtN%N@QR!nvH?Du*f3*XayJDl6oR5Cvs>1nc$|ehHv}KQMFHCcJd)L;}KqL1;~d(h2rP7BIuot@1-#O;Tuq`_$U<2!~ULsT}X-iN*5UvLm-ll8{U?u1?}?A091AQBjqTN$NhFWx=0L3{}Vox+V$NG zxA#emN8)9}@B?M^ZR@&3v zoL%92Nf-8%%WKT~Js*9Hew8Km-<(Suskc1=yzGOon_jWIFm3$!_QJvVl=;w)sll=* zk}Bac7i-}%_B1z~hHBXJ5aNqk>SC2dWp<&=ou8yB>Sqz&_nv($AtY!fyd)+RFF^bi zGm*U&FPT#EcbaSbc-Mrw31#@>f>x#p%Uu(uPFoHs3FcYU-Bk0EU9hL&enA-hS3T-K zh3Oif=*NF1C!k=iz%P~Fj2dxog5*@;n@OFHe!}n6+ZyAM5RvD_b>@OA^euVtNEC(${4<+`B}>S z8GZ-f*Zj<9WeooUt#5*IIp&!9f#zd=D`WUBNSr68+)we_jB5~SB>z*!m$#JVAJlv- z2W9$^%XlmW|JF}5f4%08%e^pBp9c9G!GBQrSx(9r`APY~^L6;z$V~%+b<7ORX_1}^ zBt0J+pYcC;y5O5Ae^jB|r-1l$o%1L#9rV3G`r~;r`lE(@x{nomF3{5cqv4wGMIh;W zg#Mw>@4yqodr9yVL24t=<4@i5y@%TTa3pBA+ zaEoBQV2NO%phpm({2@(xe>#NHumR%yzIp$egf{Q%pAC(4(EKlc0j>!YjH`sGlhC%Bk~68?0K?qu9iUt+?P0Q`gG@d$;wdw>+2b;Qy%7;gzF?mjtT!b4h{{zmroT)Wf zcHn~O12Z}yuZ5Mymvg`>J5UrE{>Q|@S&@BEN%5r}m_xpe!!R!sEal@5Q2w?`l;j_DW0PW5jIhV|*68P9YeLNum6#>OW} zdUbjr9~CI~F(8U^&MqLzDfa;&x|-Z?08w_iZ0Er@W8#8Y{3VYuEAil@FHNFPN}`kZNnV`fuA8)#P){4Gg&NV~y4BSb-T<-xw*xDlt}Hx54~-?4xBNcU%*oi{yU zoxObRHHXX})J4~k^dARNxoJ%QVQ7;-lt**8`SZAVF#U&zgFgy5!v4d^Sxmn$?@K&2 zrQSjFsBobE!-JQVrd9n#(})D(eRVaXoe|NjS}`+F|IsD#Oh3YFUMSBPwEwHkGqJz= zz(83~S`ZJ6i(R+D;}#&GPyfMq@`s>~*d+EJ*w?P7eK4(}+FMNayBqI@RIJ!;%EWR+ z3q!blg?Q@KHVV<#s1I)V}Id2x9kauqt}r5pFIpJcgrJnW75zCPP`>Om|t<+`^o z;aV~#RA25{<(%g5p>5pp$qouop<|l+Y4?s}^I9=YjCeJ)cQ$->^t$u&_5>pgZ)0c0 z=IC%cI{YH{4kZz6lZ0(p?O%F4Ts~<+obp=ZUV6S7f3E-J+;Beq!sFDK{L{HkorlX{ zPeFX5>Gjd{`G^EqMkp4!7VjdbTK&}x|+Gp#beAIR&X*k7*X$xS7nikUt_Dv-&W*r6Y}?f&R?}w zkHxH)d(Q5YzXucZw|-VGmU??ecQAHMUxA-_us~g0%W`&$8V9 zN8LL{AtRtC&LM~)2m(vq zQkmS1r_d!j<2}Wo$3U#$8QQul$@(4S2e_X|vVK8ZbMe;FkBR9{0XxX#di&t!K9+fW9_ONq<&sOA|swW8`L%ST_2sNW|kFU&D#^46-| zekCU+EKikNc)uw$_oaI(+>_hFBffTw-Yqd}#s1L9cfIaWLsXbt^+Rx(DvE)%IQCb$ z%2S3T7o}xXq(7m|=nTHhzeH)sUb=Xh-xaD2m%A2T-y2-wcU3?s zJzVC`cU4zZP`^RUT!&0aHO{POX2DGF$GsIbkfsvuspbWzO22p(cv79`DG_%W_DX0< zr20d>7c`v5NF{%uc|8{f;xtU3GX2aqO@d<(zeTurhKA`?#_*?@SGx`jCAf{1hUrh> zpBL8;`!hIfm3^Je2W5<0hhEdi;jm5kVxIwqPrPLV-^cGZ;bXoiWB6pA@CV2@&KKPb zgsj{OAo|u^>IotJF^!J7Sw$MB` zPxl*y=6M;?tA)Ny=!=D>UIV(HEA&}HpCS{{S(zn8S10$;VsQNVN{|RG zRDI;<)TYghpHt&^8V?>jKSYwh)9`w^ma}X<_`w{H-@b$lQr59Qt*iAT&wmLsWByKGWC8_q z;k9W4LgM@s=g1iHe!6fmbqst4%M>HFXk0%%7|o>fAj+GbuKxnN`_fi-PE#ww!2}*R zs9F&VXOHu&vPGlSs=FCf;<~n0^mz|4!Ly7U9ddT=E z+`t)&dkaEWac?+?1?`uZ)X3emHamPHlkUL?iZ|4stiKDYqKh z(;Z3BX)-y2ojvxhV42GPB5W+fW$Rh+gAb%$z5nuc#fkKK1HHSg8+S4riVEIl{{IE} zuW~t%_K3tE1*SddB*ece_+3^MQ9BKqmSXH;MIK~2f)N#c3^`@$GF~aB#4;4y%egOW zb7Fp;f5`mAsGP&2czuwf!VVgrZEEQCvz%ef1HUuE$XjRq8!)`VM;P9pkj?)}cz3{m zJbm)sc@xriR#Dme!Kg}Z-iydTY>A2OO+8!X-!A<=y?5O!81y@LlyrvAz#bqr2mhQiS+*x5LRQj-cS2Sf%GrqvaEZxd+u+A@8`mIGm!o{o}_9BRa-29>Xcijya@oqN@bQQK_XA1)5r63K_dt%%xtWpU%B#h`97zAmfcT$v4*t;p zsX}vS8vXO5mj3?+0$H8QO<)lHz>05}<5jGeR#xzwF_sIs7!V_H2_3Hg3spPD zu6>siI1J^xSX^00)e5B;(qbfAUWMSa>K%x8YO@hitEq8{(@PCUI*&eWX5#uQ?u>K} zU;C^xuoyE?o-Pl5FdV-&I}1eF#{Vo*olbln-Oy(ID%Ik!$FKj5N=n1`hJM#W5Z8b} z)Dw&uXuN6UWQm8TB%a1Uljt-9jW;_aUR%V|0m!4(a=c_BIzi+><4s;`O{02r;AXsJ z5`?lp((z_J;^BtR8oa!nK<9W<3B(`9lfQp@y&hkkJ;KB4BB`!!JQK=QE+RG zf)(}dobt`?oT@GEobWbx&PL3CMlCo6?Iv~f$&TiOvg})@D!7|^4iW~f2droll^S6D z+GR!knZSKk3sR@1t2nB)qG5fnIi^6(s%pN<#~A6ds9&uJAW^cqfbF+9?a*n)w)Rd~^iA6S@JN+3Mm>JaA)Yv#H%R_IU@oYo zk6t8n3QCXpkJ4kIxN~mRWqF4#%b)AAtU_6aQI;FGpbS|~C_`N`(QzywllSUVLuT#+ zkrgicBOPPA4Ff;wImHw@1~l9=`-yVFfEiy9(IywA*f^H1i@C*W8HZR-RpsH|7Km)b z2g|Z;=Ci|#tL|adH#a)NV|+LfC?$O^Z^w@xN;Lh+ zCEqUmYVavbBk7Fqi-a2u=S?}z;`kPAa&8?EUBH|*K#u=b0x^G(y9Ag4d+G(H`|r@p zkpEji(wl(fzaB__3&?R`J`n%Ma2(2U-f2K|rE@qArN18`y_C}cB+dD8%BclXP8pE= zoCl}-!-zBaw*pE37)bu_0U5u|K#T=*saK2c^+0+p5iAt+2m+Klc+_~&)QftdO+73X z+SI!r2yN=wuY?9Da~A$mrZErV!AX0PXpU!{?nq+-&4I7eeR&eie%9%pJf8I@xy!sH zt|?bjl9>6dHnX5w4<(0uG9l_5{pr0a6%}j3b*o*)*O*DsYhu%*u?G$~G0$3Fi>uO$ z(Fhc)Fk(6!6P)`xVSJdt8m_}lxG@`NjQ+XtXkJ0VOph{p-%H)od=RqN5&m9Yes#wHY`)9rpBOSi9$; zNpra#;v}zo+up7WKsK;&c|lRoLgdC0Yql3k$@64XnY zXE)0eyB^f26bDsehU-o+QfoEAzfk6)_s zPKmf93sZ(a;CMvF1CqWz{d_j$Qg*%YF`deoafV}^nB$TC!YAoXDepVr>lD7&e4de~ zrK@{MA8^QH`js(!j&+$JEJmN8cW$;bSlJ;n;kehZMI>IF*#3k5xb0L6C;P_2K`0%it&q)k0oFSIGw zWkRwxJBd@N<_vX z-#D%qhmQ!nzckM1B7TR~57?zT1lex|&&$z>IEOyS#??xy{26Fnbv5F_Iq3{EAm2b7 zo#P5dj6VdS>|<>x=)*Pa_f$WMZjW7LZ*M4bKRw6xl7*n>NA3Tzb`NHU8tX`7`@!<| zDpeQ#_R}#v6xb!U+G{_FW4@LhuE(C##5oo3hr83lR|FbnXJf%}0}_j~sj$m*H+~<< z^nSFPH&nWtI282b{4HGbdhcWAs^Fo507qEsRpbNqBiO};L*Rjif26s;&ck=zm*5Xn zgKV=}YL+X*d7O5u1)Ix?Lsd1)IWyy)coZ)ha_2yUUJEU0;IIV_i?ze%irxOL%eg+M zLh{<}SRW0KgJiA|I_%tyuOVvC4%i$h`z&D3#_?@`y%nwL&D*QEu-JJ#M8=08DnFGn z9UsqWYc+}#K1}g9QUv69#Jm+ed5cTD%IGwnJ?b-z*O)me$7|h6 zA_hx7E3%?Fmd$6wbN6@9Gpb;Aux{nG>c9{7;-K_xP)*2eSB27aH5j|u8F+WFUhtf+ zu0if5p62g922R1qS>7G&YO%iSZrmmr610E59(E6LvRdZ_r#6{8zHyi#d*1r!dFxc{ zMEwva=IsvaqxUSkiF0&T!DH*Zm|ZKf-!}7Hd3%G{1rX0HcN52^l3~N$O?QF{q`gGt z1+&yVU+wRM5fwVCkgh$Wz=PU@;!CJN5r1>go+y=Q-3dA!@l-0G`fvam zZlK%(Uoz{Cx}SB&k-xb~@yv?nZ_g-|oH%p%X^Fe&C2+(a?T91(_hu&2YCo)nnQ8f^ zLc@myyFS`?Jolz@D{TCwW&T@{8!}Y9$f2|Em9atkDl42`T3+gG{ z5KS1(ukcHGPF>vl^KU+e`*Y8f{`qvsPnmvk=eSj|XpH?G=zGTXF{^oRFY{L!^Bv&$ zUhu(TobX9L_xVnl1fDhcWeOkjTNxuS>AZI~967&QDD$z*e`O56<2z{=9GZnM*2fz@ z@y77q#IHv9SRTq4z6FWr(;5Crs4WKukV`%v_{_X&?5*?{>}#S4yO`Yzs~S zT}?upc3_J5FN8hKUHFmTv?Cu0ZQkosg>FS=(2O?zB|MOfcg(C!qL(Jo%famAzc`7$ zK8c_EPMrK4^E>Giljyo6ew1ATe{K@ZL6B2kMUwl(BzJsZ=m~5n{=J$DTG(t+6<&)k zMWFg?K564$(@vW*TpJXEn)px%Hz*a;zuJIN2l8s}zbMud>*2MyS}4W6NH{K04r`}G zEh=tTQMsNscHvt-*@bo{e0)78JI6g9f{8L#l{4~KFW69rtFRoO|8%S^ud2QV`_&{juGPnZCvUZ!7P{D`; zkzTu(dOkVo@Y%0h(TjTR0}Wk+t%i>W*Bz6$7gJU^6Ft4BC=k6q-^yvHjXr;14PMxZ zUl)D{tif)p;o)@XsVlS!o(;doRjw1QwpY>v(WPTEtdI6#|C2R%7pshd%oi^`VN7>t1)$pAaiWa%$<%-H(9e(TQ6g#X}2z^?|a-p|-D+ z`L$mtN;ST?2BGv0BUlRzi}x9_heeTcLIBR zhT`xkRxV$(l!9ER{$tU<`$c(uPRa|FQOs}9PNka1F#BctbMJ2+fZxsBXJx*_>0cT1 z-J0~>PW~W%Jexx^5dTm#CTLS~KgAzB=I#cPen99-p}#CN_3P0+sN3V*r1B4S=HI4ip;rEuw4?ODcH!{Fv<3~GVI0fsZ*)BS1J;GiC6<+0f$cTm^ zjhcsrDvNV{n{b1{p3uzbTsW8};$9!Fyg=%GBcZefcRI9&U&Un?{-!oO zYU924PeE+`Zr`79>M}G5t5YjM?_hyDcN4KA$KqOVk^QoFiFff5?Z${2Y`dLf3Ooj?)hzKV3>am-zU-v#28SM#BG<#S6Q1Xe=|1wDcQWj_bVe#_(+ z=0X*1@)u4C{TS!v$ZyK$4AA5;W-%U|^f^hi%p93>P-?;pgt`q~h`MsjxnbHUVW&!{ zl2>q(Lng6mN<*vl;U#QL;r-XxHvn^_{b2IEk-q#k-W8_$Zv0~2;Q!vdL4l+E^Yui4 z`a6)`(CIT}+CcQ<$>qlwcU7;f4#}nFko`qHKqkNpG~W2XG=Fp?^&l_S5a{_MsRuRH zb(QPmtwHK~a3temuEEimaq(uM|JiYImy#AA7q?&#hqp7uxcJcX$R-}>Q(^}FO3XOh zbXpEHF76Vag@PG~7yi345P-;aiif;I&r5kE0;b=wM4pI0;&CzO?>H9j0PX@h$Hfea zKSof+8F-{7d0xs2*iV|F+dr&?BW(|5Lbx76VNhF%$rEgU3ECwXdzJJ2zH(BVN(^B| zxlD=S8b+nBW8aSApf}B1)YKaq?6psE1Vdf0xPWAr<=FCazw6QO&jN4wnVvr=3C?*X z75__?1S98Ikz&2e0-Maey||-EZAvlu@jE=E8eg>vg9n&ue?x!cFOGva{-UN18p>D3 zjDwQq1+w87#E%CHX*`M!15xyIIM0c9FPH0^cyG*jDeE%O z+=oor8NfUs$5S34{Si?|V&DIi%XJO&9$^hzjgwk|G}qzBag#9|cR5Jctx5DZljyBU zH2pgLpP582OrqB$(XQee)76DSwcPw0s;$Psbd0b9#o~g+%UT>CN?_C%WIGr2^ulHW zQ(ZZZ7I7^R5<(cZ8Am;I)5ACk!&vFPzD~LN+)r$=Flm*L>*;2^cO>n6KmC1OH6~Un ziL!~kCpncw@-Z)(%p3w&@GZCG*Gk$SS{WQ?HbhXH96^~Oz9`8qyGH^y0 z@j3LkbfQEiQxe8?Txa}_biVdB#DnAad?c9jLC$e0BgP-&$^1x&DCom6YQEM!n1{XF z?fdD06OZwMpPJv~2|%28w9Xp(uH`%MHn`$*@z?&Tftx<{#rTgs!O zVg(;qo{zJPOq4G3x9_>D$KvO%a92NE;r@FYo=>Q7KeO{a_YH$8Ecdx%ThpvLX&9Vd z_Z7>2O4)R#DR?2xivBLsHM4w|6>ZGyol(9^SwER(6DtHmcV zng0F!TXcZw{1~|>S#gXRYTJX=F^zHDs~p?+tmbd^eQ=hVXRU9X?6qvv6z+e=0nczN zhWed~AEc;YzP}swXftW8T@5?baSd3}KI<%;m$-Bfj}d#i7K_VoS7OdfS!f5^1N&4Gu^v-(g;9I7fOk1$NtC~uEg0v5^RY5lm@i~G0w zarcPC3*eq={7vU=Xcmwg{}wE@Vi3sD@s>f(x$$w5O-5Q zM}Zd6%Ev`XwEoyx$MJ-m%8ZRMYRjSMD^yu_HMDKV*ve!VsP?g{66&+nthb_ZIh1pN z;&8!jQAS5C=g771(y~6gD>+>L_k1_0@e&SMRF)+Sl)e}@t7`Ch`ffU+ar5+<=4)H# zNmV_#vaGDQvUKM3;<628Yrd!t$!!4W&(n9bDdEHVj!s@b(e(kk25S?(p}uGrK6mXx z?B=L{sUENvR9CDj-Jn0Gzo-YFyL#|%=pS(CCA>a=X5a21<-E!l>+6^S_&>HU-!aen zZ>SGdJS0`R60`2OzyV|6_+;A`?ZfA;efT%@6E!tuNrT5P>cQu(9vB7Chc*8`{Twq} z@BEIy2|(OiTvJ|KQC(YAx)%3pD&5%S@x94k)Qituz4$k@4_KB<8a;eb4?chO;7HbI z^9qdOE@>ZXq08Q}BA2TC_YX#%cyzvSJ#IDWe#~wBAcx_8B$_SUB@Kh+7xlvkOqs)7 zkGuO+%};q0xfK(MPjX_g&-nydkIS1W@)OtNT1AdWxnjL=f~@ZeJyOs>aq*$o_qt5H z#KV5bb7qSq--yF{*P-uM+As26W=6prfIO#>Y1o+6KrCx(n=oWd*77`amHr6hErxyNC6@0Nk(Vhx zwu-!%fTV|k)-$(>JWi(5v_Kxqw*~Q&FdR9{_0~hLXKv%d0L%d+4+|I0`f{Y}nfdcv zF6xXMw*Wr~a;|6c9p#U8`V9QIXX;1|*B_xbC_3jwRLuSK&66QBu!*id-xcEBoln65 zTi28uoQ{Rn!wFX5q3uU;>loG+=iJ$!lt_XXCFQyVE2oqVPARh`F3?0j!=K5Op!qH0A)aNC}@K_PfE}eO2U`}Sa5=%_W|CPC;Aa| zPYOXRAxPH0W9NCW&OEWmZpWz}oLa_Ru)J6edpD;+&)ZOU(@;ncH1rOt9Urt08ogs% z)7(vOA&M4mJ$R}c=ZVvysjaTtWC(7ioikxP4?VvXwBMCF?{4CXpwBLU#@^S^HPrh+ z2FO6pF1#s0x33GT@>&9Ef0V)trgd4f)OzqWldJ|^PeSnvhgq`kvt;?=#`CFXMbNJ5 z2-@#0jNW<1RyY}*e0&?dxHZj0@T9y}{pi~90@&RC18NuR8!D>YxSA7)etipE^7aNk z!uHmKR!(QnakzjwsIGl>9wyFfy?0M%*8ymvD>!Jm{hdYj@5a`{XHoRdv6K)uO<+AbfUL z7uvoFu{V93yjVN9P^wZRFE-+ZP>w>KW-!=_;mgRV2)NfiUg56UXk$SnGR4NHRI7BNq7ln=k{DQ6I2+rv7`&?4vkERe=x#b4g%XT3tVVuc6wMy&{czV%cjLw2Y4<y)JS~a zf<5lWJk&1x&ke7;S@5h(_6u!qWHh|uW)4d)vnl<&W`CQ#uWkSEhAz~$g61Ms+faJ)8@{&v*@jhWoT^deM~x%@ zB*TvyNB*gXUuvAHQRGLBBY(c(M~x%@Y!&0*Z5n=VbJ1NYhEl<_4%yfpR2yBo3klr# z@$Dl0p#Ot@60%oF?Sn_t@1LjtThUad33sqKk+gt+>bb zc`t&Da3tD3?^iBfPNjqOMHf={oI~(qMK8P)<-Rn|5_?T_X*YfeXKi#f zh|cJO(nUwu^vv*6NS!f0E-~(01ns^E?GuR6qcfd&s*7b7`Rw}{WsLb$fc+100%=cJ z(fgTZHO?`cBCSY-ZC#{c6;r0hEqZ{E6U@x8a`X_OS4IN!_FIu92dt*OR`lD=I%_is zZr`((J;-Xfc0a$9BEn{G=D0&0h8MMn>6Ue?CCo6agjs?}6~MX7o{ z+_>$aTc)8NjMaJidw|q9<90tO)Ok3dPRHszX{poMh81<1?h_4-IvuO?ieuTHJE~; zrK4*nn=X8U)zEe@Ht@Hi*JkYa6nTxozhytFYaRs1gZ3Yhx_J%m;p#5N2+Ms+J-j5{ zH`nl{<*3Z)Pw(gW*H}d({fzpH42K%^Pd>KKsDHQrPLw{!^9<9H$TW?@Oj5*uCt615 zIXW~4tX4|X_C;(Q!&~u@aGPc0LOcC63vrag@j#&94vx*;O+IiIManZSEVzBb7TPra z13?x=?^#mP!^eSiwBj(=(xoL%7V?dc)4F$ zoFvqJLHhvOQcv9dUTwqHTX-* z&7OzUqa%{WTRvtTxvH9u&`I7%QD#xZpMlSd=!|b+M)6L4U+QT6ua7o|FeD{MPOD!bsx;maa662<&OYqv~x@hbVihEo$MNCgJhv|SF-(6yZF#~P*vBB7ZHXJXD4Mq>N;WwDr;45tZY&@rXVlPs=|FXyuIt>WI5(M*-fJf_?-=`wB{` zrHx;PTov`i^F-8l8J}NLlgIxswLiJdSr%~r_D?Bh(%E-me)brYiJ3+0PsHWyVc8nR z@4Z#Ic7sagnCJ1zAhCY}cv~*(C$SaaP0lq=iz`8EwV=&f(07!e%li>@X$nD{a!N73 zo{xKPV)Ji~ti@Q-B$YEQte}{z+pqBeXIiLn92e2K8#x)Q=2fkNc?ZL12cvhDAS~5O z|B5^^YxS`544s`K*WLIMT)TNt=8L%pdL57WskYtZ&@RRtEXu@3TL zD3{vNCI%w&GlB*CgYLQep-cnsM9|hN6S|Nw&eonx)k%KQ;_D=;iwRc*aba}gJc>%+ zjVfVdeu~cvr0>4~-j-kVlfJ9Ko0L9BJ;roR==&-miSw;WAMPT*y-O`F;d_^hOD5VU zNsSLe$*l4lj1+aU&i@SspzrnZ+3))7ZojR+%Ggj)b#3F1!62W=>7nVq$g**8v`0y>+XHmj(uYIilMTvsZ85?Ca z!Xz`fbc*|F!|umt9ctSc1tWMll(%J1Kc(>#xF(ebGq1ZH)k_uaFSM`@_(#z`4)C@- z){ih=qLC!5dwIeDE4E&`1iJs8Q>FM>f61Ghm}^$f6&V?a(Xubq&AK|~sZwyKiu#x# zIt9a23ZCyL1^)s2qYwux@K*0mTziE4MthC*OWC1;>Q3C#gz8 zI-jQ+mo6^y7ZnFC3M_S9=3nC4fb)}a>r1@B08|I~9aiN0vVZYHht<->-g*9@{}O-D zVOiu|UcB%U|6Ss)W$mgODAC!FTUT4g>!$RTQ&U!kE7z>j z&$(w$K6`TB6z#r7V>z#_T2mZSd)~@ieqP?~QJQip*IwztMmTkWhDSwlSW=96KvaB` zmVGr`S=-l(hdjyta5G8VXKneK^3u9~eJ)+R8VZO#W!1H{;hIqSDo?IwP36_)Yc?=$ z)wLTu%mQ^$$mC(J33bCZz=ANSRo<7Dr(#DY*LT z%5qQTS`Wj?N$`Jp<*GRoR!y9+CY-b4kiu$et5=q;M4VJaJT;|tAy4_*Bx#3=&EW~) zRVGk!w2HBvP{)KOL|2khx4JsKW|e1Uxo5(f^`4dCkY`;fGGNVmw) zpCZzSRrO|h%1YO+tqysphHBQZs?rTCs+Fq3(ptT5s+8ANhE{vn>fq(nZy}k2H37rQ zJocMbXY&)Q1IQ-UQfo0gJQJSpvWvV$fq5}H zp!-cmZNXyy#W8#8=UIB$BHhu_wP+DKsr(8}@sDp&Ut{{vWpq{-?h{@lMq^9k}HRrr}%+WnD!{C9E3 zD$G%EPnCY||D<8~sq#PbRPFwAK&tQu(knCdX?zgCuzo0G^szYZarD6<{~66E^~B{` zIx_R?gXWEp;&pLad<}k^g^%?`86z+0UP|)cj$g?iv|QF7Wek6k-c9m9j$h{UnxFMa z8N;8XuRI%$T=P93{H$Nf82HL<63684#~>)?#tLP~3fja|F3Pp8lo? zW(%eRr$JxP2OjO-1H{MboY#P7;PE-J?-bl4ct4Q-?iBhbK>GUukp6BF`Q$=u%8XYv{&w_z&XG%z;l6_K=Ka(lK*A29}K?($aL)hGW>gh z4F8v6|5L%+1#bb;-wi^Cf%LZ)NPneb|7F1?g0p~(_e>z;F$u_coDR%~{a7H&BOS>2 z_M-hG-v>bQJq~2J4+0tAyMPS$P9Vemk=WlR_$|R3fb>@*bOn(9ih=aESnMwp^a)M? zGQJ)l<1rSd6~ zb6_F*Y?zge(euoO58?pFXApT$7NCkV`eeF2d9 zbu#c=;PF86xq;;SD;gP=;~#*G{}VvQ;~^m9e>afv_zjTp__5f3U+_N!n}GCpjnHd= z^j8j~zvW_ovET)QlYlIT6NP>cTmDG*02%%>K>V+2!=E!@e~;MT4rFOCaO>b8-KHxHkYQUn}nA;{Ii!FBbYdAmz*el0O&7@*jqs zKnyPp$nXwkYWgK0`F;#U(Pn)eI09G#WO^3^r-5Z2kp2pQ;a^0%rn$1H=%g>PJABs{a5Y%d)NoPKA3Fkn&do8UM?G4CgBBCt=%iB0Lbz` z2gr0y6?blMp}gaOls7``hlu^b;oANsAj5wKNd69?9~Al*LjOSM8-bL!4w#GZYJe!e ztZyTc%!dGQ671&!DK`&Dxn~0D?^GcD%|N3?eh-lD#{=n}38Z^ADnH%#<7GG1COi3eudyAf)Al{EL%YYdEjwuqH59E7t9uWVtX5bIwcLor0s!q_Dbu5s4!v#NsBjtAkDgPB9 zoU)z;(*I-HKI=Xp-=n*LUjqIbh*v3#YsP3QvbF$GrLw*&^k$)X%!>9G0yBZLfp}%B zW&(2%#3ZpFFZM%#6Jh@cM27EW8<64r5I6$3S@0&o^@6K`Y)7sDvYd*5_&;VI{xBWW zf%Jc>AlFrA!s%`x^0DfdK(;rx1E<5D+DR!V1f-m+fRs}L#H&_ysm81#Ak%j;@N}>o z3nc&1K)xS8gK)~Z6-fICka8MFZ$S>FyK60C1;16kkp0a@Rk2GV_xxc@hh;e8*-@VWlS@N6K%yH4!Gf@=lKfT-$K zmjfBj#lQmaUjU?hZfc|ZG$890zo}8gS^O@Y0={E_X9I@-8E!8M0hskMa5C)w3Z(lh z+J4LnKxA#z(?BG#Y7cNW+}p%`yU@Q8`ujlozg6fc5J6Qn0O{{qv9A$&wa`m}^tVvx z1wfc8)Jf%U29WVRQ|R$Rqpm7{$P1m18izCs)(fr|WVnzsM8X|XBJ^^>MS_-KpxKRsG|cJvjl{Fj^AI8p|L;rs zHj>7R$-zF&d+_gue={%p7op8O=X2npyO~#f5YME|JaLb>*Q4{Lp`K>Cn|a(I>_{8a zD(+?;d5p+2^P+4A$ZzIBpA~*Huew9r%{(aQq{wgPbu-XNkT&zc&)^yVV}{R8`ivy^ zjY+hXMCTwpr~k*3QHwiJ$er>0j%F#$`Th%W80)4_0Umszt40wP(Op%q7O9)mHiX$*arPySTHW zbbV2Im6r>02Sz?JqZvB3bB0mba}GrW|= z?W)3SvHXVQ3u@n0+D`q2UYf6!*H*h2!!_k=<5_@sg{q;C+j$j{zT#-<;x*;hl*4K1 z;#K7bc~*nW z3sq=qJeA{~Ox)DGp{^KtQe9hYoR=>4l~S8RfQyXC_u{q;w<*<}u=3`|Y73d(k;aZYQ7t=;xrlV<8tcBPO z!i8))&kNT&Nn@?6UjQspR4ND*prE#um082Y_4aD0IM=O9H zm_(Vw)jPEteG3ic(eFX@J#3Re)Dw&uNH0;R$nlDYgNTfYi;>~Pf%FoMlXMn}r$WRF zU4v^i256FW0nIRwULxLKO|xEut6t;@$!~$x=9$Pc=U7a&jnt)@q)&A{;z5!7fUAJ; zAG>pce)wYq8E5{E)GTxAfv_4r8|=P`U8lP4V+4i857DT7{kRzV6#Ont!=LIwzUHdu za3CT*P|)GNnL~WPd;6$7>*xFI&epC$*|WW^e;eY>c*JLSwRWXvPxaYPxAvrG z>sdnb;ZM-KJvS3OaP4-T#~mC+`1%y@U;)dE5<8DYp;vUhKt{ z+l@?}%e{RlF2;u38GrEFf9~BGEckF;Pf@fcy@l&Wfr2O8H*Z#K2*$mA#k2Uc4EtMg z`noHM{p-4{mFzmF4U8O`Y@1R6R9&uvd1G{*#9cO1xRIP-R(XM{HhR zJObRS_i@j4XQm&AKf&WN=ekGv#{2<)gJb>z8{csrWj|Hff1vD-Quc+)evz^tqwFUr z`x0eeqwHrWdw-zeje4tLXL|U%h)if&pyA=nz(>!=>*QwT@c{k~M=TINY7D~v0~kGl z-nMWT%G2FA2`LVyedM#>>mG#1xcB69Vd_2|=*_Xioj4Yj_aR<`ZhlGd#`fOsMR>yI zS!9E2Vh8Fr4!CwUr;mz@!@g6md&deFPh(sH=3v>Y{>InVpD26J=SF;6X5Z^7#7&bO zJ!5qK?I3Btw4Xw82q@6|2((Gv=dJ&Aj=OONMBL|vgKUGh|E$>VXU)WUm`M0>cOx4B zZ~b2fd+U4CLTBUepim|L4u&jufQ;L-gfUp zY(Nx8sK$QBnpM>5ZrDmIeSIf18(FxizU_^4E3&b3ZpP?y@FL@m_?~(6%SK20ov!`X z)g=2vMj3xY;4dM+kYxK=JN$U}P85v9@)kZKmUXAca+_J5kv^)s4o)il{-$1Er2O&l zV4wY}I)6CM@k*c&HmY1vtSVEkVx}k`Pce^sL+5)RV%9hG-mvaCt8BNWkAX#eH_rB* zdJtuBY|mCzHl}27{^+|(uJRs66NDTM-N@UH>St%-p!7A&(Y5$f*r=lBZsghjK*J-0 z7{-Z-VMr}NILG%)RN;7SeR|4g(!w>*v;6F1mQ}lBLToxpetuU)KA2u3TMt)zxdN)>hYi6~ou? zHS5-I_*#7L&sp;IXQbhK5Ow4KVeehwqpGg`@d-o-h@7CHphgD`3QBCEsEL4PWJb>5 z1X1zPRvI7#NDWDv%<%9X z9FYLZTju}$?!C{n_TGMe_w)H5$gH#XUVH7e*M6_F_uA?9hggG6M}~0d5XF;q z&n=FurMX$TLk8xwpeBxoFFqAI9ytuI@sPfFto;Yx-uo4NK)Cam#AkX*_$m7jLYN<5 zK2T5#h^jf6dPBNTRqmg`fhX?{1$yX?U_5lpf699T~ zKzNB!pYZE&4+W3*c?#E=mb}K{Rk#89a5*eV3MX}BNp6PO!{t(GVLj)?i{>=kT_337 z99d1QZ-L8)eZJN3Tet+1&hp9{ZurKvJLPhAX!*~p6#nz;YZt{st{3x1=mF*Z^j~To zih1hgg<{T%d1zJ5Jj(=XI{T-qnIR|s@NgbV-A1P8iLo+di^8$o);v@e%gNtISbBDX z9*e#X`i*varJ08=s+&{cFAvnfs_(q=a-Unql)n}or<(7LM5QJ#k3e4oJu@GxrV2-2 z^TydufhO+L<6H3s@hT$%zU;g)7ZXb_Vy=V|n{!h8ypb~JALpIqmGH|x@prWTmWCuS5IYg%$ohME+9vA-Bh~>Y@YjnW&Q&!++{Pqi6>@^>L0tJh~%zutJ*>W7V z#bRAXdvkc%g(7OOczR$I(4LlPfqa$FbR-mg+-615M(S^IQq~!mShvM5?Ry=7aW6pz z+*rrk#ckHo*bA7^R4U9)(e|j*c0388@8js1b$p~b?A6>mI3W~=PQ`(nBzsy?KBw6T zMrUBgh545eJJ6mLxa~l@5X6d=2|kVwDoaI7N|yaJ|UR z5i@KnzwJP@=)EnuHMUuSv2NS>(_3c*59ih=v3G+wib^5r##!5&aGloQpDZiyD?vwm3gGS`o^<+JNc=1-je zwjJ&~<~s1IGjOA*S7?9Y`05(#Je%k!IQbF>w9pywaHl}!t?_b#WHq(;DJ?+)XXS{S ze1I#$nv(9kY4Aw)l3FkoJY3qaz-7FJwkT4GcT{t6+!l;x1-^;jet}ESo_bWq&lBzG zLz$lHtF92S*+joxu= zdlZp~=*wh=kPXYiDcY^tMXmrE=tM3BwECBXeM=Oz*Vyb8W*tTSnos~Z?6g~;DeR5s+X*rMO7poA=7?U4A%(i0U<$bw5Ak%r57)shSNLuHix7msnD z<0+}mFT~Q;oR?n=k3fFZw8CL{1r%T&S26ku!nLL<NT744<)KS&P*cL`;4s|nXpb> zHdZjlYJVP4sb6HhFBIOg-n;$+E-*ChN){9bs08UQ+1dr^WHeUx`zxAHfb$r(hge z(3<`TPp|po{9KVI)Watv7OJfrHay0z*d`YgPLB#gvFs&2SMZC{h8w_!?2!a9nKb+D znlkg-f*ds&r9iQhLbh!SSXb;lB|`QVl0@_}n^$zCa)@craGL|QM&<%Kqhz8<18{Qx zL3z53cCYc8i}R8%4zxQ1qhT9NQbI2sJX%_BPd}1{S^-b(p;y76jWN-IM)t$gYc`LR z^+9Xugd6>d+c;3h8g#^Gya!V!vhVbPVXgT&V5mMswsC`fi0s4IY+6Knp>5(4cYdMP z%;FKvCVHmq-`S_^vHBGBdPUnAqcXLztWMupeip@HVT)hCE_sz)CJQlXP9icZawIz< z(NWlnvE5cK0yp{&CX*X`_usNUzwY656zx#dXRVofM`)r@k#AGh4`}Ma1MO6rip~8I zvSPoEXsn4^kn0+yQsL)W)=D!F7EFmc{w6$G$DLLk|5F^R6DB0kFSdG&Lmnd{EBccN zWfDuiE-LzMFj(lXvlvWUT=|-6nnc?YVl@IPiKv^@? zitO##kMWy^5a?Mb1mse7lRoq(K4Wj0vCG9ClWQ8(b@V}N5KYzfk3>$A>iTY3pJ5Bc ze~zf{9#r=&OwwFb935%(hpg}HK?DJ>@ha>4Zhwu-4A{qp=e*|Qy@!S;qc@iJE?*rVxGEUVdF@5`Rw7!_JVMk=J$xb!3p$Gf~-}iWP}ckkI~JN`<0sK3HfK-A)AP#v7R9 zi2iABynhP(BF%U%%MCi=`1neq7|&}_SQL1fxx6@fZbH-9k~*Guu)v_PcVl33nM>@2 z_D8Sz16gRONgs+Vi1BGMtq(FJQ9}+%LEPyu#EMgdFFjC@N`p*T zyj^D1UWz9lEMXVY>Pncpo%d2!NIg!DK|6BDraFab;M zqmpM$k(< zhar3FL&Kh?xZUxRZ;QTww-sZp2_8!M!SpuKehL|iZ-3YRL6lu7G!bdU;7p0#Fqu3KJ z$~)nrpc5`iIN_pb6E4a$;i51TE=n=s(&75L>l+--lGnrkN`1B*P7~>i@lk+JnfR{TZ^e26<5(&WxJri#hoZ15GPl&%rRM*?CH@AeK>qRc zv10~H&XbJK^6rIug7U@)AiI3^y}>>rup8jB3V-SB6VRUz_o=3{Z{S38=moC2O z=n+@pE2~r;oX`Hp9zr8en)Ap44;r8yitWK04|cB78StnsCasXuTtT6 zi$JQ&k{{OTQEW~cPH1&_?^!a3JU#faK zGVLE~e3v6^EVfFL!P-UHl}WJ!l8+*Q5k2EJ)!VUCO>}Q z=e#fFl!;H${W0*I3XkKHc&vP<*i|7u@3CxD`0EvVyu8xjA0z#pk`LxpJSU((9%FUx z2NIv-Szq{f0l!D#uU6IR5p8{|Wg~_Io%U z_Jw~g`s~t(-VlSoOnZ7s(C0r3#PZY!Y6Ya`OXU-!1da zarZ>{E58+KU8ko^dDjAB?{Hor;BdeT0M7s%4v3{g-T*)>G4c)p8M4az7!XUMyuSfr>6G_7 zK*&1p7l1be<-P|@ zFh3sy(%r4x|EAz~6nq$PD#Dil>VVUf{}cr$sqg|7z6+Tm-5)6E14MUNa2%PW|3L+N z077hObuen}FBAJrl4P@EX9$fGnIzfS;pqt_A!hAmcp- zNd6yGZa*OTy;ix46wFm{5FqjQp>P@hSwN=uQ$VI?05ZK>0hyi-$n-u%B_Q3O0y2IJ zAmcxvV6}o@Rq!l8%Krsa8p4MFDbG4U(zytb@pA!5?+7Xt-5r4BXB8m%`5_?rSpZ0W z?gAt~rvVcGGgLytj{r&c{{oWUca;Bw3i=hCqaf|lkgvCMB>WX1`TGGN>Ck=*=?+wo zeHGn50wjMyK=SuZK=M}zNdCqElE1S6FV58{2~Q&6?_xS zF#rDn*bi_qAo;9T?ppvU4;LW$9RSF5K1L+MClw4Sc(Z~RDah*N<4lvp*yJHA_a>S%m$=9J_j;kHz4uf2BaKb11tq>1-u^c9zcfA zQ*az0o`PZcp+7q8Dt)8O}kJPqhj!Rqh$eZRw+?Tj{BAmLKC= z`X+8wpxe?9@thFdmOd$_@Gbq&DCA3|kNE?i4i#?ce|9Q&sS0O%7U?PX9Obt3IqVNa zdMf^yMoRy+*|^ZTBivL2nqs?QX7V>~6l>-G@NO?!F!lyPNjB?C!-W@rS3x ze>Nq4VTwD|t_g3;vD4q0;^v`ndpO3_Bsc9l*~2l7OmaV(;vS!ppJ+<_H7V}jrSP*S z#ciF3n_K0Fy$#ripfwVCbk1K}S6f}XU>VJf-~gR+RMg=H2$&E_gHut9+fZPVq&yjC ze$`T1AmORFln|9@RYN9<@l8FT{N*N&b`x?5^|+G zR!P#sGN2-pq~VZqX+=ePs5}dcDmD~Y^?>meJBr=M%29(fz#`F!eDv^BCZRRr;CVdT`J1cVARz%$Oo%_vll=r;KI{!ku zzkgX>rR58&EVP4S1*_~xODhS5VNcK(ekj_8e{Htmzssp%AC}HJCMpOubu_P`r zWc>qnd@e7Mc7J$&nqyIBJ3e<}40AY{iaf{5-AkFC&Y3b~DdXU=+?+o157QIzoU9$6 z29LxiJx+m2@4y`z^y+nfy1EJ@!JO(MtbXy7m(TRvsd%BgQPFYIf#=XvNl&^khqYc5 zgdHDgqbu%CrngejyIF;g)RPIQ?8iO(vI}%b(JNK+%sSBHl<^P__(T80Cy8WV=evu2 zGExil4SZHjm-M7d=-w7u?}SW)OAt}CY3u?$GE3+I98b)_-20T|^WBWkhcx&H)zX)K zxIgpO8MHpGHhp7PD7GxO>)cvLjUe{R^?$iE9&Aj>(SeeycfbqF9NKxt>TED}hV9}T z4g#vp=-k6rD$XDMBlJO-3?LbP|Hw>V$3}Ul%mfcIo6BnNlx;`4*pGS# zc4W=qF7gM|`C$+l@)Bi$c(F60gA?+=rfuf;HkY|LTW|faKaV*Mlvp{|J}0j+RS0FQ z%bcF=GH%LtnP<9;v%Kcw9KH4Z{<_g2cygIHxQ%<6xN%0hw2djb>EtL=PTg-P?z6-h zv14xYT5o8%gzIk@w4actleaSp&bvEH7@fBgI(4u`O$`mY&?LrKeFfTigHmQ!fN``4qkg&`no zV;+w4Ju(}O6*g?1&`Y*pyZ3!K+|~mNPEP$f%8E5f&%$-#hn?8X)_g$MZfeEWV?C=w zAGfBg;w#=@M~=uMj@UeKr`H_ljlDiCIB8cb;PQsbc*C;SczyZqXraOtXK@~wBoWp5 z1L8YyqSA(6^d=4jc$#-Fb4Gp+0lH$saYp2E=_q;=VcH`r;PM&wcNT?Rf?1q~a~a!O zp3VxKg`*YN!|m`^ypFg&Gr!aITq&}Hb8EQy+-cmlIZ&nJTHD|kuoUxS1h|5Sajxlm zc=I&B2}x~qQDCRML7=(2io$N3G!uebuNxaY#v7toJjP)N16SyFnYZEW;|_?^_z7r4 zhJds9`4>sCMpCScQv@{}Ds`)EgE$B!ju;&TB^R%&cHm&kZNdx@;`^`WWxPiv6WG?c z0W4k(N;XE&zz`MN*U1jzj*6^cZi?P43Jc~o#QAXrTf6m&PQ7Hq@_YzEZ+*|HzW`iS z*jriHC~D!QYtz?fwRu}VaOzoa=;JncVE5|rFr{xij>9l?Hh&v0&2I*r;OVEOtYAVm z!9&NNW9`wVw?+p(&o`qh`6z(>{0Yw^bH6SQ*&Z*7aWDN5K_wQ}D^M+EN6E%~j@KA~ z<^o{@CD9FtJ}cF%g6(`u{Jb;ITX>DnXu=BJZV&rgJr;gxJhE?fI4=`^YP>Ih;CQY1Y803kou{!SbYl#mEI(sCjvu&MKRw@- zwZ^saxHt5G>=C5ZDcoqk=_Aj?`?D91_L}$SxX~tUU4qs`BhX&MljAY&M~@Hy2a7sg z9Ud`sxI=fxT6dljZ13i&gV6oq#OWdC$JIC~A8nqM`FY}tBQf&uv$3u9$oZ`wpPjYs z!S}=DaqGB^`lfF0pfxz(kQK<2&88IWL|P-~yR#x259<|cea3`Nq{K53+Mlu}jSrlr z$6DEsycRtj`&XO7+T*RP5X6u?*p1t^7FUG>;^k|l4D$*)PT4MhUQE*r{URbVd+Kk`ldc+9Ke5m+5v6K{`+@fEff(zBS6y{pr**Gm#p<;;M?yBxa| z8(qWr0VZRrS@$0gl^7)k;T?S=eO=U+ZFO>Wwjn3;4V4P(BL(;`^;NV zgm1WwwFfuq9qlBgZ;H0=8K58BWbAGIaDcrzfu3IShTahtXgF|(F3+p!uXr!aUKjA7 z9R$~u`bzfJZwua&>wv*Cm(k`kwg+61=TP_Lc^-zK-oot)9*G4miu{B@@dJM?y7poi z4ba$!h{VvEXhGQ%nuaWN$}D(7_w~ziwZ;Z`N)9&E@*J4Y{2DUxw%gdqOi1oF?Gl-Q zX@tYB){h2Q^Ao}U8pVGPMiZ}j?t0`E+4xK!y(3VIT)2WAA{(2)Y?fzK%ysZ>_o?@H zMZbpjo$&Gudc#xlhJQMaI>-Fwp5`#R{I&Qbh>`LI0?pIq2~9=8pvT7POE4!|B1WUH zM}CW@DCL3tu5k^5S-DxApceSOr1MQlXMv#O?uw3(-sRH!Rz7{pKEc2GUzC7Ot zlM@`vo<~Y*EZfMj43iMyg|TcMhQh2i3`AM$z2jc@gl>wt#H5`W!m%%$Kz{iPPMvYO zSk1Fi8niV($7mIro@EtJXy$;d)*}Pl=0JBzTf;n`c@w&fea7B{8@;lAc{fE}uxaV- z5XIm{J?lb+R`uUi@}{bWu$Q#G`GBzzC9}hO;kj!A7slFx;ZhK--{wLDOy;sih24X~ z(OmgDs53eM;#@zdQyiy|@)i9_GJkIHcS!OVZn#_VM~);WT2 zn+S`RxE?KYG#_sdC5NQA%4#^V0Yv*^QK%Ji5+SVL>+dQbZZZP0`-J20=pBEF$W^> zG*s~S283>om2A~+*yb|cakcIS?k;V`byyC$LY^$c1B)Lx0d#*?eC9^8Gq%~Ad*br! z#W-=!x{@+`yB2jt9HTc}2wawpy?e3QwGxtB-=|gQ+=X#=f#~ z+hATcTYHH2h?Jod2)=hroCch))rH;O(6?Z30h9GeKeRVvT@Z`p;PD|^a0loW!RG0k zS~E8Y2urLU<3mh52e?At$YPh&qpkRNF7jp}NAJiS-7jZd%u#%W$|=wV%udP_$ZzGu z_-Z^O`?VD=kW9|P$MG!iDwUJZ0`0-7EO2Oy@PY)_%N(#GmxIuaA^(;-X{vSH8+yoh z4JIjx+AzNbrxe}Cpm|H) z3VddIUNZ*5+Fa`{)~3MdgPZh@Hs-|Gs&D$(75o6UpWnlqzUh74T#^$VtAcgZppFhA zif~vXS)60E>Vqb2z*xbkw5K#^_=b?4d}W?h z6sD@gKh)TWj=^1WSbJE^!eDWx^%J3x0B zgpG315FaqC`D{}Ek2MQ4FBsB~bG?x5S~CE%?ECULQbwYw^y1zs z7t{#UdQs&?qvh#UUfZei@@B2k$F;l6?EF}#_J|Xax!U)dL-O?}TJ+$g)>zwR)kM$=z1Mqc4b^UZYVFGE@Mdk$$E}A7 zaQVN(2zB6MBoMkRMf!HV&>-2%%jRmc&tg+P|EuSR&=2XNK7FAqlS7LL;}|$fKl!Nw zr4163F-{4;O&NzKZ)E@mDj@CZ{oM9Csy3jg@8d<@z=5D_6x;S$Zh&gb*@jB~LV# zI06NDd0IEUIn#{naqe;ZVOIRml*UO{J8lY1x;pSZD4d=)%btS5Npy?p%K$2%r-hCM zDyP)>kJj`O^YUfXK;`LE5lSs6nNpQn{%@r(4kJMTWI|LIIUXFxlQ1`t!FiBtt*z2`$L-hVIKx)ellL2%Cz%gm{%D#AvqHq~f#^ z^8lFCn*fyuZSn9+l=WFjDN^HKQ&L8n1asDUU&kCBJpn(^iSKhIS1%qyKg`I@?9N&3 z)s0>*@VYewPfz_%dON{49U zV&Lrdn!fy;X@j!&#&ebUMr0d)<@ZIQ5C13lyCH?YeX%x|F+4v-0ShM4QQ(VY7|T1% zY%#uvC7Ywuv6)UEI3rOR+$9%lK^`)s)juq8;(bkwFGbb5o`$L4#rnl`lptFy1b-UxmqR$!Qa9l&?T zr1{scnd#77ZFOP@$7d6)TCT=djl}$GznFjT7xVA^t2iUuFV-vjyTrR#uk7!^d-i_Z z1QTDc#Qga>rXnHVKCD;XO}}30;CiLiKf;$4mg)J7;cfWF;VoGc_>8TB_6ylUSRTf3 zd_7C4{mJvItmZf$yy^@^W&uTaXS6TK^VZ6 zDw5GcMRIXQ70CplB9T>DXh)Fc6KY4S`3^p~?HVv~U;`#OH|5~IE^|n0G)GNx)?&oa zp4_W_PneLD^9iLr={Kw0)Wni$+FE~8zL1aRDe3fJ1B`Y(X4MD$<0)L9SuO-@nSo~c|I%~ndAn_dV z7ynT=rvrZu}zCJNw;~4r(_Rq=JRM%52l+_ za?93*Vy>R77}uJ{hy}V^ZQPm~a! z_PtiU6 zmnE(i)-|@;ugKFxmxbjeZA0M{1U`lOQKg-=AAA3rA8roQpnM&+Eh#+%` zwIj5z68k_@EKy=N0X?z=KiqVOZ+tmi{O9Ax8}hf;;iE^J^;P9xoRNgyQj2bTSHVQT%qqra+QhkyzyH=6!a{ndqO z`m0S?M)dBlns{y!HD3$<0pS_@D=fSJK=v~BSC1pKuiC$gwO#gCycIk$13&*`{nZsn ztndD6CK?L+tC^YmD~VDlP)@49N<%Y!eLikrf6dAi72!8;=GYg;QU;7e1&C4s{ zFUD)+N&Lv~QSac59cScsM3KGGCG3rEIAL$3=2PrhTK{e=R@$bEUG#nja_kw_pTR)>r%d z>o(P&-InOj_G`76fZ-Q2F#KW)HeY)eip*N~wnDtod^Nf?E~{|>4&Nc-<%<687S6}!+2&(f(^eFuD2X#69NE9!iMjSnH5uOL9oHsz)tt!! z3=L_!F*ISnUb44g*tF1)ecsRn%vv{S4;=!TGA@+5k9k9OJ+I4HD<`P9)T9MSRO=S9 zaTi)UQZSJ!;f@q-vC_9PJI9&*na8{5YkOe9dkjfkBM$D| zhGpb6o{}#-#&N74KmT&;$7=Qtw*D*oD{A?uHBD6gjq1YCl_f7B8wTRmZSEoYQhmWj z6f66JwSax~1vFQX+83l*kKLjAgF8;#AFv6?{$S6S>km{!)MydW)*txKmilh7e!e1g zKKezVDBfQ`7PeMv_!?i>s{IM2o^F{&UCk~n$ibZvCc5x(XghkBhG%8ZvQ)0(#WFk5 zv(P3ddX_aN%jS|%h)LU80_7okqxRW(Z~2Y z3YGjfc|$X~9G3ZoAbndY&Y4@2`WJS&%V)kT`j@R}SGB`o&_B`rybG`8!*Rxs3*k2O zFXBERE?wjK)PieO=jt=l=XLf8^GXXFUm~yDDd&uNjjx#gyYd^Ylilb*cAK&r4PoUK z`5k_Q+kc^+)h@c3clkT>T~<1)`yRr9Xyy*th5j5-WETqk4d#CxzM`$@Ki9vqVxXt){xpAZ(a(9g^dXw`*-Sl_u0y*9AZ`?&k zk8E;BG1r|ShwPkxtHV0l6+U6L#c&3JnuJoArhhpbG({)IG45Y5GOk`4;9*~hwm^a zI5Q7J(Zun44cZs41HJ%=*(8P?rm15x3HlCWX7j$*{AuBpH{ZjOCxerwM>FEa##{$lH0w1R&Aol+w3Ct_3RP6Ql z))}JIsP+$Bu2-C8Y--&(Ahuqlk8QaRoJU=|Zu&MJ(qrp_?Kpb6){h(hvd7T#+ zkMnDz=f5fqy$e$5fqValV%C#NQ|MpJtGS)@bEq2! z!b{eNXr@a*3mdIDi;-6}S3_VE_lGaNtfFBr>br9U3ysGj40iy1*&kidNjb zUb41ftn1*mvQc4g#U^;+`-Wc9_P~w&kl-tEqrQc1iTOX#{w*B6!^O`)3NOJ<3-Qlk zeX`+4FHRsJ-w)tJ2J7$b_?y{wNH3Y$3c{r^|4!}uI71l@xgB6mUV0+W`^TGu)_gA} zUii|&dHoq|e>j_*-H=;!00$;%dKuuW#4t7lKSW?fKfbHfPiCJ^CG?-?91Hu_JIDI5c0|jKA7;hPN_Y#OXquO(M=# z`n}IMI}zu7#=&%E^LvQ1CLU)U!!ZPZ>n#yyFXLcQQ|!R;$z!B?0IYBBK%CbZXD!1; zIvWw^uOd!_euB>Hh_jAyKydSGvZD_7)0$7k%9x$?GGuhP$~h>G`97xSfYJHd_D=w> zRBo)=iXC6bd}!PMhLBI`1GHm%AVMsJoP2fO=IEo|1ht0W^BbqnoV10R?$jlx7N(fpb;-3_>8q>#$oU1joy-tfs0q8u1Ln3c(;I;YJ(%$ z@+803Y%tPz_?ML&4qRd3W@$|$;U^K%Tp24cCqnz4GGcV5OYAF-`rHQ2)9n%wr3}Ou zoo$GNgV*@*89V}FoYz4Xf#GoWlPr^>7Wq8_;_jBBFh%+pK8dqi#|n7#>#osZ97*$) z?AIQukt=|%Xr4SMvnDrQW?sxJj6OIvl(aQCp+McPJ_o3NYGzMCIZEl z(9S_{rhJZ zE}ehbWtYu&j4xa|rm(nrsl$TsD1@WXG2StL%sdDF0~7!jh!^2iz~926t7J6sn@Cx{ z(Jp7Ydvj(h#7yB~6@C$5y7)aR{3n3v?qzC0z2LJHf9b+=S%vU$Tu*oJ6YbCPc@8k$ zy*e{ak>OtjNJoE_3jaZ-_&G8@(@z(_ONB4X5I$p&jQ^Vq^l6Nn&yVnz?%tS{D*VX| z;WJKSY=&}wlnfU8c;o0bF z($VieTgI;hNGJap=g4pxhDaB`M};dfsM;puh~IPN`*{-d3U{h-(oa|a!YcfS8Nz4h zNy3d8birbn>m^xfnd} zNYE?(j8Yl!pXi^`@yAOE_%vkbzlO`;UiUWT!=Fv#=|5nKh377X7r%GMcF%|#VcjQz zR}H+8f0Xo8wStj;b^nTu-ebUXD!iYhrfa(|JF zcs^3@iDGpf4k?#DEBWNOBp!=y$~`oc6X#Z4f0p>{C&gpo+xVykUXEB(#bO+sELi_mb$P+<(OKdIk86!rDkI#&IwSKSi#@{|xvo z!dgo#CYJe(V3k)I`uP~!oWdMMEXHwCJQ?s=A7%o-Tb!GY#ZHt@-rF>?Q_79wXA<2M zzDf5tz&W%|;&VI|kHv?roHqlnbiKsmxR->Nl0VYr9{g1bUyZW~d8p{b8xOoE6yABt zKQ1@rrhI1tuO(CZY1&&8@Exy7et(!sHx2$DfnTTa8~Z2^^78@k!>>#F9H+%&$t^`5 z#2*42|V80^n}9W z_%0qRU$*widz+k_C4Xw1Pn$09ZF*YaalB7QkNKmG^U}XcdK~wY@KWSM{CU6+ZS5}r3W@Y@4I zr+g>-y8{2POBiY$5mE59Qt572@UClNs~7i!Y{a~Z_q5!v;A+eRF_kO$5g`3t_@R3= zAl(mQo=Nu{K)Qbi#_0Y(fOKb#mG1X0mhRs}V3)(c9f=XidazN6*OZiVy{x4zOL;vprP6GTEAn}JO_x`h` zy9*F~NkKCprplB3fD_@K2FQ390Ww}LAnENICH;B-1pR}65N$yHedFKU45UtXGNu3?Rb`Fo9)0hX7s$_!!o^%>U0%mv9%h_A0+8;Tm3y*s^ZpI`4^aM5IOzUB!H#}1K2?tNuLZmY^t^!N zllNPY&(E^ty+fRzF}xL!d_Aoo&nH|B_W~7Os{DChDe>NO$nZ@H{zgF)km1z|`jr2r z$~{CuC*%cE1MpA4Zsectu!1WUY*cWzf~5*N6?7=r4S9(83a(VJQNh^?mMZ8}(4k;A zgeBrDxKhDJ1!pT*s-ROrhl1UZtB9}QN(CDgoULG~f=&e;3U(v1h_B#E1sfHdtzfBw zP6Ztbc0;as9S~M92mG!YzHu1Ql-SPk3J$<6HVr-e)Gh!Sg+ZZ|Sdi&WH3Yed!k}|Cau5flA-f zw|)gQh;Qk4b|`)=efA`aU$kdFi&VI!PkmXrE&c2H3g6PFzM=TB^zWk-zEH}5-s_4# zOFy~=e&lCHDPHh2TJbUX@)@G=Eq!-?xPcOXUQTgSKVc95Pw;1V&qxV>Dkc1L@N384 zl@gBOIw`yi$aegm6#QpX!f6rDj{o7qWQEG6Nx)G?nd~U|8fs)f!g(GefX%H6# zfpT>vE(!wl*9NK`<@2i>@S7B^s$qVhI@MF&gOVm-eid=cL2*vS-Q^Vv?=GJ|rz$me zRYT>s0&@hOtgJ*#N!DLm9;mLZS&-sAzrJ=++5lb!Q{`WnHVm{f1qphY0;_RTP5B&L z#e*VGy{yPTr{QjXUy-Ky5e6dEe#^txWj;)-#RN4BGpzDy6IT4SFq3$;fIs`gBCtQaN2dnEi}j@DcLvtad}fPZ=qt~Z z@>>YK29~0|p1$toS!K~v8S4Z+<~N+6m&9UU_wwXo-Or~-(HlE5xjew*LWv=Nu?9Zj zy*wkG4##D{Idp;4uQQJ`@W+Q!PyP+YAG4vR&UicdC%!M*IyVc`e2l$|Kc<)*!h9-k zdFJIBTJujK9H2C#SOp69?fG#jkGy$?<{AtU=Vi8um$(*?SkkxSlw;7^k(6#i--PWz zp({6mlFt-r;wqBJ5YSKTDw>adNmIm~H$#eIu`V$1$Uz7ep1DjI79<2?rVx6lKFbiZ zN!kK2r;NmQMy-kZbn^WsN)ge<(k!9RTnH0udo1hG2yPi4g|QerQbSj6fX)bZ0gbJKW|?_EHmy$`3+rBBZs}NZ)*L{&1SeCa z$}+hQQdNBWXL!x)n40N`b;2}dF4}MKQ2!;T!3tBxQ z9B8zBq0?LdQnHd~l%Ll026Kemn>Ra4W;nGVS7C~*FaZjquwzA}2(8j62DPSB;P9H- zONBreA52gquZ5;VqJ9M5IO;Yykb~z~wt}5;tZ&B067@wp>N5gWdkN~qIMo-C6N&nN z;LCllFfeSEj%Dqe4wf7CM7%v*7<4EFHtN7J!Va)PFar7F`j^RDh3Z|oJAKOY!) zUA5rkPyX57^^O%`)v0x?=u&UA(&u)F@c2GO+QACGOd&b^r-=kR94JOdbe0dh z6pg@ZK2tQfGHm<4uFQB<=k+a{akv8Y0UH@T;rT5%77_EG;wiZ(FoLJlip7Od>S`Lu zaBP{m7&Y)f;B7^II>?Jp(8=th(Xmko>EK2cSM2tYEP}t9Wv{_VrPur^GsMl;O+N+! z(a1wr&ZCq=V>Uus@%H00?;fcthyTh%JJHSlW=;&3w(JWY?!ROx?r%X|2PMdVILuh< z*f(xnXMvZ$iYbgpAotU{zFyiS(qizoKx` z>=T7u$K!fDZ~l9Hp@J6FEnjHz7wGdvdHKwW6XxgR6XZu;Z<8rM{~`0Uv#j|8=I3Fn z%D6fnw(1OWVK+b+gx85k0AH7OT=D-HH^tUqdycyW5cTB;AfHica z&uGBr-Tr22u4|Bxs4~9;>c2*fRSf?oC(dyCg0eNs$T;-hiNw>kXLKz0qlcPYiUC?g z75(tT=uoXeTzCZ7!y2zXI&xJO8dGNz8rI$LLd_eAh-g%25EzS4oiUEeisVJLW~Y7z z5T6Iz2uIk5A{B4&cuwF#Y_mOoK1|-8QdR3(;~6-<@n}I{dSoY1b9_pNl9IhXLmfNy~OO|Mor_A_h>Z9|nbWDL|T#8pr zK+t6bMntbk2u(M?j?R5M4hNeJoFoYD!S_dUoG~FhWv@7TzC4FzRYK9R4;Bf_(Pio* zNUh8`2BGZ)(v2acJEieHBz{w<`pPVy=HBIcbe03MZT{179F4;z7STbV0(pCib|)Cr zn$Du=A?)bQs;c4|nAKX-9%MVwxXk`yfUZS#>^(pW=DrUue8ygpC9%C3<3aFVUVHTm zQZi<(ZoIz}u4X~k)Ai`crtSWF$yY)?Qod(^k}Ox_6_!{DOANi+YM)t`Q%3uya4nGSS$48Afpu}?cfKI8S@ znvaWn-Q1=ao?$}_{b)fvt4|_A+?sJotdqrEnlvAa7Q1lR&^U_oFF1&WA;%TFLkyUc z+(sQnW*leW5QNVA8?JJBfC?F(fHuvejF>V$g?h{hNfL_tR59Aydvq_3+5r9ebm)oL zw!?BFe;6NZtBjbKE(PkWju&+c?R>5Oa$KJ#c7r8q-~5)Wtyl;Q?}X8^B=p#NSW8>- ze!LG$tTYmDdg4{o0L23jRf#f)_m{X6(>VI_3~(XwAbea^I#TZ_b&@qeUBOZX@dXig zl$MS~rHmn1bnzXfoGLk@*2IZl;*?0mA-pDr%5zLiuVck(IML8iv|@V3IYuF-n~B`B zz6tADxxr;)WB$P%K}O+Y4Uq30nBwf`KVJq2T4;PDqL(IUVDc&|!bsTU$O`NYE(M`z zf>88bNaed2!{Rv~YRS|Psfj{O;ooAoV?`%o3Vx96P+|AkN)OiNmg)|Fk8TL0S?vNyJ^%E6A*v~fhD zx~e9yw63Dc(SU339aHAiKnL!ekL%8z^QsyuY8O}5FSBtndrZT{gB_lw)QyqVF%22f zoO3HH<^&olowf6wsp&c^YZh14*VZh8%FDTUPJPv!xz%9rhN_x5)lO;=8L6^{zG?Yr zxW?%i(=Y~VA;qx7Js~?nh=H2BYigI&*oAoV6#Pr7D!`?OeD#reOVl%U@2$6f_12l5 zGKagW;bh_|cIqn^Kn#`jX~iqDQeW9nS-%+ashP8=(m9*OhoU*@=rR_H6Qzp_$5BgA zoN<~J3+L3&sX+P-&e>xs#-Ai%)(%-&Ejjy_)m1vj1O_|Y^|f_%Oroy7a&c8{prLvh zQj>X1U&ctd;o|YYuR^QvF9Q{4b?p*J#J_M(jkBh5i4z)AK|9`X=$Wb3W~7v!A&d4c z2_8>W*F}lgSslyjIc_jo727hD#LJv>169@YPOj~YXQ9lmuBz}iNO@L@7FXHe#33g% z{2Oeo8!6PFf%_{nW__@uqAuWAP+dD0-#r$gRXZ-ZL>15_m;A&1m=$q?(nl66=vMGL z1ueYY{WF|Lfj=Lm3*;D(^yFgR!si}@q&v^jB1T__gNy!j;WIGO^LY^Q)13$C#vFpr zFEjAhf~5_gxA2$lyiFa4Nj(3KzjX9-#bm+ZSb*?!=Ls5B_@6U`mqI7N2YY7t^pX$1 z`|`=U=N3m6hREC@19P~?VLbfK#b1}&pGf(O$J(Emvad8Bfj<1TsC|WT-K>Q#V+*>} zc0Z!yd?*%}{`!7Jm zTNDH&U)DQ0^fLeh%Vi1OG!n;%^5e{Wd_-|21F^!tVwg z4_FRZfd3N#F9Ey?knujlGL`9m0!a6}faG_ha<>DL?(YCe_s4*cbKZOveg`1q-=y4A z0EvGUAk!ZWI1cbA9E`Vvp7{S3Ak+J~a#tug6_ETDtMDQPhXP&-|1Z$5v3?u^Wc)Tj z)(`Gmq&$BKNPbqT@W&POD*x-1`)UO*0c3uM1Cs9nfXwFsc#_T@K&JD7f^P%jf8I;@ zA^s{r;xAYJ^OgT_K=N}OnHKT|gjZe{Amgn8WV}BEl0MI;5^PUG}I?nlI~VO`ftDw@z*N<-zxtn z0Y}5122)8tpdhWkl1>#M>C9E|HU+N*q-ke1zQ0jio8bvna+dK zf5bh2(0om|pGO5mT@n2j(%_SK zCw_o8fU9RhUBOZX3jv)D$57Ha4-oGhSBIi6a^wSY%?#RXcHGx2Mr-gpv=sTp{{c<~ z>7ctCc!XgES1Q=3;A{m;6?7^HAmSmeV<<9geMhIn8wy~4NVMLbtWd~2Sy8#r`Z&$U+iC_FwKlNsKP#>$75*=*?8 zP@nAnj}-T}LC=ogo)Uh4O8Al#_iHKmtZ#ODUrTYjQ{2BuasMU7y(PuHCnbNQQrs;m z`1L7n_Fs1XzL&!PeJSpbQs_HV!i!Se>`(0UuSs!_O>tZMYvSsUhVn%Lf8|m~`GQJ6 z^aj1cvEvVF1L!x(E9PP^MxZ9X1FxpGwgEnBZ;cgk-kka+RW-f+moBOUGgP;cahWi|eVm00-o4q94#Rd3IDY7OO7*I1m+#Xh#mnt92df)Okz8Q4(H z6?+_?Yu^O%28)bbgQf|vB@0DOeLO-6opPyNDX&GI5=e38s4Oby5?63!B^sw~FCL_T z?I`v2+^m?q6EQVcQZpd1#6CoB;hKk-*onx9+>r<Tcv8p{0( zv1fA`6e^1>{^IN-v(z({BLj}|I{!j!^O`4X95!uYzZW(KCi_aiIsV!zi&i|Z4a_XO z=UbcX<}ZQnBEDJ8h6lac+}ehCNV3Gs{q@U~&>hv~4NxvrEWFH5E-#Z=%Z#q}Po^Nu zudT1Bv?y9zETwqjzH+PF{JMZ2Tig~w8nu8dR>CBSQdIE7GZ+u{y%lkHoAvay?+tt5 z)Hb=CyRJnTn{?H!5mP5k7Fkr#Skg=4un4Db)#oOn)l zzuPylF5yFZ99j-((1z2a*M2t^E0krZF6dY0m6!Y2rNz$CwYR**z`cTZ6`G*H{FtIh_Y4E|h3z;C^D!3`i zmeb|>8ua4(w}`_(@=x9e;qS{n*7p=xXu27n&|7@Qer&182~KnbCSVT~KMrLrxdi)Y zoV!RmzM%#$g~BKCX+VB&xArq&PsShA7wH6w?Vd(!znHZ@WEejA2VWBE2yBgj&7unh z`3}x19j+I-3U?db_BbJgl34kd6be;Z)qJ zHSwGUg4FhwW_&Adgb(6S=@XA59abFL)k==zgHPhRSh*v_X9gbuAK05hz`ZGt!-f>B z?zLi{o6l&&O+Q*w1Rs9kENnf{3aeR*K*sFvn&`kSDtL99cV~MhE`-4?YEba`f24O} z=}4{l2I0CF+g|EmKJa7hnKyOZA&Kv|_-N_r6e9EqL+-P}NUxb+k74jiYkE*rfGJL| zsXO^;bwZc9c!F+D+Bk8^guq~7bnxT)UC~(-ej+#RFBc=8pepaVg;f1T9ij!8Hx^?1 zjd|k)Lm$q4T-d>s;|*Tx@M`W2y1}gjUHBZ9gZN+{?18H?vlRO^zFuq>h>}M0=a5F^ zEm&>sn**)sx4=u`LTnETw&kE!fP=Tll+n-5L}VEv$y`KgPBNVvdZ&{Gq-t#d*W4E^G8BF_oBM8ii$grU`SI{&~*&7 zSJ39w@G+<4x+cOJv)25dBJvCLwBr9UU%D(3D-?-Aq7YGf%XIUFa8d;6k`er0V|sC9 zACNnfkflo@7bGE{59F>SWa*N~ftiWAgfE-;8j8=nMIBkFpbqoaLgVIK^VSK*&BMLH z>rh{A>+%ounb&w>8`f)Rx-nSqaLK9^e5E+?{k%PifuCUC20m~e5Q3bUk5^i2D{h6+ z@zwZnjR0ZL7FSuJFW}ySz-l2Cys)t}{To<;fnXb-^rf{mFx-Ja8j)O>YfhP9xQ2JQ zMv`^#d(xVAtPPFf^@V$SOUnHTE8QhOxXMb}URWI`B7W zzUJ@TuRTx-QvPn%I=jSFQOQ@DASp z8n%GsBVXjqv)Uzg@%qePZvl$eY|1CR(Y)`6St&gPUtm*JtP0fuA0&q#!#UflmQr8rQ~ zqWrLt)d}BKy?n8m5+$698<+J!?)-qLea6@_<1%lDM@Tv@7H((J(M`wNOb<3X23C4` zr!36Hq9(zbsrC?W5-7t3WlOQAaA_2mi7mdf%v^LQIv>%~qYAeAu>)?m{~YZ3kb6Ve zNAB8sG{*bt--t{=&(Z{&vL9h5=A#ego3>AjvNkQ*Q(ko1+X9#-Q zBY#KqbW8-+Gm(c>BKHWaKjyELi4dgcU2CE)febVqC2mq4M#wyLMCw2;UjKA6SHEHy z2Hq=NIr^Y3t@$*BM!t`162)g0dQEpe;MlT~Pqn6d;h$9g{+X)aZKI0XOo36v2`0cr z-B_QoP?h0f|EXfs!Ij<^csSs23<6MNPGlsKko){P!7wL3>|Mt`KNh4^UDTQvA}I2y zJs+lHB1YpG^nVNf6yFp$SVj{8%gm?pSCJX>*96f)W#+v6MA^4u$0TZiz3gG~`-mv} zcMglP-w-KQ^rA;-!x||xUBu-624_nl(mc`MDpb5p_`4HxD&j2#wDwb3`-fbdpUto) zXM=D-xDFGNi_Z|bR+F;7a8een^%@6hxA_X(nB@{)KI3S7J|!kzJFJOUb9m`64Bk1e z*y|X-1Mg#>TJ$TvlB53fy}<)n+@At`><6^)%WyHgx8&VG#Fnhv*d=!c#jjpJ;r!C| z61l{j!hgEk=;<|o#BSq*=HgtJdB<>(1}7&NY};MtR2%^4=btG~0jx(cVJ`TREBHYc zEqQ*RJ=PYScv|4UZZv%#p_^zJtCtK7{PdA7RL~A=ksP3pgGE{Hht{*EpmX`Uj=f0C zaZh9kxbcRj;;Ml=#<~u?f;kS1b>r3?&C_OnzZ>cBdPK2fy9}6R<^n_?gh@acH=(1) z?DUy0h@KRq8l=|(Q}c(cO_Jd746k`Uw`XBAQuWh+w>S1G#=uAoMgz@N_)=rhxW=gQ@j z(M^N@6cFx2yXC`tipRoF`F>0KoAI|x;WOXjvG7yqe;w;=ENKgF0R$@rZsne++?N94 zf5CPvLe>a% z%Bid>pH~TOV{QE0dUD{Ly1K+kcY*G&udGZ_dRoV-g$|QPkkg#5R!5Yj)(vX!^4huI zET0P&Dxr$B7!zl~q4@@5+yhimNo_E+cnxt3!H?t{`Gdo{ zolx!drPnK(P;`aV15&T2II@&`kZr1d56!~yH0rj)i9bBl@9|qersutjWk{#O=~iyE z0k#9yZSkC}e(w`jP&}k3c)7&k_&Gg#>G!Ik!mXcEU33*gp~0T%xs#PeJw1w!Q@K}< zmh`M}rIxguh+ly!gspJOCzW0lZpk>Bg$cK@;>U=9{mZLShjx(@P6mfq`7xY=obU=rt+^OWr!>uuuD1 z7`Guw;?a@7AZvW0SJ}|ETgt?~A>pzr7qd2ks5M^2f!Ti+%Oo4$$i;8`)s%=_RP z0?b!=*Ui1K<9~0ll!r|XoGX3Qgb!1GoC6JP^mg2kLpHq~q64s{s?OI~@)zq1oDUpp zKFq>1L=pPT-!fq_4{d}z^w0{y2owd-0IU}41M|;YfZ{Rl&lc*Emr9Wu#O8{f89fd8 zd6{m-TDw@fQBl}LmFx6S{uc;@34M>l=hOze8wA7#)F{GsO<7z3VN7R zgQOn15zE4|P9R~KuRQJ7jzC}jkxVTKQ~E&S?C$oMW5MF>@K-5fV(rM6td(7dyN|k>4*;W8dA7Y zu+SjC>N613r~LTM1)ocB^fwdt@ujZ3ryA#9f}iA;p*Jzse9a>d<1X}-^t8L#uJfH<1_mJ3ULoc|Nod5M-M z>j71qe?Vcg!h;i!F)80;`17;9hMOAH?L2$tuk;#s zr^TA!h{KnCg{Q!PpEz#no;A7QUv9Ri#v05`*kuaV0AQ$0_ zYt$U!uStdf8pA(|f5F@r^7o`_a1(Y(UcveTE>P>h#cHo)iT6lH7Lja)WD^;tkYVzk zwb!EC8L`ISgQuRrjaG@XUcrrH;5YHGxeELy9>U!*xKlOyN#`mnT$FEyr<+e6qBkqd zByNRk`yj)%eMpA?1Q*vYv4t(yGkDL9xmog0%Fu~q$1Vjn6u9yrn{=9ec#v&7uYJ5s zH}7Thq9+~{EqbB^8#pa!dtMG17t&*15CuatQz7FIq(rq#-|Lg>DbD^w4;s6%IAug% zjeYH2o-2xyEa_GWw{qJm>3Zk+U>`Qxu%+VTwpn8rGTDr=hh;(Lz1eL6&YxUx&IlPR z*F{fn3-B;7#1A}&MVJj(=}5%ZGd@7f7(09{gkuM7ee7A$BWsP^i^Br3IZP?o|_{%wH{cyUn?FuFFyN|Xm$cQC?OhRS>qJrmTO5$v%c(JTf#NR&q_yu_6s z<3OMl18(Q}(J5k04%et{OOpq}KtE6Kc|N*7O&s)nO?po&idw(GtK1r#5XR<6bgdR& zhLsR-T#wexjJ}H1!;rB*WUgEnHoE;#@xR^O6Wt&}Mwvq2*x$sBfd{dEhE#ahoCOb` zhK>Ecn=O*rw%s8|eACO{>Vs>MFn%Nah;BTjQwR)GbY-AItk-q;j4y)5hu0@EAH#_S zY|ZRD6wJj&^yeWXUIGukBQ2R)<7*f$irX4@^JV2D*g@HXx1a&r0dr8N0?lRv%N0r+ zIWaeMBVG^xW&lCQYw#8@4sv-iF~x1fZv!4SI>Wj9wVU74az?+7;WbrKADs&a@#3Fz#qU_ArXBet(aATN)k?pXv zAeT9-MW!Pt5cI7G8bW~fvRG{8FvRSSD9OI3MRmgVj?dWA%=bV(x`{V~Sa~&G^=pq; zw)oty`iB}!aqe$H{MWRYcX8z!SD=o z8r+YSfs1s}Wa-AJrm!sdn=xOt-&vt+M1r`Nv)gn|7-jOCvaY5M$gK+~r{n!QNJHirWRn zPT$QltW+w?7GP}T19*8EBsW8?FMzgXh$`AF$|L` zPlFdWcm$KFg`@7(;{ObSe0(axJ!lg*xuPq4iQyBV>;9%T_7#-Iv(WX|pRMXbYY3^F z(^Uu%8Q(RX7azWS0OL+orBdaQ1ZQeFxcdASG!3_Hm*sHT2*|mqXA3S=?D1>rKD784yz%lf>>DALZJGB%bXQNHp=*|}XB+b( za$PE?U~M9CXjV+NIo${lVgCBi@XoJ~WCo9o^VJ|KznoFM$z=q~SSOU=# zm3wU+jBel>zx}%L9)?;kSbc<^y9GT83xRH+tN#dYiIf|LF2^C9_Bi@4dfT3Ig11>1 ztiw+j2A0Mrm|EzRnnWrb5nT>Wv^>nZ937~n>l%QOha^<72sgv7f|nh^`uw--7u_}) zPp}Kwgr#$rxRC|J2*En2mK!h!YK9vPM70%VHZr=R_j(TX1w*L@*ayflu)AyQ#b{|m zC~>FTK6-(@A2ahu!NRsErZlS48NU`2*9H*?SYZGh-q4e|1~+PFV8pUM`XV;g#Kd-1 zgKj3+5lT|*+nGYv*y|7>A(GOZwSl(1Pz^&9R<6aG1(-E!@f>*SSxpHs(};hFs)eGl zR@WXsqPKns^9*V)3mcEe1o`HNEz}kskZ;dF=#b)M%97R3?ryg7( z`}j5-p8NveN|J`ppYqw zJqCi0-0td$W*;bk?jPG^-F%ewpz~(zjfq0zTp!^2RP5^v?Vg_@r?~}ALt6KVckEwd zc6O(D?@`<2(#A~~D+jS|O}me4PR3`b+nBH#?YLz-w^eVpt`yZVw7X!7-r9-#L0fe< zPKCUPyR&gW=!^Q(ntJpLUeuql?i)pMJPe8g-0F?91sMz&qiyZJZWJa&H})YGDv#aXt5IeRG})Nx$HzxRm>X9lHB#9XsHy2N233{Q_(`KMny7fFlgu#W#QtN5(Mz zGFWT;9WXIOLuZP!BZzhrz7*mHP!?WvtA&56#UaFSGxnOXn#Dx{S?w?^H{Qh>m-;Gq zfl(|wT#;JN?w6oCb>J`y@(>4ab_h>m?Tfa#BsKba;~iii!?1i`2z6ADVT5!pTO(^p zEN!vmS!84n8kO`_C~FavfeId7Z=?#psITec`Pe~St$~VF!_zVm*MzkOiS|@2o(0w+ z!X2{zLYO#>2s;=qTpWxY{=ataMWdIjAEurObAcW-$IbDboFJm{*q}AukNm?V#4JKf z7-+#3IhqmJLtD@k`+7*^PEG~l?=hhP6Q@f)9Fs2Dar2htSG-HjGl-q;F>^LJv&q3MR$U0BqXX6uZXw8y(q*IHaCZILK% zJZ}od?s@^qGc;(HW(N|P1FtuSZ%Jfcs~f|&^z5KxmT<&z(8O7TV63hqF&vI(?Zx~% z){3@xcXT5-Hn}2KDNbYkxQ$kOd5cL#gg z!tTRi_ov~)qd0-gcAA1l=HsG!^q#Cu4ai3{L6Pk!VMiiEja@+_@)|zWW$ET{EOicl zy{DDVSS36XIXlhywjHQPbjNu-2)!-Z>^ri<4a+rozN7DUU2cWJkC72Ub0&k>6FJks zGU?105JV}0$i&bobC=&-xjTTZfsnDctw=0XikxQ#o{nw;?Tc<3yUF!ZEUJq|EtJn} zcw#hAvsrYahtjuOijwwvKGV&+hlvuCS|CPSN`pz3HK7JFVn=v38!16+Th^Yl)jFJo zu_Jm{^dN^fu@OWW2^uY(^xQ{(hQ)nY$Fnh$=c76opzN{d5@w&UnuY?WT4VFy89A{h zlO+l$`!lRG3`QBmIuzD~)??QM11k)rU=Iw7=YxEO0nAaJhXh^Lq*4Uu_a(eGyO&$sz9*y155+eZVUEfki1&s zPEca#iR}(Fu`rdpv@i^B!)E2-?GfR_y^{*uE0gty}D`7{go9 z2CNU6l^eLyhBE9!@wIkF&P5`NHp6H3_Z7C`YWu`=cVW9WwO#nf*d#G=3to?QxbZrk zCtYOR0>-sy=~2Ux&GrMxR)>bBPKZQNWVWEGh`bcQ+!uW;)Xg`n|Lkh2IW5p#7r zhq-Kwk;<4}g^fd&Uscu`5YJS2;{0I4B$h~&g>fi3V)H<@^2oaQNPG&JUU~|eVc0~w zG8=u{rZ8|ZtF_9G-?%STaX9Xj`u(JzN&kg{OAx3$wz7lOEAc_i|ZE7rmFC-f`Y>3e(Lk znge9e9GOM%D4s!YTr_de8^53U!tM~$ca{AoZ97e!F@07^aN1O5V#-3xe8t7HX84M4 z!C-8K)6Ft`HM4dFEd#+;)xz59XpIMlT`Fn$CdykPXw^oXZt*NB$FYg}YX-R%)<8>g zJ~Tq1-6>x@qdiy7cX<>5QUyypPPQ;01QR|M^YV&{>RMsL3gOl)T2V(UJ;}h7*&Pr? zVFwAuhZYQSdHm^;c*^TmELlzdkT)%wm;Nt4gIt$-#33f8{POZT&qBzzG-=ArlA_KtZw1UcRU*eL zYsU_9jT@Uc_KMnyao&Z{g}szaM%VFwfSRM8YGz6;j7BY9iZUY)XN|3Z*)W=enoqit zs>*U09$Qj=N2RAOT3bnzQ4w3-N-3b~Ssh)tNCaF{Ta8p(g5+7~@s$M0WPY{C8Cu7x zEuW9v@suxJ;SoBp$zUM@R4Y+1aiay~zSP5?jPP%ne|*OU(j}?KY0r62baF=5)~;Qi$T|y`v&EH0I;ufsq4^m@JZm;m;XFW zRrqYiuP^_Hl>3k1-q*R?60rb;d*0EK_UWI8y72t?1nxB|iT*sWZ~rCO8sM}41o11v zJ`xd$GKpJzYV{Z5m*w_k^pAkv^MRyiIZmT5 zNx#RF{9h&iPb59dbsBvi@^H_fN!i_EIsYblrptKHuT$s9FI41xm5bXzw_ee){ENp* zKbzgFM$m0gbgCYt?k88?7%$rRXjgQs58|=-^%1YPLBCen@#6S_V4T!qzT?dG)UJ{q?-g$r*;d?$H z+63T@6QShtb67Nv3UBUH$*h%$H0z?{mF8~|^c)G$5Lpb8Q6`TWz^Pk?U0U6G@ zfRNk!G1@`muK_aLHU&2+`0z0K{UHS(P%x(8M~EECrgt~sXuw}8e1XDq6@CQmIo-zq zGMoz){2FHf82(W}9P#yj1c)=C-j@IwuNDP=3&{BJY7W96JmJ;55Rqa!oCW9s?8K%U zj;MMc0K5>e5%2=QARvn6h$2ALiAlMD^!K}LVW())ctE%hy$BFV<2@6Q`8og)QJC~F z_K4{I3qZP?fOKC4NcY7GpQG^QLnM6-AjA1BA|?C-(tiSw{(lUZ1DyAwlF!9}f)4#B zl4#O2*^he10HSJm51<`F7JEAY$%ppL2>%0+{N^fn3n1x=lslCY=>E4XSw3F^B;Kwd z&y=v-KCbXb0fjt(%&+qm%m!qB&FU||hZXcISfJpAfG9%V?HEUl0c-#yJ`s@o#w&O+ zAo-01#N&M#m4kQ-AnBSFd|bglC^#MPBDkLkNcztZ8PZdagYZ2Csn|-qLBVg3Hc+Vr<*MSe8 zB86Myy8`;u~@6$yM$RDC~T?t?(r3TCQ+w zeA@|nn|Iga4*akKzY6l&>0fuaKMnqNcaAaa_-hXT8yxOC9PW7z{0#^F48+UMe}w~o z$ASOZ!S6f=p5x$O?!eD>#JAhQ|CbK>We)mn4*C}y;WIAw_;4I&$6`H)r56)zq4xx;q-Cl_i|50R5tjjypZbiBFqICQ z$S`13v8WQ<=G~t3P$pKH>V!U(rKe=cRa;qug_<%fEGa8hQUyzW=JG@`rWQrgpp_); zL!1*Cuu9&ZX}_OPURi0kE|pv*VLtZK0y~j*SjtyztQr?i+- z#;zcA@}^2>@K8QWGlgY$7ppZ^4)l?Ju+Yt$T`da6SSZ2?F)Xb%dm5(Q@p$6A8!MeE zlb1jC5jKjV6>dso+s8h2<_n~gTh z<)N$8v)h~2;K=XR|NU~Dl)PJVpTgOF@uyJeb-^fK#PZc!FV1o)Lto3M9y0KCHpX`s z@k1{?yKlbd(URjtqC3BzOwZ1eE1$C9p}kuB!z8mmC)0~-Qt@n1p0bcwX!>0>=-`!8 z8q1UE#bv96?oj;JD1Hj%9A=UAPB;!fjQ3<;avBEn{NZ7s{N4mPFwS(f@G}w%{*!uf zOgsK4CxgWl<2ygeeIH?GYxThc;1D!k!y!r>VjHLB#ywcK&~g)b0zAZnz*_FZJdv#B z%0r;JkMS^-mK$x*a#!LAXkr*poLbHX(2YbEfptU@yLC8@9Y3PZk%e$*T^?QxX@L** zMEnr8*?G_b=jXBa2D>QDOoKf9fZ-Hacmp>2+giaAA>i-BuyKGA<3K(PMpSeJ6QNN( zdg04joCz~MF@BV_JA`e*W_lCn8s3Kw>_uWfa^<>EqH;s(7(mlWg%H8DF-+=|NLjGm zg`+Bv1*gM>yAKCY*NV+~99umXyK^h95#M74uE-$uc42g8*nPy>IkU;h9Y}G`Q3%{s zh+~7?ImAhq^{@vMs`xadO*tG)+=P3HD%W8<&$_b+7fy}uK|;x`II+iwNhXpGb|EH& zJECXktG6+1+rG3AB^7(;J}`9sUWeTa80_G|k_IyKX`3bv$8O^#MGZaIL@p2ve8zTu z9w`u)B(zD7>23+plgs0 z`*m8Ja^sY5^qf#)V+X>q_F0h+Yj(rU*FZB-4^xE5xlrMfLKI-Lk+V2Uea_dgS=3q_ z97y~N-_j_*1Rt4LAY%g~$?%p&_Gdd8>$W7rTN+u5os88#a!GJ?8yf-~hm=W$>vxz` zl=5FeU`c69SR6DJWr9g=%NikNGX0o8r6n?Fam3(a)FYvnf}L^eqn@aD&Q*ZO|8 zYK<3ytS|Ql<^C^7vcB9ss!_iV{`*@0$C`n7PIxZ^3IQL=Cmw6PvyXM(5C}HlFbE&Y zD;|s9v3`lQ1=n5p9a8j^UpyAQga0Tv{s(?@(PHvpe8gkXtM%L&h%c6^yb}SjwB@}7 z5PgVPA3@hC)<@7qO*)8@I2iZ`fcP8wtiqpEIPFE#{ih0FqHx+x$KO!e#h^Pk!if*V zKPe%}VAir}xp5cW7v+%u0!5+ky^1KU3_tyZ?<#}nc5&fF?0YJ27-bVGE zYxXF&-rE(N0f?^B%L4@b{s9t$^jiV>o%2sTBNpKw`OgIeY5yVxJqiMd?;Il0Ubi)V zxgI#@^H%w~O5s*{d`aO}`TBQ-1BeGQkZdp$TzqKml1x2EFD3%I?N^I`*Dl>{fg@ zuH*AL7L)DKP~u8Q{6E=z-~+|)-xw)8gDu7qP2h&hxR0i}-%C9gh}| z@FVQ0@a+J~i9HX{SFp)UJ|~*5o(2 zmC|@3PJWmW*bvorWcI_b42tsaC@MK{?<$ZVFMqc;xgx-l=LP;WwsRd7Hc zl2f`*n<0~Dz5P5 zYnV8I<4>c_wnIV;-Xt1xJdZNTo8#476Yvj9I{}=E5y?BcW_#)v0MK3ZrXh?6cvP`ZF$P6P- z&YEEi?ts}zBh-<}+sH#5Ss^3Rk?rddsfqcE7B9nKuxn^CHt;S!>zq}?oT&^X{YO!_bVae9kO|d0ZSe)y=CR29I)=Vs3W|>S9V7%vY_*@^0EQjFwl3? zssre4MIwN(c^wQa&hEM*6$7MaagO#Bbj_#bESPY*cHd9XqG(SRWnAMMsol2(2xAd6 z-c|uef7&@49~U&0;XjvVa7%3u-;;V7R1mlvsg%lC7)(bSM^o3b0GvX>EqYX2-Ne

j$Q%QK8!IF%0Nl=EmH zbAi9GKb(jJ+qc{pGEYpy?^aLx52VNDVT z{Ab(bXEb>>pXXrlnMG4DNM1ag-vX;IXg@@M55g;Gmv}%5^4` zT93Uuk#<&Y_T41y6sH5Vbu)!HVHvcc&_znPo0Hg zlaRHkHJf%k3U53VJr_7H8w5JA- z0;PXc21;Kjaf*&HyPkNs1GRq>W6Ms>^)%m7U76LTvFW*qJ)ROTI_8KxS{%JF84vb3 zXMm^Zb3}a9@#BUG&}m|?pc+XTrLJ)jqQPrNjA@Bz2v+Q{5Yclpf?EL}(pISOX=!-D zfbmz>Mem|3HXt-|kH%Hv58&MwTa}lgJ+NB5UNVwQ zQk+~z@@#+r11$lVBfn9iz$`F1rVhbl!15O~%&7z6vUtg}?B{|7PQcFsNS=USiG@29 zE)>^vRHsR!?IELJ5Fo$Sj&2GVAL*uSKSc zuc_wP(f^410R)LJwpny%S|cakP)LMHHLHKa0^~Y;6f4WEcnK%|KwOST%u}JH7CWXz zZi*c{4SHlGM3ZmoxER~xj$S5Q-H`&_jL{Qwz0S;{htcp5U5FB#6I(IN9XY$}R!JKT z+2z$u8mgA@2o)ZpA+{UPU*IqC!X-x@XUK8s%Epl$G zN0UaJbh9?6>#USJ@z~wN+|dczQ>Xb0JEP}oPyQ&wU-*7>C|>&c3%`mE#!IHZ@UuuM z#seT(u15!IPfi2T{^gUvJvt_KHnc6=);=h0T_=f$*qi1(rqt@s3 z*iN_hE$fDRZWDAv+kf>o zMrV#3|E97c8Q<8BGtA7Zjn>$H4NAhXeb>c~Wh_7YGwsq=m~=RWH&7B@3)ppWto84r zgL~yexbNWivz7Z90{-Zf(*(Q}rXXkz;+7$U1b+IU{1$YyqWm?Z`np#4U~=J#o__zd z(;D`#%5P~n=7zb2*dfi{9nE_ozQxffz+PrU?5zQlk!DG6L^;35M4TzML# z#eVHzJ6^KI*TWRY@1k-~^JFCfLP!^@Mn+zYY3 zB!F>r5p^um3vQ=svF-3}OVO^05C_Kbg>!!`_PE1&1f08-^8hXO%XDXGf40uqN@2Jt z4PmySup;nQ0?iLMAT2<|3%`n&t=7wDR_XX0YiPphkJguQ7R^sBr+2NFvk)~wyvus| zyY+IJ<^68!da1Eqs;rme*2|05OS|>5(|Xxuy+|jtv8N+DhoD%G0lXaW zM*QmV`wf1Z@cT1*x5CS>VfTh96h$01=exO_Bow&YXUL+Kgsv62Q}$ zXyMeTSD45=K)>Sg;eRofaPjjLL2vUq;MYoB&646^S!jB(FBF`4iz`U=G^)MzcJnM) zTvh3rJG$-?D7;mBs>*8@R(f(qL&0(0ib!Q$?jYAqQ+=+|;?kfi=nuH2R8`m1tZ)TO zg0309px@=22}k*_)HUs;i<0RQeLb$87gwFDdqE^E9sh68ChOkdxvW_M7YB5@-MEd zsVZOL3P-CVi>k%Fs$ROnC2)V`vc(mZHY$i7Moh}< z7P-PWH%Fya>@H8PT|6IB2TOhGEs%N*FRrMqE?!iQ^Nm%?6$zYt3l|41Pt&6FqIJrl zxV(1$?SEROjTWx22I3w^SSvg);Ph~KmaA0Urda~cHONW?dqd@ldDZ0TUktTPT*q2lQn}O>uEwEBS7}B0 zQslR5Dt5#u5b_hp<6M5+u8FKKjmW^SD7eZs9zXbtERHU5`KoFbmAgu~-&a!X3I|I{ zA+5Khwi>4H>u`l=>TSy6+RB^pb3xrWP+ICLE%mu(l}>g|Sv;?{Qss@SG>imC@eBvO zrD4RgG%%xhI#~LqO`ZiWB8>#a48IQnEv<_p4T3XVGp4vES4AsP1tN=FlWVKX=g(s~ zEXW%-Hoshgc`k-t1+iSganljINM%*k;)RHZs}!eD@s3MC14}DvSJa4PE`?HPd6kl% zg+KM`tEd2@TAZb<1t08gLW-p-fu^(8xF!r4s)vN0+yK`sQAE?Zn%y_8Y*EGtK;#hs_r9fs~Kj(p-6F;a8>Wu6+T z;ESTwSF?o!%n@ATI(Co?JY}JuU5Uc|zo^(Ol#;E4^(=yBGcE$=)x(ukOfF}-L%kgG zMm&hB2iK+IhT_NyyS^{POV@K2lxQJ5Oqgq!FpPFxw5A3Z#m}$1)devQO|

CBd-@;M$K%I(TgKg1jl)As>-wI!dop;Hd!XfE!9u;QGh0Saw?b9 zAfa&pJX%S`dx#^C`HFbd)K(+bOUMVpGiD+aFQKskq}P)2#ZV((2wid{Xrvk^jgbmc zlb*D*!y!*~G=ip!iC$I5^X($BZb9^xltXlMn7D{T#&QXo17wIjN>X+my=7To#*FDR zN+;#_6;1HOUAIs^<12B(1}Zp2!7~*+N5Kmf%vDhO!Z1(aK?QG8@HPeK zD`?R_r||6xQooT;hk~yvxL-jlAE*z>=Til{6_j6v4k%wSFid~)6#6+}U;5;E$_LLO z^>yB@h@)IQjrjFt51>Q2UkpBd@wd)1Pk?)0{!1`BNK~^J__cafjYE)8!HT_A34OM!bv1;&0RE-wlVN_atAIr!+c;emD8z zpoFXBeM!&qC7$b*Jp-Gaf>Cf=r1b4oIqNeWcsp{9qGNdzk0qz${3O%iF3@Kmkm0lZ zrO`X&CH;SZ=8&Ric}$~soabcx-UiLSPRW12B2T8X!bwM6y!9VTI#o`4#gBBCf$or^ zBQ72*ehTIHnV{=dbgJCCTzB@i6LA;lJY6zeRet*n_Yul>NYbftj47&-#&8D;@<^Ps zd=Ah9xB(DZF!YZK{swRay2U%N;luCq6ud>j5(TF!c&&n0DtMWK7b$q2f~PB(rC<-X z#mN7Nf}be(fr4)-xJSXA3brWtl!E`M;G+uuTEU+wc&~!16ucd9Frs(^AeyWZmjR+_ z8!=G1AHy0pR#r#+3J@!RBkol0wF)j)aJqu|fM`-joS|@akNnU# z(GFoza6~g;Cg3jt8D5iuKUQ!$;27l39<+PN)}dPzd`7|lR`6E}{W|CPdjs_>NxuT^-3!e=WysPJn6$?s}~U!d^w6n>_HS%8%17&3=) z{FRx6_`VD1#oudyg@7H({RzNJfUf~$x~vAw0lo~7=`a)UD!}Q0JtlHq<*7kaFFJ!r}(ZRFLPqF903|r2JlmpQCVYNfENPR0OkXR0hw+(AmyQcF<^g>f=cfG>>v3(OFL&)je-pd)+<<};35U*DmYug5(RYy zixkXLFh@a;g2NQdRxnFJmxA3gefl3#@PLB*6x^#|hl1@2wkWtk!SxERQ?Nf{PTKtKe(}OB5_put32)1#=YiC^$^PYz4Cv1Q7YL5Anrc{}u(;DcGRkTm_31 z^eE_3a3A>KwSS9(>lAEIaIS(y3VIX-5dOMR|FY3?N6?QoWn{XZKslrR1Lhl_YCz)F zc(M%Nh+E_9dr+uoAHh1mJRI+*p^ooE<>#|X;YI5F@DzpDD4h3~lHNM6e3<-z=b@7E zxdiXTOBDWh%fG^3QFw>K|EO?QUOtQl$5_^Q|3-vI+!{asALU+zaQQUjmmHJf{m+V? z`OD`^gTu6-@T)=k+UXy2(6c_+-8mk&ji<+OK%j5&nNW{J-G9KXKqZ z(S*O`^KTA3sUcFaxC|?G)mRg&j+Du(Tdj3Ni)NnG8?UIwK1(mF4qWn8#uTXRFE7PNVnp^FtA2kffTojD)SIKK46N)YP&3{LgKLJV8sE3Ix6lcQwdHB6P9l! z!U+|pk}(l!Es{bNDHJ48+$~O4P_iO89Q&>!y^KVp@nCVQtEr?3iCSzqKzB`)P=Qq; zNvwcX6r|&~%80S~;|jlBmVvV1+frU}C9)9qbR(mJ)290aSB?MH9=|>172lfYxNl9F z|E(!Sw>}6D^yu=XUYtifC%eD;iYxQ4l9Y1?)h&Vz9;HIpmpu)R;awitq*H%xjlF@F zpOgRBs&NG81$-G zRNAhS^HKQ`|1linkUsffj`ofAFJ?my%xhiU@c2LA$>Cgy@=d|`V-zSWmYBZtW2s5_ zpbr*1n5P@BK<$KAh_wawlG$dCXAkg=8VYBKH=9}Xu4%l>G$A65Q=iRkfp$Tg2;kl# z+Ofc;4vAUK)`@m#j^P3db;k%Uci0As%#JYz?AG#qi{&MRBsN&DC zG)es@L>vhbFb?6$K^Y?K#cPdaSXqP_{SF>q{(-Q#|Fv)x|JsCBVdn(Uq>_1UTVOq9 z4JM}GKH|VSBr`1N&sq!h0^teadXUWR0>QC#EBOVU|5oQGI5cEz?feix=zB1IV>^(( zA0mCB?zKD%hx|r1AcS7&o5S?INQuThDBngdjN;BGWL=K!sK2-*;U$zOq%dxQY0ux2 z(iD<@ASI;kBMtu>*Oj@WKa8#XpJCCNp~98T(P^Q=%9bcD`9XjpEpe(FkwsEks&crT z2T2)aGT}mm!tTfzB_k)i&{MFIrgH{JY~puL1|Ci^!U8o0oR^X>RtFFp@iQ#wd{>c*@E z25;vWs2iuksR2&9dE)@xC>bC=LRn50QpibveDF%ne4r%o5P%iUNRk|tv>mrI2l7AZ z9ERc|2xP_T{DXye{u*z#@={u2-BP2Q&oU)+^Z)KkayOr4)MZHKvy8I!&e+QLv>QI; z_Om}QdDhgjVm(lN16U=WU*oN>eY16nLQVf!aMGR@g%!c2uYEP-n0VMv;_2nzqug@= z`|@9+`W0$sd>=a-i*SUO5922uYoFtW^!=<+a17zMSJA8Z_S(n5TBq3eqJ0-WjJJ3! zz9-oC+V_>DSLx6v-`!xeSJ5#&PR92*>2Yq857S3HmK@4%$8V5+=sLasq+ndZ6$&l^ zMDyeQAs}jzw@AS}K-4!c*MCs;y&52vvb}=x!=DOQDe!#;qByp?0 zU@cs(Lm|ES6ywKrC#${;#5-~8;RT(*GRm*Th^uQExks$lV<3`R(JKS|l5 z>gqeNI+3)7BE?DZ6H5>{!wHLmkXih%s;jI_nkPvLE+*KPxXG{O^RN=askh}~6N!gz zthV`8^0|YoMDflquf-fEWkdzM`Riadc`7%%xo60cZHZz=`S_!NoGBv9zw^U+ie1w!sjWth(NmQ|nQrJsoVoa&^On^I zIbYJ#G}1$6b(Xl)OqhuivpPMtxtWsTUS;&DawwXZGz?h@TPKUG;Vvwl3=WwaiNn0a zsxcTl_v=NX#m@kX6q)v525^|m;NW+M%dNM?Tfm?Qp~3(27?L1}A`FQ1#6xt*-x*LE z5{Tb`9YQbCmG0?}!c(-NFCUpZ0u5yReSRECmv0-I{i)JEhB-aa)Sq;)%WTBHwp5(&ZRa7F^co(RR(Rq@JPKruoh}K9` zb!n767!ae-(OFP-jsZn70;xI$t)JgXQpQa(6%j}yF$9S-0%;`Gl1uLhq*2`>sd`7? z4-hYn@>)rmia;YMVjG!jxFU28vcs1M^ceAae4u3s;~)yv8Xzf6D=QoQ#$gdLSVK_o zJ~kmC6n;@R0m}w{Y=v8Gmu_xk!eVvAT1*TSeiZ#VdWm)T95nun$iI&n1-gRu z_@EL8-CJ9nIQYS75|4&~f>EZo+Kt=T!vla2%ESHJ0dA&J1B@NiaDUb zmBp&BJYw%HwfF)IGE~#68;>@?7wSX{K(O_b3{+;_c>nrD=3h8M(_{M%>A72V7#K1> z4CcZ@8BEuF1lLC`*I+KLOFa&;Kh9#3r8;NJ+6($;w8&O48$@U#KRe&X02d8MJ3kpu ztO1DKnTbWihxg(&@*`ZkPN9T>3d_2d7!+VFGqd(OTsfY>E606eSvsUmZNYWvP!FeC zG;R;Zebs_b&lWM>@tNa)svF~k`S1^<>tb3Y-N<$1SpPCb=yw5Le~{ zDlGYp85U-k z;W3{ep(wmTV|&*X(D4@cdBdrX`rpoS!zNs|ZaqRMm6%X@*uayRZA z4r-6T7%JSqtU~zvP&Xc`w*tfnh3~$eZHR)5N#w^hTqAYDQKisFDtfp;I3+^R5M3P%59PEKWr;Reh7^Pi3S9ba#%sWoh~XP7 zsjwo)u9zOqLYE8CM1yGUPasoJP}aa#q?(58{t8n%ImRtm)*k$3(3}OPgUp0vIxEMx zelVh%5jKu4XUQvoFVnxhC9Hh;U{frR!^DUdBaNHkOtVKx&*@SY4P3AnOCh=Y@?`ET)A>Zuz4V-C`E2}Y@?`Ts(Xr@ zVRPy_MK@l>P0OqxvKpifu--%kgtGTr08*qQpcHSmIT-A3Yw_!m8OB~cQMuQ)cf@8- z?Dgo{)DFF8SN_h}muNe(u*R&ne(ZUMlB(uUi+_a`?GT!i*nYIqD~{{Nm!Qeed$t&_ z$3E<*$9e|Wox^+UMQaJ8cUpWcymz+ZpHM#6bKlStGp~guIYqO;rxje8xmkeF=Bx$U zs?4wOFZ5Nm_~hR#VQBL(eD#0j5pH?P&7-{K2)82PR-)V_O=xq0aGNXKYGCON*50;c zM%U2B-&hzr+{kjGAALvqI;UH}!ROFZ=^^|djGfvo*|2{W{WC6i$A#MQZW#3FJQe96 zk{G^IYZlfz1PiPE83%;*z<$acmn^PY;lk~{^V2*m5h~zzN~p@#)bMx^f>e5&b!lF3 zO)gHhV9^KKt!WNQ+_D;6ilcl|;r1peW>WPQFH?jx)1ph}L4DbBNTH>c2zI%kK8wR& zy#nRuy0jpfaQXAaJwJ8OIu{9E)g$zq`J|(m-GPX`=O|$Dhn_x$Cpt*@FjUHG#`0eB++iK6SsSwI11*o{=AP z?TSvx(dT|v73f+N9pw>^wLj(1qq+p+MD9~PkJ&To?WAph=vBScC*eNK6Mz`74gF6A z9|lBRyq5rC3C=qV5NYG(CJy&`UdPlF{f75pK<@wS#}tipKLvy+-UdMYc`Nac^n(E* zg7-DdnFxOi2v*)-D7;bOcLCBLZkm?wT z;hMsaA=2Dm`UH^fZz%kEh5vsF|DD2rqVOLpocbH|KV9L43im4f9EG2%@Gp?Dr0)b| zc&`95U7i7Cyc+=-@4EmQ&wN0p&liXk{T&3Pzr6~7N#V_a21t6Irzd`&!tYdg1Q1m~?1!Q#Pr3j&SdBnj#XheXv!SZNjsE-R z03u4K6#;^-zehm;fhX{h`=3_(R;X~RJ-YyOJS%VQSD>1?c$el}6be4i;b-3u?GOL> zOFj_??%e;|>2N16yZ=YQ$&Ob$@NNhF2M+vm2mKreZaDD&a`?a2;Xc~o&V0sS@_E%k z|F*-Ow08PNhx@Y*+_@hr$1UPepxD5)_V(0waTYhZm1sGtbGf*D0mrk&Iq$UN-PU2_ z)Ww3|@4&b8B@WWtZx7_IsuE9asyeoIxv41bwu9v(nDVfsR${5M-t%DECV7p-x4&GX z3fs6U^uEr0tBp}{BVtVyTdT`ptB2>qm)79)c4UD(4er=Sb>;!@Zp7t`5sY1ur>7Yw zdW%%eTOn_xuwQJUuFA7^R;3harwZHnW3>1&Gzgo{mj32(^{^~mV!DF>!i_m7_ z&$S->7(M56vi;Q#<-y{|{)+r~{#GSH8q1UIuUei&+~BjF%xsTS#*^)@iuDWlFH$_H z=R}q*sraU`JlX!Lt|GNa@yiAuyNDPASWbds9R9QK5#CNi55*rI2FmXp@Xx+uF2)yc z1Hyl={Z;w}nb>0m_)gEa-A^qo37M;~Z))8{ruI#nn;BYkDi$*j@GahQx8^f;1kL-@ zerH#I%Nn-wSs>^@@3)pM-oou=$~#sBl9tK0lAo2`$(OXufP0Re2Jc9w@ANFK#`UQ- zA19ipcoYrC6MfkO!Ps6rCz_|M#p(+m#lP45V-$S*@#B&VABH0yYyP3^Lfns!$ZPN2 zfLVZ)9dY*F0Eo83i!l(>Yy{JR=eqD&VyAYX_76e zL?t>q^0Y$jyPuRgR;lhzc0cJ7_SL63JEQM&?&pevyz#yIBWh(;RQ<1>`|+>?!ejMI z7XE$vrBB!}DSmuCfX1wVAHHM1bV%{B`jKV`#CCN(8boKCK=vo=mprPWu=pKN{F+b9 zPbsF6d++<5N)*4n(%Cf(mDBz>WjtBGl%qPhxr)gl@MC=2As->0G?pjpm)0nLYo%XT z3GzYl5nsS|k#Z8?Wc|`Uc)+~Wm5s^mf1siRP4-L7D*jminJm^)3SPhUBlHuFzI$$q z?Oe|R`sPagw>bC1c-q#SdHpK-FKl?!qjBAoO;=-M4c-OQ{Fc~8I=HpQ5G03A#hQE= z!53~ut1yfm->JoU$k+_8!E57aymIT%_yE`0yue8vw-kf9+d{?%=E^nXV5uJ17#u{B zD+c@VirvB42sM<5J`hT*Y~s55qb2x&eW;*0@$F4`?aAMhzcXwc5~5&}EdEdMhuuvb zPG;bNAZ~$5WNuG|zdgi#&N&VAZ_au^um~BQb`FIUBJcor+^DUMgAND}Tg`L967g`| zVBYnGYZGU-&tw6`c_clNSOiBQgC5(+_YAG^JrqEZl47$6TRO?)aQ)4V^kT@}D9}I^=v|zG zm@K}ktEJ31#lj9kHZJRob!WlX61YoB58klGj(yZ9j`j@YB1qTe(&-cuC5Da!5aPh! zm2@78k6$B(T?6ovWx4JMG^zBVp_^wIEu;@NTZG?+l})b58Ims*_pQrEQ@+NW#Mgh> zeD#%lVPhYYP9~g41k>gt6;6J7?lEhH9~`+DkDMaDDFaQwH^m@e<9q^H0>-B{Q7*B0 zkcB9NVz4QYh3GCz48NJ+yWpC?CsjHSJsZDI(STSjo2RS$b{tf;KHx;du- zJ8WiPjb6A_yQdgLC=sTt*~aH-w+wVdHOH2h2m=YkMB-!hBS^}$hqD5tX+c$DTyu0}70I)VRBsd!BONhz$5X`wz3R1;zjrVo=`sQFCvH_B9oL)b{v06P{|Aun{{~2RQ+$noL&I{uQ6bDcKkaOe8Eot}p(?Dzu?celg6*5UpOhx=3q zPTu@k&nI}XrkOGR|P-Wx?rziaUkvp^6XoHCF5L z;PjDzML=Ql{x6C2T9ZcJ68gSF&?VjK9ykcwFAN@p58p(}$^Bu@nZ7 zBa16iQ{#VBALh_CvIJW5VhcyzX8o3Ht$^QFALhj|DSl{QT+NfvUa(+)$9Zvw;$zkK zwPWSHu4sy5f+&MK>AaZ6@%UK$+7-VN@Uz!DNhRjl-#9PMQ~bC;&8Hju><^lzwC7~= z;=NZ%@^wm>b%ip%vmqbaRX%AfPc|>EX9J0+Uim7T@Q=-lTObEmxN5G4?O|jr#|0$} z01xHkk3n(9rjiD4-~Qpe*q6L_F?O&(H=fsxSuH{13s`Rmvt@b-za!lUxo1b@wj4^-B+??D0LiHhq_G&34@#ZVu+| z;$4-W=w@_7(UBclexvf$$Ur~BLDF%(cugkQbCd%KwuX0hVJTp3uyA|W_;?i}*rB)X^XN~fgl*SbyFExO z@k!UFwf38Xqnuv^-P?n?Tdd@Y48--zT?=U!#0mqc9 z`&+n%DcRQ|rFJpoUKxcC#~89aRj5td<=&b~A(7-vI^%6F{Jf4;`OX`_HDGM(y8#TM&G=B>E$ z@2%)T1_gB$M`%9Wu=-nzHs0blD__M?Oyq2*2UA?jfuE^E;Yq8kUtfaSEfwVM=R!7;o{nAnd1?GeW0y0faO^ zbTfwT6<@+lp@g`QkxN=1S?7w4Eph>LkGAFy>?$g@z+w&CzC+H++{!AI4}G2^X!}}G z>TU?Sw?VriSTQ{hhp>%@h9NTbldxi$fGDnDzd$yc&wjyv;bB4Jg|2bDsrXiq+@D}t z<+n7Vow@=+c1{6mbaYaqpS zS9RVLdYd6L4@u$MNUlmyt#KxLkWgaMy%-0fL%=!`xu!A@&2x4zc6R}2PFV;VWRo8N z+0-JU0__uP=?ZpqiqXF5h0m`Vh3GjuBGJB~eka>EAKFy+Zaw#TwD|=PEc&y~jcA}n z=63GJ8}uZku)b$0vQLZ;{N_VUPG9UxXe{y+66Jvk3hM>;42>m(Ehgdz*z; zr0-~ClFMg?CS~UDIr^#g_$%($wa5R26VHQ#h27D&y9TG?n|}lv4MAKlSXh&-#fLx& zDpeJ}fdw=sj7qlJwW1fNF-!(;h{+XHQ2Mw@9qp1ZmT`uOH6^nN}LIV>KTW36ut39*d(FISTZIMDWl#+TX`A+ z4RY{u2%d@p#$~a9F+Y|G-8d*9ybE;%@8#KOSdWpt2SpgcMLSVnPSvpNR5XubHAk_lvWM@w*Q=mR&Ev<*x0BldZS0 zmV1T&u9pN?+das$q-8YN*}@>h{9O|~Lr+m_JcySNtv0=gfn25*-_MkS&8Psz2|ve3 z(N>q)pRIRC2E&$82US*9UeGm$koaALG1ltu!BA_5-t#ghmG*Vp) zW6y9v;a+~RFE(-1kmyK6HZtEQ)hH6S>%U9?h=~iP7!1Y#L0d>Gm|=@>_hWFY%cZNBNFycSp`jOg$d!9UcXWjOoGJK)MLV7}&DJ%S9HLi4T_rLOp*4sRf`~JGA;V>z zOALJ}hy6w%>03{P8@kR1jU<2~Ok(K2J7|Ox=6dKUei*FS28AGY+ubMZwtLuZL!OLi zKGYwBFbQYM1Y@Uj*xKdtxxrA>8o#FR!vUY?WD!j!DinO8XUO5*B3oVxY0~Gf*7)vo zsKzD-kRn&06carQ)4ti~s|Fcu1?P3R3|uw9|K3x54KIk3x*qQQ#}e6utoN@O)XORA_eOe zoULF9VOyXVEqGA%tPpXMk0m%BmF_h=tlrOzC>u$ zafFYNzjp5!WCqv|*5X&;%}h`PBdaqPNJtK~5&x4&$`krAF__2nVI)VSrhjBX&^?mAOcNQU+7lum~0Y4XX-LMv*gB zd`HX|A$S%-9a?MJ28h^R$Jv82upCT5N- z($Q1Ou4{-G|{t*8mk% z5Cs-P83RpZrq7%?pa=?xk%6%<`)Tn*lrrHTP}JrEH&Zam9CH*viU_ zVGV1g*7z^@YV6XDjw7w^$Vde6&oTgT6DKrum;lY}@y8ob5O9X!OLt@f6arC6-$Nyx zd5$C!`rhU>df`#hZfr1rvLX4duii2jA?dM}ucL2^!yS=}W8E3r1CJnN43Z+{$>x=d zX%Ax?aua4puCD9o=udOJk&axZ?Ya<-Dk_fN{EPEIb2VuC?9H1YidX=mHT{rrXP$0Z ziY+cmy%w|;vnabd2Y@QJvN7YX5ftXBG+{2HFykrALw<9~|M+5m&$w$;Y$Mw|R|I?S zs?%Ylyd>rFa3{ytWOaEkwkpdN$x-xLBkOybpFH{r(9accimhDZ)*j?d?MWXOJAL@+ zBcDFp^dTkD8lQxxBxl}x{5Vcbc5-(sN%Au%NjpjE>?Ac#lDE-hbe7mj!cLM_a`D

o{^9J%R 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 literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/lib/libpmpi.dylib b/macx64/mpi/mpich/lib/libpmpi.dylib new file mode 120000 index 00000000..e329819c --- /dev/null +++ b/macx64/mpi/mpich/lib/libpmpi.dylib @@ -0,0 +1 @@ +libpmpi.12.dylib \ No newline at end of file diff --git a/macx64/mpi/mpich/lib/libpmpi.la b/macx64/mpi/mpich/lib/libpmpi.la new file mode 100755 index 00000000..5ab90e21 --- /dev/null +++ b/macx64/mpi/mpich/lib/libpmpi.la @@ -0,0 +1,41 @@ +# libpmpi.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libpmpi.12.dylib' + +# Names of this library. +library_names='libpmpi.12.dylib libpmpi.dylib' + +# The name of the static archive. +old_library='libpmpi.a' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' -framework OpenCL' + +# Libraries that this one depends upon. +dependency_libs=' -lm -lpthread' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libpmpi. +current=13 +age=1 +revision=7 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1/lib' diff --git a/macx64/mpi/mpich/lib/pkgconfig/mpich.pc b/macx64/mpi/mpich/lib/pkgconfig/mpich.pc new file mode 100644 index 00000000..f8637092 --- /dev/null +++ b/macx64/mpi/mpich/lib/pkgconfig/mpich.pc @@ -0,0 +1,20 @@ +# this gives access to the mpich header files +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: mpich +Description: High Performance and portable MPI +Version: 3.3.1 +URL: http://www.mcs.anl.gov/research/projects/mpich +Requires: +Libs: -Wl,-flat_namespace -L${libdir} -lmpi -lpmpi -lm -lpthread +Cflags: -I${includedir} + +# pkg-config does not understand Cxxflags, etc. So we allow users to +# query them using the --variable option + +cxxflags= -I${includedir} +fflags= -I${includedir} +fcflags= -I${includedir} diff --git a/macx64/mpi/mpich/lib/pkgconfig/openpa.pc b/macx64/mpi/mpich/lib/pkgconfig/openpa.pc new file mode 100644 index 00000000..b45642bb --- /dev/null +++ b/macx64/mpi/mpich/lib/pkgconfig/openpa.pc @@ -0,0 +1,15 @@ +prefix=/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/mpich/install/3.3.1 +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +# Technically, the -lopa below isn't needed if you are only using the atomic +# primitives (not the queue code) and you are not using mutex emulation. + +Name: OpenPA +Description: Portable library for atomic operations +Version: 1.0.3 +Libs: -L${libdir} -lopa +Libs.private: -lpthread +Cflags: -I${includedir} + diff --git a/macx64/mpi/mpich/share/doc/mpich/index.html b/macx64/mpi/mpich/share/doc/mpich/index.html new file mode 100644 index 00000000..030549a3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/index.html @@ -0,0 +1,563 @@ + + +Web pages for MPI + + + +

Web pages for MPI

+

MPI Commands

+ + + + + + + + + +
mpiccmpiexecmpifort
mpicxxmpif77
+

MPI Routines and Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConstantsMPI_File_read_ordered_endMPI_Rget_accumulate
MPIR_Type_commitMPI_File_read_sharedMPI_Rput
MPIR_Type_contiguousMPI_File_seekMPI_Rsend
MPIR_Type_dupMPI_File_seek_sharedMPI_Rsend_init
MPIR_Type_get_contentsMPI_File_set_atomicityMPI_Scan
MPIR_Type_indexedMPI_File_set_errhandlerMPI_Scatter
MPIR_Type_structMPI_File_set_infoMPI_Scatterv
MPIR_Type_vectorMPI_File_set_sizeMPI_Send
MPIX_Comm_agreeMPI_File_set_viewMPI_Send_init
MPIX_Comm_failure_ackMPI_File_syncMPI_Sendrecv
MPIX_Comm_failure_get_ackedMPI_File_writeMPI_Sendrecv_replace
MPIX_Comm_revokeMPI_File_write_allMPI_Ssend
MPIX_Comm_shrinkMPI_File_write_all_beginMPI_Ssend_init
MPI_AbortMPI_File_write_all_endMPI_Start
MPI_AccumulateMPI_File_write_atMPI_Startall
MPI_Add_error_classMPI_File_write_at_allMPI_Status_set_cancelled
MPI_Add_error_codeMPI_File_write_at_all_beginMPI_Status_set_elements
MPI_Add_error_stringMPI_File_write_at_all_endMPI_Status_set_elements_x
MPI_AddressMPI_File_write_orderedMPI_T_category_changed
MPI_Aint_addMPI_File_write_ordered_beginMPI_T_category_get_categories
MPI_Aint_diffMPI_File_write_ordered_endMPI_T_category_get_cvars
MPI_AllgatherMPI_File_write_sharedMPI_T_category_get_info
MPI_AllgathervMPI_FinalizeMPI_T_category_get_num
MPI_Alloc_memMPI_FinalizedMPI_T_category_get_pvars
MPI_AllreduceMPI_Free_memMPI_T_cvar_get_info
MPI_AlltoallMPI_GatherMPI_T_cvar_get_num
MPI_AlltoallvMPI_GathervMPI_T_cvar_handle_alloc
MPI_AlltoallwMPI_GetMPI_T_cvar_handle_free
MPI_Attr_deleteMPI_Get_accumulateMPI_T_cvar_read
MPI_Attr_getMPI_Get_addressMPI_T_cvar_write
MPI_Attr_putMPI_Get_countMPI_T_enum_get_info
MPI_BarrierMPI_Get_elementsMPI_T_enum_get_item
MPI_BcastMPI_Get_elements_xMPI_T_finalize
MPI_BsendMPI_Get_library_versionMPI_T_init_thread
MPI_Bsend_initMPI_Get_processor_nameMPI_T_pvar_get_info
MPI_Buffer_attachMPI_Get_versionMPI_T_pvar_get_num
MPI_Buffer_detachMPI_Graph_createMPI_T_pvar_handle_alloc
MPI_CancelMPI_Graph_getMPI_T_pvar_handle_free
MPI_Cart_coordsMPI_Graph_mapMPI_T_pvar_read
MPI_Cart_createMPI_Graph_neighborsMPI_T_pvar_readreset
MPI_Cart_getMPI_Graph_neighbors_countMPI_T_pvar_reset
MPI_Cart_mapMPI_Graphdims_getMPI_T_pvar_session_create
MPI_Cart_rankMPI_Grequest_completeMPI_T_pvar_session_free
MPI_Cart_shiftMPI_Grequest_startMPI_T_pvar_start
MPI_Cart_subMPI_Group_compareMPI_T_pvar_stop
MPI_Cartdim_getMPI_Group_differenceMPI_T_pvar_write
MPI_Close_portMPI_Group_exclMPI_Test
MPI_Comm_acceptMPI_Group_freeMPI_Test_cancelled
MPI_Comm_call_errhandlerMPI_Group_inclMPI_Testall
MPI_Comm_compareMPI_Group_intersectionMPI_Testany
MPI_Comm_connectMPI_Group_range_exclMPI_Testsome
MPI_Comm_createMPI_Group_range_inclMPI_Topo_test
MPI_Comm_create_errhandlerMPI_Group_rankMPI_Type_commit
MPI_Comm_create_groupMPI_Group_sizeMPI_Type_contiguous
MPI_Comm_create_keyvalMPI_Group_translate_ranksMPI_Type_create_darray
MPI_Comm_delete_attrMPI_Group_unionMPI_Type_create_hindexed
MPI_Comm_disconnectMPI_IallgatherMPI_Type_create_hindexed_block
MPI_Comm_dupMPI_IallgathervMPI_Type_create_hvector
MPI_Comm_dup_with_infoMPI_IallreduceMPI_Type_create_indexed_block
MPI_Comm_freeMPI_IalltoallMPI_Type_create_keyval
MPI_Comm_free_keyvalMPI_IalltoallvMPI_Type_create_resized
MPI_Comm_get_attrMPI_IalltoallwMPI_Type_create_struct
MPI_Comm_get_errhandlerMPI_IbarrierMPI_Type_create_subarray
MPI_Comm_get_infoMPI_IbcastMPI_Type_delete_attr
MPI_Comm_get_nameMPI_IbsendMPI_Type_dup
MPI_Comm_get_parentMPI_IexscanMPI_Type_extent
MPI_Comm_groupMPI_IgatherMPI_Type_free
MPI_Comm_idupMPI_IgathervMPI_Type_free_keyval
MPI_Comm_joinMPI_ImprobeMPI_Type_get_attr
MPI_Comm_rankMPI_ImrecvMPI_Type_get_contents
MPI_Comm_remote_groupMPI_Ineighbor_allgatherMPI_Type_get_envelope
MPI_Comm_remote_sizeMPI_Ineighbor_allgathervMPI_Type_get_extent
MPI_Comm_set_attrMPI_Ineighbor_alltoallMPI_Type_get_extent_x
MPI_Comm_set_errhandlerMPI_Ineighbor_alltoallvMPI_Type_get_name
MPI_Comm_set_infoMPI_Ineighbor_alltoallwMPI_Type_get_true_extent
MPI_Comm_set_nameMPI_Info_createMPI_Type_get_true_extent_x
MPI_Comm_sizeMPI_Info_deleteMPI_Type_hindexed
MPI_Comm_spawnMPI_Info_dupMPI_Type_hvector
MPI_Comm_spawn_multipleMPI_Info_freeMPI_Type_indexed
MPI_Comm_splitMPI_Info_getMPI_Type_lb
MPI_Comm_split_typeMPI_Info_get_nkeysMPI_Type_match_size
MPI_Comm_test_interMPI_Info_get_nthkeyMPI_Type_set_attr
MPI_Compare_and_swapMPI_Info_get_valuelenMPI_Type_set_name
MPI_Dims_createMPI_Info_setMPI_Type_size
MPI_Dist_graph_createMPI_InitMPI_Type_size_x
MPI_Dist_graph_create_adjacentMPI_Init_threadMPI_Type_struct
MPI_Dist_graph_neighborsMPI_InitializedMPI_Type_ub
MPI_Dist_graph_neighbors_countMPI_Intercomm_createMPI_Type_vector
MPI_Errhandler_createMPI_Intercomm_mergeMPI_Unpack
MPI_Errhandler_freeMPI_IprobeMPI_Unpack_external
MPI_Errhandler_getMPI_IrecvMPI_Unpublish_name
MPI_Errhandler_setMPI_IreduceMPI_Wait
MPI_Error_classMPI_Ireduce_scatterMPI_Waitall
MPI_Error_stringMPI_Ireduce_scatter_blockMPI_Waitany
MPI_ExscanMPI_IrsendMPI_Waitsome
MPI_Fetch_and_opMPI_Is_thread_mainMPI_Win_allocate
MPI_File_c2fMPI_IscanMPI_Win_allocate_shared
MPI_File_call_errhandlerMPI_IscatterMPI_Win_attach
MPI_File_closeMPI_IscattervMPI_Win_call_errhandler
MPI_File_create_errhandlerMPI_IsendMPI_Win_complete
MPI_File_deleteMPI_IssendMPI_Win_create
MPI_File_f2cMPI_Keyval_createMPI_Win_create_dynamic
MPI_File_get_amodeMPI_Keyval_freeMPI_Win_create_errhandler
MPI_File_get_atomicityMPI_Lookup_nameMPI_Win_create_keyval
MPI_File_get_byte_offsetMPI_MprobeMPI_Win_delete_attr
MPI_File_get_errhandlerMPI_MrecvMPI_Win_detach
MPI_File_get_groupMPI_Neighbor_allgatherMPI_Win_fence
MPI_File_get_infoMPI_Neighbor_allgathervMPI_Win_flush
MPI_File_get_positionMPI_Neighbor_alltoallMPI_Win_flush_all
MPI_File_get_position_sharedMPI_Neighbor_alltoallvMPI_Win_flush_local
MPI_File_get_sizeMPI_Neighbor_alltoallwMPI_Win_flush_local_all
MPI_File_get_type_extentMPI_Op_commuteMPI_Win_free
MPI_File_get_viewMPI_Op_createMPI_Win_free_keyval
MPI_File_ireadMPI_Op_freeMPI_Win_get_attr
MPI_File_iread_allMPI_Open_portMPI_Win_get_errhandler
MPI_File_iread_atMPI_PackMPI_Win_get_group
MPI_File_iread_at_allMPI_Pack_externalMPI_Win_get_info
MPI_File_iread_sharedMPI_Pack_external_sizeMPI_Win_get_name
MPI_File_iwriteMPI_Pack_sizeMPI_Win_lock
MPI_File_iwrite_allMPI_PcontrolMPI_Win_lock_all
MPI_File_iwrite_atMPI_ProbeMPI_Win_post
MPI_File_iwrite_at_allMPI_Publish_nameMPI_Win_set_attr
MPI_File_iwrite_sharedMPI_PutMPI_Win_set_errhandler
MPI_File_openMPI_Query_threadMPI_Win_set_info
MPI_File_preallocateMPI_RaccumulateMPI_Win_set_name
MPI_File_readMPI_RecvMPI_Win_shared_query
MPI_File_read_allMPI_Recv_initMPI_Win_start
MPI_File_read_all_beginMPI_ReduceMPI_Win_sync
MPI_File_read_all_endMPI_Reduce_localMPI_Win_test
MPI_File_read_atMPI_Reduce_scatterMPI_Win_unlock
MPI_File_read_at_allMPI_Reduce_scatter_blockMPI_Win_unlock_all
MPI_File_read_at_all_beginMPI_Register_datarepMPI_Win_wait
MPI_File_read_at_all_endMPI_Request_freeMPI_Wtick
MPI_File_read_orderedMPI_Request_get_statusMPI_Wtime
MPI_File_read_ordered_beginMPI_Rget
+ + diff --git a/macx64/mpi/mpich/share/doc/mpich/install.pdf b/macx64/mpi/mpich/share/doc/mpich/install.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3b6b8220cd5153173c1a2e25acb81c34d2ba0f19 GIT binary patch literal 94299 zcmb@uWmuidvMr1S3$DT4ea^|m-8HzoLvWWsa1EZ|4nc!kaJS$R+%34fgm139_r5#p zS?8YbJo~I)Zv#I@cXihoUDZ|4D2Yq5aIk`qX|~Uf?~pk-$l1vqOl*+(`Pn3`ZC%Zs z*(7a^UCqVKO&!e4+2qabEnTh1xj|flg2*ne&gRB;$exRKYWglqj2OPBmFwkJw3{$k z(%!C_buwuU)<-^%&%(CE)3Sq~zqnpZt@(LC(`8xHrP3c|3HbO6#ASF2z_Oyo4CG{-kXEhTAcFTH3Rg&Tr%+ZgDQ+Ht)E?FUph;yPt75f7*$%*t|cw)G=&dVm&o!M_s@NM|kD+?!- zZCd^FLp5j9!#x`tNO8GnGQF0U=6&W&6({BJbb|$Ykb2hEQnAuZI6mQA)n8*eo3=YE zYdH)|eo@evKPvv&eb+MfcEKeJ3o1`?*@u~A>IwN zB~PudHYZd+!3+Sdn8n6p5iZ6N(VJ~FI-hVHU-1h2k4t{!jqr)r13~*VPzxb3rKLSl zmKrG)b{A3QLBHMWX{LF7A*iE@*_T$@zc7{Ngpm)j+##!&DzHFhoR3SuU8i4`2 zdlhPB^=-)S?)+P6iA>2ej$}c=mDQvOyJI7wXSkQ6Hi{s@SRLJYE9+AsS+mh642DD` zXcC3HZ3@Hy?8|M7Q8idHwC*4kSNa2Jf>=D%vS-&8qK6g=MNs&1uY;Pp;{#f#1cDEl zx#c@Y9M9KUK^eU5FrJ9{L4nS=`N{=BeCXy}?hd0>qVqS@Q$jYo1I};H-&+uT8i6iE z_9o#p!MyUFf@4KXgGyM z!cD2ffoAc!RB`-*AaqynmjrO`(uE?2OU^|VQ~rXM|M|1UT{AdrPMx^$=DGF-IwdxF z3EAA4hvMD(`n5vq)>as!npH0o&)0Iue&e+mi>>nS|e|%*0A#VP!S^R6-tob)!1OAN-0Vp?rb3veiKvn?wcWA&L=jU&L=KL!(JAjoNz(Ee=U}xn7KrGGyfb2H+Z_9@K z@o&Kf{{fIo**uUb zfFRVt^~bLN2^;wLESvkU*dU0hxgaME2$>5vh#bVp4%u#=-%b7pll=|b>>Ue>&J7 zr<(@^BnN;XL<8i8oOTG&aQq4TZz470zhbjn%Q5mAwvt zhkV(A5H|<@W^>@*L~9m*#RfxYj0a+CE*@46P7cVK1F%Bo^E>w6L~9(ssrNrO901~A zg~S8oki-6ej1J)BVC4k;3H)y&Hjdxq`(NOH=ob$+M84Tsfgs4K1F}P|6u(O-@NZ%^ zj^FhApIgqs&BF=;@{n^t7@Y&e4Y2^k{J`Ju4#2;O+Bkj_@PC1GaHqI2k_Qa>J&N4X z8g`zR##y<<)scP8_3Xzi1|vZa11(?euZ^hNpkDoDA|aKqJg@fkypU zYvtDIA;YIK;k}#^%qY4n9JqsB`zXQka(n-EDmgOZ&d~eM>@a44EiA;ek>u>@%jWNh zvP<1;3O55!>KE@%&`aS&a&idKC=mmM!fR5yL2Xw*T{A~VnwQxYr?fHvq7(>wF{$BV zfzaFbOgE%!$HO7lUZ(uA34T^CEBz#B7X74sT^7*Ln-*+6!jz|2DIm;V?zY(w*7oD! zLfa^dDVR-SX#fDahCuy0D@yl39eL;-k`WS&);BVLSS>a{gsT4O2r6bq)uD`rEmLJxSc_f}=^x&6DLT4tB$Iupkbms-f#jS^# z=)Ng@G*W<1@0Rj4IJFlqNC$Wy`q&%6c;SC_$tt?w36AI5-Z)11}QK@7f{W82!o>ArRycP-#thkJvE)4%O$r<$nv#2P?w(l!IfBYqmEn@ zWpH~kk!{|xKRkCoysw8EL{Apt#E*%)lamlc?4|hy+{BtB7&o`0nR$4TyGoJajcRl_~PrU2QqSxGyM#gi)#lmaHRg+@bdwQSEkswHpN( zG8}kUeORiuWV7Q+VcmRjtPdZVzX#`T#NqcA2KtDD`Weo>D53W?t%?O@Jk`67NgS3b5F>zO6aYFSWir zZb1J&GAv@^^|`WV&K}EsBi+aDN%Ho|-ieoRZ5>;J&XAGYzZYS?%+b{6(NHe)t?Kty z8yQaCUsh`Yn@3Uk#oQPhX+D`1n)U5Y`BgDn+;8sI);$ebMm~njybSyM)Q^;(%FC53c#psJPQRHF8!^(USROhFq4HkF+b)XKX8(Ez z_pZpdFHJ?SOBK?bQgO#Gq9T*EKV=tEntJqT(Aw5)xg(hJaU~Ljeb&WNV%_mNK|dYu zhyK8#RSB==pg}UKdrbK5q>)dV~bQiu4I&Ky4P#{`x!JXc9Y{?Pd8 zi9ws6$d&8tTwmv+A#dAdWS~vS$I@%>&L!HNwQ6jy?ilx@c&wu@0?|D=)))P?Ih&Mk z7v4sGA}vpoe5@;n+gj33!aM3*CEXVXj?G#t$>87urFidxPsuEsWf#boZGNO}T$T7? zr=ZcyFuYTmtR*A_eJb9xCRe1|-~6Eaq_B~bW_5etUlV#szXSaNR9=k6_90Kz%!0%$ zB|_4{5yy@A=LX{%cb-mjqjvQP@o1EvjC0`wCMi;7$pWHa%~&P=h!0q1T@>GhK>@$( zlkCtTM$Pg3*Wh$%&m;siuEcjbrfyx<9hHp+cJ(5|&UAdrKX5H{6 zKwDiIj&d?hEJ4;TsAZoyl;7R}76ZQ$TC3VI#K$@DM5fio2l$3d+pX_2Q6K9pe~Mx@ zzlQJ;$=^8D){^I^Gi+ElyuZ6xezt8+8jSm5 zf~lwO--nC8=2iDviQ(eoK7uPYZUWaiug`swt_q|U+_c83i^2()zD z3)cXb6xuwg&12DzgiMq_D(pR4uy|hxO7~f`ilmn0R2gM0)cChewaU5os+z6R9dM`hZ#^lI_hi^WW#1l_vZx8{bQiyyGK6{4iGp#ARb{EU%lU{dJ6$K%8A%7F z0yv~iGm0KILq)IMde1wZm)B)7D^_AXd03#*^{%OIcLU0pqwafyp|OD;Cim=fWNUbS z9yG>AP0K)r=OTr|K+N~djbOGR%-8^eZ7aEL7dbH+JR0{ZzT$Kk8M_~5CJaeR>8x;? zW2rvVsY84IquCA<1%pk}ZS~r*ytjXWkQ@fD><-ZMrY3 zvMb)FO{M)sOPuc1xz0118#6&0LcA-VRy_brLCWxv#Khewrs|gY5T>hQ1igLpg3^Eo#MU7;&)_qv4Z9{dC|D-Jc|9_t~kTa09IyW0LZ=&5vV4s%S@Onf#HVpG*k+LYtKeD)rg3@+iZGVfUVHi87OK z@o2*6j-34uc;D~A>g}GDTqVSCZPBQyXLvm&o|t; zo~upZp5FPlf-MbI2q?MGHQFcd)YUSa?}r1wC(x;FZi`~MqRM%Sa0haa+OwA`c2iRC zH3mC#b`xMK!=`zueaBzZ1ypt_oX8Ki%LJcKiUxarrqJthj4J-pfSCm^<5*Mb(MYmT z|19#tM!X~Xq&InM6L0wIhE58jHR-Rq4@tWGI{^4s%9|4Z-LB>(Sa0Fs0R z{ShET?gfy1HzY~*k0J0Mmxcc%VGa5%0Qzq(24HT$?-zq;O*xk(Fh={W=AMQPZ7`C5 z!QjodXIjK#%I-$S0jU*ojg~5$nE$!y!&VErQXw0xfcaK($i3% zY!{pMOiSNkS>FN?(z^)yL}#aZZ8II5C@m&soT##E!+4#3b8X2}A$^0VhL81%`LUYA zqEbJ}&R%|8oR%4i^xDvh1R=h+H9xvq{WQwQGPm|@;s3zfB`!N6vdkQop^*u-ntD1rpgGTx6(5$=a7CV-n>4R%w z8ok-@-h9XN`a-Yl?l#oH8^bJoCQlxp14Ua>_T~KKV)GcFD013={;hV5iiYZPUEyaM z8{{d?3X{Kp%kesmz;-}tFNxUxo?ur;%I_U~k8aR{x`L65yXD<_^FnWd5&A$c&3icNcF6+37czV*BWIzlOUiec+DIDKH6iC&2YcIqtJsl)fFf6X zu*i*Ipx4!(y@eqv_C0kD{i@uq(b`^${hB+xMt+bIF1{?R@OBTEM4gm*zio?PQB+V@ z6I<+T@O>ljwiRPFz?T4DwqOCqMC_C6Xvp!|E16twh2gz+Yuy|G!MRu}VR_ruXf%l< zn}{V(kL@#*-y=V`;(QxszP#DZh=>%{*sB1cu}6QM=!m_FFRhc5OUloC~oZ#wKPDXUrX; z@W4!TGtr>|mvQRNHB}!H$d0i*Mn~c$8PJ?-|q))wjowZ#+nb6KV z2?ZP?Ig5F0r#lzlb`XoQ9C>Vbo^I89lObC<=BZ#$2B za%Hm*p4fH4U~AO1AfnxIq`R~2BH)=F+^2gO1qh-@n!cnSO}e4#k_#dxZ2jx zE8)gW8w;j>fUhZ2XUv(%@g&H3R-LO2=KEAM?|lX0=U(#nHjhJvf?(*;*;8dad+Nju<^lPP0aEF#QVBwR681 zT6H1P3gZ*`gfB^K?a1f;R$<(|_ZkUkwPQ#c*hio>V)~@7@ylM=^a~DspXttW_!l_q zj`An*$%N1YK+2*n9J5}>Pn+OvQVd7YO0l15 z6q0oEL{S{o*O(JJrV>h*Ic>|Z@VS`AhzIzcq@}NMnHjV9W+U5nBv0O0XsE;&yDKHV zEkUPGkbg*gXTnk!M|U-L9Wb^g9ivuADF+L3a@Mo8gSx=bz&_y2yo_sv^J%>hy*^~X zF&?mGlwNQ=V>*cwwMZ0_xF_=X@!SGWSPwEGabA0*i4el$eljES(qL z&0#)D1!eorEy=EVrK8oDSwe3MTPN?C9b8$d>=|-7^?+nQ-Wb8Wv4j^k1z;~R!0C7n zB;+E0%Tc84-R{esh=c2NoKFdP9W$dJt0!Axgs;5iRe%^24~vXng)dR_-r5-6+;+>W zmK#xJMk{I3>sU(5ySE`wZ8q1O;)jdcvvm0^u?@QQJ1MeAIG(r%Zu+E31Aj+^m7B{G z3P6Ffz?+8a`$1(wWht&Q_?PtFb-Z}lDcx*Y6KQ8S5@P%Q!oG=wOWh6qbuEK}$#=_z zSTQ3M%K^7MSXtFFqb@v&lSrQ_KS`0& zOw)lMD%BOef`)N`?3JG1X)=<(ZR}oyQ&j3(x#~5J(6mze=JXuFFDj{M#Et!ry8`P4 zfgcNZbwxTfb)mA|JMwRi@#2=Fpp8l81-csv8YXnG?sDR2&qQ200%D~PoSYOxE~R7r z0k674dlWn3fD?fc!1>U7_ALW+25)#1D8re6tiH&8;_uY1k?y?yA&)bYTW07c-C?=j zzeqQ0L z>P{@mu4r0lN#ney>_qQtxFVTNme~&&CkWPQ32!@A-rx112ghyOZ_oukoh>|doW1Bh zq0nwdyn?3XUN%*H-8eRHCPpqQB8HY7NgKbS>8p)jPDaldbK5(4+66 zM!LQs$PFPZACYo~@OEW?c_h0vt0<%Y{K`-9$Lka1q^Z5ZHHGO-bpqa+S^ZVKS)vRF z@T^X!gsA%VD|w|aN0WYK3Zif&X%z#?%E#mf!63WX^JXu6QontoCpe5|lX6{eG=17P z3Mp->sAr1MI5MJs&z_eXMX!lH_+Gb-MU9#&uWeC#zYfYfdHBidb&TGFj!j90JCz0-bdfW9Oz6;8S9YJXk)%Hql;;OK?epY+|? zT0xqgN{|!#NT-dVyvP8O)6U}+?!?C3jGNr%jM+yPkdWB{))w>;> z**L~sqjF1>LWCKnOl=(yd9%V&1YgW#><_&td(|Yx zLK}hYRYhN@gHCsfAQ^#kB!@%_$Z>uPT-B~vMQM+GEZjC+{afqehTVI*K4;5l$s4a50 z_-jvYWum(T)Y@WOrn0x*(Jo9lku~RD;-vBb3FN7A7ubFL`JO3N&M_}5@gdy%h?Jb@ zY7W}7>Y1^^c;PYW&%V_|Jqz|q5&leqjHr^u9K**{anrIo#e+fTIzeN!8kPg8HFfdQ z7u9weUn)?r$d6YV7LsWlmD~`5bSHLbCk#EzH7x0ax(9QNK7PFsIAH*LR@py9{cN7J z&N(5L&OzBEmLz8m(t=@iQKx1gn{Q-oe!u3nrYn-G;3G6Jn-ZD3hY~v#&ipY!HVH*L zg^HyJAc$qB19sV^ve+KO6|)@ar$z|byIwSBi!Yp~z57~qJKk4F|JGoEaVB0-*sT+K z$*dN}=bcsaHw?+ji$b^bG}N&s3mDiHZC^~qOA9xqyh+`a?%7IR%`bsY-(yKp&Ss0R z79CY(oq<=)Xu5i+QQ8qMH_9gPBv)B*~e)f$S0b5~Cibs#4zzJtth5gWClNZJ(P%@z8)sV@}pAVo37C=#z zBRjVoSYPvVpB|Y{V@rKAYy1 zJz}B_f$lB3{ST!XAD#VvX#>-ECTl{x3V+Qd`AT|!-Uf-kH=%3e>S2o-8mBGlo)@|( zEG6GOQAp#zZvzbUngk#KZY}$k?VS7yFNp@h&b1rMFI6xiW`g9bP64js+a;Lf1%b~;H0BPdn~YLA(#=XZP1^Bxm!`LQmGE}-!N`=#>d%h$D_NY5M!C|s1AuF56@ z1UCv9SkF-Eh^y}AuZ#DA5&?6JPVD)5C+?J*?t)9lBRQCc&83(jUf65mt0lIz*oqYm zOm?ek2)AzP=|zkoobgiu(agDfIULTg-O2Xs*>}00ty)lvquTOxw8Gw(lH@@niLp%i z@6_;!hHD)Rv4nn~YdMU_<1O!bA4N)+HCU#b?d*yg0(Qak(h)Q1fSVMfQrb<&97=1k zXS2ak(@-L8(wn9CnBxqzBJ!S$hXGJz! zJpp6;RHmCw*;%?VMS}g-{u;B}Z*FT;x=mtoD-T4q1bYTWVws``BSXG=NWI?mFcM$b zf3Ika!_UDOJ_#pis+=0=O-w5LmPns!IJRrcy(yE=pIq*7(hH0CsOCLr>za7c@)k;O zu=|&u;RzlPi#wkSanDJ9hf)?P%F>_Tct6F%D1IvZZ`gpG=iO`aT{ z*Ub+dh8bOf%69ity$k`jLnB}YhljSxr`AL^iu7~MlC}U*&kv4RR&a+SeHh6JU7L4} zYId;7BJ|0?>L|bQD)KRW$Q@MVUPwD@CV`AoiXVC!bnXfBkcAoz-4%z>UDI%~4Z}=l z?~XFIjh*YEY{6SAZnGkOqxLa(_)yZhiV6wVMKF*v#79@PFvs)Vfr#fQ*U01ZZYJjB ztB=cL*BX^`g|P&L_)M;D!(rWO3zDJveQQe*g<_` z+7ghl>+4RfW&6gG2%Q0%pyeY95G(wSpKpmykL%>fPEEm;gh+Ex3E!0dP0s-fV7SvIGq~zH)(-xK~A+ zUq9H6(mB_8vSDSP8G{De3X7_i$0)`f_cRRmb#T&k;CvNR8DPKNMIN_U#gx`@el(t{ zv+g#7UBKxsgt|>-jK;V{M7(`sbxmyoa&$15$0FC^S}0ufks8mscjSOv(Zpn$+U6Xt$|$2k$ndztz7T z<{xO$DW#ALNV8~X0s0CIFidYP6&@n$cV+37O&VjZ3&7gFwTmXrAQ>|yVjNTb8In47 z9vE5cILwH4YDyUXUyo2*rW*%t4==FGBFUaV8UC~qus}P@A(<;ZaVcE!% zULZbg88O27%I-0TXBvlh0dCb$TI%EL$eq+asR#{%aK-%q)G1j1i}Run&?1hxw*Q3~ z{ZDh6f0r2j9_Rf(OYu1%g+9NF(HD)Sm~9Y-?@uO5ih?@Od2jNvB%-yp@CYSF3+OE~ zdRCneubllhpzZQjttsQ=inc9Ccsgx<$63AU{lTZU4uO-9vw=48PPVIy?~m?>E5ABL z@M@SxT8~$wsO8#(k&_Bn-EYI#z#>WJzn0cc4PWYz3eC#IXILJXKH@2pbR;ra7%|D| zu7EjlR&u(WN4MDRW%zRy_~bS&GWcmp4C#c&sD(@iQaZDB69?@ckM3Ob-&ys^qH5{_!VEfTq9}>X?MBcl3=+gCf7SBUU4$ZJ(JD$=Mx+w4I|Bu}z8l*benPVpQCO=ytoCMK;R5l2o|O&{ z)&hK^&Y1}Eo#5bkJIh$gxx3RFw5B9h5;ukUusWE}%(!iC>VmU;uri(fFQ^pP@yH*8 zfKzcgT(h7zh1~1&U08wl+d7-0`wQCRxLnxI55?Z`pJoi(J^=2qDDv zRvpSMUfR3z>|R;7&~o{{O)M0&%wP+Wtp28&?k_bomD9{_r6C{bmUyA4$H8C#Vwh7X z<@4*?mK)Gu`y3~aBZu=D!-M8ZF36wTghzIhW2=8qh+PE^h1lx$`F_ra@VynOf3tYu zQ+4B0sA%vwp>^0~Nr*g6{a0ifg6us;hf>)&zMm~c4r^F0+pm(~<0uyWb-wRB9TLqf3NmSb-ZD>lMRmZ0`uZm6;52JM z?VQkRoKj*jTWN!VtTc~q0M%($osT4M*X$jDxrZ5SpjuTqwOdncsbLM~BS#PBs8`|RK|{Ptot6N5^I&K45h zx0tu#<8ALvLN6s;oXs$rl3dF*t5r80E*tLj9C+^+3>a*>W`YadR4?a3E@gkx_*L_; zgH)1-cuA3MfcrsQh zxxVr=Hyp39rQrjWGJ%ENa_YAy-|_SgZm!|!F|tSNK5KE)A14yhH2c8ikvs1te>7*% zJ?|Cp&5o=nDd%nDHVP>I%CzT79?2jqo51&4@hsXlgY!{7;1n(B^RC|ZH{Y@T!VU`i zPGP*sgXc|r zJ4i%<@~hnt^GMDPq``8pPV$iZ+I_`NtGa?g$%ueGJ72Gk*WHF^uI2e5KJREA-;nQ0 zN%fOx{QJAYzMroQgU@2w0MH*c^7xtk^w27bBUSpo`1c%ZAHc zA!>@!p{!X{GxT1BcwqHibKa%It^l!{w%Q;@Rx=ygfb3)im~Ev#BlZM0P^KLb&Qf%d z4^684M13D2BD~EgY^|3MXUAa9rbw9(5SZ4UA$Zi6%bsateSI-Wus{Y-cPg^@h|XHK zM+i{+u{*<<*Wx?LBX=9)X1kFw*rq}tmciD%g#82WnvR#0x4*( zZpSRA11z2zMmX-?=gX!w3Gc5}!ZMjY>PSZXB}mfE;{G|uq&K0r)XG&qFPvSRO@O?w zZPW8Bu{Fu-^j9n*DCOxS9Q~x~;Lc9N4o(f0Pcy4G-f!rN*A^L78wgjR8XO`J;0>+9 z*PDcK^53lU3>V1xqf6G$TFUIU@$4V#jT8i)4`$L8!ys)yUL(H9tKjJ8D+7+5`Xx4x zUk4wLN!5j`f>UTS)d>}Yenwa=k25Sgh6&p%Eo(sq|C(g(($sr@$m+s4S>K{+jv4<3 z2fAcjHT{H&xkV5WBWSHsQwUpoW{Dz?Auh_Bd;20(C7bwidhzpDt1g~I`ZhLg%1!3n zO-ik8gbcCS4$aSueEMsFUzweDVXI+;L|$2qq7Xw>4`Ot=WSQ;ffa1(m9YjgjRCp~@ z-3XNp>#n(p8JiVJVo0j(iea!nSg=SMuzA%}_aEH56kLpWz0%UuGEHv?f^j79-7$g{ z*W6=d#6Sao`rNxZT0+&(k0E`BsBXkq%<=tstdLg^4zVR$tA1li3du}t$pi&KnK=`> zs!hFRQ_YRKeJ)P}@1%Ek-`t*zp-HyQr&Cy-BkFvbD5PxUhsw33phtna zxr^@M2V5;yazQe7qe-QBF%u)b4F(?ShAnZ zuDzS@DTO}02^7z8@Gng@#!Wx`mLZpPRW69wu$a>(;`Kqu#W<{JjGt27nk}!atX3X z-Y52N%A^#Sc{#@mwK${YAxbr3is$qaP-mqgZ=|472~iUke(HK8AgRZ<9e zz?iq52hH>y&|a%?YqDf%au#&83eLn9{;@<-w`N*);_3oOHlKCFhn;4;sbwyVf2C7z z*E%fo5>wsY@9RsWs86itK*uzCgbh8&?{3fvH_4mX!?P7nKvx$tZWdzC zV1m7Wx83><(V7!_^nUn?a=IV6D1s zsnF12OX_tyk@#2#R;`%ahN~x3K-fT~4A;HKqq$I5aiu^}mlf7`gHDWwX;9!sqIbRb zm*E71UUsw2%{`3?PD5)emrUJ?ey0BUInuG9#FDt2>OZiyN&IfU=3XJpg5>gD z9`(m`2xMu;+;Bf zpC~l=f0py(X8&`TrDf*;$@xJPIyV-8QN0-@?xc%Qw@~ALnB;!#4>PPp-+=Wxkw!Bi z-Mz!lgI_sGm2pg|PMZEeT(H&W7-ZjILyO=I}epg%#^0`ce~@sKRZ|{8PxCGn+DD9j?kZ)^q$(DUL{Q=;!-nH7?C~c zEZqvRghiWm@&IL==jlgNH0m%_qrzQsyDu$Tn9A}(j$N?~P9B_ff2H4=t4@!UZElJ7 z8!NkIt!$BFrD5Kz8FcV}s16T~+hDA8%ISW0_c`R1z}K_~#@z$=HN1CeO-zrd(GMXL z8!Ip$iFERq9%2kQxlUXVaI%fQPjd7MN@2u?nY`P*yiaV_Mm2-IQuD%1iD zW{oXz+*Z_86x*x{fwV51vG;Z<)2iI+85@iUImjwZd=b;y3PytR)aT^!YRr>nq6ONW z{4uF;aulg5{>eQ>I?>oJ{zVog53&`a)jT_z_S+otiGs+xy(3-xA37^}&n?BeN9Dn0 z84OMdZM+tdZ`b8ep=A}jv(r$|$kLsxpk7H#ws*olJQa4;SWV?hFJ3%nat+tQE*U;^ z9|FQ7iNEen@d;MB&5FP<##algTCm#%%cjcrNAMt!jDWTlUZD8yM8edyUsPusZ7~@b zx-Hcurk@MQTXti(-UCr-HKFl~^F%+5#Xuik*V!8EZg8R_%( zlM!Y=rcV8)!H-L*EE+TO&w@#Ist!&WAp*zGPVvR;4#Q8)jJy`P{i<=Axon_FB+bEb z!;UPsbmQ+|B<5g+`Qtxri>i_SylQ#uncAA)o?wz}RBRPq2wR5NgqmbXTsM+b z^!f?M{3gb)M=FjxWtjUz8(UdcXpnozWb?P7TYK+3m5m+?%Az(YtWeXCd@70LZWr0n*g+DQu<=f2I~tHy_uipKPF*kT2rkYFSYzigHF1# zXiUPTM8fyPzm2!A9Y2QM1Yd2;;L%Q&I>>H%!$b>2f+gxN$^FIOW*%-F$&~h3a_*2W z*XCBieoPA8TPW3wm#jZMS@}M2$fiG8Vt$x!AiQ+11D(Q1YVTaegBR4GT+K43q96+| z7`G1XL#MT_ei|*AkZD^YW3iM7r^F7;!nvc-kB(i-;s#PxL=~h@zTPuOAG>lSNa+Ar z%y)0eoI)X>v;~n?QN%e0Ck@BmDcO3oy)MJ4Xk9#yyEUxK-hkf%i1aZs3+{A67e`Gr zd_j$lR9*6$<%WZn?Z^P>o@$DtWe^h*_-%YnvNByt9uNY+D<{O5i+e9q`Rib}DX62^ zYY!=3k1D&EPM2RixM#27UAgMdzQfp6|B<)#Agdpp^ z+YQ>!1&T7c_r$o>1{pb<0(R8X_d-(UVTWVPY^y9l8Nl^~h_=u9}f0 zyblj1*xOzwAMTzTO9PgeU>vB_OW@2<eoQQA&i?f#>PMPgzuE#Zzs^4BQMLXWb~O- z41cx92(ZKgd-k%kRh{cJzIl&xe@hhq;Lbw+t$7v|*?X}rrEA(aBmou^uDT|0(N)pQ zK~+az+IY`(!+?T*zWekElf;XefK0oa`+|Dxxx7BH?-ySU?ECks*~S#_r*BFZ#Fu%~ zBM9CtGr9DS@LU`(+sr&QC-mHXKa5>`1@6-U>sOZAP}7KOe`2AYfLh{J;YmrtJ6-K) z@*T|x@u~~p#6%2F=zcCFsxNa@+FNmCP7l&{iVEW>Od|GKBOIC3*Y-Db`t)eiF-O9U zF#r|XMHj!oYBR4QrO;vsFR&K_{#y2}Dm1p4rXUbx&Yzn2h3LlWRGeCwRb>w&4z_cv zV&=9i0A`)?i*z65)RxY90rpvCXbsE>VmwAj+gQS?#)|Q(c^P#O!R(Mmun08z;LYWhrDoVqTascK5eJD2Sl zT&hoLU3R*(`DurUL{Zoz5di+OHx<|x8`-?sWzG)i+8$yf-H?zmvHpe|+!a$E!+N_A2pRRIU|Kea1915() zyOT=L_&{K!g)>h~tyfj&ml0pY3Y+m$Uie*1lViR-`~B%+e4j_50BX_V$72{u4f7x6 z7N97tH!O?LyHwnBhsS);gNVPnoyFVgPKlr1|vDF`TKqNABhWCl&W^e8Suw;6M zsFraKk&>gQqj_r&kb7A%}23{@)+&qbl zye^a=sIlY^u)2}4>wH>~6xG$~LSo(FFp5w%~VaG%9|$sIsDc`fmRzkEx_(ObOe|v8NZ= zO8Pdi)WT|i&gap~qGQY;v4DLhhu6EDV+{U%)x1byf6&ZUyBMjOxd_7te++3-!}moR z7w*O5D??ZIfmUFJup*udnUxa!ai|T;?8xy98N8U$qaKeJC}ggmL;r>L{#K#+-&f51 zReS$;aWvQO!Tf)tM_}Ne^a$@AB#u6N^b46_%MXyol{nzcA*;z715jJfeY1)(r^ktC z2$40Ro#K2r^%%&13SU8ug5C3!T7ATQA~_=uB}2b}`?ZyG5@d+qHOzycNBr4|fH_Ho zF^>{a0t;87%IcSy30{)e~eNu%be?d`S6W4qR3g5y~T_%?(V+-6n-OGY{$;JO}E z8dRevZhcU9Tvkbs)JAEl;YI?J5$$cd)MbnfR%-(UpI+x=#<-cQ!P(X(=%b65r4`nf zld_&6&axn_SmRW=sYqf4#YVUt-p@)KyvygWM5w~BqC2qHolz2{e*8W~#ortkU@yK% z?x9_eO||dZw)UV6+FNP9YKQOn8Rq13o$tKIogSnUPOAo0#P3S%G$qf#gK;I6B5I#ykZn+#pN5jOVG88DwT2XzJ>B$a)OA(Pb{?X;KSnh3H4bLI57dw4zW{`xWcE*4d&_?c+!*eI)K);0|7EfG!ejL(asF#q%ARv5^wYT?;m|l<-|ZI%stI+? zf8`Ic>6P_;`aa(*`r$*mF%NdXXN*j0t^L3x$)U2kd!F5#4Y^fvZ`1e+aYEBE^UahN zV5>!9g|!3w$1CE1E&pt=Jl&@D>bDA}UJ>__-DH=0=o3bs6n#l+!JVz#@g61AAErg3 z4(A`f8PZCqC9OU;dAtm`nGfC1H=VVld{+AZhF$#5ZYfCx>68}fkPzukCA^y#^~3m|^PO|gbMNDW@80h_d(B#F)><>OX7>EBtx#7+ zd!Uc*`o?UD+V%$Tre&~}J*2KgpPD~IZ8L;fHD>xk=0DAX{yD>pHfT$dvi-m*#mhC6 zst?tSOaPxDMXj}PM^gqIb|%F2<^KK&vxrqwcV&hKLtrP^8zEAr6U6W$5lM%M3_Y2g z5#2TTWyM{^VZ(G{#8F3{w+30S2?d8) z!k$12q~Q-Y-amivw){wOH5Z2re6E4LfkBAk)Ip7Ys4{c#V3+!ZAbQzHm*pW6vMut4 zW5@)~UR~n6M}Gc{FAm6I=X@q|`YLQpnd0OIX-&%P&m5r7>eoo}^EHx+b@Q--%n{?f zxGGTBm6G?~6;4NbvRhn6gxeUFZe+Yn$XVaS_~ul1;)^;tI(TevW~$d*xfHfb)%<{P zB@+X-IdyAO`b|>>HjLXeeo*P`#7BN*(wC;Xaxmmg;O@Gx&pJ$0<2)~pkj}0OGXLy$ zfD=gm-TQw3yz_s1m&`wX(LdSU?{5bFZzhCnw?c z;w&aqsMWKg$2pX(q_fW%*~GiY$D&f5E?X`ao==HL8lz;%n(pb>C-Kjm>)0~1=oD8< zt@viCFX@%$8)PNXT=93$98SBpk6mA17$0+qNs&SbrUeQ4YQ>U5F1a+=CAa&>5`|{x zd}bH6dQbi7eS(7N?wg`r$RajDbN(mD&+t#(r#{Su)#@yk2vw|?&{S-aA4@f0I@M|w zcWiP!YMri+%u97kqloSt{Lol5K~ls$f!qmUVZ=MiNh1s^5>V?Hq9*&~FwY)oi)rXX zr{5XM?s;iiRZjvZO0*w~P+Z|&?ap&W<=V>!^T^(=RspXPs~G!)UT{!_zUm7stC~wi zF7=mbUY$BPvj8``%kZ%3C=TxJThnt!e9BQRaDMaWNVDYSwX%t1wP~Z&hNO(gxW$)p zB8d-C_@c~x{oeM>WP_&_8FTTDOAn=3P42Geo8qqcG#F9~Q>O8Fq<=fGpWiwmVV@}< z7`)=tPl5{lkjQ+RsjFf|dBnfPnSl}m!vVc%CL=_&^hswj6oZKf)u5a^Xs;%OR&6;@ z9S*IMsfLLXzKQU_W8J`RpC1A&NRCxqF_Sm#IhSDXx3JV{^YQwwRQNN~sTs}g84vU4 zO#>-el!<38i_3!DgjF2lakUZt*)kvP!Q5GGUtrv?#7%hEqO3elPJ6F%$#kGV$A|jS z16o89xO3bly|w3`3$eL*_ZLlw_Z(~Si}sM+oG9P6W&6B&$<`0W%P;9$6per!X*l!2 zPl^HpdTDK$@x2#C-m^mL@kGS8b$Y~Qd#p$4wNath9XYfIhW>5NWGexC|i?zX3mFX$Q4N)v-_!Wd~XrmXGQPF+<}? z^vDWk!o6)C>isF9{m?c#X!*hY_bNa=kX2I|FuW z7TzJ?W-2qU^q1;=wl!fT3YK;X%yf2dVrJmFIJLES;IZd%f=-F?W*!p?@%wR>oG;jaHf!=3FTImwYI(VCjmpu=T@Nwt6Il|wh|b`d@Wbx6+6I#anHx%=EWsP5!`JZ8IX* zZ?)ZjM&uo}qU8cV9QeW346QPaSwcQ@2U5CJs13EqMx5*Fd~l1JL_*I(jXr_NHK}ik zNpQ8HJ@x)oVvNn1zf7g0hc;)khXDb+FLi(F%5<<$6lc={e==v^SaaFY1$EzSXvxe> zd1wkBw>Hc=Z8@zi!EETv=B71UXy~cdySbI66X?#_OPepJOH1$1t-p|2WJoz-Fv23k ziY$zWO<{&f=eJBTirwMPAqXGn*e+AxQ(FA;AfZfqnaS?bQY%(DXI!~d%*Ura<>N3@ zw&>JGQ*WJF7dams;{k{6=SIzm=e)9WV{+t|R)b>dtyQ+dXAxlyAA9MU;RU*liGqj@ zjtp5c3a4JHH@=KVVPV_oBOzgROhoVtLwdHtjmXGA8qc8SB=1udRi&aj04*Z^=_D_^ zRk&g9xzB4sMYLzyHTOdD&iQ#%I-fpjrEL{yDC47}EhC6{@<}B*ohq+HI!EOUy}@1b zy(@}^p>{xV?bm{0I`R4e>`1bms=2&3@JVuMjBV+Dcaq`CQ52t%E($R#H}fEAXid=2 zx-eQDvfJ7}MKQLjnHw`Rcg8;rQGA7QWMZwi<)7d|;Hgt@#g)v?LeC1_wqu~1^S}A2X>PsqC~IHyh=g)6vWx1r5*AtL>?k(z_I9 z8RQHuL7xt!p!N21rsK*yEpp`jz+<|;hpzWn*8utxFOshxf@XXGYGNA2g1;fFMQ-8q z(hZjI12p- zx5o8xaSe05LBHc8jul42pffZNSsy?e!~h*lfIx(TpK4q8$ z(O?UP7E9+q<{CI*=JRj76Co-Ca`!{X_MvwTP+w1=h)ssW+EEA~D!4n1c2(=!)^r75 z3VZuBu21WVzAvWO(9P?56_+;5gvt@pd{=|t4@-yh-oz%iSY?q_)*bTs$GuDXN0~ZG z)sXLDC1*u=2+_P%4QnXGO)F=?SHTjN^SGwq57S|tM@I1sWzfNM?kM1iwndeCg2WMXiNEy%}mqha=c}^D*>J7&LARB#L`Hru|zzkzN>^{%{O( z?CSTAMo4BiLcYF$YmD5L0LkG&Lw2p;|t5MNPAc@oh7cElJj@caa70}Ic_NbW~ZfNL(q#N_cqKa7KA)@Yk*Q@{&ypesx(AH_d`Zr}+~WV_i;3u?*2UjZiPqU28$!PiVa|M!qQ6bvvFk%DfV>V%7~DV4i8C-< zqbc+jNy?ix3flOSrSV`pHj51=%z&JNv_r2LIh6v?@T`bSnsT(fgANrym5QpjNPst#S3?T#t}efyv+PKboFkU7?e!6t z9Z!lsp*E$hRZZbD)_oZ3YHKqs+Cqkt9ABW{(tvkVWgMS;eKx>=6b_<) z=KMrq*^o?TmLmd+l|I=;7zvv^Ku3|D=(vyW8|2AH#jd~fj-$ZnH2#z%f;n61y7Zcu)@&JQB?knC1(or+}Ze1W>0mVO7>G8 z))Y@|F9O3(c_*Ya0}%o-pM|?_U~j)Vlc<1S1S=CQ@~NQ>Y!qy7oNGg^L8RZAGHcKl z4k;)Jf59!SIy09+t#18_T3?mTdB%})sxuHtm2GzdJMVGR7fk;sP3_sIFAdw~Wfkl2 zZ7av^r{xy#9eE`ikQ}|?aAbp zRGlm1IN!0a)pJC#ju1=9ZCZkkEokfqhf=Mg`{b_%(eu8xu0daHVp!pj&3<$);8XV3 zvTl1kWxnW4p0+fpEIrS&NMLY2{zf~@3hg<&2JUk&Ip?+M{WE9-iph5N`g;|xh#g8H znVh-iHXEt#2O{gm=No{_C_HJgt0K-aNm*w1dcgJ7udimR2DeO-N#)aL3&EsiEVV>N zY4e39b4(`9x*#?fs};yjBXU!iGL=u}^ruzA_K_|U5Mr5G3X25#r>CFXt-{LAt;Lfx zx*<+Xcsgx{YFtv(k&>(F&4w3Diiz-x$6Xpw39Vl-R)0}j_1Chok)@CwB)3v+oI##= z9|!XqZW(1v2`aoNYQEfNm|l|Cmv&Raqq*4_E24@qt5K$PoJylzLfiz>G3iUZaDX~{;J&=r||^) z>U`UMH{5q_F0fi-`tJf@>Fvp9_I0)cw|djL-nV>KBljK>j1Ur;bI1w0oZ~&pt-hkM zQI_cRci1wIh`V|jdZ(w&%lC0fs;U^ibeBCcQEf@)B>AvnC81NVnk~g=HuLJC!D4HA zEje90i!px87V45bj|Gie0_R z%4p_vX10&VE}v6CSf(Ml1W7>_QzOGQL#pNbjExBzOClq}!5zws+I+0JCvH{1-Us!e zUTPthB0+y*0FEVXdi{>kfILCOm(*-tp&+m4s>gz={9{$lckUP#Z!4eRp>Az)@ELSv zF)i`0V3{0OZyw~S7;bVKcGgxOtHXS5RtolqdVIoh->2Hx;64hJhoVdhf)XxeQIHTh z1nacTa%vTI;uS(&JCP0w&9W_bw@JcgJ_{nAMr-UQl8dXEVeVEp#m9x(*X-GS+JUeK)zjNXw)BwH2T8(=3-Q#kaMdW4+!Dxq!;(|7U3i7z;D*c6@5V#W?p2WfbESuhNlUkUSGZ*s>TB9=+lR~(73A&-~h zY@6Ebcf_JR3h=ui<19bSm_d83q8bF%K681D&__zmdG^4NN$_p;*sOnLY`-GdcT%>81h=&O(!W%+Y)FPVk097<5bf z0u}w+n(q$uVzvM;{2o*b{a?BdIg1uwe?BsxWP zKF2H7r?Fv$RUAxwA@5+{b)CMei%tHt*m#Qgaq84*3vXOgHgdTC>fw{eM6fP6?w5op z2g7{Mg;|-x*%GWI$39<}*~iSWUnJC4LZ0C>s!heGYuvZ1TSB|LDzX>6#ADIRPr38R z6%K66r+dhw_2K2(o3W}2g1I)6Y;4vBj=914yXA6HV5l*n+C3bdD93zHNFiH&6Vr*8 z`jieMQe(Cwt*;<~t!iO^_GRq1*Q@@weHn0`%JM<0tXWdBP|;vI~)rG3$VF_71-v&ObZ;KLI7k&ukUXiAkKa(rTYI1t3SX(Sb%f& zS=j;j2;l5#HsH-105b%*z0K*Z8T|hlr#7bgCbZUe#&q@$x(=rLbozGIR&>{DwWs^3 zOa|bTeI`a`IA#FGgM}R!_5f#+v$EePmF1VCY}o%78;v&tBhxR@c(d-a=OoWSCZl4mPGXw+_(34zy?e$=nYo`3rNm7T^CrV(y1qFfjw0#aIEi03Z<90pnu=j)(shRfYZE z4WT*Mei=f?sr@+H;vrA(S~9x0II63pZ?5zR*@mFE6;fEPCVWX?i74CKqdI52T$=7_ zR$++5+<^9^MYfL!&WGJ1R(fY-Y$C1STokKQ$`Mm8HDJvvD=O!3@K}q`zZez7^&Adl zUC_L%ndW?98ff=M&L=zJ24;4^S!-#Rm6yuk z$KbfNrXb+a;TrQ%q_4SX`WWuF0QdXPU+*awOMQAL`o08HRqsU?(V>DNk5cCcBu`6w z+~DoOT-N8Efz_9fMby~K@V|c9Uqd>@TSbNX&=k`ZBt(9h|I^)c@G2b_bRn->0Iz2do0E^bw*p z*#NO>{4taW;k>*@pb3dS>1$Qgl+yH%|Da zNiSf~>V4g`Ii9W%!84v})Vq>k)CU%wtjS3*sMvZ9hH-bC^HaRSz~D9!4T|-V#9D=r z<~tB&E1N2E@CkFNtX9hrpje7ZqI={YLdRK*G?pCy2;H_Pg)1Uo#$I=YF?ntX3n%*7N_Z|uT~UsQ&5?VKRTmOu3?1y+JBa;)W%L7JY0rp! z+Zi((_-f>IygZ_q9N>h!7hCSZ=B1J;S^7zr@4_1r^okXA3}i-J}Mut;`8X}H;$FIJEV?vSGl*mr7<*58XR)CPJifUi&^nr)%MB-tDymVnh)OIG1T z;18U z#@tpj2IC;ULoKUmFPtaw&_3^;COCak!Uo*J)~w&RgHQJ#QXRu`I-bK~XuLA!!m0&MLi1& zqSmvoEd)a=nf=B~P981@L` zX?+KKuUL2xmXo%;uhY&{%fJKw z(F+};h>@LAPE8v5VdLEAVOgY$Inf6VCMJcSql?jsov$9YF(FFaB_|c;eIwZ(b6=U- zFdi(iTYkcsOMomkTj-~6!)HEEQ$ID8>_t z=ewXoDi))nuBRoviGgxXZK2JT_B&-4@(Z%kbyOGuRJ$ZJ2}dvn4y^)iyu-v^3NW8& zDWDi*1uED_Tya&;;(E-rm@;+Atfd)eF?OVN{1L0tX>1pv zHHqP)tP3FsQNC)I59}9=OAB6lcLSM?SJLCscvyuNqO4V2IhYrw)aYF5>yH8Elb09~OI>pZhA`!zCiXSj|j}$W%MN9*p%~ zLe(31;gI@!#i-RoW3RQZzEpXF_1Y`0{5j#___q_DpBcNKTQvSRlN(^q`afGj{^KSL z7N*~jL}wyq2(A~l_JZ;R?mg80TC2IOqEY%nYqp>ksZ3f=sXLcpo$~T4F70ay6(aEV zeh#KU;+*E7EL0B!G@L66GqyFs@Od7_puB1cDy8x$)M_Ci8}<0Y9ghV@LS^N}hSgO+ znCQjxm8Jdl<c`^)O5Zjv5j8DK^AV8~DSLlMq!;QHLU1aTiqb}&-Dx{yjt zpyfbj>|%0bLwGDN=4RcMLD4sUo(AW=GH%8s!<0(lFjyFiS12RleJ|D~VB+1Id)>9F z!2UNCXj zSZE0JNMb*6ZQWxHYRLF-&Q79_p>HQc6#!FC-e^Frxjvi>wGOjBR*^OmIIBb(cJHaK z-lPkxj(;r~+WZAKWe3}UE$iavM^?#EwbMv~VY27j=w%WXPUGefmA?41@2SX?*v6Ml zg`YWE$beHNAg3_A)RLk-+&s1Mo_v&snSyqQ;4axX7(E$9PHHErfL8UkxHX$#fisf} zNx`#z%PuQ)+P7UBQd~&FLhnolY29rUQjC#h`9;Py##)6B3c)PE3>`PO{&zg(yN)0qF?ZF2>1Du0@_l&PhugS`d- zX-N*iLut~Ew*S)wRPZkYE3NtsDj5AqIL7Be!b+eEN?X zSSZLj{;7Zkcg~e8#K{h$lsa*{ZNlC1-a2b=*$qfx?#fzxB{{9OGUTZLDJN~UIWxH3IM<<=y3u7@9vsQ z;PX!<|AGfs3V_oBj-v%Y+^ifeEHtl;?i!ZxMxEDJ8UVuBujN^o zSb^hfe=mPs3RIrucls>AJ3Rna+HdrK%(yjJK|J5$hZR6}V`Tij{IxPb^Z}f`U-|iK zc~C3eln1rkE&9wr3gA~}euB+v0LY}j5@(|4pk-tJz5GvM0g%UE%m1C39~Q3hM|may z5ft#8U-$ue5{UOd+UjrQLH_pl;>-+eKm-3m{KowLt{Fx~dH{s>_wqkm3P?TuD(rO% z4ZvgjjsDM;0)G0fJRmIa>iI9_LGb{@4*S0|gdaV+#vkRGfqVcE5Pl(l6DvUUIsP5} zYo>41^Shz308pYVOuy6r;gf&b&R-krA8r1w9VQk4TJJaQgW@KLn?IDv2q4e_!QxkG zZ^Ot6U8m}RSO79V_ z7dIM|0g#h{8&DX#P4|aa0LaHTbmi;}?F?-lP3?gsto?6_SeJ2buv)hD! zxX(|*B6il61pEYw4!TwbrdGz+7j_N=4%P$;j#gIJU+7v9NXv;60D#ZNcDk0oRSg0b zyr~+%nZBtSVATnb>88oQ^8t#)xB2+dc0c)0G_(Lfov$l&Ffk+$v<6aW7KV1eiwXi0 z{7uyF_1$>Xb$tLQpm=|~z8{|Sv%ViS5Xjm%0R8ZDATMieMIdG9WN7hwr63^SzgG&9 z3#4qIQjitiuJngJ|EyFA5KY?J-hn{e(#F~jP`Lvjsg;qbv7?)BfyIS_~dwb}tKs{cd31kR=oCf5xtDE3>^ zg0OghHtkKt-&OsG8(jZ-?OHzt1+;4ks8hz;iblxLNY~NgA3<*veXaFBg$2PLiQ}6nRHeee)aN{jC{6pr=1ndgGJVD*eIt50$cgS1Dk|H<9UkQ{QyTH(m_FLjA?y z{s>e5oi&31e}4#hL+?j>{T`}*0U!lgvn&u9>vxMVGfDGYI1J z7mogjh=L~8)<6CC+Myh+O!aTPN6660RNwG7?m+7yKg7S)ih%e0QuFVz5i~OTMHeQ| z4D57&qkaS3`-40Pm{H+J)BPR~KnHC9LebdB+Roh2?su9XJ;vMwoIhjC?MA$5x9@`A zAWq$4670n{-uK3LF@*{>UIU!MSrP40PqA8OIunw#D0+m^Z@@ejsrDcfNgd{=tvdyk&p@PA5phTXKMY{VvCk;B*se zZXD`{rSHM%`UHaSBd%L+t6*qv?Pv$IG$0zNrvNRP$>|y!{_GvT&$j@^9e_cXy~fR) z?)EhBC&-t^&9o5!LcXR&a5G^9pqX#(K$ZcVr2x9SkqlTWySW4T7Jw0da|a3pz&!B! z4(?_c0^q3M{B}d-rYi#uWB`46(|Z6=<2QFVR6wCm;h!1gU#0%;g8#kLHzo_L`CD08 zUyouzGT&*yF8UXw@&|p6`4$K{Xy4gP>fZzoFs*)So ze%cubYewOg#z8*)j}-$L>whDE!~ahS{}Jpr@*tRj+j$>g%f;X5-9(aqK@UX#mSRA8 zhd){nbllp%5g)+exmM;s@-i@A*YG23J+ry?P-DaYx&=W^pa5*pxTZw_k`VZ~X{LWD zgEAg}a{3=N33?u|obLevba>mZoL=*OO;7{a`Ln_sx_?pi?-hdD z3<9l^m^o9HUArV&`b2UvNyLVgEAt2a{8Za_`5IuY)Q7?Z5TAk|AQWA*Vf-8 z|AXEiHvH3RH9-5W6bL|jnt+d+m<`&L1Kff5AOLn4T^kRulLGko8CF1PmOpp`Ev)<- zo!V9jxuhrF4}H)o$jzCO{mrvokazu+h~w2f`5r9WZbNGB<{HtP zE(A}>8R_Xc=-KGmpHfiJfrtRJRv}#nLvkTbMtTMgdRBTMa|is-NJGy;Mh`4}{L>t_ zg1oGap%p(UC!}%H8X~3+nxG&kZ4GQ00;Yqqjt;;`7Kn-0kx@!l56D6QAwb5_(q4le zxKN}M;^k!kUD)yRGXD4m5cX!(0GPIc1}Ahs==?L@yNTX$qpe`_Owl==S=}+Jq zAnLIaurgkUzW@0@CQyI-<2fe46o7BwuJ2iZGqC=vzaP*1_yk^SB47trDcAvu?4Tgc z2CO8o1Fpu-P7imTb-pgi3OGHm)^Pm;P!t%}umQp4`jZ`)fLsf~26!qvD2@Yb0oT^> z`#%<-mjMdGu>f^lKfnUi#{`TMu6ez_zmbRq$Rb}~aR37eP^s^~UVqOFbau?Z6U;w; z17)1);jVuJsQz?)1|Zw{(;5{W^&GBy!E4KB5TyIhFYd80vi)*wXq+0X8mek-S#4Gc zlu%B*K=#=EQ{065M=ylrpUR^WQ_|k^@v?Z;M|3{!{$|7|&K(ULTLTrV6G}cOxQnEV zB&Kl0n0fG#5K4GDQ9{zQI&72}DWmzu@~pGM;-=NqZ>fhF-?U)$jk?4hA#c{u4wfBa zNZZ&YHCt^kFQ+A$_wMK#EzVJVUNR43mm)&kC5BV5t(dY2h=ytuD3_A;Tt2=6TXy7r zJ2{SM(EkXTmJ$yKCtuddCh;@sD`L|Aj}vrlR$Jq?PKvAjNh~8)$-eD44bS*_b+0sd ze7B!+6JNOba1*cbc{^DVYFxS#>1}ll9)|`^?thM@7#SIf;qh%F3-tTa#AB7MS?%eU zF=v)xlTksAZ_TwDwE)wAmd?-X^j1rD=W-bpxtf@Gw4bhUthf<|H!os~O=i zr6+Yr8RgR>_A41-F{LH7Hn#Q~7%?4Uk{N+lMcEpmGlV9Q^eY%~EVsSXQDH3Wr!-<& z?s};^uRqSX(+}O{n=}^~O>ZRSYmnO^iA>R(;5Of#Hzc@@u&!LiVuYW}l~UKYWjMxY zkWhtGkM|O&(oIx=zu4!D(1YtZ{7@LPMhVnVtR_~VmMp3Tz%D$6Wkrt=|wZ!VhHV*?IiQ_ zm5WJEiHm)J3(tQ)C!9)R38qioIR!h7+xA{5rFK0K$?HmK8^!CI-+cM-nJFhYOzMd2($8~qOrTb!gKfA4fQ{%+=W=XSwt?bhVZw#McR?FYdpwpO&p;qZ78 zaFvP@s!v+@9;GRU!TXq2Mk~xdi?g1ZU)z4mGu$VM;c`|{Rw-P8KIFsS&swc4W`mI| zxi8PwH$g@CII%8Fj1aj#EyQk$f9(U_RNt}EgV#QmV;4}{+e4XgU!?-7y3mG!gU@FW zeLpczXHy}@hhQNr@EAUkH!a)mEi#R`FFVR2JnpuTG876g_jPOq@hn0RzF{cn9s_=} z#ge+9n`2JXK_XbGcbs=aB+llnChTl`t#jI^h5GScNq!%(YH2$-a>9U6G-K>iQap|@ z2t;m|yLan0NVIkE9r#@-&=+y>26X(ojVj2(xZ&arT$wQsLa?*E&0)(<4-gPfQV-5} zwj%ADERFNcTq$j~nxUX(h0(;j z0cnum4(8n~>H^vZe({k!X>qo4(z_#Sv7FxEF#%z^?CRvsJk>ae(=T2M=m z8koNFlJxte#$l@OETG^Yg@om3<)Ithv`y=eMLOW<^B}j`4V#+o;9Jz@tZS|WzIq*v ziEDosruLwKWa_LV{@u*uEmwnjH!7E0N(lBCS1|{&5xr)u_YvG*mk1~ZyFK^zY)@Wa zl9i})A!>Ws4I7X7eKF|rZ$TWaqg`s@)ij+E)!_3;YZSo26(7+f=u8Y_{pjiKWWsjE zS&5phi)oS8o8{-$LFZc$lk~d5!3O1kee2`1r7dC?^L{lKbH4{$9TJr=G-1Q_S^i2N zfQWDEQt|RQk%HuU;-HUkZjKTpfcOY{9<`U=0gblhV4j)UG#<9uzG#Io%Nxw&Qb1CeJt$ z-$~BS@&w9KDek}q(#sj;cHVa!vQMdImkTiPH#Ed*U=tynDfj}jv00YH9uN+N4@1#2 z2pMkVOomw5DlzqJNrzXQkSlZD=QAXq0FApPk>pOWEw^26XX@6AC(ig;tbD_|HT*s~ zCaV`nh%tCO=|fcM#|~3e9gft4uN}W}akz1vE54^g5*^=ezPCNw{)DX;!MjnE_CPIM za*`}AViV&zS9FsdV}x7h^4+yoy^jiQ7Fs*sNOf1n=hA|q9m-qs;?@kKQUzV*=P0*j zcG6o_1)XyD%3@~rJ6R4};&Wg08lX;zG}_=`21+=HpqGwhGi&0~$p#q6k>o`M`#ER8 zN$NgNnt9gz*-Oz2!cE()^zw*|4Q~}c5ZmjL8@mTWS^{r?UiDrw)?2j(Xn^oa#EtP7_wB9ux#+c=boW~7x)TAZPIU#hFX+0D1_*uWOOkHVc#XV&UW z_fLu*qkNWWEh*sZ4&R(!aKMTYt|R_vpHX%(tVLKdk%@rlI3IW#9%dGLTrjz7SJ$6V zr{`N>;js}9+lKYB`vGGrV$ETw7+;yP(It~;)&YGGq^oVR2t^hbrv4W?gjY6sxKJ$%5esf7+T<*tsjisC0e)$0+8PlNY9mB#p2eeywYs#_1 z1ExDA6Wjsg|LDptm3eW+4p0UJEzlEU0+o9=ILm_O<(ZbnH-+$7O`ZeEE(nY&(AN& zZ`Gl5;$gb)$qJ`HKoY{lKZh;akT_2(EO;u#`}%QSM1B?P(YNiO2sB04EA^;CmF+t- zSi>rPof_0iMPuhq38s`E46DfzUcuxM`}y_z!-Pn%Xo#BDl9uo)mima58Iua1Sn1iH zg1s$zl<;16Rx{jlWh4@YJ=rhXhA}mau&D!MJBVi|6Q8SERNMO~O7cQMZGP=AtGgzw zxs`>JYp43DRfAp43H7W`BiH=wBg*azj)U~zx3IC7OL<1ivAN z#CxALPe1G@%`}Y^f^mvjwV$lzj3#3jsogC2)DQ1ayYiVt<(GBgK3u)KZzJPh5!(<{ zQdYNSJa0_&Xym+*J)2We20ztb^v!<%VGHVuj9gw3GUNDN5&vQDG$)EVw@lld zx@#9Tnvhn0`2*;A0hlTREGWimxgK>i& zZGBzk3xt6P2xShNxF}5;QPo-;yCr|-9)-L|RIHPJ%4K}q=_+4>ob!=`anLu}(6>1k zoA@qGJC=I{43$63`+dEy)=iQ98JS6!^ZqkI$_SM>epbtH@}7{)erXmt^~xwnGe-|C ze*XFS>1n1ED>65sW3Tp3f-e1{D6B_N zd`A-pcD6LVycf!UEB`Yrv-<_dEb~D>)c$4)wR<8LRpb!^qtmHuFtq%ZA@2UMz5`8V z%D2NSyNl7Q=l&$bBIVgBcm+~!$6*A6R~S2~?~qfBbCIkB61W_Q5K&(SCKV}AHqhLA zkpXNfKj1LL+QwZ#*m|Cata5iK(B>;k?VkB0$=za1CdHoF^f6Y0=!Yg(rTplbsR+E@ z%hGgnx*9No0jKmGNxT;+(eJvwty_d(n0Pv3o9(A3x2h>CN`1C)EMW&Rcr1sDx)rgF z-)JDZI<3YkelZZ6$Wp}}92QTO3(*pJ_Ob=#qW#Ni&|B=vp2U@B1o>rIO|PDK9aO)X zgwWKw7Z*9Zf}X)~P)eP*wyqKM0sQrv?24!NsRq?_y=CSZ|5}vtX8|;lMa_d1v*L|n z4kC^L*<>`7idIQcmJ7BXW{>7Tqfu^6vZmtpQ_isSHxSh?vYk&A()%S@R4Z2PS~TVl z1*tUDwbZo~Mk-H~-ak-BYOCT>Izq@e^4ic+ova_F@|sz0#pm|Oei_G$3uZ8k%wZ8Q zwm1X9!%BL$g=o^rO%*Mig-VkSaZECK1P%i;&>#O~1wMx0Nf2ZlB{75LYDA}^$%7e4 z8SdvQ;exg%gHH^hrTr!Hlnf0?Is_lCPN8aOOf}YBvg+3CK3MfvDt=`!S*K`&AY&;+ zD|%)rCL*a0N5RYbE`Hvn$B6Zno8((2mZPt0>m3ncF3c#FD+QTvFDfGJjYpoCTj^-N zU#NJBx;~h*3cmYVPt%9a-4kpfGt|x`5UDsBTQ*}%MbXMUbi^_%Yo%awq!jPtxHwkP zKy09bEpEWUn0jHHpx|`4^mclwm89&7 zZpt-sE+VD!eYXKcTWqr0Z z9t-dx882yp0Y@LtsEN)>??nkCq;HWQbS6Vy$X!e zB1#qCupl*?cSbQ78sEjEqVJYcwtIB6l9I)l;h-hp+-rckqmlC(#t~OIKL(x^F`H2Q zEfp6NS5Xj?FsYN{Q2^S}T?zKX?ij3MC|v2F)3&#Hr>fKL2?AHc=TNwuIl9Z)^&i+3X*Bo;DvY z^2K|(#J`#@dF!q%_C@h!`+Z8vd~PDe-j|rfJ@*-p79XXCRPFF&Lk5}jP^Ke*Z@JD0 zJzDu%Of1@mut&J&92=l?=ELP;Q|0{%%i4hP)woxVgUEX~3Bh5k^)CcTEnLf3Pb>{I z5^Xt=Jg?9qM05|_53mfE9Y-`E>rt9Zf@VLSZ&BCo1x7f><3R7UJyD%z$w?ijiJ^Kd zk2Wb2ywxfh(_B%YMp?E}*E>FVvN>s^1B-Ut7R1)GY0$BpWI}8m5HX9gYj1GaOu*Du zADOtBT!C9}NHw%%&i?iAq)Hpd-9BbkefE7yVu5VNL)d<7;%Axw4qj7RS#Gsj&|;%Q zWlhbS_wk6Qmw0VY_nhZf#1%>6qNhBi#&$6+Nb)=ypv4aj!x}8O!(0N{)^i=ykM=2& zo`{=bJ|QHTsgCXU?QtOx{Iti37-Z33*f*TF8$e7U+SU@|Is=~V=UCDBD3|K3KwiY9 zFi~Z**rR(&v0GGi92?Hag%TY8<*4t$A-V+}M+~*3ucl8A63|{!do9oUpUY8XqE^GR z=x+EuUFLoN=;O;yl4>J0$Re1z4vsm?|slVS~6FSBV%Cv#^Yk zc%U#+39~nsuD6bmn>8te(X7V5g4hMk?|s5xReh$h&b*AY2+L&r<1*6nHl?T7j!SoZ zbKj{c7wLIwX;gEaqU3;k8h)09+;9?$5>!!nLm7%SsV@kv?>q9i-tK`PR6{a?TU)l| zP+?eyW-DfJt$Ye(Duw{*BY_txIacI;Mlu*$n5Yl&R+=jZ4v808QyXRC9w-xJV$hhD zhuG&X+1YYuh#Hfaygo3Pq=@qDdC}9L)MeIOYL@e48Lvl7A1UR9P$<~|D<={q)QEyg z2zEb@VbMvnl>vbbBI9O zPMd#UaQN3LUN*L04z#9;6qiDg$LTUQsU${!3Q<`vMMg?1q)^-ymHfs(hzhH--Yb#W z(8Synep^jxO-+5PtvN3b+mgR18@yCKYya_Mx~@>6a;>9 zJ3Y6NqU^N6DX(|<{B8_I^^}#FMf+oc*0T}yZ<<bjOl*r>W5{9hd8-=_#IgQbcNyKZ4}2o||m>9A#iO@5Ce=Vbrm(tgN6w zG_Q(XiM3%-Oqym)UoY$f$u$2=ngiFENfqOVXKDWV9YmD2<`qxgSP>%^_m0cVl)`8d zwQ}yo`QkTt&vhW`=aD>&5U;eoAZU^k*z<M@3VQQnF=- z<2muaE)h>n62FQZwTmnEqr(Z~cO*^gB`4erp2u(6c zFu4o!UJ%ZY6k+8o0(RbSkF!~<9^zXaT*weQJ2(10VIq2|+{Oh`XWy^W3$_CF#J*1S zo7R}64tpn=*2BAjcZc~9dRvFCI0TCgd%}&dVX}mwIq8Q+nBs?aFbNcF#V81aUuM}y z$8(?aMm-jWgPI`peX^U#vD^P7ruOWV%>T)m*h>XW`$h^f1xGmZlE)w2Ra)+LNVTQ; zKz+gX7z}Je#>r0hcH3XsELz`Nj_RSwPm8EVpFQ-BO$;cU7ie-+|CY^Q3emOYlBzwPHnEb@!S_y}^@VJP zq0}g`#mAd`i?WeBSdalbb1Mj!|_`Koa`tCbtaMzz~!16Yz#P=uYffwq5 zH6-Bf`V;gEXuTMCnw{lV0J-M!e;PoT7+8LJ2d+ldTusrqc78_Zq>P|+T&gl*>j($8 zhH}BOa4k#GwB~~X9YJZxEX5+Spg_G4c^%m6mrw!(_k##$S&87tCw=VdU97wJtH;z` zIaD$@YtpnFKTld0;PV(aJx*J9_?&9&(f{R;2Z{Tm)~5T!X_<5BaBL)!@aWN2V&c7# zAuBa3yw~o+L8tiUj5f!oL(ktC!9~ioT4Ee0?Y0rK{u?kH(;! zz9T|mIZzVL4!DRW2~{91C@`yj)w#KXCGBJ)C+Feep_5HSCRZc_uklJMKBFwUueRWG zZtN0l}_&=CY`b|IfR~(WXQot@+Eri*4M)~4- z^t6CwUah>m5_64jhfDCZuq_jL@&O@!i7DT-*tgR#Kg_q;$JxugQ@m_Op9dNV5z$T= zkmxfiZ7uL!H=Eu(S$eWw)pRnqah|4Kn4!p9OTV)v`TeubnjQ~yhU6NAL!;<&0lcmD)B9Kbny(Wx44-TH|G&)uI zrfunb>UzPV;4i_ghsP2b7M3h>fxZW46keH?LA(#gWu+||sy>{GR8~8>%KP}BgeX@a zL(+roel7C3<$P6ms5gt-$+=1n+RGNF`cyaPGGfmRiBpN;f<@=(wJtJe_A|3Nu0E_X z&X4Z!R+acK`KpLqG(T{1Xs??%a=2)1_QY(!GQX`nUkVI&Z#mJNt&4@s^DutiNJKK1 zs9OjTE{}vp`WBXQ60WM3=J-?yERylrqPW1ZCwIytWkh{P%vkRcIpwgG80|Z#TVk|v zkR^Ig(pp!P)x+Z%+NEsb;pqvkS{N`pva?&6RrB#kM?p# z@jJZGLn15cpFE5w@Vpq4vbcZl>I3&|NFklqL%GK`l)KtEt;3K}6&amWQCQqftfh>t z?kEsEG^35*g+iu{f*gj=+ao;Q(;JUJ4A<-(2d-DEQd#>eVRQOBTLL(Cm>hB_aPF&A zhy#A+lIrxvg!LQVmj4fD-yGd(({0&t$F|+EZQHilv2EM7la6g09osfKb|&fXeskYD zbN{$AE2~mf=alj!PkyU*?X&A!c=*jj|F_FO`({Wsd@he+rfW9|f&=aA-)z_RJfr%Shs=$;|%i~k`aYdwZk1{!#w(N^Y`0qNWmWe6r6)B zv#G5*QvxmMG`|`I1yhFw04P#ShdG9a|KWT^s`lMEMyq0YLwQj$!=#a>zX&QQ|FLx1 zv~|cDz&N;Re>$Xlv+j2c4KIENEJmI#b-*c~V0${gyoQj+Gjy&yTb@~o;t^kvv2 zpj-Jg6>@sTj1W%BsRh)L@W72k^bgDHG!SURh?2$iepP zjdx;Vk*Hgr2tK}t3uHk&uidkn+Zu@Yn<3L?hmdU2G$J%dnbdDkBOw}3c|wYW;oUFt z$jBAU(*wAJg#aO|s~8nQs)|NM5V#;~W#I`BzGr1B5X*3R#~m^H?0D8Q!C96?-C{9& zgsmAQZ|N$zPg%mK`p5$$E;WP19;BK*o-Di1He$h|EODh<-|~b`#lLX>$h7}XMZ`zw z_ND2J+|4ur@#1CFDRUIZw%p8DmV76(UjNhRUnHOWY z?8iMUvNQeOt%9ZqOyXMvx5O~*cC0;FFlW!_vG7$`j0@~5r!WpEjAy$c&M8nu3!51Z z@Rw*@$hf@&3>uM>M|nsz!wnqxiO?^M&irl=gKjIoRd-;CU;$Ryr*H9{)!Q;%=`>U_ zfOiFEQeZ|-h98eI$wZp1P zOCsA>cG|J9JXM4rcg|tIxE-jae4L-BAIULV4_tbW2=RLa5d=20Qv#qWvNXVC@K{;` z+;8DR{9$f~oFt#vuEndQyRk5XRP7d`=gPIuZIn>ayxoTU@u&9tI-hq8(ht5$i$ykz z^?A=^=1eGej{$_4*c)$L4=}DN|CAsM1xFASzJy8|03j?JNqDqkwT045F1wiXf85gRW4d0jV#zgp-m}yFZ3TCEk2&8Y!(kCb zkq#f>AO}HA3VPezOGgw1v1K-*#Ngn+osp6-sEWZP4tQ69H-n`q-`=1DlFzZ7pWN; zd%HE<66~hijRB0ydQRS9caOonQ;Dy7HO6g`9T!sVz}TetlE`^~90q$8*w z4y}XE7#_WqnZDmhA==R$urQ{#g5QM5zzBC&ZKfdxOD?V_4G!T$(U(iItkayqwgP4h z?&|gG_H3oR3VlnK@n-qBX|qKhwMHY%@#BT-(zpk*Q)J3u@rXkZkFU3&Kx#E_glfv% zP7CDRlB&{)tP|Fnu$E2hFmXaAt`jB`d#I?w?pIA?He&y{B4_kvY^m;;_X3@FU{gHq zGZ{>@LD)N^GmYnDe89Wulj9l1I&h79J%?(1^WKWG$|n+CfEpgBHfu?DT;$&KhbI^9 z!)Dsc<5!nw$p?$6cCrKbui~__7eCSOBIpQ=G*=pu2JANQH9;-eG(wDdJRb-XiTX46 zajK%+Iq0&mn9_Z4?Z)Vb!Rx_bFp)j9SW3>r?)vzEwRi)~#O_UYGW>jH&hXXS$u9MS zWWa4l)+Dlsf7&fxt>erxG*T}57i&p1i)gv7WhJ%np6Vf=J4OS|Y>HLU*RT~-GHSAL{Ev+ON>zkCw_rCa|#B%WMxi;%qA|1dOx|EKr6lI~(;Fx$fgeXXS$A%i30M2NdTF#38j$M%jwG{XUJ}hI zv(Zn-iOKO|WfiVG0w(yis-K!SEv4)7v~?A*@if(orh8aiR^L+IW;;dKz6VO{2@uLJ zFtH7==4Nf1NIkNjdwC(kbS=-QajO?@dLHey^8nx~QT_Svc4YtN0c$Y*Whei0pY;D; zrvFO^{`(z*@skhx@ANg&SNUIG|5^ICh2=8}>z}(dmao0u-^eVcPZ0x_Pv-F_D-?qD zZ|E<}Cj*fAFPod?GlGNZle72lUE!x50`uQ)UtO90Mp6HJf`3i_)tK=!DC0kJ2>MU4 zfUm`T)xQ?~RcHDP8Tl%I>CgRb_aFYxt=}gLmf@2Z{FQ%szFPik>aWt@nLZJy&+-1T z5&Q=Y{C|ujG11fi*Nvbmn4;ogBlqrbh5=zCVzB9fE&`&)nHD0UDgl9TLP-c7gdZRf z0~B_F%qkRAhjcEk>~R=KIo-m~2yJ3I^Ssa&^9Zwt1D?IZjfZytrVUQ(1-H|RCgTY; zNaK$WtIhZO4H3b+OPNr?JbdXfWsZtX#u3+sms|8k@9~Y$Ixomm=^8{~g9YxxDq?8 zE>FMR+ozjDX{QW2%N36yV*K~f%vI0*s9&B+zVG;*)?O^(UOEfv!*iVwV}0k~PKeFX zm@+WwA`3Nn6}n3FX`s7qJmY!oZY zQ_qo)CaO!d$o(vVEoqozH|N^t^AxqrVV2KQBw)(NCC+0;a})CmfL zeKTD;?PCvqV{f7ES}KV@yc_jB1(1SQytZ#0xbv9JJV{{eAA!OtB%79u*AZPb3) z)~XdpvU{((D)}ZI%^Z^}lP(0w0V@-=rJ4uZE81G%Z-dw4!PB72ZASm5ou3wP%_(`Y zKaQasdWvlzD-*pmosLc408E2s$#2dGoK=A-wmelc_D~{UT71?uCW8m`Y#;2}CF zg)P@9H2~1%YOkuLI5xfsORMmbW|SMdNjms2+ZIu(QkT+k`gOQ>`C}l=>bey*R>#(9 z*@L{@e_Q^O7X@azXj!urhEfBMU}4j2jY%r5Ji*buK!ibliE9B-BI)Fhk4;-aswnXFMICPkpAI|KLU(^(CUwmOuw-`62fGQ7JnaTJW%zf zC+0P3h}ug~-U^&kO1n+iM^a*Ok1I0MF2`YM889=_?f)?jB%oHVX`Owb#s~_+14Hr~ zwf&G_u0(3kBK?X#Is zRqN7=6=HJmER#l7cc}~*-FV$AA1;bEe?Dps;kXPQ^NqcN9p>eMGl9ecQmK33#zLS0CY^O;S1f2TXKoY%77{S5)pDZg_kGVYP~_$bxw{P-TWrVLewK>8VFcpRiZ zaY%>r0|$&1yQeQ0G8dy(=eNaFjykJdIr?@i9lcoJjh~;-Hg`J?7sJH8e2o@1yyed$ z=7LCaU9teDx`6j0+rv7Dl>~{+{km%`=gI`+uIqH@OK)%bjunh+EtT3JBz>0hQIde@ z6y($4%l5H~8%Iud^Z<|IoQN_*oh}?{p~d*97Z7XZrmeaVD{U00DVoF7`_I=l zu_97LNCsAU1}p=;K-;K|WDFl=Tt{!R8dq*g!tE zYRE22xcpvuC4otuqO*8r0Cxul8_OTo7hoq)#q?OyKIX;~K)Jq&`rQFF zI9~k^%$Gg(O8FmcB*Hc8@ym>LIEug|3i~Kxo3T*rQ0*j$@nz6MV$j%^6s;pR%|VDT zhEqS@vVrR2=oM~y@S_!Voxo=tRwWqRDkZXv>w2$1u3k}PFf^^116PVwdlZP_a~6w* z4O}O63W%^{k=MgVEgRr$bk;fm-Xeuo{}?g?am22q`Ix}(J?DtIu-ge!Onq@aVz)6L zaX4Tkx&&NBgPT`jaq_3@YA{f@=@dv27-jHHH+00lQSn!8@RDAJ$702jdy4phzPjxW zi6C|j=CgTRrgnKlC}Pvsm6TO=;)+gTbvtQz`X=mY<_*)#h%08+=EQrJ-EV$ukfWgF zyqxWZP5$mP87H)G#_YoH8`91x?=6bxdh#a!O z3-P1gc;9Hw7bGR!lxRz=u3dRMS>{Sw!>}FhV?nV_3LeG1?iI&l(+at@H8oOQT`J~+)}HUuNd-` z{fq@!l0T$*%F7;n9LL>psWVA$g62W8z!q?3HRmtq4~r0LjpKN+`}C}5PUoI#Erx0L zkc{`$)9oZMnzA=tgX_oMS#a~buridep;p^=bDVv3xD7Tte0@?@Ncp|-*Vr1}0akBB z5&ZkkM~Meag|!LO07z!A>>N=ng$YVhaI!YQ!4VAs>_%|h+k`}qbVN$^rT0|iRGvm*V3)VFgw1V#nf zT6AA4bVGfML z-~3hE{t;yF-6o{-QpXT1GR`-IOGly&U%hl*vpT<~3z$RQCh2sn;LV-}`LiJDg2PjK z{M8=y%;hD_P7pYZ*80gK3fTfGSYCj~TqNsffpab@2U0CBpy2l5Zx3)MZ36{#kYxIL zG7o6XO(9S-Y?3t?c}857aRu5b`*>~7=>gzqj1n`ukCVPmWl)}hl2-`{dGu}H#V~L% z*^t{}@?1ptg)0mp!I7mp(D}QUHm+yNUyI>ejJMZVzxZ;GPkc>uk=A=iL zY)D$nGa^Npd8)^jnW(Xvny65->+=D!gZZ{gSQ{7N^5RZERt`q9FRe4U)f2Zuj}#+S zl6m>9=;AWeg$wMG^d$&P5X2gG0~iNx2~MMK6+%r`xV}=9TI96?aX&AJde2iM;+J~W0w_xy&_M;b3lYvA8^G;YYST+f zW`;2{M&`|^VwHje2b*3V)8wq5l<05`;PBhNt9$7_a=PTWp2I!!y$jbJNzV(<(yU<6 z8&9@@H31F!S*$3=Borwnm5_y5h>(P`oElc&ZlZBuuiz+CpFnZK3VD_fF8RRVjV6>$ z3he`~=hz$cFJ8!XbUil9g(O%RGWCq@r*EsI8m=e|cWcl&(A^!*mi@v654$?>g)f&E z6gY5Z4Y@j;k7Uy+QNI>l^4Ju8NH_pmAGRfSAw z2oJ}ou=`c(=)p^bmyoL>Bso&hE;;0eV#PE@@o@P#37~)tAE!9NNv} zwH2ythFe>qtHup+9F#@WAI;v*D-69{Hc2ZbQ(QGSv~I&T@LU{p(ep##M&$d;zQW;e zWNU}`?S9lz_*OtqYy*vYS6?$BLY(DVGGS?cSPg77__B}?D9F-?%5oN^=odFmXV77m*kCG!OluqJ;}cRPU+Eq^A-1$6Pu82LT1wH17yG~s40bBZ7tu)ivXYRK z3)A!!WSj?xJ_qL3w5B$@?bCrC@)8$!n$vqG0OZwErm$Ui+3zq`c`SX)n#eMU`IWTmKhlVL^ z`h&8^Ad9R!@q?7{)mrWbxZwl7_5+uhdp0vhlY0E9u(6f8X3O8HCM5HU!T4%x#K2PV zt&fO^4+z&YI%w>Q`fTFj+oim#$P(Y%P&IDaw#8e|3eb5W^c3KWf%)r6lMlt253g#) z6~uZw@yh0XP%*OiaDFMu_PO0O4XPZOnJ7DF_Icf0C^OmW>w5=SXmje;e%U;2a@N+# z>=`3&rO6^BmKx<=ouTpQj~^8rOL|tI2hXWy%{(~u`U`EEw8P44;*d35-5F;(>^O=&tI@ zG)w6AMu@RUGXiB_S%!>JsLQEAIlyKGVX2Bq^e=D3F z-fE13@hVGJ$!QioiWkAj=wuV-sKrS_E86#@)9yZ}_nb;vs60Mcv$Va^X2E9^bE4#> zqURNoY6Q#NR!cnCnI86Z2L_~L2q(;0NauaQi5~T1BE>@L+U?)DMIhrHjh24Zve?Zl z1@?15!V#&n>9SOjq@tiQ2g{l!{GvU5xdNA|Qy2qZ_`{23n>^4oI z*+H6)asUK!pNoH83ccHFe8zQx^9>+0}&f?l||PRsXM9g zA||L{a}O?wsDm6LAf;vhOw`>3Ov81tjUl$a+6pi94;}`+&;E(d`E4ETX_GJmq6W9EwT*vARZxaSBB``zYl%IO|D ziV+BWsqy0`Mvv*WCE_j^st;Ce5Z6wUXD`(|q;8n&R{v?Tk7%sB`$_~(@O=*~RtJQ) zfIUW+6TiP3f>ExZ#?oBhR?J+^*w)EPUo6Piw?HcKro7cN0PLtQZ`EpIC+TP1HRIVHX9+kFU5io@?osvjV&0zE7|#0@`SkNAa+ z@uq)w_YV)-y^4Ts%H%dcdWlY$yv9Cj$vK!ASw9q5MX}YHOe9}s=`hr^@aXgP`(3%> zHc@A@J71TJF_1b;9;WDU{SvQiX=~_cId6)~6`UM@cjTINKa}C#;0iX7o`@JNJ830v zx%f>M#C6UE{Z`85*p-+i&M0GgZhdi3QdUWpd`X=>&)(vxv)ozxhFli<6qz`|MAcxq zzK^wE_w!&_>LQE5@_8>cevvwZ&S=8#I388L_iYv*sr#n9iS_?0bnNFA8asjdjwb&Sl9=z%D1%_)T^s+be9jo1mD0K z+Ws5S=6}WT|NX1_*P#RJr&z&%BK7~TCHhYa7Q?45!e{=8zcYO*2>&zvSIhrBHp|~* z50+2$BbLu`m_JVdzS?|Q8NNJ!Ii+lWwUJmpegE>ae6IIv<$rtq?f-v|`ycaudKsBm z{K>zA2N9Fxr=*X=Ga@r@8cfl81n;4c zD$#zG;1GyXR;Qz1P=w3uVU^?2gjA;=?WSs^(*yUg`Kh@G;Kfnmjy5g^MgDyjLorjP ziCtCMD^_8PifxOBli4hNR*n9B9&N;Y8|2J^y+;(`@hSP-<&;UZH{pS6=npLjSxR)R%L% zmNf`CP`IQ+$>}#fM~6}m(y{2z!Jt&Sem-`SVT3{3Vfs*pI`tibyFI`PMdfKEml#7< z2EPmRkqCWZ20LS@8w7@=8lyo5#8j~eE{4R^!Er;Zl*Lq*6dqdpl$Ps4AWEg>v?&rqR&S;u1p!w8_p@;CWwwUN)37)`msLTB}LGTL@@6JabuW6k(gr z>w35&%?3_`cfG!YpGS!%+rd8Fg@N=Rm{(MqQlW~-B}n7x(TMzu`Bb848vSk|vJHgf z>l(LbAodQJ`)?u^HX&!z9Yt0`AXuWzftQj}%KV(Dis%Y*TFUaX9i0Z-hWh8`#dyl$ z2`VF-OO_a_m9n*3g9rj9i(YSXr=iA9Euicmub98}+UR$kz8Ac1ULpinGXp(j1HP2q zlhHyl|0(_eOxI^B54F7sEx#$#1j^uY)qA@P`~WuV{sxa(*u3>iZX-?Ya7#6h&6bqvWbNTM`WX(}jG!^MaO>A$id~r9%dN!#? z#qpNMFCZYnpDq~~2pR~@o}IX--+%<0!{D8y$e}?E7gGnAF|#?X!j1*)&!GKsMC1 zhQ=3eE|AK;4C4~2b>YKFL?u4?(X%;?Da2^5YGLa@b{hpOWk|m%Oneboi8TOm`%1|# z!~jn7BeP4tD~_hkatALga7;;ZVGRGCJ81ZxBvGmNk?&Qv_eco!Do=jV{qO{rN=Xb-^=w;h_Q)w=>!3~Id7o!H z_>s%I>G+ED%H-mDEejlRL;c2y*HzKdQccZL!6mmVuk3txCck_AhkB=yPtG0{xpiS% zHnnQ;%rPD~>r-^-GZB|*bF*i)&NOkG=hhp#VMP2T2|h%TQS$>+@mxwy>`&Q5kY9dI z?!Pz6znMrky(n|nIU7L zXsT*!C?zFkyN+HJ55p+tC9_AQ8S{~;m^V@D{=?G+)l!c8^rwDd438T0>KnhZ{Ubq3 zZyPVKiif3Q@H;4yZHKX8r!rEHT!}OFA5fMhejY11ZgJG;j$D6>h#!cP+VKwQm+OgP zwmSyg9HQws2o)8RqSeRHQ=4K3$WHcXf=G>JcPlfz4kp0M8H-_$> zhJ!hrZU|#b%3%YL8hL8lD6;@!U^D@2^Ue`h88a_LYcPm#dQ1Rp1e{ z)4MosoM{kU{@RzqFM=Lmcj+w#yJ`ti-O`SLsSRQr2qA4}*E$@rGd2sedY1;1iMu!6 zZb772tz4EuNIFQuhEuwS>4+cLBeR{9b31`v@>QtBsL5PDEyH$IRUvg8<*1ceXF?E zX}kd+#7C|~tgocHYRJ@HM;U zhCIPH<>;6b{+F3;gvc6#Nu-B1(d7dv?rL&+Ni9DYdm1fIyVu?FYW?1HjK|n#e)F0f zq95hJE7XNMwon10Y_Z8-X>j!0-LqIV!5hhRSUQV@(d{&O)X`n0^%^FfPqFvhpG#N! zTQS!xM*QhS`O(?>7zmLlzmVnxu(C?SOW`RxKs~q51j+2JbA4MTW?b{s>d@`U+k<(l zEaR5lcPe%o*gMY6`tb8=m|&TD3DP}3^m)WpBM-$rPW*0A7EJ_&D_Rr+6GDST?mCMZ z1uY7PY%aUD+7kh*6s6y7L6`R}T2ffkO&=#>EHL8i)&k=|0KNgJYEhlF{301fa5tIL zinPv#T1|?lZkTh2k8{d5?h)wOwtM*~7f&ZPy`2l5yH9g&C*aq^KGO^g@(9eMzD~N)gAs)Pr?S zv~_a#?nXWW>F^p-qVIQ~Ugg8wQ#!=ncKylM5;hf6soDyhruDC z!#yyI2(opTGp00KnsNISqHYZ>4SIQY&M*ZVm*Kk-3oZXHzRe?`pRA-!&R9s{zTfY} zSao#1r`mR(`xc1$HrK|+Boq$=`r}j3bg|-BZuc+Gt00=n38kOH;zCY!oZ7go-_KsO zP(YCB=$i)fsS{Bdk9YX986S6Z0Np&{s;Lo$=Fn^V+(`Vi#Xw$EAD%`o#z5d5kc)oq zyZ959ne>UCPmSk<7w#^NLLyqK*#%QHw8I%X<=L|{sLk_=YEBQW~p6R|%8{Zuw zy;3ou4I;Q>{c%^^+Dm^t5dh)VJI(o}qi3w;*mkF}wgYu~WYvh<7yz+{FQJ|KxdT(z zpAQ(L%uF9dS`O$eT5*@EkI-JWLq)yUDvPzA-cm_^gql>}blQ?Ugs1{H;a{l3SUNj} z6bVB*8lHJCpYE71)|1#a-a6>GY>`((QBcy7SD(L#%|$Ky6=k>x=-j^g0*&vJs6toS z>MWlG!u~8|0Ze1{{x+oz;<*co#i}LSNBo|eeJ>p|q#QkH0P(2spmWtA38}zX#ATG1 z3GTTfJgdF#AhF>y_6I@c&0?6!{ESoG;oHi#tV^QFywfg*cvHm)W^X$Ipz{wF9}X9l zpr$i2AfN=B&{NmCp&GcAsBIgpYo@3HIfYK*1wTZKJ4o35J&l@VVg*KJ@q7MzZIpa39*LWY7%gCaE!8u_Wo5N*2X&XYF8&dzRwBai@6(Fv zIDu|hv6;mH75qT;SVJYrm5{5zYokx3rdoE*3-g3~ePmkUC#AN=e+v0_k06V}uR(3G z)NkORSJvASE>`o}O(%Di&=*h^Dqp^zHiQ6LQzdX5(x zwq|>T8~2H}mDX3F-%a5JLuT`exZ9#PSQ3ZN+ELGg;3w>@?cMvg+zL7OpjHuL=)vy zPhn@;yH`L`FgQ4y08SCgtc04Zh<#8ye z8>0-XHXlPJvrReD{TFeAiOs|QAcH(spmaOgLVFuxa}~8#GkN!P%wV&hz=T!|7}-hz zQpf?LnjA8S5StOP`?z+PuFc}(Q&7?+$QXoaB>R~{OQjjrcn%>y9uc}fLw=cAdl)@L-A&88q8Bsg57eBM zrRJ{M>iX7d&}I%=sfr-8D#%PjI-O|3J4j8Gwk~EzvBl%O44!oaFPvT;Hm1>^XyZ)Bw>vd%c(X*eBuq{tj+vJUhKp;1&gC6wB?b%H{>sfItX|RCwvGKozr^nH<#PwKlz2e6( zF@CFOzXFF~XjTWVmd$QTz8{gRu?-bl%ZUYwV}_(FY(8mveW{v#sH1_uPZ8G0+x_{J zh+F8%j}twfXuwq*?%ertiS*I!U3xH;p~tKzM6aip6d{+(>eJ*^xck;X{VmA z#jKMUIe#j9s0I;dnoZrxS_Ii-E}x7QVSm#roDi8P&SHnfzgWzZwp_{^fjt+bRjR^q zC>oi0c4rnt^+adeYza7P3+Sg34*qJRkefPawRUY!1cT&`#6e2hbo5L0D~i(N{v+Gw ziqbML|TOYDsH z?KOom?QzKsYR*3|R21jgPfvdahO*^oXbNjr(!%5Ail*w=xs=*$sOu?<^2+n7E4fR4 zYt>+Ia?Stt|6PE<^{$ffM6qK+C_SGd7;GoDYa78qJ@B#v=w)Lep6hR~*)E-&l9G`} zsbc&*yQ7PFbwL6E2-!ZGNZ@m!bR~_Melbiml z%JhZb7s{~1Oc8wtpUt~Enj+VfbZTkrlVxAJ7tHO^A{?dy8s0;siQIc~_#~B4w6EAC zMkNuXt&)9a$?h#TjlDBUE%*FP?LQfYtUAQ~D_z-g5}k5oo8RmHATi3is6JbMODajS z$>oyX)CAHH1CpY>VJgYIO}gUY3KCQ&JkMcTyI>0J9DK!i@M6|jfccEU_+ZrW{TLff znHIo?d-s@KrIrqyIHaT>wOX4qidbF4kU2Y5G2covd0kD|&PvfbK+UM`_xiKSV0q7r zEDNblR8zj>Jb*V31ijCX_;^UN`Pm^QT&#K{%!UC9JhWFTlPKO!>PcMJYkx~&4|RTg zBz`w5H)$T`B`*<-8N?Z;K-x;U8M_&K(>QFRtfIX1yfnZM#W0F1Fz%Lb^xeZsO#J8_ zD^jSX4|A>E(qr@3vUy{W1Ise18uMu(&^^)=x)~7q*A0W7L1~^-!%9NPrApH^xfhn) zq)6TY_plT)yLPs@mR3r(r>=x|LOIIdwv!%9r9e8OAkgQSac5$A6;gsNN6onY_6%c2 zh9WpWaTZwC63i?=KSj9s=`4=gsme~Wu-FnuZxGkw8*pNaLa zV*GyxAO4@Ve}=5nf9mowe98!aC0YoU&)Q$h=U89)zXRO=C;3<{(pg#U$cIxsIq<0p#R3oe%AjA1+#oA)qnkL ze@FNm=lgjn9V^7&Mt`fHc;^4s68PT>{_OB2!1~qkD`)r$&iz6@KkHv@{??_n_!4;id?f$2eJ$Y2_mw`!{0Cn5o+*FMDy} z0~_o>8rZyYW#66p(-|FE22pT+L5L zBJ;VDP>jfPi3s6*wq&f0mri?tySK%g{f~tgZj{r?f$Nu)D4Sy+kKEyAO%19nZL>7wF`WU`qzY_I!6XR$K@ zJ9-;knnBp89mB8gARNN+yn$IOq3)MCWj0L zIfSi3uN*bEkuQ)N=f`GkwQXbrc1^5&wWGAyWscl_L&HGH3AzNbQA6L~LO>F<-d|AQ zNJpM9S>??7An!DEWRy+_{E)*XkAXnADr zSEWEd>WjhO!3SL!q(E2_JEt+XI`_kzktqm6A~Jta;Zhc{#JMzdj>sJ14u>hxE&JIg zP5P6Wotsg@Hm7-lc%opA!<4Q5$>>Ir3oj*}lRsfFN55lh$WZ62C{ULBRmwD{ZjRlM zwZdyzkaV9Xm;mj_UoUjK*^w2NxKm|0xKgl^QHQPn5_PVx5!o+Xt7;c;U(luN=N|6n z{_vh3ojW<*+4rJ+i@7{G)1~v#{|2hDuVorFlKhL*f_qHh1DmU`&;gumHxK#tZu5QN#>@l{;hg;Rq-; z01lb&F+KXrRhDNgGvYL|z1nQ85$!r&n+4WPikIerT6-@Q_3_M2d{IBA8BmsIU@IFu z2F`;|esIyUvkPOQ!}jFN1S=7n?cjqWph?a;d1xeq0JOn-w)I%Zl&jiV%eCEpYn2{f zN=Cn=9@_s^HTpPn zeVunss@%XT)$O^c2mfG=_QEezz)aSLbZeH(y;UgK(d8EV!Ev5noA{msnyGDhMPma- zOxssux*y^VribyQs&*za-u$uN8Lr8!$mb{@$IcATkI(*7qb988wD}RR+1-)L&C$SF zcI4yT+V8M*IY&Au(j4p<`eYL#n3)WVfG-wRBW`r*4~DjOBXR?@yRlC2Gub$5VDRnb5%xQYJH5xH@#ay? z)YMK4=x<;UHgt41e{C7R$#1siY>&m`TD6S$0QEU~@-y?tEsI?Oo~-o;4IgJh9QAL3 z)GTdtTd^(>aJ3I2V*njMroW{b!Jv8luW!1) z36m&TD%yt9n!O*Yw!%D!ck8EsGT7UG5H8&l;n>*A!O)_c4N5+Zb;waJw}YUoHRlPw zso<{~nRd@rA^6Ib&Xcp5@@inbogNvuK!B1kA|vlDdA9Xvfky^vPKkD%_kHq)?Y$h%bW|)G-e5M`T1m2`kLvHaj~t z1OcH$E^pMZP8@3peQHiU?>D5X3&8q_Z!2w(vMOBeB<;()AX!2&$+7W9w8OVJp8i?BPNJuz1 zNQ&^<3JP*^0^N(Z-y9OWwZ>^qY>a1bKweYV3M`0G!A=CF2;Qr@CSwZ+A@S%&&k8gv zzs=Z1u<=WhkAE>*kJ(3CsSjB4At^nwpF1uGq`D+&?EH;rN#{KMKHBF}ui(d})8{yU zJ_Mr@JoM>3R$5F>Hkiy-bt{3sY(bWjdRT?N3%Md(^nkMhovQ^)$Zbk2qm=mHAI(g& zQRtyi`YzMzw79H3BKuO~4U-T}nXU_HV%o_?sB?hUA?t>0B~fPqzIOvpk<=<_5YMWK zzL+AA*uDeAx$ROdHJqZ%#rNM7lbYFK?)Ne$PtO*2shz`e3RODyQ3AUi8{ID>GQ!)E z!uAn@5vAU8HTE@1UrKAcev25mbDc<>PVCgI{iG{iSHZC0fE`?1z!r~f=if0XQw{v8 z&Xz1C+6-ctDdwaq6}GqNBP#VJs|;P0k3;p#lW-ThbM4QG-7lH6)=@vxh?#hao)&p9 z=8DyaI2V>#{;4!H3GY%V#m0Vdt~O@;l$vi|PGUa+V6rr*_Rw_5@@>{bkWLH+d}Tkk z(igMIwAW#z)y5Kn=v3YzW>}OXaa8ih!M$iD({Eh=;NOsTiPk~O1D&KN3KhmnBa8tl ze!XwInxq>#A%epf7wbb<@Gy%>n&@&1ku(_k`|IDkE0V#xP1#>?&hwSnZ8d<1CI*>J z&Dek^Xnt;1h%Csx3Inis(J^uShja_?oRL~wEH6qkteZ*ScU>^@JrYf_M5UMLCrydvK8={Av zTC+xTvGWm03J?X%KnCqeM60ImNf;F}G95}6>t=$K!eo>Xv)wUni0dn4+-RG_L2$B8 zS6evi3CwkS(@|7C;>Z-N1xO_QRCkbnK#hjt0o6D&tPOa{k}>s4*1E&YT{!HO?klLV zZHeYHDKq{-{EO)8jdv_dVZ3*bzVr$kZu_E;m7%PTN2nH{FR4=Cbj1}{0KP_aLdwa?xDK#TD6ZS1TpE`O{NY3hZ`v%`zZE5}hhlk5kTsN;173 z0?(P%&senZTA9N`BV$cp55U4;L39qFa3rtzD@-p{7;E?=&HHoz4z@Kuj3~5dLu_dZ zn&y_nu?sXI9bAEd{u3a0ciH`{5TF?_Q;e?A^?I!ips-X0ora7q8{>0L7-bhL&4aO& zrkYLW3u}L;gN;1{L=n#;MqhtZe~EB=D}I9%;-FY=H5^7q;t1m)F6}F%<#&%aSQv~1 z_YU>EQGI)qOMT&%8q@CaladAA$MGJs`;}vbLoe4%|J?=?FN^bq;_Zz{JFkMRAfbnt zLu>?AeTS^OV%ygcsj(I`Rm<QQ!4MIZF9^DH6mwbsGwg-hSO9#y5Q1opW9!_BjZdodq1Ie>2)F|ID_BWA))@Q#bT}Bl1%;ivxSn%kZit{lNZ818ljR z^@z0cdr>cJY;W2_c)bPMPSkJ*hfMssL;)aT*pp42I+s31%A`#xecXgBE+EuYjZ5vm zD%;EsKyspFXmMOu6A&s-annNsYEB}+L% z*|V@3B$SVa=eMzTZ7|k>4ZGOC-lj?0y}5GlUPPuRDerkNcg2nv7|&IRL?mGh2kphb zB~sI&N84mX33Yn}EuQm&?f2tanx01~U?KFJhmyQD;=?e4bR+rJNJb$X>klj1nad)k zXm)ldSR$?2r9$xSY6ME>^w)QS@43qtrZ-C-o@phhX~|P zADV)A0ZH}N?YUfSVl7jLKW46ra>aRon;?VnEWf$lE2e;}Vl|AL2pA5B?OP*~AEog5 zaGMD^atN9pS=RUX4XQ<;&|$a*dQ$J@6@cu=As_{j3Xb>GiRGV80i_Ou z5?v4ePKCp`I_piFweq|rso+}MujsICns;~L`-bw%gMC4p*jN0W=6$_jm)*Kz;tWA+ z4p0>E*eL!u{ERaeauCx zVTV&$y&v{ffJ|51&xU)f{8^38)Z|8e3`!{o?Le0K{DA(ZvomRXpY9DYV$M?quYp^dT!K_RzvLULx-x>zMo%+7;v+;u=a+#3$w zGDl(}z+gNqLdD|CUvXKg((EhI<$lIAS-ovkVFt?ZN7C5U%$lTWqw;}5nLN;*HG!93 z?YYjGn*g>=Zyr=SD|B$q0MHh61^l4se~VWocPk;|iO(7Q4LnRnaW>t9a}T4;uDAz_ z$4#LN=@zhAI2MY#=U}O?Zx3NTWJT}z>GN|}Go4YlW13$xIW7?k797Se8%}JwLR+`# zHB0MUxGK29%+Dh^v&7{mh3fyib>M5 zDY1Xs(YQ)ke~Re&C+3Dhs{xbFO#o^M`(U-0F?1|Kj7jG(0W=oCBmwZi{TsBC(_4c- z{Jp4YMf@GKJ9^3IA_W&W7a1s~eNSpqa)cw+htccgUHs7?3woDdQBhUiP2r8_fW!8+ zq!_6$H4!?fOLn3YutO6|>C4H2etm@jeMVyOoCtgpH_V?nM1L`rKNL&HPH+Q`$)7>y z1CH*c+9^f5LoVF0MkL2hY2Apt#wD3sGAev$zYt(LTcOo?x}ZUR;=Y2jh75C<%n;%t zCSlEy3lT18<%DvyPjew#4eo(C(DdHjaD2-qNY~l|WQQK+37KN1`)jhk6MTkYg@n8Z zLdasfzh#^?O^3?ZGE?{1NPDPkO2u`x<^B&vz9fS|fwx#f>{<&CvfR!lTM|H+(`uBK&C}L&GAUN` zp(oIx0I*#rsg|p7wT+T-2=+ZyW^pQO5V)uOp6M+GXEAez>DWGgtyGaaV?d?rRj;7@vfK%PoDm|>Am?aIQI0dg*SS|qAXhT>H z*={H>`oxkXUQiF%EC6zPzL%X5Mm!h6zTU`OmLEvKcLTt#j}2Duw;R;kBiBi~Dd+Ky zY_)(W!ft_oe7&XsQX+s`%XHNbnTt{}F`$a2wwByJa$7#ih>(~M({_eS13n5??`a(b z1s`-+0Vv`shtOb-r--Q4t$pC~G}Mvh`|R0^y=(9^&mRLp@85nYRE@3;_(>4p^$F&B<0J5SH9TItMyvsjHd zA>w)t6P~~4jRV@MKT#9;vSVHp(2`x)cS_phBL&lRJr7nTVw2O4qB1!+3ko{j{7DfFJZA-d5pBD#e{|+=)Rc0&?7blGsYV@%xxg|FH0O2gWW8FVyx|1 zD8TNB%p1tWDSH@>AaMps00D(^R*Ju+q30h)OjHvK%y|_Qwl;SWfon7@8fWg zCHC}~cA-IS(;iZk)u9^)g3Zs;WiZECx~}d=#-Vf_@NT*+?(UW+FDS?>P1MMIOhc?oBGTXf8ckxO7(uux5HFou@k3i-{% zL~h3EgqbnpYU;NGBX&tWbncWP+n?zTThCt}pRJ>66qD zRetw@wCWW$=5)GUeB_q7K*{?SAt{jF6)R6Wo=-UTP=$hTd z`0aF+P?56yj4zsId`?g3RF52$`3+CIfd-|Uq@hA{l?|A?wLA5dn?qXp5P`15^@O#p zvx@B>8ER5Edwf^%t&Fh=+yenP(Zm;%vFh_QBqZ>Rnh2%~>PpjrLg1T*wmVCbD^W$G zZIsIO*DzYhzvP5W#EQAD!P;Vl^X;uF?u$p#-VSCz-mkt)d0=t_(3w>#k)@|YVtOc( zKiSd2m2><$I4B#S$m@En83hBB(S9}02-T?3R?>T#nARPlG79AH7*1@`pG~&*$-+{t zl~cFS8BRuB(y>=VP0+2W=!l42XoWa1lV(lu8d$43|F|Or?b;z564MBBP^p6-#jf<` zO{Y8Dh;xn2T;|+AQ57U;>k!pUPp}k4vQ#!p@Dh>s7gUACUL!yU?DBOs)jglSxr~T@ zvNlW;8ZP?Sq@qh7n=*nI__`lJ@zC~)n?KfSI-Gl2g4(0~_|p8*zN-(W#g9-HJHFh3 zS;6X^kIC2K<)pDs#CRm{m2qZwf+LO?Y+QHM^UbTNcwzxbrRH|9(B|6$oR7Z`_xo-O zIXM#!{+y53m{UzO;8tHj!M3glG4;)4N;_G=z|ug~tuH$G9>LG8`;S7YLQ-sZ|2_%g zL85Uo3dy{CJfV|POH12A3mQ_lWGc&*0b6r=2c^bdlhB(V4Z%e&F7DPCdJE;C4}&YM z15PEs^Pj0J&?;M592Z-yhxF5fYqY=~W6_znVygy#n@ds8WG|1+9s&F1raHTrI5xbN zFiYLjQ<=q>IF~J4r=SF|2lj~e$#A)@~u!y|h0hY)C_hldS%2%+gi>1Lh4Jag={l*#~KoTa-SKKp8PHwW8}qv5q0k49{Ym?_4JSoYcP-u3b7Sa8r=`c1p$ zGW6pm>5?RW2@pAD<|{+>xhpiSSwp&onie#Z1(e39fQOT)B272R(WhxDRN92_6Ys*_m z9wtQJ#F?QvIp`d64X`-(XZp77Kz6BDg;AR>?76a{b>%wLSP!J9ZbPrq&MtbrHmibl zpGA4Wz&4h8FD2K)<gU<9jdbSs1U3yxLRUr}-tTS19%j=@=`u zkBu<|)9_AeJRjU^2fTN{C_$n9C|Qu<;-Tg=(tHuM=n#qiFfN}c!4gAOL3YnE(}54E?tjM=ecf_s7p z_Zihs{M|wiox$!hR3Ctk>Vrp@ULzn>M|3SifI#{lqqT9Ok)6&2y!;wP_<3QQPaYnkD@vWIc|F?_xTdKW%!Op{ZJ3>*7DCo(s(L-LZ28*p?d{dn~~r3;ufut;ZZNafLs3-N@=)cvG=dK^CrQyU298_fQK{&TVi0zL(QGlV$_G zGSgySnk!)2rc{qjyX8jCsVdUXsIqfH^eE32n{%Pi!F=sUjJx9}=E)oesg2daJRFbC z7J&2-d(PzVYriwD(&$czkBUoRO{ho(0T}v7Nw;?TpInX!6Vx=D8`QQsfy|;P@SP)Y z1hzW))GYqvl49x&>MzKX@p>4FWuqvbN3ttGLLfv(4ZK?lWnQb{-LkYmJ1mhh`&J$gE&Sf4Vz zR;u0n*f+a&9o)OvkXM3=*^Ldn-6_1oxl zIQk41w-9j9E6a8I!z_z}-aH6LbFNu55gwu%DitZCM3qIB@uCq=dtk`QtEbmkV$ooo z$Lw5I$1SMp1#{oJXaq|~;Q{)z(fsakp{&PT#;E#`#6-0UfoFjq;J1h9`n^Q258j12aid7wV)#ztGyI2uDFoBEMC$)v`KRrFy_fZ`#_6{%J?poC zJnOf<={M%+AKLS5-#Kqa2IhZq+0)T}r?vlfv3_UbS-#1~{?^}I*xv{Ehpy^BAVhyh z|Gx)f`ev#AYxkF>`n!hs)*$_6t^Us4e{c40|KAP$eP;gV)c)IM`xfQ?hy6dtzqj$N zFU|PPbItfyUG;m$U(3JS{ab&RzhEnte__4;7I6LFvtEA_snPvwQawr4P4m}NV-9L6 z8r5$Ek)Bl`6+xkz1$7M

`eG9 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 K&Mu}PPWnGd{gg)l literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/index.htm b/macx64/mpi/mpich/share/doc/mpich/www1/index.htm new file mode 100644 index 00000000..665ebe1e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/index.htm @@ -0,0 +1,19 @@ + + +Manpages for MPICH + + + +

Manpages for MPICH

+ + + + + + + + + +
mpiccmpiexecmpifort
mpicxxmpif77
+ + diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpicc.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpicc.html new file mode 100644 index 00000000..76150b9f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpicc.html @@ -0,0 +1,137 @@ + + + + +mpicc + + +

mpicc

+Compiles and links MPI programs written in C +

Description

+This command can be used to compile and link MPI programs written in +C. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-cc=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpicc command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicc. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicc. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variable MPICH_CC may be used +to select different C compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+The environment variable MPICC_PROFILE specifies a profile library +and has the same effect as if \-profile=$MPICC_PROFILE were used as +an argument to mpicc. See the discussion of \-profile below for more +details. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_CC environment variable or the +\-cc=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.c, use +
+   mpicc -c foo.c
+
+ +

+To link the output and make an executable, use +

+   mpicc -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpicc -o foo foo.c
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicxx, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpicxx.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpicxx.html new file mode 100644 index 00000000..5d301224 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpicxx.html @@ -0,0 +1,137 @@ + + + + +mpicxx + + +

mpicxx

+Compiles and links MPI programs written in C++ +

Description

+This command can be used to compile and link MPI programs written in +C++. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-cxx=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpicxx command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicxx. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicxx. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variables MPICH_CXX may be used +to select different C++ compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+The environment variable MPICC_PROFILE specifies a profile library +and has the same effect as if \-profile=$MPICC_PROFILE were used as +an argument to mpicc. See the discussion of \-profile below for more +details. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_CXX environment variable or the +\-cxx=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler, +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.c, use +
+   mpicxx -c foo.cxx
+
+ +

+To link the output and make an executable, use +

+   mpicxx -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpicxx -o foo foo.cxx
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicc, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpiexec.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpiexec.html new file mode 100644 index 00000000..270c44ba --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpiexec.html @@ -0,0 +1,152 @@ + + + + +mpiexec + + +

mpiexec

+Run an MPI program +

Synopsis

+
+
+
+    mpiexec args executable pgmargs [ : args executable pgmargs ... ]
+
+ +where args are command line arguments for mpiexec (see below), +executable is the name of an executable MPI program, and pgmargs +are command line arguments for the executable. Multiple executables +can be specified by using the colon notation (for MPMD - Multiple Program +Multiple Data applications). For example, the following command will run +the MPI program a.out on 4 processes: +
+    mpiexec -n 4 a.out
+
+ +

+The MPI standard specifies the following arguments and their meanings: +

+

+
-n <np>
Specify the number of processes to use + +
-host <hostname>
Name of host on which to run processes + +
-arch <architecture name>
Pick hosts with this architecture type + +
-wdir <working directory>
cd to this one before running executable + +
-path <pathlist>
use this to find the executable + +
-soft <triplets>
comma separated triplets that specify requested numbers +of processes (see the MPI-2 specification for more details) + +
-file <name>
implementation-defined specification file + +
-configfile <name>
file containing specifications of host/program, +one per line, with # as a comment indicator, e.g., the usual +mpiexec input, but with ":" replaced with a newline. That is, +the configfile contains lines with -soft, -n etc. +
+

+Additional arguments that are specific to the MPICH implementation +are discussed below. +

+Note that not all of these parameters are meaningful for all +systems. For example, the gforker version of mpiexec creates all +processes on the same system on which it is running; in that case, the +\-arch and \-host options are ignored. +

+The colon character (:) may be used to separate different executables +for MPMD (multiple program multiple data) programming. For example, +to run the program ocean on 4 processes and air on 8 processes, use: +

+

+    mpiexec -n 4 ocean : -n 8 air
+
+ +

+

+

MPICH-Specific Arguments

+

+Many of the implementations of process managers in MPICH support the +following arguments to mpiexec: +

+

+
-np <num>
A synonym for the standard \-n argument + +
-env <name> <value>
Set the environment variable <name> to <value> for +the processes being run by mpiexec + +
-envnone
Pass no environment variables (other than ones specified with +other \-env or \-genv arguments) to the processes being run by mpiexec. +By default, all environment +variables are provided to each MPI process (rationale: principle of +least surprise for the user) + +
-envlist <list>
Pass the listed environment variables (names separated +by commas), with their current values, to the processes being run by +mpiexec. + +
-genv <name> <value>
The \-genv options have the same meaning as their +corresponding \-env version, except they apply to all executables, not just +the current executable (in the case that the colon syntax is used to specify +multiple execuables). + +
-genvnone
Like \-envnone, but for all executables + +
-genvlist <list>
Like \-envlist, but for all executables + +
-usize <n>
Specify the value returned for the value of the attribute +MPI_UNIVERSE_SIZE. + +
-l
Label standard out and standard error (stdout and stderr) with +the rank of the process + +
-maxtime <n>
Set a timelimit of <n> seconds. + +
-exitinfo
Provide more information on the reason each process exited if +there is an abnormal exit +
+

+

Environment variables for mpiexec

+The following environment variables are understood by some versions of +mpiexec. The command line arguments have priority over these; that is, +if both the environment variable and command line argument are used, the +value specified by the command line argument is used. +

+

+
MPIEXEC_TIMEOUT
Maximum running time in seconds. mpiexec will +terminate MPI programs that take longer than the value specified by +MPIEXEC_TIMEOUT. + +
MPIEXEC_UNIVERSE_SIZE
Set the universe size + +
MPIEXEC_PORT_RANGE
Set the range of ports that mpiexec will use +in communicating with the processes that it starts. The format of +this is <low>:<high>. For example, to specify any port between +10000 and 10100, use 10000:10100. + +
MPICH_PORT_RANGE
Has the same meaning as MPIEXEC_PORT_RANGE and +is used if MPIEXEC_PORT_RANGE is not set. + +
MPIEXEC_PREFIX_DEFAULT
If this environment variable is set, output +to standard output is prefixed by the rank in MPI_COMM_WORLD of the +process and output to standard error is prefixed by the rank and the +text (err); both are followed by an angle bracket (>). If +this variable is not set, there is no prefix. + +
MPIEXEC_PREFIX_STDOUT
Set the prefix used for lines sent to standard +output. A %d is replaced with the rank in MPI_COMM_WORLD; a %w is +replaced with an indication of which MPI_COMM_WORLD in MPI jobs that +involve multiple MPI_COMM_WORLDs (e.g., ones that use MPI_Comm_spawn or +MPI_Comm_connect). + +
MPIEXEC_PREFIX_STDERR
Like MPIEXEC_PREFIX_STDOUT, but for standard error. +
+

+

Return Status

+mpiexec returns the maximum of the exit status values of all of the +processes created by mpiexec. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpif77.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpif77.html new file mode 100644 index 00000000..98649881 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpif77.html @@ -0,0 +1,132 @@ + + + + +mpif77 + + +

mpif77

+Compiles and links MPI programs written in Fortran 77 +

Description

+This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-f77=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpif77 command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpif77. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpif77. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variables MPICH_F77 may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_F77 environment variable or the +\-f77=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.f, use +
+   mpif77 -c foo.f
+
+ +

+To link the output and make an executable, use +

+   mpif77 -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpif77 -o foo foo.f
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicc, mpicxx, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www1/mpifort.html b/macx64/mpi/mpich/share/doc/mpich/www1/mpifort.html new file mode 100644 index 00000000..d9a9d287 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www1/mpifort.html @@ -0,0 +1,132 @@ + + + + +mpifort + + +

mpifort

+Compiles and links MPI programs written in Fortran 90 +

Description

+This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. +

+It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. +

+

Command line arguments

+
+
-show
Show the commands that would be used without +running them + +
-help
Give short help + +
-fc=name
Use compiler name instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) + +
-config=name
Load a configuration file for a particular compiler. +This allows a single mpifort command to be used with +multiple compilers. + +
-compile_info
Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpifort. + +
-link_info
Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpifort. + +
-profile=name
Use the MPI profiling given by name. See below for +details + +
-echo
Show exactly what this program is doing. +This option should normally not be used. + +
-static
mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. + +
others
are passed to the compiler or linker. For example, \-c +causes files to be compiled, \-g selects compilation with +debugging on most systems, and \-o name causes linking +with the output executable given the name name. +
+

+

Environment Variables

+The environment variables MPICH_FC may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. +

+

Compatible Compilers

+The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as long double) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the MPICH_FC environment variable or the +\-fc=name command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. +

+

Examples

+To compile a single file foo.f, use +
+   mpifort -c foo.f
+
+ +

+To link the output and make an executable, use +

+   mpifort -o foo foo.o
+
+ +Combining compilation and linking in a single command +
+   mpifort -o foo foo.f
+
+ +is a convenient way to build simple programs. +

+

Selecting a Profiling Library

+The \-profile=name argument allows you to specify an MPI profiling +library to be used. name can have two forms: +

+
A library in the same directory as the MPI library +
The name of a profile configuration file +
+

+If name is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. +

+If name.conf is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +

+
PROFILE_PRELIB
Libraries (and paths) to include before the MPI library + +
PROFILE_POSTLIB
Libraries to include after the MPI library + +
PROFILE_INCPATHS
C preprocessor arguments for any include files +For example, to add /usr/local/myprof/include to the include path and +the library libmyprof.a in /usr/local/myprof/lib to the link step, +you could create the file myprof.conf with the lines +
+

+

+    PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof"
+    PROFILE_INCPATHS="-I/usr/local/myprof/include"
+
+ +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument \-profile=myprof will cause these +definitions to be added to the relevant compile commands. +

+

See Also

+ mpicc, mpicxx, mpifort, mpiexec +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/Constants.html b/macx64/mpi/mpich/share/doc/mpich/www3/Constants.html new file mode 100644 index 00000000..45642d5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/Constants.html @@ -0,0 +1,891 @@ + + + + +Constants + + +

Constants

+Meaning of MPI's defined constants +

Data types

+Note that the Fortran types should only be used in Fortran programs, +and the C types should only be used in C programs. For example, +it is in error to use MPI_INT for a Fortran INTEGER. +Datatypes are of type MPI_Datatype in C, type INTEGER in Fortran, +and Type(MPI_Datatype) in Fortran08 +

+

C datatypes

+MPI_CHAR - char +
MPI_SIGNED_CHAR
signed char +
+
MPI_UNSIGNED_CHAR
unsigned char +
+
MPI_BYTE
See standard; like unsigned char +
+
MPI_WCHAR
wide character (wchar_t) +
+
MPI_SHORT
short +
+
MPI_UNSIGNED_SHORT
unsigned short +
+
MPI_INT
int +
+
MPI_UNSIGNED
unsigned int +
+
MPI_LONG
long +
+
MPI_UNSIGNED_LONG
unsigned long +
+
MPI_LONG_LONG_INT
long long +
+
MPI_LONG_LONG
synonyn for MPI_LONG_LONG_INT + +
+
MPI_UNSIGNED_LONG_LONG
unsigned long long +
+
MPI_FLOAT
float +
+
MPI_DOUBLE
double +
+
MPI_LONG_DOUBLE
long double (some systems may not implement this) +
+
MPI_INT8_T
int8_t +
+
MPI_INT16_T
int16_t +
+
MPI_INT32_T
int32_t +
+
MPI_INT64_T
int64_t +
+
MPI_UINT8_T
uint8_t +
+
MPI_UINT16_T
uint16_t +
+
MPI_UINT32_T
uint32_t +
+
MPI_UINT64_T
uint64_t +
+
MPI_C_BOOL
_Bool +
+
MPI_C_FLOAT_COMPLEX
float _Complex +
+
MPI_C_COMPLEX
float _Complex +
+
MPI_C_DOUBLE_COMPLEX
double _Complex +
+
MPI_C_LONG_DOUBLE_COMPLEX
long double _Complex +
+ +

+

+The following are datatypes for the MPI functions MPI_MAXLOC and +MPI_MINLOC. +MPI_FLOAT_INT - struct { float, int } + +

MPI_LONG_INT
struct { long, int } + +
+
MPI_DOUBLE_INT
struct { double, int } + +
+
MPI_SHORT_INT
struct { short, int } + +
+
MPI_2INT
struct { int, int } + +
+
MPI_LONG_DOUBLE_INT
struct { long double, int }; this +is an optional type, and may be set to MPI_DATATYPE_NULL + +
+ +

+

+Special datatypes for C and Fortran +MPI_PACKED - For MPI_Pack and MPI_Unpack + +

MPI_UB
For MPI_Type_struct; an upper-bound indicator. Removed in MPI 3 +
+
MPI_LB
For MPI_Type_struct; a lower-bound indicator. Removed in MPI 3 +
+ +

+

Fortran datatypes

+MPI_REAL - REAL + +
MPI_INTEGER
INTEGER + +
+
MPI_LOGICAL
LOGICAL + +
+
MPI_DOUBLE_PRECISION
DOUBLE PRECISION + +
+
MPI_COMPLEX
COMPLEX + +
+
MPI_DOUBLE_COMPLEX
complex*16 (or complex*32) where supported. +
+ +

+The following datatypes are optional +MPI_INTEGER1 - integer*1 if supported +

MPI_INTEGER2
integer*2 if supported +
+
MPI_INTEGER4
integer*4 if supported +
+
MPI_INTEGER8
integer*8 if supported +
+
MPI_INTEGER16
integer*16 if supported +
+
MPI_REAL4
real*4 if supported +
+
MPI_REAL8
real*8 if supported +
+ +
MPI_REAL16
real*16 if supported +
+
MPI_COMPLEX8
complex*8 if supported +
+
MPI_COMPLEX16
complex*16 if supported +
+
MPI_COMPLEX32
complex*32 if supported +
+ +

+The following are datatypes for the MPI functions MPI_MAXLOC and +MPI_MINLOC. In Fortran, these datatype always consist of +two elements of the same Fortran type. +MPI_2INTEGER - INTEGER,INTEGER + +

MPI_2REAL
REAL, REAL + +
+
MPI_2DOUBLE_PRECISION
DOUBLE PRECISION, DOUBLE PRECISION + +
+ +

+MPI Datatypes for MPI Types +MPI_AINT - Datatype for an MPI_Aint + +

MPI_OFFSET
Datatype for an MPI_Offset + +
+
MPI_COUNT
Datatype for an MPI_Count + +
+ +

+

MPI Datatype Combiner Names

+MPI_COMBINER_NAMED - a named predefined datatype +
MPI_COMBINER_DUP
MPI_TYPE_DUP +
+
MPI_COMBINER_CONTIGUOUS
MPI_TYPE_CONTIGUOUS +
+
MPI_COMBINER_VECTOR
MPI_TYPE_VECTOR +
+
MPI_COMBINER_HVECTOR_INTEGER
Removed in MPI-3 +
+
MPI_COMBINER_HVECTOR
MPI_TYPE_CREATE_HVECTOR +
+
MPI_COMBINER_INDEXED
MPI_TYPE_INDEXED +
+
MPI_COMBINER_HINDEXED_INTEGER
Removed in MPI-3 +
+
MPI_COMBINER_HINDEXED
MPI_TYPE_CREATE_HINDEXED +
+
MPI_COMBINER_INDEXED_BLOCK
MPI_TYPE_CREATE_INDEXED_BLOCK +
+
MPI_COMBINER_STRUCT_INTEGER
Removed in MPI-3 +
+
MPI_COMBINER_STRUCT
MPI_TYPE_CREATE_STRUCT +
+
MPI_COMBINER_SUBARRAY
MPI_TYPE_CREATE_SUBARRAY +
+
MPI_COMBINER_DARRAY
MPI_TYPE_CREATE_DARRAY +
+
MPI_COMBINER_F90_REAL
MPI_TYPE_CREATE_F90_REAL +
+
MPI_COMBINER_F90_COMPLEX
MPI_TYPE_CREATE_F90_COMPLEX +
+
MPI_COMBINER_F90_INTEGER
MPI_TYPE_CREATE_F90_INTEGER +
+
MPI_COMBINER_RESIZED
MPI_TYPE_CREATE_RESIZED +
+
MPI_COMBINER_HINDEXED_BLOCK
MPI_TYPE_CREATE_HINDEXED_BLOCK +
+ +

+

MPI Datatype Type Classes

+MPI Type classes used with routines to return Fortran types with defined +precision and range +MPI_TYPECLASS_REAL - REAL + +
MPI_TYPECLASS_INTEGER
INTEGER + +
+
MPI_TYPECLASS_COMPLEX
COMPLEX + +
+ +

+

MPI Darray and Subarray Values

+These values are used to create a datatype with the DARRAY and SUBARRAY +constructors. +MPI_ORDER_C - Row-major order (as used by C) +
MPI_ORDER_FORTRAN
Column-major order (as used by Fortran) +
+
MPI_DISTRIBUTE_BLOCK
Block distribution +
+
MPI_DISTRIBUTE_CYCLIC
Cyclic distribution +
+
MPI_DISTRIBUTE_NONE
This dimension is not distributed +
+
MPI_DISTRIBUTE_DFLT_DARG
Use the default distribution +
+ +

+

Communicators

+Communicators are of type MPI_Comm in C, INTEGER in Fortran, and +Type(MPI_Comm) in Fortran08 +MPI_COMM_WORLD - Contains all of the processes +
MPI_COMM_SELF
Contains only the calling process +
+ +

+

Kind of communicator for 'MPI_COMM_SPLIT_TYPE'

+MPI_COMM_TYPE_SHARED - All processes that can share memory are grouped into +the same communicator. +

+

Groups

+Groups are of type MPI_Group in C, INTEGER in Fortran, +and Type(MPI_Group) in Fortran08 +

+MPI_GROUP_EMPTY - A group containing no members. +

+

Results of the compare operations on groups and communicators

+MPI_IDENT - Identical +
MPI_CONGRUENT
(only for MPI_COMM_COMPARE) The groups are identical +
+
MPI_SIMILAR
Same members, but in a different order +
+
MPI_UNEQUAL
Different +
+ +

+

+

Collective operations

+The collective combination operations (e.g., MPI_REDUCE, MPI_ALLREDUCE, +MPI_REDUCE_SCATTER, and MPI_SCAN) take a combination operation. +This operation is of type MPI_Op in C and of type INTEGER in Fortran. +The predefined operations are +

+MPI_MAX - return the maximum +

MPI_MIN
return the minumum +
+
MPI_SUM
return the sum +
+
MPI_PROD
return the product +
+
MPI_LAND
return the logical and +
+
MPI_BAND
return the bitwise and +
+
MPI_LOR
return the logical or +
+
MPI_BOR
return the bitwise of +
+
MPI_LXOR
return the logical exclusive or +
+
MPI_BXOR
return the bitwise exclusive or +
+
MPI_MINLOC
return the minimum and the location (actually, the value of +the second element of the structure where the minimum of +the first is found) +
+
MPI_MAXLOC
return the maximum and the location +
+
MPI_REPLACE
replace b with a +
+
MPI_NO_OP
perform no operation +
+ +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+Note that not all datatypes are valid for these functions. For example, +MPI_COMPLEX is not valid for MPI_MAX and MPI_MIN. In addition, the MPI +1.1 standard did not include the C types MPI_CHAR and MPI_UNSIGNED_CHAR +among the lists of arithmetic types for operations like MPI_SUM. However, +since the C type char is an integer type (like short), it should have been +included. The MPI Forum will probably include char and unsigned char +as a clarification to MPI 1.1; until then, users are advised that MPI +implementations may not accept MPI_CHAR and MPI_UNSIGNED_CHAR as valid +datatypes for MPI_SUM, MPI_PROD, etc. MPICH does allow these datatypes. +

+

Permanent key values

+These are the same in C and Fortran +

+MPI_TAG_UB - Largest tag value +

MPI_HOST
Rank of process that is host, if any +
+
MPI_IO
Rank of process that can do I/O +
+
MPI_WTIME_IS_GLOBAL
Has value 1 if MPI_WTIME is globally synchronized. +
+
MPI_UNIVERSE_SIZE
Number of available processes. See the standard for +a description of limitations on this value +
+
MPI_LASTUSEDCODE
Last used MPI error code (check - code or class?) +
+
MPI_APPNUM
Application number, starting from 0. See the standard for +MPI_COMM_SPAWN_MULTIPLE and mpiexec for details +
+ +

+

Null objects

+MPI_COMM_NULL - Null communicator +
MPI_OP_NULL
Null operation +
+
MPI_GROUP_NULL
Null group +
+
MPI_DATATYPE_NULL
Null datatype +
+
MPI_REQUEST_NULL
Null request +
+
MPI_ERRHANDLER_NULL
Null error handler +
+
MPI_WIN_NULL
Null window handle +
+
MPI_FILE_NULL
Null file handle +
+
MPI_INFO_NULL
Null info handle +
+
MPI_MESSAGE_NULL
Null message handle +
+
MPI_ARGV_NULL
Empty ARGV value for spawn commands +
+
MPI_ARGVS_NULL
Empty ARGV array for spawn-multiple command +
+
MPI_T_ENUM_NULL
Null MPI_T enum +
+
MPI_T_CVAR_HANDLE_NULL
Null MPI_T control variable handle +
+
MPI_T_PVAR_HANDLE_NULL
Null MPI_T performance variable handle +
+
MPI_T_PVAR_SESSION_NULL
Null MPI_T performance variable session handle +
+ +

+

Predefined Constants

+MPI_MAX_PROCESSOR_NAME - Maximum length of name returned by +MPI_GET_PROCESSOR_NAME + +
MPI_MAX_ERROR_STRING
Maximum length of string return by +MPI_ERROR_STRING + +
+
MPI_MAX_LIBRARY_VERSION_STRING
Maximum length of string returned by +MPI_GET_LIBRARY_VERSION_STRING??? +
+
MPI_MAX_PORT_NAME
Maximum length of a port +
+
MPI_MAX_OBJECT_NAME
Maximum length of an object (?) +
+
MPI_MAX_INFO_KEY
Maximum length of an info key +
+
MPI_MAX_INFO_VAL
Maximum length of an info value +
+
MPI_UNDEFINED
Used by many routines to indicated +undefined or unknown integer value +
+
MPI_UNDEFINED_RANK
Unknown rank +
+
MPI_KEYVAL_INVALID
Special keyval that may be used to detect +uninitialized keyvals. +
+
MPI_BSEND_OVERHEAD
Add this to the size of a MPI_BSEND +buffer for each outstanding message +
+
MPI_PROC_NULL
This rank may be used to send or receive from no-one. +
+
MPI_ANY_SOURCE
In a receive, accept a message from anyone. +
+
MPI_ANY_TAG
In a receive, accept a message with any tag value. +
+
MPI_BOTTOM
May be used to indicate the bottom of the address space +
+
MPI_IN_PLACE
Special location for buffer in some +collective communication routines +
+
MPI_VERSION
Numeric value of MPI version (e.g., 3) +
+
MPI_SUBVERSION
Numeric value of MPI subversion (e.g., 1) +
+ +

+

Topology types

+MPI_CART - Cartesian grid +
MPI_GRAPH
General graph +
+
MPI_DIST_GRAPH
General distributed graph +
+ +

+

Special values for distributed graph

+MPI_UNWEIGHTED - Indicates that the edges are unweighted +
MPI_WEIGHTS_EMPTY
Special address that indicates no array of weights +information +
+ +

+

File Modes

+MPI_MODE_RDONLY - Read only +
MPI_MODE_RDWR
Read and write +
+
MPI_MODE_WRONLY
Write only +
+
MPI_MODE_CREATE
Create the file if it does not exist +
+
MPI_MODE_EXCL
It is an error if creating a file that already +exists +
+
MPI_MODE_DELETE_ON_CLOSE
Delete the file on close +
+
MPI_MODE_UNIQUE_OPEN
The file will not be concurrently opened elsewhere +
+
MPI_MODE_APPEND
The initial position of all file pointers is at +the end of the file +
+
MPI_MODE_SEQUENTIAL
File will only be accessed sequentially +
+ +

+

File Displacement

+MPI_DISPLACEMENT_CURRENT - Use with files opened with mode +MPI_MODE_SEQUENTIAL in calls to MPI_FILE_SET_VIEW + +

+

File Positioning

+MPI_SEEK_SET - Set the pointer to offset + +
MPI_SEEK_CUR
Set the pointer to the current position plus offset + +
+
MPI_SEEK_END
Set the pointer to the end of the file plus offset + +
+ +

+

Window attributes

+MPI_WIN_BASE - window base address. +
MPI_WIN_SIZE
window size, in bytes +
+
MPI_WIN_DISP_UNIT
displacement unit associated with the window +
+
MPI_WIN_CREATE_FLAVOR
how the window was created +
+
MPI_WIN_MODEL
memory model for window +
+ +

+

Window flavors

+MPI_WIN_FLAVOR_CREATE - Window was created with MPI_WIN_CREATE. +
MPI_WIN_FLAVOR_ALLOCATE
Window was created with MPI_WIN_ALLOCATE. +
+
MPI_WIN_FLAVOR_DYNAMIC
Window was created with MPI_WIN_CREATE_DYNAMIC. +
+
MPI_WIN_FLAVOR_SHARED
Window was created with MPI_WIN_ALLOCATE_SHARED. +
+ +

+

Window Memory Model

+MPI_WIN_SEPARATE - Separate public and private copies of window memory +
MPI_WIN_UNIFIED
The publich and private copies are identical (by which +we mean that updates are eventually observed without additional RMA operations) +
+ +

+

Window Lock Types

+MPI_LOCK_EXCLUSIVE - Only one process at a time will execute accesses +within the lock +
MPI_LOCK_SHARED
Not exclusive; multiple processes may execute accesses +within the lock +
+ +

+

Window Assertions

+See section 11.5 in MPI 3.1 for a detailed description of each of these +assertion values. +MPI_MODE_NOCHECK - The matching calls to MPI_WIN_POST or MPI_WIN_START +have already completed, or no process holds or will attempt to acquire, a +conflicting lock. +
MPI_MODE_NOSTORE
The local window has not been updated by stores +since the last synchronization +
+
MPI_MODE_NOPUT
The local window will not be updated by put or +accumulate until the next synchronization +
+
MPI_MODE_NOPRECEDE
The fence does not complete any locally issued RMA +calls +
+
MPI_MODE_NOSUCCEED
The fence does not start any locally issued RMA calls +
+ +

+

Predefined Info Object

+MPI_INFO_ENV - Contains the execution environment +

+

MPI Status

+The MPI_Status datatype is a structure in C. The three elements for use +by programmers are +MPI_SOURCE - Who sent the message +
MPI_TAG
What tag the message was sent with +
+
MPI_ERROR
Any error return (only when the error returned by the routine +has error class MPI_ERR_IN_STATUS) +
+ +

+MPI_STATUS_IGNORE - Ignore a single MPI_Status argument +

MPI_STATUSES_IGNORE
Ignore an array of MPI_Status + +
+ +

+

Special value for error codes array

+MPI_ERRCODES_IGNORE - Ignore an array of error codes +

+

MPI_T Constants

+MPI_T_VERBOSITY_USER_BASIC - Basic information of interest to users +
MPI_T_VERBOSITY_USER_DETAIL
Detailed information of interest to users +
+
MPI_T_VERBOSITY_USER_ALL
All remaining information of interest to users +
+
MPI_T_VERBOSITY_TUNER_BASIC
Basic information required for tuning +
+
MPI_T_VERBOSITY_TUNER_DETAIL
Detailed information required for tuning +
+
MPI_T_VERBOSITY_TUNER_ALL
All remaining information required for tuning +
+
MPI_T_VERBOSITY_MPIDEV_BASIC
Basic information for MPI implementors +
+

+

+

MPI_T_VERBOSITY_MPIDEV_DETAIL
Detailed information for MPI implementors +
+
MPI_T_VERBOSITY_MPIDEV_ALL
All remaining information for MPI implementors +
+
MPI_T_BIND_NO_OBJECT
Applies globally to entire MPI process +
+
MPI_T_BIND_MPI_COMM
MPI communicators +
+
MPI_T_BIND_MPI_DATATYPE
MPI datatypes +
+
MPI_T_BIND_MPI_ERRHANDLER
MPI error handlers +
+
MPI_T_BIND_MPI_FILE
MPI file handles +
+
MPI_T_BIND_MPI_GROUP
MPI groups +
+
MPI_T_BIND_MPI_OP
MPI reduction operators +
+
MPI_T_BIND_MPI_REQUEST
MPI requests +
+
MPI_T_BIND_MPI_WIN
MPI windows for one-sided communication +
+
MPI_T_BIND_MPI_MESSAGE
MPI message object +
+
MPI_T_BIND_MPI_INFO
MPI info object +
+
MPI_T_SCOPE_CONSTANT
read-only, value is constant +
+
MPI_T_SCOPE_READONLY
read-only, cannot be written, but can +change +
+
MPI_T_SCOPE_LOCAL
may be writeable, writing is a local +operation +
+
MPI_T_SCOPE_GROUP
may be writeable, must be done to a +group of processes, all processes in a group must be set to consistent values +
+
MPI_T_SCOPE_GROUP_EQ
may be writeable, must be done to a +group of processes, all processes in a group must be set to the same value +
+
MPI_T_SCOPE_ALL
may be writeable, must be done to all +processes, all connected processes must be set to consistent values +
+
MPI_T_SCOPE_ALL_EQ
may be writeable, must be done to all +processes, all connected processes must be set to the same value +
+
MPI_T_PVAR_CLASS_STATE
set of discrete states (MPI_INT) +
+
MPI_T_PVAR_CLASS_LEVEL
utilization level of a resource +
+
MPI_T_PVAR_CLASS_SIZE
size of a resource +
+
MPI_T_PVAR_CLASS_PERCENTAGE
percentage utilization of a resource +
+
MPI_T_PVAR_CLASS_HIGHWATERMARK
high watermark of a resource +
+
MPI_T_PVAR_CLASS_LOWWATERMARK
low watermark of a resource +
+
MPI_T_PVAR_CLASS_COUNTER
number of occurances of an event +
+
MPI_T_PVAR_CLASS_AGGREGATE
aggregate value over an event (e.g., +sum of all memory allocations) +
+
MPI_T_PVAR_CLASS_TIMER
aggretate time spent executing event +
+
MPI_T_PVAR_CLASS_GENERIC
used for any other time of performance +variable +
+ +

+

Thread levels

+MPI_THREAD_SINGLE - Only one thread executes +
MPI_THREAD_FUNNELED
Only the main thread makes MPI calls +
+
MPI_THREAD_SERIALIZED
Only one thread at a time makes MPI calls +
+
MPI_THREAD_MULTIPLE
Multiple threads may make MPI calls +
+ +

+

Special MPI types and functions

+

+MPI_Aint - C type that holds any valid address. +

MPI_Count
C type that holds any valid count. +
+
MPI_Offset
C type that holds any valid file offset. +
+
MPI_Handler_function
C function for handling errors (see +MPI_Errhandler_create) . +
+
MPI_User_function
C function to combine values (see collective operations +and MPI_Op_create) +
+
MPI_Copy_function
Function to copy attributes (see MPI_Keyval_create) +
+
MPI_Delete_function
Function to delete attributes (see MPI_Keyval_create) +
+
MPI_ERRORS_ARE_FATAL
Error handler that forces exit on error +
+
MPI_ERRORS_RETURN
Error handler that returns error codes (as value of +MPI routine in C and through last argument in Fortran) +
+ +

+

MPI Attribute Default Functions

+MPI_COMM_NULL_COPY_FN - Predefined attribute copy function for communicators +
MPI_COMM_NULL_DELETE_FN
Predefined attribute delete function for communicators +
+
MPI_COMM_DUP_FN
Predefined attribute duplicate function for communicators +
+
MPI_WIN_NULL_COPY_FN
Predefined attribute copy function for windows +
+
MPI_WIN_NULL_DELETE_FN
Predefined attribute delete function for windows +
+
MPI_WIN_DUP_FN
Predefined attribute duplicate function for windows +
+
MPI_TYPE_NULL_COPY_FN
Predefined attribute copy function for datatypes +
+
MPI_TYPE_NULL_DELETE_FN
Predefined attribute delete function for datatypes +
+
MPI_TYPE_DUP_FN
Predefined attribute duplicate function for datatypes +
+ +

+

MPI-1 Attribute Default Functions

+MPI_NULL_COPY_FN - Predefined copy function +
MPI_NULL_DELETE_FN
Predefined delete function +
+
MPI_DUP_FN
Predefined duplication function +
+ +

+

MPI Error classes

+MPI_SUCCESS - Successful return code +
MPI_ERR_BUFFER
Invalid buffer pointer +
+
MPI_ERR_COUNT
Invalid count argument +
+
MPI_ERR_TYPE
Invalid datatype argument +
+
MPI_ERR_TAG
Invalid tag argument +
+
MPI_ERR_COMM
Invalid communicator +
+
MPI_ERR_RANK
Invalid rank +
+
MPI_ERR_ROOT
Invalid root +
+
MPI_ERR_GROUP
Null group passed to function +
+
MPI_ERR_OP
Invalid operation +
+
MPI_ERR_TOPOLOGY
Invalid topology +
+
MPI_ERR_DIMS
Illegal dimension argument +
+
MPI_ERR_ARG
Invalid argument +
+
MPI_ERR_UNKNOWN
Unknown error +
+
MPI_ERR_TRUNCATE
Message truncated on receive +
+
MPI_ERR_OTHER
Other error; use Error_string +
+
MPI_ERR_INTERN
Internal error code +
+
MPI_ERR_IN_STATUS
Look in status for error value +
+
MPI_ERR_PENDING
Pending request +
+
MPI_ERR_REQUEST
Invalid mpi_request handle +
+
MPI_ERR_ACCESS
Permission denied +
+
MPI_ERR_AMODE
Error related to the amode passed to +MPI_FILE_OPEN + +
+
MPI_ERR_BAD_FILE
Invalid file name (e.g., path name too long) +
+
MPI_ERR_CONVERSION
An error occurred in a user supplied data +conversion function +
+
MPI_ERR_DUP_DATAREP
Conversion functions could not be registered +because a data representation identifier that was already defined was passed +to MPI_REGISTER_DATAREP + +
+
MPI_ERR_FILE_EXISTS
File exists +
+
MPI_ERR_FILE_IN_USE
File operation could not be completed, as +the file is currently open by some process +
+
MPI_ERR_FILE
Invalid file handle +
+
MPI_ERR_IO
Other I/O error +
+
MPI_ERR_NO_SPACE
Not enough space +
+
MPI_ERR_NO_SUCH_FILE
File does not exist +
+
MPI_ERR_READ_ONLY
Read-only file or file system +
+
MPI_ERR_UNSUPPORTED_DATAREP
Unsupported datarep passed to +MPI_FILE_SET_VIEW + +
+
MPI_ERR_INFO
Invalid info argument +
+
MPI_ERR_INFO_KEY
Key longer than MPI_MAX_INFO_KEY +
+
MPI_ERR_INFO_VALUE
Value longer than MPI_MAX_INFO_VAL +
+
MPI_ERR_INFO_NOKEY
Invalid key passed to MPI_INFO_DELETE +
+
MPI_ERR_NAME
Invalid service name passed to MPI_LOOKUP_NAME +
+
MPI_ERR_NO_MEM
Alloc_mem could not allocate memory +
+
MPI_ERR_NOT_SAME
Collective argument not identical on all +processes, or collective routines called in a different order by different +processes +
+
MPI_ERR_PORT
Invalid port name passed to MPI_COMM_CONNECT +
+
MPI_ERR_QUOTA
Quota exceeded +
+
MPI_ERR_SERVICE
Invalid service name passed to MPI_UNPUBLISH_NAME +
+
MPI_ERR_SPAWN
Error in spawning processes +
+
MPI_ERR_UNSUPPORTED_OPERATION
Unsupported operation, such as seeking on +a file which supports sequential access only +
+
MPI_ERR_WIN
Invalid win argument +
+
MPI_ERR_BASE
Invalid base passed to MPI_FREE_MEM +
+
MPI_ERR_LOCKTYPE
Invalid locktype argument +
+
MPI_ERR_KEYVAL
Erroneous attribute key +
+
MPI_ERR_RMA_CONFLICT
Conflicting accesses to window +
+
MPI_ERR_RMA_SYNC
Wrong synchronization of RMA calls +
+
MPI_ERR_SIZE
Invalid size argument +
+
MPI_ERR_DISP
Invalid disp argument +
+
MPI_ERR_ASSERT
Invalid assert argument +
+
MPI_ERR_RMA_RANGE
Target memory is not part of the window (in +the case of a window created with MPI_WIN_CREATE_DYNAMIC, target memory is +not attached) +
+
MPI_ERR_RMA_ATTACH
Memory cannot be attached (e.g., because of +resource exhaustion) +
+
MPI_ERR_RMA_SHARED
Memory cannot be shared (e.g., some process in +the group of the specified communicator cannot expose shared memory) +
+
MPI_ERR_RMA_FLAVOR
Passed window has the wrong flavor for the +called function +
+
MPI_ERR_LASTCODE
Last error code -- always at end +
+ +

+

Error codes for MPI_T

+

+MPI_T_ERR_MEMORY - Out of memory +

MPI_T_ERR_NOT_INITIALIZED
Interface not initialized +
+
MPI_T_ERR_CANNOT_INIT
Interface not in the state to be initialized +
+
MPI_T_ERR_INVALID_INDEX
The index is invalid or has been deleted +
+
MPI_T_ERR_INVALID_ITEM
Item index queried is out of range +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid +
+
MPI_T_ERR_OUT_OF_HANDLES
No more handles available +
+
MPI_T_ERR_OUT_OF_SESSIONS
No more sessions available +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid +
+
MPI_T_ERR_CVAR_SET_NOT_NOW
Cvar can't be set at this moment +
+
MPI_T_ERR_CVAR_SET_NEVER
Cvar can't be set until end of execution +
+
MPI_T_ERR_PVAR_NO_STARTSTOP
Pvar can't be started or stopped +
+
MPI_T_ERR_PVAR_NO_WRITE
Pvar can't be written or reset +
+
MPI_T_ERR_PVAR_NO_ATOMIC
Pvar can't be R/W atomically +
+
MPI_T_ERR_INVALID_NAME
Name doesn't match +
+
MPI_T_ERR_INVALID
Invalid use of the interface or bad parameter +values(s) +
+ +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html new file mode 100644 index 00000000..7e50e381 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_commit.html @@ -0,0 +1,18 @@ + + + + +MPIR_Type_commit + + +

MPIR_Type_commit

+nput Parameters: . datatype_p - pointer to MPI datatype +

Synopsis

+
+int MPIR_Type_commit(MPI_Datatype * datatype_p)
+
+

Output Parameters

+

+

Return Value

+0 on success, -1 on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_contiguous.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_contiguous.html new file mode 100644 index 00000000..e457dcc3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_contiguous.html @@ -0,0 +1,27 @@ + + + + +MPIR_Type_contiguous + + +

MPIR_Type_contiguous

+create a contiguous datatype +

Synopsis

+
+int MPIR_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of elements in the contiguous block + +
oldtype
type (using handle) of datatype on which vector is based +
+

+

Output Parameters

+
newtype
handle of new contiguous datatype +
+

+

Return Value

+MPI_SUCCESS on success, MPI error code on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html new file mode 100644 index 00000000..100f2b14 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_dup.html @@ -0,0 +1,29 @@ + + + + +MPIR_Type_dup + + +

MPIR_Type_dup

+create a copy of a datatype +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPIR_Type_dup
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPIR_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
oldtype
handle of original datatype +
+ +

+

Output Parameters

+
newtype
handle of newly created copy of datatype +
+

+

Return Value

+0 on success, MPI error code on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_get_contents.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_get_contents.html new file mode 100644 index 00000000..cda637cc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_get_contents.html @@ -0,0 +1,39 @@ + + + + +MPIR_Type_get_contents + + +

MPIR_Type_get_contents

+get content information from datatype +

Synopsis

+
+int MPIR_Type_get_contents(MPI_Datatype datatype,
+                           int max_integers,
+                           int max_addresses,
+                           int max_datatypes,
+                           int array_of_integers[],
+                           MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[])
+
+

Input Parameters

+
+
datatype
MPI datatype + +
max_integers
size of array_of_integers + +
max_addresses
size of array_of_addresses + +
max_datatypes
size of array_of_datatypes +
+

+

Output Parameters

+
+
array_of_integers
integers used in creating type + +
array_of_addresses
MPI_Aints used in creating type + +
array_of_datatypes
MPI_Datatypes used in creating type +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html new file mode 100644 index 00000000..75c51e8d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_indexed.html @@ -0,0 +1,39 @@ + + + + +MPIR_Type_indexed + + +

MPIR_Type_indexed

+create an indexed datatype +

Synopsis

+
+int MPIR_Type_indexed(int count,
+                      const int *blocklength_array,
+                      const void *displacement_array,
+                      int dispinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks in type + +
blocklength_array
number of elements in each block + +
displacement_array
offsets of blocks from start of type (see next +parameter for units) + +
dispinbytes
if nonzero, then displacements are in bytes (the +displacement_array is an array of ints), otherwise they in terms of +extent of oldtype (the displacement_array is an array of MPI_Aints) + +
oldtype
type (using handle) of datatype on which new type is based +
+

+

Output Parameters

+
newtype
handle of new indexed datatype +
+

+

Return Value

+0 on success, -1 on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html new file mode 100644 index 00000000..f2b533e7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_struct.html @@ -0,0 +1,38 @@ + + + + +MPIR_Type_struct + + +

MPIR_Type_struct

+create a struct datatype +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPIR_Type_struct
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPIR_Type_struct(int count,
+                     const int *blocklength_array,
+                     const MPI_Aint * displacement_array,
+                     const MPI_Datatype * oldtype_array, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks in vector + +
blocklength_array
number of elements in each block + +
displacement_array
offsets of blocks from start of type in bytes + +
oldtype_array
types (using handle) of datatypes on which vector is based +
+

+

Output Parameters

+
newtype
handle of new struct datatype +
+

+

Return Value

+MPI_SUCCESS on success, MPI errno on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html new file mode 100644 index 00000000..fb27532c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIR_Type_vector.html @@ -0,0 +1,38 @@ + + + + +MPIR_Type_vector + + +

MPIR_Type_vector

+create a vector datatype +

Synopsis

+
+int MPIR_Type_vector(int count,
+                     int blocklength,
+                     MPI_Aint stride,
+                     int strideinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks in vector + +
blocklength
number of elements in each block + +
stride
distance from beginning of one block to the next (see next +parameter for units) + +
strideinbytes
if nonzero, then stride is in bytes, otherwise stride +is in terms of extent of oldtype + +
oldtype
type (using handle) of datatype on which vector is based +
+

+

Output Parameters

+
newtype
handle of new vector datatype +
+

+

Return Value

+0 on success, MPI error code on failure. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_agree.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_agree.html new file mode 100644 index 00000000..e508d59f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_agree.html @@ -0,0 +1,61 @@ + + + + +MPIX_Comm_agree + + +

MPIX_Comm_agree

+Performs agreement operation on comm +

Synopsis

+
+int MPIX_Comm_agree(MPI_Comm comm, int *flag)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_ack.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_ack.html new file mode 100644 index 00000000..30d17451 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_ack.html @@ -0,0 +1,61 @@ + + + + +MPIX_Comm_failure_ack + + +

MPIX_Comm_failure_ack

+Acknowledge the current group of failed processes +

Synopsis

+
+int MPIX_Comm_failure_ack(MPI_Comm comm)
+
+

Input Parameters

+
comm
Communicator (handle) +
+

+

Notes

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_get_acked.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_get_acked.html new file mode 100644 index 00000000..3617a7d1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_failure_get_acked.html @@ -0,0 +1,65 @@ + + + + +MPIX_Comm_failure_get_acked + + +

MPIX_Comm_failure_get_acked

+Get the group of acknowledged failures. +

Synopsis

+
+int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group * failedgrp)
+
+

Input Parameters

+
comm
Communicator (handle) +
+

+

Output Parameters

+
failed_group
Group (handle) +
+

+

Notes

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_revoke.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_revoke.html new file mode 100644 index 00000000..1aab166d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_revoke.html @@ -0,0 +1,50 @@ + + + + +MPIX_Comm_revoke + + +

MPIX_Comm_revoke

+Prevent a communicator from being used in the future +

Synopsis

+
+int MPIX_Comm_revoke(MPI_Comm comm)
+
+

Input Parameters

+
comm
communicator to revoke +
+

+

Notes

+Asynchronously notifies all MPI processes associated with the communicator comm. +This will be manifest by returning the MPIX_ERR_REVOKED during a subsequent MPI +call. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_shrink.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_shrink.html new file mode 100644 index 00000000..1af75a68 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPIX_Comm_shrink.html @@ -0,0 +1,61 @@ + + + + +MPIX_Comm_shrink + + +

MPIX_Comm_shrink

+Creates a new communitor from an existing communicator while excluding failed processes +

Synopsis

+
+int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm * newcomm)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Abort.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Abort.html new file mode 100644 index 00000000..70337d1d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Abort.html @@ -0,0 +1,68 @@ + + + + +MPI_Abort + + +

MPI_Abort

+Terminates MPI execution environment +

Synopsis

+
+int MPI_Abort(MPI_Comm comm, int errorcode)
+
+

Input Parameters

+
+
comm
communicator of tasks to abort + +
errorcode
error code to return to invoking environment +
+

+

Notes

+Terminates all MPI processes associated with the communicator comm; in +most systems (all to date), terminates all processes. +

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the MPI_Abort routine is intended to ensure that an MPI +process (and possibly an entire job), it cannot wait for a thread to +release a lock or other mechanism for atomic access. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Accumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Accumulate.html new file mode 100644 index 00000000..b0cbc0f7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Accumulate.html @@ -0,0 +1,90 @@ + + + + +MPI_Accumulate + + +

MPI_Accumulate

+Accumulate data into the target process using remote memory access +

Synopsis

+
+int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype
+                   origin_datatype, int target_rank, MPI_Aint
+                   target_disp, int target_count, MPI_Datatype
+                   target_datatype, MPI_Op op, MPI_Win win)
+
+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Notes

+The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all MPI_INT or all MPI_DOUBLE_PRECISION). +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Raccumulate +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_class.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_class.html new file mode 100644 index 00000000..bd255739 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_class.html @@ -0,0 +1,56 @@ + + + + +MPI_Add_error_class + + +

MPI_Add_error_class

+Add an MPI error class to the known classes +

Synopsis

+
+int MPI_Add_error_class(int *errorclass)
+
+

Output Parameters

+
errorclass
New error class +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_code.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_code.html new file mode 100644 index 00000000..cb617ffd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_code.html @@ -0,0 +1,60 @@ + + + + +MPI_Add_error_code + + +

MPI_Add_error_code

+Add an MPI error code to an MPI error class +

Synopsis

+
+int MPI_Add_error_code(int errorclass, int *errorcode)
+
+

Input Parameters

+
errorclass
Error class to add an error code. +
+

+

Output Parameters

+
errorcode
New error code for this error class. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_string.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_string.html new file mode 100644 index 00000000..00d62996 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Add_error_string.html @@ -0,0 +1,68 @@ + + + + +MPI_Add_error_string + + +

MPI_Add_error_string

+Associates an error string with an MPI error code or class +

Synopsis

+
+int MPI_Add_error_string(int errorcode, const char *string)
+
+

Input Parameters

+
+
errorcode
error code or class (integer) + +
string
text corresponding to errorcode (string) +
+

+

Notes

+The string must be no more than MPI_MAX_ERROR_STRING characters long. +The length of the string is as defined in the calling language. +The length of the string does not include the null terminator in C or C++. +Note that the string is const even though the MPI standard does not +specify it that way. +

+According to the MPI-2 standard, it is erroneous to call MPI_Add_error_string +for an error code or class with a value less than or equal +to MPI_ERR_LASTCODE. Thus, you cannot replace the predefined error messages +with this routine. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Address.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Address.html new file mode 100644 index 00000000..d88b8449 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Address.html @@ -0,0 +1,72 @@ + + + + +MPI_Address + + +

MPI_Address

+Gets the address of a location in memory +

Synopsis

+
+int MPI_Address(void *location, MPI_Aint * address)
+
+

Input Parameters

+
location
location in caller memory (choice) +
+

+

Output Parameters

+
address
address of location (address integer) +
+

+

Note

+This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C & operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Get_address. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_add.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_add.html new file mode 100644 index 00000000..e0ac4e15 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_add.html @@ -0,0 +1,40 @@ + + + + +MPI_Aint_add + + +

MPI_Aint_add

+Returns the sum of base and disp +

Synopsis

+
+MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp)
+
+

Input Parameters

+
+
base
base address (integer) + +
disp
displacement (integer) +
+

+

Return value

+Sum of the base and disp argument +

+

Notes

+MPI_Aint_Add produces a new MPI_Aint value that is equivalent to the sum of the +base and disp arguments, where base represents a base address returned by a call +to MPI_GET_ADDRESS and disp represents a signed integer displacement. The resulting +address is valid only at the process that generated base, and it must correspond +to a location in the same object referenced by base. The addition is performed in +a manner that results in the correct MPI_Aint representation of the output address, +as if the process that originally produced base had called: +
+    MPI_Get_address((char *) base + disp, &result)
+
+ +

+

See Also

+ MPI_Aint_diff +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_diff.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_diff.html new file mode 100644 index 00000000..a261165d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Aint_diff.html @@ -0,0 +1,41 @@ + + + + +MPI_Aint_diff + + +

MPI_Aint_diff

+Returns the difference between addr1 and addr2 +

Synopsis

+
+MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2)
+
+

Input Parameters

+
+
addr1
minuend address (integer) + +
addr2
subtrahend address (integer) +
+

+

Return value

+Difference between addr1 and addr2 +

+

Notes

+MPI_Aint_diff produces a new MPI_Aint value that is equivalent to the difference +between addr1 and addr2 arguments, where addr1 and addr2 represent addresses +returned by calls to MPI_GET_ADDRESS. The resulting address is valid only at the +process that generated addr1 and addr2, and addr1 and addr2 must correspond to +locations in the same object in the same process. The difference is calculated +in a manner that results the signed difference from addr1 to addr2, as if the +process that originally produced the addresses had called +
+    (char *) addr1 - (char *) addr2
+
+ +on the addresses initially passed to MPI_GET_ADDRESS. +

+

See Also

+ MPI_Aint_add +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgather.html new file mode 100644 index 00000000..49ba74fb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgather.html @@ -0,0 +1,106 @@ + + + + +MPI_Allgather + + +

MPI_Allgather

+Gathers data from all tasks and distribute the combined data to all tasks +

Synopsis

+
+int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                  void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from any process (integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Notes

+The MPI standard (1.0 and 1.1) says that +
+

+
+

+The jth block of data sent from each process is received by every process +and placed in the jth block of the buffer recvbuf. +
+

+
+

+This is misleading; a better description is +
+

+
+

+The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer recvbuf. +
+

+
+

+This text was suggested by Rajeev Thakur and has been adopted as a +clarification by the MPI Forum. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgatherv.html new file mode 100644 index 00000000..f7dc7360 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allgatherv.html @@ -0,0 +1,110 @@ + + + + +MPI_Allgatherv + + +

MPI_Allgatherv

+Gathers data from all tasks and deliver the combined data to all tasks +

Synopsis

+
+int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                   void *recvbuf, const int *recvcounts, const int *displs,
+                   MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
integer array (of length group size) +containing the number of elements that are to be received from each process + +
displs
integer array (of length group size). Entry +i specifies the displacement (relative to recvbuf) at +which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Notes

+The MPI standard (1.0 and 1.1) says that +
+

+
+

+The jth block of data sent from +each process is received by every process and placed in the jth block of the +buffer recvbuf. +
+

+
+

+This is misleading; a better description is +
+

+
+

+The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer recvbuf. +
+

+
+

+This text was suggested by Rajeev Thakur, and has been adopted as a +clarification to the MPI standard by the MPI-Forum. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alloc_mem.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alloc_mem.html new file mode 100644 index 00000000..f4698e10 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alloc_mem.html @@ -0,0 +1,79 @@ + + + + +MPI_Alloc_mem + + +

MPI_Alloc_mem

+Allocate memory for message passing and RMA +

Synopsis

+
+int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr)
+
+

Input Parameters

+
+
size
size of memory segment in bytes (nonnegative integer) + +
info
info argument (handle) +
+

+

Output Parameters

+
baseptr
pointer to beginning of memory segment allocated +
+

+

Notes

+Using this routine from Fortran requires that the Fortran compiler accept +a common pointer extension. See Section 4.11 (Memory Allocation) in the +MPI-2 standard for more information and examples. +

+Also note that while baseptr is a void * type, this is +simply to allow easy use of any pointer object for this parameter. +In fact, this argument is really a void ** type, that is, a +pointer to a pointer. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_NO_MEM
Insufficient memory available for allocation by +MPI_Alloc_mem + +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allreduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allreduce.html new file mode 100644 index 00000000..65dccf04 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Allreduce.html @@ -0,0 +1,93 @@ + + + + +MPI_Allreduce + + +

MPI_Allreduce

+Combines values from all processes and distributes the result back to all processes +

Synopsis

+
+int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count,
+                  MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
data type of elements of send buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoall.html new file mode 100644 index 00000000..da8b3271 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoall.html @@ -0,0 +1,80 @@ + + + + +MPI_Alltoall + + +

MPI_Alltoall

+Sends data from all to all processes +

Synopsis

+
+int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                 void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements to send to each process (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from any process (integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallv.html new file mode 100644 index 00000000..719e5bf0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallv.html @@ -0,0 +1,92 @@ + + + + +MPI_Alltoallv + + +

MPI_Alltoallv

+Sends data from all to all processes; each process may send a different amount of data and provide displacements for the input and output data. +

Synopsis

+
+int MPI_Alltoallv(const void *sendbuf, const int *sendcounts,
+                  const int *sdispls, MPI_Datatype sendtype, void *recvbuf,
+                  const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcounts
integer array equal to the group size +specifying the number of elements to send to each processor + +
sdispls
integer array (of length group size). Entry +j specifies the displacement (relative to sendbuf from +which to take the outgoing data destined for process j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
integer array equal to the group size +specifying the maximum number of elements that can be received from +each processor + +
rdispls
integer array (of length group size). Entry +i specifies the displacement (relative to recvbuf at +which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallw.html new file mode 100644 index 00000000..0aa56e21 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Alltoallw.html @@ -0,0 +1,96 @@ + + + + +MPI_Alltoallw + + +

MPI_Alltoallw

+Generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +

Synopsis

+
+int MPI_Alltoallw(const void *sendbuf, const int sendcounts[],
+                  const int sdispls[], const MPI_Datatype sendtypes[],
+                  void *recvbuf, const int recvcounts[], const int rdispls[],
+                  const MPI_Datatype recvtypes[], MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcounts
integer array equal to the group size specifying the number of +elements to send to each processor (integer) + +
sdispls
integer array (of length group size). Entry j specifies the +displacement in bytes (relative to sendbuf) from which to take the outgoing +data destined for process j + +
sendtypes
array of datatypes (of length group size). Entry j specifies the +type of data to send to process j (handle) + +
recvcounts
integer array equal to the group size specifying the number of +elements that can be received from each processor (integer) + +
rdispls
integer array (of length group size). Entry i specifies the +displacement in bytes (relative to recvbuf) at which to place the incoming +data from process i + +
recvtypes
array of datatypes (of length group size). Entry i specifies +the type of data received from process i (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_delete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_delete.html new file mode 100644 index 00000000..16b800d4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_delete.html @@ -0,0 +1,69 @@ + + + + +MPI_Attr_delete + + +

MPI_Attr_delete

+Deletes an attribute value associated with a key on a communicator +

Synopsis

+
+int MPI_Attr_delete(MPI_Comm comm, int keyval)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
keyval
The key value of the deleted attribute (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_delete_attr. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_get.html new file mode 100644 index 00000000..a590c5ba --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_get.html @@ -0,0 +1,94 @@ + + + + +MPI_Attr_get + + +

MPI_Attr_get

+Retrieves attribute value by key +

Synopsis

+
+int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag = false + +
flag
true if an attribute value was extracted; false if no attribute is +associated with the key +
+

+

Notes

+Attributes must be extracted from the same language as they were inserted +in with MPI_ATTR_PUT. The notes for C and Fortran below explain why. +

+

Notes for C

+Even though the attribute_val argument is declared as void *, it is +really the address of a void pointer (i.e., a void **). Using +a void *, however, is more in keeping with C idiom and allows the +pointer to be passed without additional casts. +

+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_get_attr. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The attribute_val in Fortran is a pointer to a Fortran integer, not +a pointer to a void *. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+

+

See Also

+MPI_Attr_put, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_get_attr +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_put.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_put.html new file mode 100644 index 00000000..5e299684 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Attr_put.html @@ -0,0 +1,93 @@ + + + + +MPI_Attr_put + + +

MPI_Attr_put

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
+
+

Input Parameters

+
+
comm
communicator to which attribute will be attached (handle) + +
keyval
key value, as returned by MPI_KEYVAL_CREATE (integer) + +
attribute_val
attribute value +
+

+

Notes

+Values of the permanent attributes MPI_TAG_UB, MPI_HOST, MPI_IO, +MPI_WTIME_IS_GLOBAL, MPI_UNIVERSE_SIZE, MPI_LASTUSEDCODE, and +MPI_APPNUM may not be changed. +

+The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer (void *); in Fortran, +it is a single +integer (not a pointer, since Fortran has no pointers and there are systems +for which a pointer does not fit in an integer (e.g., any > 32 bit address +system that uses 64 bits for Fortran DOUBLE PRECISION). +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_set_attr. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+MPI_Attr_get, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_set_attr +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Barrier.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Barrier.html new file mode 100644 index 00000000..afefaa96 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Barrier.html @@ -0,0 +1,61 @@ + + + + +MPI_Barrier + + +

MPI_Barrier

+Blocks until all processes in the communicator have reached this routine. +

Synopsis

+
+int MPI_Barrier(MPI_Comm comm)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Notes

+Blocks the caller until all processes in the communicator have called it; +that is, the call returns at any process only after all members of the +communicator have entered the call. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bcast.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bcast.html new file mode 100644 index 00000000..7aadfeae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bcast.html @@ -0,0 +1,81 @@ + + + + +MPI_Bcast + + +

MPI_Bcast

+Broadcasts a message from the process with rank "root" to all other processes of the communicator +

Synopsis

+
+int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
+
+

Input/Output Parameters

+
buffer
starting address of buffer (choice) +
+

+

Input Parameters

+
+
count
number of entries in buffer (integer) + +
datatype
data type of buffer (handle) + +
root
rank of broadcast root (integer) + +
comm
communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_ROOT
Invalid root. The root must be specified as a rank in the +communicator. Ranks must be between zero and the size of the communicator +minus one. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend.html new file mode 100644 index 00000000..7cf3d331 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend.html @@ -0,0 +1,118 @@ + + + + +MPI_Bsend + + +

MPI_Bsend

+Basic send with user-provided buffering +

Synopsis

+
+int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Notes

+This send is provided as a convenience function; it allows the user to +send messages without worring about where they are buffered (because the +user must have provided buffer space with MPI_Buffer_attach). +

+In deciding how much buffer space to allocate, remember that the buffer space +is not available for reuse by subsequent MPI_Bsends unless you are certain +that the message +has been received (not just that it should have been received). For example, +this code does not allocate enough buffer space +

+    MPI_Buffer_attach(b, n*sizeof(double) + MPI_BSEND_OVERHEAD);
+    for (i=0; i<m; i++) {
+        MPI_Bsend(buf, n, MPI_DOUBLE, ...);
+    }
+
+ +because only enough buffer space is provided for a single send, and the +loop may start a second MPI_Bsend before the first is done making use of the +buffer. +

+In C, you can +force the messages to be delivered by +

+    MPI_Buffer_detach(&b, &n);
+    MPI_Buffer_attach(b, n);
+
+ +(The MPI_Buffer_detach will not complete until all buffered messages are +delivered.) +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+

+

See Also

+ MPI_Buffer_attach, MPI_Ibsend, MPI_Bsend_init +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend_init.html new file mode 100644 index 00000000..8bb0ae81 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Bsend_init.html @@ -0,0 +1,92 @@ + + + + +MPI_Bsend_init + + +

MPI_Bsend_init

+Builds a handle for a buffered send +

Synopsis

+
+int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype,
+                   int dest, int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+

+

See Also

+ MPI_Buffer_attach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_attach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_attach.html new file mode 100644 index 00000000..558ca1fd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_attach.html @@ -0,0 +1,98 @@ + + + + +MPI_Buffer_attach + + +

MPI_Buffer_attach

+Attaches a user-provided buffer for sending +

Synopsis

+
+int MPI_Buffer_attach(void *buffer, int size)
+
+

Input Parameters

+
+
buffer
initial buffer address (choice) + +
size
buffer size, in bytes (integer) +
+

+

Notes

+The size given should be the sum of the sizes of all outstanding Bsends that +you intend to have, plus MPI_BSEND_OVERHEAD for each Bsend that you do. +For the purposes of calculating size, you should use MPI_Pack_size. +In other words, in the code +
+     MPI_Buffer_attach(buffer, size);
+     MPI_Bsend(..., count=20, datatype=type1,  ...);
+     ...
+     MPI_Bsend(..., count=40, datatype=type2, ...);
+
+ +the value of size in the MPI_Buffer_attach call should be greater than +the value computed by +
+     MPI_Pack_size(20, type1, comm, &s1);
+     MPI_Pack_size(40, type2, comm, &s2);
+     size = s1 + s2 + 2 * MPI_BSEND_OVERHEAD;
+
+ +The MPI_BSEND_OVERHEAD gives the maximum amount of space that may be used in +the buffer for use by the BSEND routines in using the buffer. This value +is in mpi.h (for C) and mpif.h (for Fortran). +

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the buffer for buffered sends (e.g., MPI_Bsend) is shared by all +threads in a process, the user is responsible for ensuring that only +one thread at a time calls this routine or MPI_Buffer_detach. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_INTERN
An internal error has been detected. This is fatal. +Please send a bug report to mpi-bugs@mcs.anl.gov. +
+

+

See Also

+ MPI_Buffer_detach, MPI_Bsend +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_detach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_detach.html new file mode 100644 index 00000000..41021de7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Buffer_detach.html @@ -0,0 +1,96 @@ + + + + +MPI_Buffer_detach + + +

MPI_Buffer_detach

+Removes an existing buffer (for use in MPI_Bsend etc) +

Synopsis

+
+int MPI_Buffer_detach(void *buffer_addr, int *size)
+
+

Output Parameters

+
+
buffer_addr
initial buffer address (choice) + +
size
buffer size, in bytes (integer) +
+

+

Notes

+The reason that MPI_Buffer_detach returns the address and size of the +buffer being detached is to allow nested libraries to replace and restore +the buffer. For example, consider +

+

+    int size, mysize, idummy;
+    void *ptr, *myptr, *dummy;
+    MPI_Buffer_detach(&ptr, &size);
+    MPI_Buffer_attach(myptr, mysize);
+    ...
+    ... library code ...
+    ...
+    MPI_Buffer_detach(&dummy, &idummy);
+    MPI_Buffer_attach(ptr, size);
+
+ +

+This is much like the action of the Unix signal routine and has the same +strengths (it is simple) and weaknesses (it only works for nested usages). +

+Note that for this approach to work, MPI_Buffer_detach must return MPI_SUCCESS +even when there is no buffer to detach. In that case, it returns a size of +zero. The MPI 1.1 standard for MPI_BUFFER_DETACH contains the text +

+

+   The statements made in this section describe the behavior of MPI for
+   buffered-mode sends. When no buffer is currently associated, MPI behaves
+   as if a zero-sized buffer is associated with the process.
+
+ +

+This could be read as applying only to the various Bsend routines. This +implementation takes the position that this applies to MPI_BUFFER_DETACH +as well. +

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the buffer for buffered sends (e.g., MPI_Bsend) is shared by all +threads in a process, the user is responsible for ensuring that only +one thread at a time calls this routine or MPI_Buffer_attach. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The Fortran binding for this routine is different. Because Fortran +does not have pointers, it is impossible to provide a way to use the +output of this routine to exchange buffers. In this case, only the +size field is set. +

+

Notes for C

+Even though the bufferptr argument is declared as void *, it is +really the address of a void pointer. See the rationale in the +standard for more details. +

+

See Also

+ MPI_Buffer_attach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cancel.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cancel.html new file mode 100644 index 00000000..98ba3d5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cancel.html @@ -0,0 +1,86 @@ + + + + +MPI_Cancel + + +

MPI_Cancel

+Cancels a communication request +

Synopsis

+
+int MPI_Cancel(MPI_Request * request)
+
+

Input Parameters

+
request
communication request (handle) +
+

+

Notes

+The primary expected use of MPI_Cancel is in multi-buffering +schemes, where speculative MPI_Irecvs are made. When the computation +completes, some of these receive requests may remain; using MPI_Cancel allows +the user to cancel these unsatisfied requests. +

+Cancelling a send operation is much more difficult, in large part because the +send will usually be at least partially complete (the information on the tag, +size, and source are usually sent immediately to the destination). +Users are +advised that cancelling a send, while a local operation (as defined by the MPI +standard), is likely to be expensive (usually generating one or more internal +messages). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_coords.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_coords.html new file mode 100644 index 00000000..367352d9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_coords.html @@ -0,0 +1,75 @@ + + + + +MPI_Cart_coords + + +

MPI_Cart_coords

+Determines process coords in cartesian topology given rank in group +

Synopsis

+
+int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[])
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
rank
rank of a process within group of comm (integer) + +
maxdims
length of vector coords in the calling program (integer) +
+

+

Output Parameters

+
coords
integer array (of size ndims) containing the Cartesian +coordinates of specified process (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_DIMS
Invalid dimension argument. A dimension argument +is null or its length is less than or equal to zero. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_create.html new file mode 100644 index 00000000..435ba675 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_create.html @@ -0,0 +1,82 @@ + + + + +MPI_Cart_create + + +

MPI_Cart_create

+Makes a new communicator to which topology information has been attached +

Synopsis

+
+int MPI_Cart_create(MPI_Comm comm_old, int ndims, const int dims[],
+                    const int periods[], int reorder, MPI_Comm * comm_cart)
+
+

Input Parameters

+
+
comm_old
input communicator (handle) + +
ndims
number of dimensions of cartesian grid (integer) + +
dims
integer array of size ndims specifying the number of processes in +each dimension + +
periods
logical array of size ndims specifying whether the grid is +periodic (true) or not (false) in each dimension + +
reorder
ranking may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_cart
communicator with new cartesian topology (handle) +
+

+

Algorithm

+We ignore reorder info currently. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_DIMS
Invalid dimension argument. A dimension argument +is null or its length is less than or equal to zero. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_get.html new file mode 100644 index 00000000..76682cc9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_get.html @@ -0,0 +1,78 @@ + + + + +MPI_Cart_get + + +

MPI_Cart_get

+Retrieves Cartesian topology information associated with a communicator +

Synopsis

+
+int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], int periods[], int coords[])
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
maxdims
length of vectors dims, periods, and coords +in the calling program (integer) +
+

+

Output Parameters

+
+
dims
number of processes for each cartesian dimension (array of integer) + +
periods
periodicity (true/false) for each cartesian dimension +(array of logical) + +
coords
coordinates of calling process in cartesian structure +(array of integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_map.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_map.html new file mode 100644 index 00000000..310a7640 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_map.html @@ -0,0 +1,74 @@ + + + + +MPI_Cart_map + + +

MPI_Cart_map

+Maps process to Cartesian topology information +

Synopsis

+
+int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], const int periods[], int *newrank)
+
+

Input Parameters

+
+
comm
input communicator (handle) + +
ndims
number of dimensions of Cartesian structure (integer) + +
dims
integer array of size ndims specifying the number of processes in +each coordinate direction + +
periods
logical array of size ndims specifying the periodicity +specification in each coordinate direction +
+

+

Output Parameters

+
newrank
reordered rank of the calling process; MPI_UNDEFINED if +calling process does not belong to grid (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_DIMS
Invalid dimension argument. A dimension argument +is null or its length is less than or equal to zero. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_rank.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_rank.html new file mode 100644 index 00000000..53907aa3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_rank.html @@ -0,0 +1,76 @@ + + + + +MPI_Cart_rank + + +

MPI_Cart_rank

+Determines process rank in communicator given Cartesian location +

Synopsis

+
+int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank)
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
coords
integer array (of size ndims, the number of dimensions of +the Cartesian topology associated with comm) specifying the cartesian +coordinates of a process +
+

+

Output Parameters

+
rank
rank of specified process (integer) +
+

+

Notes

+Out-of-range coordinates are erroneous for non-periodic dimensions. +Versions of MPICH before 1.2.2 returned MPI_PROC_NULL for the rank in this +case. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_shift.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_shift.html new file mode 100644 index 00000000..06bcdd8f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_shift.html @@ -0,0 +1,77 @@ + + + + +MPI_Cart_shift + + +

MPI_Cart_shift

+Returns the shifted source and destination ranks, given a shift direction and amount +

Synopsis

+
+int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, int *rank_source, int *rank_dest)
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
direction
coordinate dimension of shift (integer) + +
disp
displacement (> 0: upwards shift, < 0: downwards shift) (integer) +
+

+

Output Parameters

+
+
rank_source
rank of source process (integer) + +
rank_dest
rank of destination process (integer) +
+

+

Notes

+The direction argument is in the range [0,n-1] for an n-dimensional +Cartesian mesh. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_sub.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_sub.html new file mode 100644 index 00000000..c89e1718 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cart_sub.html @@ -0,0 +1,73 @@ + + + + +MPI_Cart_sub + + +

MPI_Cart_sub

+Partitions a communicator into subgroups which form lower-dimensional cartesian subgrids +

Synopsis

+
+int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator with cartesian structure (handle) + +
remain_dims
the ith entry of remain_dims specifies whether the ith +dimension is kept in the subgrid (true) or is dropped (false) (logical +vector) +
+

+

Output Parameters

+
newcomm
communicator containing the subgrid that includes the calling +process (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cartdim_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cartdim_get.html new file mode 100644 index 00000000..faddd09a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Cartdim_get.html @@ -0,0 +1,61 @@ + + + + +MPI_Cartdim_get + + +

MPI_Cartdim_get

+Retrieves Cartesian topology information associated with a communicator +

Synopsis

+
+int MPI_Cartdim_get(MPI_Comm comm, int *ndims)
+
+

Input Parameters

+
comm
communicator with cartesian structure (handle) +
+

+

Output Parameters

+
ndims
number of dimensions of the cartesian structure (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Close_port.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Close_port.html new file mode 100644 index 00000000..e17d1569 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Close_port.html @@ -0,0 +1,58 @@ + + + + +MPI_Close_port + + +

MPI_Close_port

+close port +

Synopsis

+
+int MPI_Close_port(const char *port_name)
+
+

Input Parameters

+
port_name
a port name (string) +
+

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_accept.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_accept.html new file mode 100644 index 00000000..01a9e0a1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_accept.html @@ -0,0 +1,70 @@ + + + + +MPI_Comm_accept + + +

MPI_Comm_accept

+Accept a request to form a new intercommunicator +

Synopsis

+
+int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm,
+                    MPI_Comm * newcomm)
+
+

Input Parameters

+
+
port_name
port name (string, used only on root) + +
info
implementation-dependent information (handle, used only on root) + +
root
rank in comm of root node (integer) + +
comm
intracommunicator over which call is collective (handle) +
+

+

Output Parameters

+
newcomm
intercommunicator with client as remote group (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_call_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_call_errhandler.html new file mode 100644 index 00000000..c0b08719 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_call_errhandler.html @@ -0,0 +1,70 @@ + + + + +MPI_Comm_call_errhandler + + +

MPI_Comm_call_errhandler

+Call the error handler installed on a communicator +

Synopsis

+
+int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode)
+
+

Input Parameters

+
+
comm
communicator with error handler (handle) + +
errorcode
error code (integer) +
+

+

Note

+Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. +

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_compare.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_compare.html new file mode 100644 index 00000000..3b910b51 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_compare.html @@ -0,0 +1,80 @@ + + + + +MPI_Comm_compare + + +

MPI_Comm_compare

+Compares two communicators +

Synopsis

+
+int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result)
+
+

Input Parameters

+
+
comm1
comm1 (handle) + +
comm2
comm2 (handle) +
+

+

Output Parameters

+
result
integer which is MPI_IDENT if the contexts and groups are the +same, MPI_CONGRUENT if different contexts but identical groups, MPI_SIMILAR +if different contexts but similar groups, and MPI_UNEQUAL otherwise +
+

+

Using 'MPI_COMM_NULL' with 'MPI_Comm_compare'

+

+It is an error to use MPI_COMM_NULL as one of the arguments to +MPI_Comm_compare. The relevant sections of the MPI standard are +

+.(2.4.1 Opaque Objects) +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. +

+.(5.4.1. Communicator Accessors) +where there is no text in MPI_COMM_COMPARE allowing a null handle. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +(To perform the communicator comparisions, this routine may need to +allocate some memory. Memory allocation is not interrupt-safe, and hence +this routine is only thread-safe.) +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_connect.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_connect.html new file mode 100644 index 00000000..f5dbebb4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_connect.html @@ -0,0 +1,72 @@ + + + + +MPI_Comm_connect + + +

MPI_Comm_connect

+Make a request to form a new intercommunicator +

Synopsis

+
+int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm,
+                     MPI_Comm * newcomm)
+
+

Input Parameters

+
+
port_name
network address (string, used only on root) + +
info
implementation-dependent information (handle, used only on root) + +
root
rank in comm of root node (integer) + +
comm
intracommunicator over which call is collective (handle) +
+

+

Output Parameters

+
newcomm
intercommunicator with server as remote group (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_PORT
+
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create.html new file mode 100644 index 00000000..03e780e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create.html @@ -0,0 +1,69 @@ + + + + +MPI_Comm_create + + +

MPI_Comm_create

+Creates a new communicator +

Synopsis

+
+int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
group
group, which is a subset of the group of comm (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_errhandler.html new file mode 100644 index 00000000..b2d9a247 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_errhandler.html @@ -0,0 +1,69 @@ + + + + +MPI_Comm_create_errhandler + + +

MPI_Comm_create_errhandler

+Create a communicator error handler +

Synopsis

+
+int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function * comm_errhandler_fn,
+                               MPI_Errhandler * errhandler)
+
+

Input Parameters

+
comm_errhandler_fn
user defined error handling procedure (function) +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Error Handler

+The error handler function should be of the form +

+void MPI_Comm_errhandler_function(MPI_Comm *comm, int *rc); +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_group.html new file mode 100644 index 00000000..05573dcd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_group.html @@ -0,0 +1,71 @@ + + + + +MPI_Comm_create_group + + +

MPI_Comm_create_group

+Creates a new communicator +

Synopsis

+
+int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
group
group, which is a subset of the group of comm (handle) + +
tag
safe tag unused by other communication +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_keyval.html new file mode 100644 index 00000000..4703cb4d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_create_keyval.html @@ -0,0 +1,94 @@ + + + + +MPI_Comm_create_keyval + + +

MPI_Comm_create_keyval

+Create a new attribute key +

Synopsis

+
+int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function * comm_copy_attr_fn,
+                           MPI_Comm_delete_attr_function * comm_delete_attr_fn,
+                           int *comm_keyval, void *extra_state)
+
+

Input Parameters

+
+
comm_copy_attr_fn
Copy callback function for keyval + +
comm_delete_attr_fn
Delete callback function for keyval + +
extra_state
Extra state for callback functions +
+

+

Output Parameters

+
comm_keyval
key value for future access (integer) +
+

+

Notes

+Key values are global (available for any and all communicators). +

+Default copy and delete functions are available. These are +

+
MPI_COMM_NULL_COPY_FN
empty copy function + +
MPI_COMM_NULL_DELETE_FN
empty delete function + +
MPI_COMM_DUP_FN
simple dup function +
+

+There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language from which MPI_Comm_create_keyval +is called. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. +

+

+

Return value from attribute callbacks

+The MPI-2 versions of the attribute callbacks should return either +MPI_SUCCESS on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines MPI_Add_error_class and MPI_Add_error_code that allow the +user to define and use MPI error codes and classes. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+MPI_Comm_free_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_delete_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_delete_attr.html new file mode 100644 index 00000000..c37c27c5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_delete_attr.html @@ -0,0 +1,66 @@ + + + + +MPI_Comm_delete_attr + + +

MPI_Comm_delete_attr

+Deletes an attribute value associated with a key on a communicator +

Synopsis

+
+int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
comm_keyval
The key value of the deleted attribute (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+MPI_Comm_set_attr, MPI_Comm_create_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_disconnect.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_disconnect.html new file mode 100644 index 00000000..d4ff7c90 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_disconnect.html @@ -0,0 +1,62 @@ + + + + +MPI_Comm_disconnect + + +

MPI_Comm_disconnect

+Disconnect from a communicator +

Synopsis

+
+int MPI_Comm_disconnect(MPI_Comm * comm)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Notes

+This routine waits for all pending communication to complete, then frees the +communicator and sets comm to MPI_COMM_NULL. It may not be called +with MPI_COMM_WORLD or MPI_COMM_SELF. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+MPI_Comm_connect, MPI_Comm_join +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup.html new file mode 100644 index 00000000..88f16a45 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup.html @@ -0,0 +1,87 @@ + + + + +MPI_Comm_dup + + +

MPI_Comm_dup

+Duplicates an existing communicator with all its cached information +

Synopsis

+
+int MPI_Comm_dup(MPI_Comm comm, MPI_Comm * newcomm)
+
+

Input Parameters

+
comm
Communicator to be duplicated (handle) +
+

+

Output Parameters

+
newcomm
A new communicator over the same group as comm but with a new +context. See notes. (handle) +
+

+

Notes

+This routine is used to create a new communicator that has a new +communication context but contains the same group of processes as +the input communicator. Since all MPI communication is performed +within a communicator (specifies as the group of processes plus +the context), this routine provides an effective way to create a +private communicator for use by a software module or library. In +particular, no library routine should use MPI_COMM_WORLD as the +communicator; instead, a duplicate of a user-specified communicator +should always be used. For more information, see Using MPI, 2nd +edition. +

+Because this routine essentially produces a copy of a communicator, +it also copies any attributes that have been defined on the input +communicator, using the attribute copy function specified by the +copy_function argument to MPI_Keyval_create. This is +particularly useful for (a) attributes that describe some property +of the group associated with the communicator, such as its +interconnection topology and (b) communicators that are given back +to the user; the attibutes in this case can track subsequent +MPI_Comm_dup operations on this communicator. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+

See Also

+ MPI_Comm_free, MPI_Keyval_create, MPI_Attr_put, MPI_Attr_delete, +
MPI_Comm_create_keyval, MPI_Comm_set_attr, MPI_Comm_delete_attr + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup_with_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup_with_info.html new file mode 100644 index 00000000..6b48da91 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_dup_with_info.html @@ -0,0 +1,75 @@ + + + + +MPI_Comm_dup_with_info + + +

MPI_Comm_dup_with_info

+Duplicates an existing communicator with all its cached information +

Synopsis

+
+int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
Communicator to be duplicated (handle) + +
info
info object (handle) +
+

+

Output Parameters

+
newcomm
A new communicator over the same group as comm but with a new +context. See notes. (handle) +
+

+

Notes

+MPI_COMM_DUP_WITH_INFO behaves exactly as MPI_COMM_DUP except that +the info hints associated with the communicator comm are not +duplicated in newcomm. The hints provided by the argument info are +associated with the output communicator newcomm instead. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+

See Also

+ MPI_Comm_dup, MPI_Comm_free, MPI_Keyval_create, +
MPI_Attr_put, MPI_Attr_delete, MPI_Comm_create_keyval, +MPI_Comm_set_attr, MPI_Comm_delete_attr + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free.html new file mode 100644 index 00000000..56c20007 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free.html @@ -0,0 +1,79 @@ + + + + +MPI_Comm_free + + +

MPI_Comm_free

+Marks the communicator object for deallocation +

Synopsis

+
+int MPI_Comm_free(MPI_Comm * comm)
+
+

Input Parameters

+
comm
Communicator to be destroyed (handle) +
+

+

Notes

+This routine frees a communicator. Because the communicator may still +be in use by other MPI routines, the actual communicator storage will not +be freed until all references to this communicator are removed. For most +users, the effect of this routine is the same as if it was in fact freed +at this time of this call. +

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +

disallows freeing a null communicator. The text from the standard is

+
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free_keyval.html new file mode 100644 index 00000000..6f70dcbb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_free_keyval.html @@ -0,0 +1,62 @@ + + + + +MPI_Comm_free_keyval + + +

MPI_Comm_free_keyval

+Frees an attribute key for communicators +

Synopsis

+
+int MPI_Comm_free_keyval(int *comm_keyval)
+
+

Input Parameters

+
comm_keyval
Frees the integer key value (integer) +
+

+

Notes

+Key values are global (they can be used with any and all communicators) +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_attr.html new file mode 100644 index 00000000..df18985c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_attr.html @@ -0,0 +1,79 @@ + + + + +MPI_Comm_get_attr + + +

MPI_Comm_get_attr

+Retrieves attribute value by key +

Synopsis

+
+int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
comm
communicator to which attribute is attached (handle) + +
comm_keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag = false + +
flag
true if an attribute value was extracted; false if no attribute is +associated with the key +
+

+

Notes

+Attributes must be extracted from the same language as they were inserted +in with MPI_Comm_set_attr. The notes for C and Fortran below explain +why. +

+

Notes for C

+Even though the attr_value argument is declared as void *, it is +really the address of a void pointer. See the rationale in the +standard for more details. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_errhandler.html new file mode 100644 index 00000000..f288c430 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_errhandler.html @@ -0,0 +1,67 @@ + + + + +MPI_Comm_get_errhandler + + +

MPI_Comm_get_errhandler

+Get the error handler attached to a communicator +

Synopsis

+
+int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
errhandler
handler currently associated with communicator (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_info.html new file mode 100644 index 00000000..b35fd6ca --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_info.html @@ -0,0 +1,64 @@ + + + + +MPI_Comm_get_info + + +

MPI_Comm_get_info

+Returns a new info object containing the hints of the communicator associated with comm. The current setting of all hints actually used by the system related to this communicator is returned in info_used. If no such hints exist, a handle to a newly created info object is returned that contains no key/value pair. The user is responsible for freeing info_used via MPI_INFO_FREE. +

Synopsis

+
+int MPI_Comm_get_info(MPI_Comm comm, MPI_Info * info_used)
+
+

Input Parameters

+
comm
communicator object (handle) +
+

+

Output Parameters

+
info_used
new info argument (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_name.html new file mode 100644 index 00000000..a2ba4338 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_name.html @@ -0,0 +1,77 @@ + + + + +MPI_Comm_get_name + + +

MPI_Comm_get_name

+Return the print name from the communicator +

Synopsis

+
+int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen)
+
+

Input Parameters

+
comm
Communicator to get name of (handle) +
+

+

Output Parameters

+
+
comm_name
On output, contains the name of the communicator. It must +be an array of size at least MPI_MAX_OBJECT_NAME. + +
resultlen
Number of characters in name +
+

+

Notes

+

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_parent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_parent.html new file mode 100644 index 00000000..da04bdd0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_get_parent.html @@ -0,0 +1,68 @@ + + + + +MPI_Comm_get_parent + + +

MPI_Comm_get_parent

+Return the parent communicator for this process +

Synopsis

+
+int MPI_Comm_get_parent(MPI_Comm * parent)
+
+

Output Parameters

+
parent
the parent communicator (handle) +
+

+

Notes

+

+If a process was started with MPI_Comm_spawn or MPI_Comm_spawn_multiple, +MPI_Comm_get_parent returns the parent intercommunicator of the current +process. This parent intercommunicator is created implicitly inside of +MPI_Init and is the same intercommunicator returned by MPI_Comm_spawn +in the parents. +

+If the process was not spawned, MPI_Comm_get_parent returns +MPI_COMM_NULL. +

+After the parent communicator is freed or disconnected, MPI_Comm_get_parent +returns MPI_COMM_NULL. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_group.html new file mode 100644 index 00000000..1549cf5f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_group.html @@ -0,0 +1,65 @@ + + + + +MPI_Comm_group + + +

MPI_Comm_group

+Accesses the group associated with given communicator +

Synopsis

+
+int MPI_Comm_group(MPI_Comm comm, MPI_Group * group)
+
+

Input Parameters

+
comm
Communicator (handle) +
+

+

Output Parameters

+
group
Group in communicator (handle) +
+

+

Notes

+Because MPI specifies that null objects (e.g., MPI_COMM_NULL) are invalid +as input to MPI routines unless otherwise specified, using MPI_COMM_NULL +as input to this routine is an error. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_idup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_idup.html new file mode 100644 index 00000000..afca3193 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_idup.html @@ -0,0 +1,58 @@ + + + + +MPI_Comm_idup + + +

MPI_Comm_idup

+nonblocking communicator duplication +

Synopsis

+
+int MPI_Comm_idup(MPI_Comm comm, MPI_Comm * newcomm, MPI_Request * request)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
+
newcomm
copy of comm (handle) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_join.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_join.html new file mode 100644 index 00000000..438e5823 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_join.html @@ -0,0 +1,66 @@ + + + + +MPI_Comm_join + + +

MPI_Comm_join

+Create a communicator by joining two processes connected by a socket. +

Synopsis

+
+int MPI_Comm_join(int fd, MPI_Comm * intercomm)
+
+

Input Parameters

+
fd
socket file descriptor +
+

+

Output Parameters

+
intercomm
new intercommunicator (handle) +
+

+

Notes

+The socket must be quiescent before MPI_COMM_JOIN is called and after +MPI_COMM_JOIN returns. More specifically, on entry to MPI_COMM_JOIN, a +read on the socket will not read any data that was written to the socket +before the remote process called MPI_COMM_JOIN. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_rank.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_rank.html new file mode 100644 index 00000000..79450eba --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_rank.html @@ -0,0 +1,58 @@ + + + + +MPI_Comm_rank + + +

MPI_Comm_rank

+Determines the rank of the calling process in the communicator +

Synopsis

+
+int MPI_Comm_rank(MPI_Comm comm, int *rank)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
rank
rank of the calling process in the group of comm (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_group.html new file mode 100644 index 00000000..a2f06bcc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_group.html @@ -0,0 +1,67 @@ + + + + +MPI_Comm_remote_group + + +

MPI_Comm_remote_group

+Accesses the remote group associated with the given inter-communicator +

Synopsis

+
+int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group * group)
+
+

Input Parameters

+
comm
Communicator (must be an intercommunicator) (handle) +
+

+

Output Parameters

+
group
remote group of communicator (handle) +
+

+

Notes

+The user is responsible for freeing the group when it is no longer needed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+

+

See Also

+MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_size.html new file mode 100644 index 00000000..9890fe96 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_remote_size.html @@ -0,0 +1,61 @@ + + + + +MPI_Comm_remote_size + + +

MPI_Comm_remote_size

+Determines the size of the remote group associated with an inter-communictor +

Synopsis

+
+int MPI_Comm_remote_size(MPI_Comm comm, int *size)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
size
number of processes in the remote group of comm (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_attr.html new file mode 100644 index 00000000..24de743d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_attr.html @@ -0,0 +1,83 @@ + + + + +MPI_Comm_set_attr + + +

MPI_Comm_set_attr

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val)
+
+

Input Parameters

+
+
comm
communicator to which attribute will be attached (handle) + +
comm_keyval
key value, as returned by MPI_Comm_create_keyval (integer) + +
attribute_val
attribute value +
+

+

Notes

+Values of the permanent attributes MPI_TAG_UB, MPI_HOST, MPI_IO, +MPI_WTIME_IS_GLOBAL, MPI_UNIVERSE_SIZE, MPI_LASTUSEDCODE, and +MPI_APPNUM may not be changed. +

+The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer (void *); in Fortran, it is an +address-sized integer. +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+MPI_Comm_create_keyval, MPI_Comm_delete_attr +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_errhandler.html new file mode 100644 index 00000000..c2283589 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_errhandler.html @@ -0,0 +1,73 @@ + + + + +MPI_Comm_set_errhandler + + +

MPI_Comm_set_errhandler

+Set the error handler for a communicator +

Synopsis

+
+int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
errhandler
new error handler for communicator (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+MPI_Comm_get_errhandler, MPI_Comm_call_errhandler +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_info.html new file mode 100644 index 00000000..4f44628c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_info.html @@ -0,0 +1,63 @@ + + + + +MPI_Comm_set_info + + +

MPI_Comm_set_info

+Set new values for the hints of the communicator associated with comm. The call is collective on the group of comm. The info object may be different on each process, but any info entries that an implementation requires to be the same on all processes must appear with the same value in each process' info object. +

Synopsis

+
+int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info)
+
+

Input Parameters

+
+
comm
communicator object (handle) + +
info
info argument (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_name.html new file mode 100644 index 00000000..c5a44209 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_set_name.html @@ -0,0 +1,66 @@ + + + + +MPI_Comm_set_name + + +

MPI_Comm_set_name

+Sets the print name for a communicator +

Synopsis

+
+int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name)
+
+

Input Parameters

+
+
comm
communicator to name (handle) + +
comm_name
Name for communicator +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_size.html new file mode 100644 index 00000000..c473e439 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_size.html @@ -0,0 +1,76 @@ + + + + +MPI_Comm_size + + +

MPI_Comm_size

+Determines the size of the group associated with a communicator +

Synopsis

+
+int MPI_Comm_size(MPI_Comm comm, int *size)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
size
number of processes in the group of comm (integer) +
+

+

Notes

+

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn.html new file mode 100644 index 00000000..ebd10f5f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn.html @@ -0,0 +1,85 @@ + + + + +MPI_Comm_spawn + + +

MPI_Comm_spawn

+Spawn up to maxprocs instances of a single MPI application +

Synopsis

+
+int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info,
+                   int root, MPI_Comm comm, MPI_Comm * intercomm, int array_of_errcodes[])
+
+

Input Parameters

+
+
command
name of program to be spawned (string, significant only at root) + +
argv
arguments to command (array of strings, significant only at root) + +
maxprocs
maximum number of processes to start (integer, significant only +at root) + +
info
a set of key-value pairs telling the runtime system where and how +to start the processes (handle, significant only at root) + +
root
rank of process in which previous arguments are examined (integer) + +
comm
intracommunicator containing group of spawning processes (handle) +
+

+

Output Parameters

+
+
intercomm
intercommunicator between original group and the +newly spawned group (handle) + +
array_of_errcodes
one code per process (array of integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_SPAWN
+
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn_multiple.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn_multiple.html new file mode 100644 index 00000000..ae28af6b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_spawn_multiple.html @@ -0,0 +1,84 @@ + + + + +MPI_Comm_spawn_multiple + + +

MPI_Comm_spawn_multiple

+short description +

Synopsis

+
+int MPI_Comm_spawn_multiple(int count, char *array_of_commands[],
+                            char **array_of_argv[], const int array_of_maxprocs[],
+                            const MPI_Info array_of_info[], int root, MPI_Comm comm,
+                            MPI_Comm * intercomm, int array_of_errcodes[])
+
+

Input Parameters

+
+
count
number of commands (positive integer, significant to MPI only at +root + +
array_of_commands
programs to be executed (array of strings, significant +only at root) + +
array_of_argv
arguments for commands (array of array of strings, +significant only at root) + +
array_of_maxprocs
maximum number of processes to start for each command +(array of integer, significant only at root) + +
array_of_info
info objects telling the runtime system where and how to +start processes (array of handles, significant only at root) + +
root
rank of process in which previous arguments are examined (integer) + +
comm
intracommunicator containing group of spawning processes (handle) +
+

+

Output Parameters

+
+
intercomm
intercommunicator between original group and newly spawned group +(handle) + +
array_of_errcodes
one error code per process (array of integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_SPAWN
+
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split.html new file mode 100644 index 00000000..d5c2a40a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split.html @@ -0,0 +1,86 @@ + + + + +MPI_Comm_split + + +

MPI_Comm_split

+Creates new communicators based on colors and keys +

Synopsis

+
+int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
color
control of subset assignment (nonnegative integer). Processes +with the same color are in the same new communicator + +
key
control of rank assignment (integer) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Notes

+The color must be non-negative or MPI_UNDEFINED. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Algorithm

+
+  1. Use MPI_Allgather to get the color and key from each process
+  2. Count the number of processes with the same color; create a
+     communicator with that many processes.  If this process has
+     MPI_UNDEFINED as the color, create a process with a single member.
+  3. Use key to order the ranks
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split_type.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split_type.html new file mode 100644 index 00000000..d187ae78 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_split_type.html @@ -0,0 +1,77 @@ + + + + +MPI_Comm_split_type + + +

MPI_Comm_split_type

+Creates new communicators based on split types and keys +

Synopsis

+
+int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm * newcomm)
+
+

Input Parameters

+
+
comm
communicator (handle) + +
split_type
type of processes to be grouped together (nonnegative integer). + +
key
control of rank assignment (integer) + +
info
hints to improve communicator creation (handle) +
+

+

Output Parameters

+
newcomm
new communicator (handle) +
+

+

Notes

+The split_type must be non-negative or MPI_UNDEFINED. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_test_inter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_test_inter.html new file mode 100644 index 00000000..1b3888f7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Comm_test_inter.html @@ -0,0 +1,61 @@ + + + + +MPI_Comm_test_inter + + +

MPI_Comm_test_inter

+Tests to see if a comm is an inter-communicator +

Synopsis

+
+int MPI_Comm_test_inter(MPI_Comm comm, int *flag)
+
+

Input Parameters

+
comm
communicator to test (handle) +
+

+

Output Parameters

+
flag
true if this is an inter-communicator(logical) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Compare_and_swap.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Compare_and_swap.html new file mode 100644 index 00000000..3c13264c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Compare_and_swap.html @@ -0,0 +1,96 @@ + + + + +MPI_Compare_and_swap + + +

MPI_Compare_and_swap

+Perform one-sided atomic compare-and-swap. +

Synopsis

+
+int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
+                         void *result_addr, MPI_Datatype datatype, int target_rank,
+                         MPI_Aint target_disp, MPI_Win win)
+
+

+This function compares one element of type datatype in the compare buffer +compare_addr with the buffer at offset target_disp in the target window +specified by target_rank and win and replaces the value at the target with the +value in the origin buffer origin_addr if the compare buffer and the target +buffer are identical. The original value at the target is returned in the +buffer result_addr. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
compare_addr
initial address of compare buffer (choice) + +
result_addr
initial address of result buffer (choice) + +
datatype
datatype of the entry in origin, result, and target buffers (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target buffer (non-negative integer) + +
win
window object (handle) +
+

+

Notes

+This operation is atomic with respect to other "accumulate" operations. +

+The parameter datatype must belong to one of the following categories of +predefined datatypes: C integer, Fortran integer, Logical, Multi-language +types, or Byte as specified in Section 5.9.2 on page 176. The origin and result +buffers (origin_addr and result_addr) must be disjoint. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dims_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dims_create.html new file mode 100644 index 00000000..ee2bb469 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dims_create.html @@ -0,0 +1,62 @@ + + + + +MPI_Dims_create + + +

MPI_Dims_create

+Creates a division of processors in a cartesian grid +

Synopsis

+
+int MPI_Dims_create(int nnodes, int ndims, int dims[])
+
+

Input Parameters

+
+
nnodes
number of nodes in a grid (integer) + +
ndims
number of cartesian dimensions (integer) +
+

+

Input/Output Parameters

+
dims
integer array of size ndims specifying the number of nodes in each +dimension. A value of 0 indicates that MPI_Dims_create should fill in a +suitable value. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create.html new file mode 100644 index 00000000..196c5654 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create.html @@ -0,0 +1,86 @@ + + + + +MPI_Dist_graph_create + + +

MPI_Dist_graph_create

+MPI_DIST_GRAPH_CREATE returns a handle to a new communicator to which the distributed graph topology information is attached. +

Synopsis

+
+int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[],
+                          const int degrees[], const int destinations[],
+                          const int weights[],
+                          MPI_Info info, int reorder, MPI_Comm * comm_dist_graph)
+
+

Input Parameters

+
+
comm_old
input communicator (handle) + +
n
number of source nodes for which this process specifies edges +(non-negative integer) + +
sources
array containing the n source nodes for which this process +specifies edges (array of non-negative integers) + +
degrees
array specifying the number of destinations for each source node +in the source node array (array of non-negative integers) + +
destinations
destination nodes for the source nodes in the source node +array (array of non-negative integers) + +
weights
weights for source to destination edges (array of non-negative +integers or MPI_UNWEIGHTED) + +
info
hints on optimization and interpretation of weights (handle) + +
reorder
the process may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_dist_graph
communicator with distributed graph topology added (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create_adjacent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create_adjacent.html new file mode 100644 index 00000000..357ddfd8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_create_adjacent.html @@ -0,0 +1,89 @@ + + + + +MPI_Dist_graph_create_adjacent + + +

MPI_Dist_graph_create_adjacent

+returns a handle to a new communicator to which the distributed graph topology information is attached. +

Synopsis

+
+int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old,
+                                   int indegree, const int sources[],
+                                   const int sourceweights[],
+                                   int outdegree, const int destinations[],
+                                   const int destweights[],
+                                   MPI_Info info, int reorder, MPI_Comm * comm_dist_graph)
+
+

Input Parameters

+
+
comm_old
input communicator (handle) + +
indegree
size of sources and sourceweights arrays (non-negative integer) + +
sources
ranks of processes for which the calling process is a +destination (array of non-negative integers) + +
sourceweights
weights of the edges into the calling +process (array of non-negative integers or MPI_UNWEIGHTED) + +
outdegree
size of destinations and destweights arrays (non-negative integer) + +
destinations
ranks of processes for which the calling process is a +source (array of non-negative integers) + +
destweights
weights of the edges out of the calling process +(array of non-negative integers or MPI_UNWEIGHTED) + +
info
hints on optimization and interpretation of weights (handle) + +
reorder
the ranks may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_dist_graph
communicator with distributed graph topology (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors.html new file mode 100644 index 00000000..f946cab0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors.html @@ -0,0 +1,71 @@ + + + + +MPI_Dist_graph_neighbors + + +

MPI_Dist_graph_neighbors

+Provides adjacency information for a distributed graph topology. +

Synopsis

+
+int MPI_Dist_graph_neighbors(MPI_Comm comm,
+                             int maxindegree, int sources[], int sourceweights[],
+                             int maxoutdegree, int destinations[], int destweights[])
+
+

Input Parameters

+
+
comm
communicator with distributed graph topology (handle) + +
maxindegree
size of sources and sourceweights arrays (non-negative integer) + +
maxoutdegree
size of destinations and destweights arrays (non-negative integer) +
+

+

Output Parameters

+
+
sources
processes for which the calling process is a destination (array of non-negative integers) + +
sourceweights
weights of the edges into the calling process (array of non-negative integers) + +
destinations
processes for which the calling process is a source (array of non-negative integers) + +
destweights
weights of the edges out of the calling process (array of non-negative integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors_count.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors_count.html new file mode 100644 index 00000000..d0d65616 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Dist_graph_neighbors_count.html @@ -0,0 +1,62 @@ + + + + +MPI_Dist_graph_neighbors_count + + +

MPI_Dist_graph_neighbors_count

+Provides adjacency information for a distributed graph topology. +

Synopsis

+
+int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted)
+
+

Input Parameters

+
comm
communicator with distributed graph topology (handle) +
+

+

Output Parameters

+
+
indegree
number of edges into this process (non-negative integer) + +
outdegree
number of edges out of this process (non-negative integer) + +
weighted
false if MPI_UNWEIGHTED was supplied during creation, true otherwise (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_create.html new file mode 100644 index 00000000..a57d46f0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_create.html @@ -0,0 +1,79 @@ + + + + +MPI_Errhandler_create + + +

MPI_Errhandler_create

+Creates an MPI-style errorhandler +

Synopsis

+
+int MPI_Errhandler_create(MPI_Handler_function * function, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
function
user defined error handling procedure +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Notes

+The MPI Standard states that an implementation may make the output value +(errhandler) simply the address of the function. However, the action of +MPI_Errhandler_free makes this impossible, since it is required to set the +value of the argument to MPI_ERRHANDLER_NULL. In addition, the actual +error handler must remain until all communicators that use it are +freed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement routine for this function is MPI_Comm_create_errhandler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Comm_create_errhandler, MPI_Errhandler_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_free.html new file mode 100644 index 00000000..b72e11dd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_free.html @@ -0,0 +1,57 @@ + + + + +MPI_Errhandler_free + + +

MPI_Errhandler_free

+Frees an MPI-style errorhandler +

Synopsis

+
+int MPI_Errhandler_free(MPI_Errhandler * errhandler)
+
+

Input Parameters

+
errhandler
MPI error handler (handle). Set to MPI_ERRHANDLER_NULL on +exit. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_get.html new file mode 100644 index 00000000..14ca679d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_get.html @@ -0,0 +1,75 @@ + + + + +MPI_Errhandler_get + + +

MPI_Errhandler_get

+Gets the error handler for a communicator +

Synopsis

+
+int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
comm
communicator to get the error handler from (handle) +
+

+

Output Parameters

+
errhandler
MPI error handler currently associated with communicator +(handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Note on Implementation

+

+The MPI Standard was unclear on whether this routine required the user to call +MPI_Errhandler_free once for each call made to this routine in order to +free the error handler. After some debate, the MPI Forum added an explicit +statement that users are required to call MPI_Errhandler_free when the +return value from this routine is no longer needed. This behavior is similar +to the other MPI routines for getting objects; for example, MPI_Comm_group +requires that the user call MPI_Group_free when the group returned +by MPI_Comm_group is no longer needed. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_set.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_set.html new file mode 100644 index 00000000..53e3500e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Errhandler_set.html @@ -0,0 +1,73 @@ + + + + +MPI_Errhandler_set + + +

MPI_Errhandler_set

+Sets the error handler for a communicator +

Synopsis

+
+int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
comm
communicator to set the error handler for (handle) + +
errhandler
new MPI error handler for communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_set_errhandler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Comm_set_errhandler, MPI_Errhandler_create, MPI_Comm_create_errhandler +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_class.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_class.html new file mode 100644 index 00000000..88c31877 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_class.html @@ -0,0 +1,56 @@ + + + + +MPI_Error_class + + +

MPI_Error_class

+Converts an error code into an error class +

Synopsis

+
+int MPI_Error_class(int errorcode, int *errorclass)
+
+

Input Parameters

+
errorcode
Error code returned by an MPI routine +
+

+

Output Parameters

+
errorclass
Error class associated with errorcode + +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_string.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_string.html new file mode 100644 index 00000000..a4cd2ada --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Error_string.html @@ -0,0 +1,67 @@ + + + + +MPI_Error_string + + +

MPI_Error_string

+Return a string for a given error code +

Synopsis

+
+int MPI_Error_string(int errorcode, char *string, int *resultlen)
+
+

Input Parameters

+
errorcode
Error code returned by an MPI routine or an MPI error class +
+

+

Output Parameters

+
+
string
Text that corresponds to the errorcode + +
resultlen
Length of string +
+

+Notes: Error codes are the values return by MPI routines (in C) or in the +ierr argument (in Fortran). These can be converted into error classes +with the routine MPI_Error_class. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Exscan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Exscan.html new file mode 100644 index 00000000..98c8478d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Exscan.html @@ -0,0 +1,103 @@ + + + + +MPI_Exscan + + +

MPI_Exscan

+Computes the exclusive scan (partial reductions) of data on a collection of processes +

Synopsis

+
+int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+               MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
count
number of elements in input buffer (integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Notes

+MPI_Exscan is like MPI_Scan, except that the contribution from the +calling process is not included in the result at the calling process +(it is contributed to the subsequent processes, of course). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Fetch_and_op.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Fetch_and_op.html new file mode 100644 index 00000000..56a14bf5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Fetch_and_op.html @@ -0,0 +1,103 @@ + + + + +MPI_Fetch_and_op + + +

MPI_Fetch_and_op

+Perform one-sided read-modify-write. +

Synopsis

+
+int MPI_Fetch_and_op(const void *origin_addr, void *result_addr,
+                     MPI_Datatype datatype, int target_rank, MPI_Aint target_disp,
+                     MPI_Op op, MPI_Win win)
+
+

+Accumulate one element of type datatype from the origin buffer (origin_addr) to +the buffer at offset target_disp, in the target window specified by target_rank +and win, using the operation op and return in the result buffer result_addr the +content of the target buffer before the accumulation. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
result_addr
initial address of result buffer (choice) + +
datatype
datatype of the entry in origin, result, and target buffers (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target buffer (non-negative integer) + +
op
reduce operation (handle) + +
win
window object (handle) +
+

+

Notes

+This operations is atomic with respect to other "accumulate" operations. +

+The generic functionality of MPI_Get_accumulate might limit the performance of +fetch-and-increment or fetch-and-add calls that might be supported by special +hardware operations. MPI_Fetch_and_op thus allows for a fast implementation +of a commonly used subset of the functionality of MPI_Get_accumulate. +

+The origin and result buffers (origin_addr and result_addr) must be disjoint. +Any of the predefined operations for MPI_Reduce, as well as MPI_NO_OP or +MPI_REPLACE, can be specified as op; user-defined functions cannot be used. The +datatype argument must be a predefined datatype. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Get_accumulate +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_c2f.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_c2f.html new file mode 100644 index 00000000..1fd3e65f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_c2f.html @@ -0,0 +1,20 @@ + + + + +MPI_File_c2f + + +

MPI_File_c2f

+Translates a C file handle to a Fortran file handle +

Synopsis

+
+MPI_Fint MPI_File_c2f(MPI_File fh)
+
+

Input Parameters

+
fh
C file handle (handle) +
+

+

Return Value

+Fortran file handle (integer) + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_call_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_call_errhandler.html new file mode 100644 index 00000000..8650a4fc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_call_errhandler.html @@ -0,0 +1,65 @@ + + + + +MPI_File_call_errhandler + + +

MPI_File_call_errhandler

+Call the error handler installed on a file +

Synopsis

+
+int MPI_File_call_errhandler(MPI_File fh, int errorcode)
+
+

Input Parameters

+
+
fh
MPI file with error handler (handle) + +
errorcode
error code (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_FILE
Invalid MPI File handle +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_close.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_close.html new file mode 100644 index 00000000..e2e56b1d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_close.html @@ -0,0 +1,27 @@ + + + + +MPI_File_close + + +

MPI_File_close

+Closes a file +

Synopsis

+
+int MPI_File_close(MPI_File * fh)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_create_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_create_errhandler.html new file mode 100644 index 00000000..cf0f6e31 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_create_errhandler.html @@ -0,0 +1,58 @@ + + + + +MPI_File_create_errhandler + + +

MPI_File_create_errhandler

+Create a file error handler +

Synopsis

+
+int MPI_File_create_errhandler(MPI_File_errhandler_function * file_errhandler_fn,
+                               MPI_Errhandler * errhandler)
+
+

Input Parameters

+
file_errhandler_fn
user defined error handling procedure (function) +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_delete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_delete.html new file mode 100644 index 00000000..6de5220d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_delete.html @@ -0,0 +1,29 @@ + + + + +MPI_File_delete + + +

MPI_File_delete

+Deletes a file +

Synopsis

+
+int MPI_File_delete(ROMIO_CONST char *filename, MPI_Info info)
+
+

Input Parameters

+
filename
name of file to delete (string) +
+
info
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_f2c.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_f2c.html new file mode 100644 index 00000000..456f79d4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_f2c.html @@ -0,0 +1,20 @@ + + + + +MPI_File_f2c + + +

MPI_File_f2c

+Translates a Fortran file handle to a C file handle +

Synopsis

+
+MPI_File MPI_File_f2c(MPI_Fint fh)
+
+

Input Parameters

+
fh
Fortran file handle (integer) +
+

+

Return Value

+C file handle (handle) + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_amode.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_amode.html new file mode 100644 index 00000000..cc488686 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_amode.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_amode + + +

MPI_File_get_amode

+Returns the file access mode +

Synopsis

+
+int MPI_File_get_amode(MPI_File fh, int *amode)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
amode
access mode (integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_atomicity.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_atomicity.html new file mode 100644 index 00000000..8a4549f3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_atomicity.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_atomicity + + +

MPI_File_get_atomicity

+Returns the atomicity mode +

Synopsis

+
+int MPI_File_get_atomicity(MPI_File fh, int *flag)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
flag
true if atomic mode, false if nonatomic mode (logical) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_byte_offset.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_byte_offset.html new file mode 100644 index 00000000..31f471ee --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_byte_offset.html @@ -0,0 +1,33 @@ + + + + +MPI_File_get_byte_offset + + +

MPI_File_get_byte_offset

+Returns the absolute byte position in the file corresponding to "offset" etypes relative to the current view +

Synopsis

+
+int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset * disp)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
offset (nonnegative integer) +
+

+

Output Parameters

+
disp
absolute byte position of offset (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_errhandler.html new file mode 100644 index 00000000..b88cd315 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_errhandler.html @@ -0,0 +1,64 @@ + + + + +MPI_File_get_errhandler + + +

MPI_File_get_errhandler

+Get the error handler attached to a file +

Synopsis

+
+int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
file
MPI file (handle) +
+

+

Output Parameters

+
errhandler
handler currently associated with file (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_group.html new file mode 100644 index 00000000..2b42e5b8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_group.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_group + + +

MPI_File_get_group

+Returns the group of processes that opened the file +

Synopsis

+
+int MPI_File_get_group(MPI_File fh, MPI_Group * group)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
group
group that opened the file (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_info.html new file mode 100644 index 00000000..10f29d5a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_info.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_info + + +

MPI_File_get_info

+Returns the hints for a file that are actually being used by MPI +

Synopsis

+
+int MPI_File_get_info(MPI_File fh, MPI_Info * info_used)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
info_used
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position.html new file mode 100644 index 00000000..828f73be --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_position + + +

MPI_File_get_position

+Returns the current position of the individual file pointer in etype units relative to the current view +

Synopsis

+
+int MPI_File_get_position(MPI_File fh, MPI_Offset * offset)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
offset
offset of individual file pointer (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position_shared.html new file mode 100644 index 00000000..7beced94 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_position_shared.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_position_shared + + +

MPI_File_get_position_shared

+Returns the current position of the shared file pointer in etype units relative to the current view +

Synopsis

+
+int MPI_File_get_position_shared(MPI_File fh, MPI_Offset * offset)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
offset
offset of shared file pointer (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_size.html new file mode 100644 index 00000000..c34452ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_size.html @@ -0,0 +1,31 @@ + + + + +MPI_File_get_size + + +

MPI_File_get_size

+Returns the file size +

Synopsis

+
+int MPI_File_get_size(MPI_File fh, MPI_Offset * size)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
size
size of the file in bytes (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_type_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_type_extent.html new file mode 100644 index 00000000..428028b2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_type_extent.html @@ -0,0 +1,33 @@ + + + + +MPI_File_get_type_extent + + +

MPI_File_get_type_extent

+Returns the extent of datatype in the file +

Synopsis

+
+int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint * extent)
+
+

Input Parameters

+
fh
file handle (handle) +
+
datatype
datatype (handle) +
+

+

Output Parameters

+
extent
extent of the datatype (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_view.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_view.html new file mode 100644 index 00000000..a644aaf6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_get_view.html @@ -0,0 +1,38 @@ + + + + +MPI_File_get_view + + +

MPI_File_get_view

+Returns the file view +

Synopsis

+
+int MPI_File_get_view(MPI_File fh, MPI_Offset * disp, MPI_Datatype * etype,
+                      MPI_Datatype * filetype, char *datarep)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
disp
displacement (nonnegative integer) +
+
etype
elementary datatype (handle) +
+
filetype
filetype (handle) +
+
datarep
data representation (string) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread.html new file mode 100644 index 00000000..5ea8e0ef --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread.html @@ -0,0 +1,37 @@ + + + + +MPI_File_iread + + +

MPI_File_iread

+Nonblocking read using individual file pointer +

Synopsis

+
+int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_all.html new file mode 100644 index 00000000..c17f01e4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_all.html @@ -0,0 +1,38 @@ + + + + +MPI_File_iread_all + + +

MPI_File_iread_all

+Nonblocking collective read using individual file pointer +

Synopsis

+
+int MPI_File_iread_all(MPI_File fh, void *buf, int count,
+                       MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at.html new file mode 100644 index 00000000..b9eecfb8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at.html @@ -0,0 +1,40 @@ + + + + +MPI_File_iread_at + + +

MPI_File_iread_at

+Nonblocking read using explicit offset +

Synopsis

+
+int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype,
+                      MPIO_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at_all.html new file mode 100644 index 00000000..ac7567bd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_iread_at_all + + +

MPI_File_iread_at_all

+Nonblocking collective read using explicit offset +

Synopsis

+
+int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf,
+                          int count, MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_shared.html new file mode 100644 index 00000000..1d385ade --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iread_shared.html @@ -0,0 +1,38 @@ + + + + +MPI_File_iread_shared + + +

MPI_File_iread_shared

+Nonblocking read using shared file pointer +

Synopsis

+
+int MPI_File_iread_shared(MPI_File fh, void *buf, int count,
+                          MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite.html new file mode 100644 index 00000000..69640abe --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite.html @@ -0,0 +1,42 @@ + + + + +MPI_File_iwrite + + +

MPI_File_iwrite

+Nonblocking write using individual file pointer +

Synopsis

+
+#ifdef HAVE_MPI_GREQUEST
+#include "mpiu_greq.h"
+#endif
+
+int MPI_File_iwrite(MPI_File fh, ROMIO_CONST void *buf, int count,
+                    MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_all.html new file mode 100644 index 00000000..f2d4f4cc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_all.html @@ -0,0 +1,38 @@ + + + + +MPI_File_iwrite_all + + +

MPI_File_iwrite_all

+Nonblocking collective write using individual file pointer +

Synopsis

+
+int MPI_File_iwrite_all(MPI_File fh, ROMIO_CONST void *buf, int count,
+                        MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at.html new file mode 100644 index 00000000..2cfa73d1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at.html @@ -0,0 +1,44 @@ + + + + +MPI_File_iwrite_at + + +

MPI_File_iwrite_at

+Nonblocking write using explicit offset +

Synopsis

+
+#ifdef HAVE_MPI_GREQUEST
+#include "mpiu_greq.h"
+#endif
+
+int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                       int count, MPI_Datatype datatype, MPIO_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at_all.html new file mode 100644 index 00000000..ad11f9aa --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_iwrite_at_all + + +

MPI_File_iwrite_at_all

+Nonblocking collective write using explicit offset +

Synopsis

+
+int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                           int count, MPI_Datatype datatype, MPI_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_shared.html new file mode 100644 index 00000000..78fdd794 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_iwrite_shared.html @@ -0,0 +1,42 @@ + + + + +MPI_File_iwrite_shared + + +

MPI_File_iwrite_shared

+Nonblocking write using shared file pointer +

Synopsis

+
+#ifdef HAVE_MPI_GREQUEST
+#include "mpiu_greq.h"
+#endif
+
+int MPI_File_iwrite_shared(MPI_File fh, ROMIO_CONST void *buf, int count,
+                           MPI_Datatype datatype, MPIO_Request * request)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
request
request object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_open.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_open.html new file mode 100644 index 00000000..0e6326ad --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_open.html @@ -0,0 +1,38 @@ + + + + +MPI_File_open + + +

MPI_File_open

+Opens a file +

Synopsis

+
+int MPI_File_open(MPI_Comm comm, ROMIO_CONST char *filename, int amode,
+                  MPI_Info info, MPI_File * fh)
+
+

Input Parameters

+
comm
communicator (handle) +
+
filename
name of file to open (string) +
+
amode
file access mode (integer) +
+
info
info object (handle) +
+

+

Output Parameters

+
fh
file handle (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_preallocate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_preallocate.html new file mode 100644 index 00000000..38bbdf75 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_preallocate.html @@ -0,0 +1,29 @@ + + + + +MPI_File_preallocate + + +

MPI_File_preallocate

+Preallocates storage space for a file +

Synopsis

+
+int MPI_File_preallocate(MPI_File fh, MPI_Offset size)
+
+

Input Parameters

+
fh
file handle (handle) +
+
size
size to preallocate (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read.html new file mode 100644 index 00000000..c30b7be9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read.html @@ -0,0 +1,37 @@ + + + + +MPI_File_read + + +

MPI_File_read

+Read using individual file pointer +

Synopsis

+
+int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all.html new file mode 100644 index 00000000..d1394e6c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all.html @@ -0,0 +1,37 @@ + + + + +MPI_File_read_all + + +

MPI_File_read_all

+Collective read using individual file pointer +

Synopsis

+
+int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_begin.html new file mode 100644 index 00000000..6c842d07 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_begin.html @@ -0,0 +1,35 @@ + + + + +MPI_File_read_all_begin + + +

MPI_File_read_all_begin

+Begin a split collective read using individual file pointer +

Synopsis

+
+int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_end.html new file mode 100644 index 00000000..0ecc1254 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_read_all_end + + +

MPI_File_read_all_end

+Complete a split collective read using individual file pointer +

Synopsis

+
+int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at.html new file mode 100644 index 00000000..5eed6119 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at.html @@ -0,0 +1,40 @@ + + + + +MPI_File_read_at + + +

MPI_File_read_at

+Read using explicit offset +

Synopsis

+
+int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf,
+                     int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all.html new file mode 100644 index 00000000..5532651c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_read_at_all + + +

MPI_File_read_at_all

+Collective read using explicit offset +

Synopsis

+
+int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf,
+                         int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_begin.html new file mode 100644 index 00000000..d6458e70 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_begin.html @@ -0,0 +1,38 @@ + + + + +MPI_File_read_at_all_begin + + +

MPI_File_read_at_all_begin

+Begin a split collective read using explicit offset +

Synopsis

+
+int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
+                               int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_end.html new file mode 100644 index 00000000..f122879e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_at_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_read_at_all_end + + +

MPI_File_read_at_all_end

+Complete a split collective read using explicit offset +

Synopsis

+
+int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered.html new file mode 100644 index 00000000..d880c1a4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered.html @@ -0,0 +1,38 @@ + + + + +MPI_File_read_ordered + + +

MPI_File_read_ordered

+Collective read using shared file pointer +

Synopsis

+
+int MPI_File_read_ordered(MPI_File fh, void *buf, int count,
+                          MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_begin.html new file mode 100644 index 00000000..58102a30 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_begin.html @@ -0,0 +1,35 @@ + + + + +MPI_File_read_ordered_begin + + +

MPI_File_read_ordered_begin

+Begin a split collective read using shared file pointer +

Synopsis

+
+int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_end.html new file mode 100644 index 00000000..d199d85f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_ordered_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_read_ordered_end + + +

MPI_File_read_ordered_end

+Complete a split collective read using shared file pointer +

Synopsis

+
+int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_shared.html new file mode 100644 index 00000000..461a9c41 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_read_shared.html @@ -0,0 +1,38 @@ + + + + +MPI_File_read_shared + + +

MPI_File_read_shared

+Read using shared file pointer +

Synopsis

+
+int MPI_File_read_shared(MPI_File fh, void *buf, int count,
+                         MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek.html new file mode 100644 index 00000000..d659c2f8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek.html @@ -0,0 +1,31 @@ + + + + +MPI_File_seek + + +

MPI_File_seek

+Updates the individual file pointer +

Synopsis

+
+int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (integer) +
+
whence
update mode (state) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek_shared.html new file mode 100644 index 00000000..73162f31 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_seek_shared.html @@ -0,0 +1,31 @@ + + + + +MPI_File_seek_shared + + +

MPI_File_seek_shared

+Updates the shared file pointer +

Synopsis

+
+int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (integer) +
+
whence
update mode (state) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_atomicity.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_atomicity.html new file mode 100644 index 00000000..14e06d6f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_atomicity.html @@ -0,0 +1,29 @@ + + + + +MPI_File_set_atomicity + + +

MPI_File_set_atomicity

+Sets the atomicity mode +

Synopsis

+
+int MPI_File_set_atomicity(MPI_File fh, int flag)
+
+

Input Parameters

+
fh
file handle (handle) +
+
flag
true to set atomic mode, false to set nonatomic mode (logical) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_errhandler.html new file mode 100644 index 00000000..9166699f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_errhandler.html @@ -0,0 +1,63 @@ + + + + +MPI_File_set_errhandler + + +

MPI_File_set_errhandler

+Set the error handler for an MPI file +

Synopsis

+
+int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
file
MPI file (handle) + +
errhandler
new error handler for file (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_info.html new file mode 100644 index 00000000..d8415f9c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_info.html @@ -0,0 +1,29 @@ + + + + +MPI_File_set_info + + +

MPI_File_set_info

+Sets new values for the hints associated with a file +

Synopsis

+
+int MPI_File_set_info(MPI_File fh, MPI_Info info)
+
+

Input Parameters

+
fh
file handle (handle) +
+
info
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_size.html new file mode 100644 index 00000000..8f477b23 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_size.html @@ -0,0 +1,29 @@ + + + + +MPI_File_set_size + + +

MPI_File_set_size

+Sets the file size +

Synopsis

+
+int MPI_File_set_size(MPI_File fh, MPI_Offset size)
+
+

Input Parameters

+
fh
file handle (handle) +
+
size
size to truncate or expand file (nonnegative integer) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_view.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_view.html new file mode 100644 index 00000000..4c40400e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_set_view.html @@ -0,0 +1,38 @@ + + + + +MPI_File_set_view + + +

MPI_File_set_view

+Sets the file view +

Synopsis

+
+int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
+                      MPI_Datatype filetype, ROMIO_CONST char *datarep, MPI_Info info)
+
+

Input Parameters

+
fh
file handle (handle) +
+
disp
displacement (nonnegative integer) +
+
etype
elementary datatype (handle) +
+
filetype
filetype (handle) +
+
datarep
data representation (string) +
+
info
info object (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_sync.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_sync.html new file mode 100644 index 00000000..893c66ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_sync.html @@ -0,0 +1,27 @@ + + + + +MPI_File_sync + + +

MPI_File_sync

+Causes all previous writes to be transferred to the storage device +

Synopsis

+
+int MPI_File_sync(MPI_File fh)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write.html new file mode 100644 index 00000000..174b452f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write + + +

MPI_File_write

+Write using individual file pointer +

Synopsis

+
+int MPI_File_write(MPI_File fh, ROMIO_CONST void *buf, int count,
+                   MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all.html new file mode 100644 index 00000000..19bd5cc4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write_all + + +

MPI_File_write_all

+Collective write using individual file pointer +

Synopsis

+
+int MPI_File_write_all(MPI_File fh, ROMIO_CONST void *buf, int count,
+                       MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_begin.html new file mode 100644 index 00000000..21c5fc8c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_begin.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_all_begin + + +

MPI_File_write_all_begin

+Begin a split collective write using individual file pointer +

Synopsis

+
+int MPI_File_write_all_begin(MPI_File fh, ROMIO_CONST void *buf, int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_end.html new file mode 100644 index 00000000..9b51551d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_all_end + + +

MPI_File_write_all_end

+Complete a split collective write using individual file pointer +

Synopsis

+
+int MPI_File_write_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at.html new file mode 100644 index 00000000..f251c370 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at.html @@ -0,0 +1,40 @@ + + + + +MPI_File_write_at + + +

MPI_File_write_at

+Write using explicit offset +

Synopsis

+
+int MPI_File_write_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                      int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all.html new file mode 100644 index 00000000..79599cea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all.html @@ -0,0 +1,40 @@ + + + + +MPI_File_write_at_all + + +

MPI_File_write_at_all

+Collective write using explicit offset +

Synopsis

+
+int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                          int count, MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_begin.html new file mode 100644 index 00000000..2f96874e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_begin.html @@ -0,0 +1,36 @@ + + + + +MPI_File_write_at_all_begin + + +

MPI_File_write_at_all_begin

+Begin a split collective write using explicit offset +

Synopsis

+
+int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf,
+                                int count, MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
offset
file offset (nonnegative integer) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_end.html new file mode 100644 index 00000000..bfeefdf7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_at_all_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_at_all_end + + +

MPI_File_write_at_all_end

+Complete a split collective write using explicit offset +

Synopsis

+
+int MPI_File_write_at_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered.html new file mode 100644 index 00000000..5b93cc73 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write_ordered + + +

MPI_File_write_ordered

+Collective write using shared file pointer +

Synopsis

+
+int MPI_File_write_ordered(MPI_File fh, ROMIO_CONST void *buf, int count,
+                           MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_begin.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_begin.html new file mode 100644 index 00000000..5346afdb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_begin.html @@ -0,0 +1,36 @@ + + + + +MPI_File_write_ordered_begin + + +

MPI_File_write_ordered_begin

+Begin a split collective write using shared file pointer +

Synopsis

+
+int MPI_File_write_ordered_begin(MPI_File fh, ROMIO_CONST void *buf, int count,
+                                 MPI_Datatype datatype)
+
+

Input Parameters

+
fh
file handle (handle) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_end.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_end.html new file mode 100644 index 00000000..f33ec424 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_ordered_end.html @@ -0,0 +1,33 @@ + + + + +MPI_File_write_ordered_end + + +

MPI_File_write_ordered_end

+Complete a split collective write using shared file pointer +

Synopsis

+
+int MPI_File_write_ordered_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+

+

Output Parameters

+
buf
initial address of buffer (choice) +
+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_shared.html new file mode 100644 index 00000000..9240a5e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_File_write_shared.html @@ -0,0 +1,38 @@ + + + + +MPI_File_write_shared + + +

MPI_File_write_shared

+Write using shared file pointer +

Synopsis

+
+int MPI_File_write_shared(MPI_File fh, ROMIO_CONST void *buf, int count,
+                          MPI_Datatype datatype, MPI_Status * status)
+
+

Input Parameters

+
fh
file handle (handle) +
+
buf
initial address of buffer (choice) +
+
count
number of elements in buffer (nonnegative integer) +
+
datatype
datatype of each buffer element (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalize.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalize.html new file mode 100644 index 00000000..2d9d1134 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalize.html @@ -0,0 +1,51 @@ + + + + +MPI_Finalize + + +

MPI_Finalize

+Terminates MPI execution environment +

Synopsis

+
+int MPI_Finalize(void)
+
+

Notes

+All processes must call this routine before exiting. The number of +processes running after this routine is called is undefined; +it is best not to perform much more than a return rc after calling +MPI_Finalize. +

+

Thread and Signal Safety

+The MPI standard requires that MPI_Finalize be called only by the same +thread that initialized MPI with either MPI_Init or MPI_Init_thread. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalized.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalized.html new file mode 100644 index 00000000..e9fb6d69 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Finalized.html @@ -0,0 +1,52 @@ + + + + +MPI_Finalized + + +

MPI_Finalized

+Indicates whether MPI_Finalize has been called. +

Synopsis

+
+int MPI_Finalized(int *flag)
+
+

Output Parameters

+
flag
Flag is true if MPI_Finalize has been called and false otherwise. +(logical) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Free_mem.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Free_mem.html new file mode 100644 index 00000000..ddc607af --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Free_mem.html @@ -0,0 +1,54 @@ + + + + +MPI_Free_mem + + +

MPI_Free_mem

+Free memory allocated with MPI_Alloc_mem +

Synopsis

+
+int MPI_Free_mem(void *base)
+
+

Input Parameters

+
base
initial address of memory segment allocated by MPI_ALLOC_MEM +(choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gather.html new file mode 100644 index 00000000..dee3511f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gather.html @@ -0,0 +1,86 @@ + + + + +MPI_Gather + + +

MPI_Gather

+Gathers together values from a group of processes +

Synopsis

+
+int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+               void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements for any single receive (integer, +significant only at root) + +
recvtype
data type of recv buffer elements +(significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice, significant only at root) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gatherv.html new file mode 100644 index 00000000..4586c752 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Gatherv.html @@ -0,0 +1,90 @@ + + + + +MPI_Gatherv + + +

MPI_Gatherv

+Gathers into specified locations from all processes in a group +

Synopsis

+
+int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                void *recvbuf, const int *recvcounts, const int *displs,
+                MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
integer array (of length group size) +containing the number of elements that are received from each process +(significant only at root) + +
displs
integer array (of length group size). Entry +i specifies the displacement relative to recvbuf at +which to place the incoming data from process i (significant only +at root) + +
recvtype
data type of recv buffer elements +(significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice, significant only at root) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get.html new file mode 100644 index 00000000..17eb006f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get.html @@ -0,0 +1,91 @@ + + + + +MPI_Get + + +

MPI_Get

+Get data from a memory window on a remote process +

Synopsis

+
+int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype
+            origin_datatype, int target_rank, MPI_Aint target_disp,
+            int target_count, MPI_Datatype target_datatype, MPI_Win win)
+
+

Input Parameters

+
+
origin_addr
Address of the buffer in which to receive the data + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from window start to the beginning of the +target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
win
window object used for communication (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Rget +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_accumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_accumulate.html new file mode 100644 index 00000000..54400a20 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_accumulate.html @@ -0,0 +1,124 @@ + + + + +MPI_Get_accumulate + + +

MPI_Get_accumulate

+Perform an atomic, one-sided read-and-accumulate operation. +

Synopsis

+
+int MPI_Get_accumulate(const void *origin_addr, int origin_count,
+                       MPI_Datatype origin_datatype, void *result_addr, int result_count,
+                       MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp,
+                       int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win)
+
+

+Accumulate origin_count elements of type origin_datatype from the origin buffer +(origin_addr) to the buffer at offset target_disp, in the target window +specified by target_rank and win, using the operation op and return in the +result buffer result_addr the content of the target buffer before the +accumulation. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
result_addr
initial address of result buffer (choice) + +
result_count
number of entries in result buffer (non-negative integer) + +
result_datatype
datatype of each entry in result buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Notes

+This operations is atomic with respect to other "accumulate" operations. +

+The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +MPI_REPLACE provides fetch-and-set behavior. +

+The origin and result buffers (origin_addr and result_addr) must be disjoint. +Each datatype argument must be a predefined datatype or a derived datatype +where all basic components are of the same predefined datatype. All datatype +arguments must be constructed from the same predefined datatype. The +operation op applies to elements of that predefined type. target_datatype must +not specify overlapping entries, and the target buffer must fit in the target +window or in attached memory in a dynamic window. +

+Any of the predefined operations for MPI_Reduce, as well as MPI_NO_OP or +MPI_REPLACE can be specified as op. User-defined functions cannot be used. A +new predefined operation, MPI_NO_OP, is defined. It corresponds to the +associative function f (a, b) = a; i.e., the current value in the target memory +is returned in the result buffer at the origin and no operation is performed on +the target buffer. MPI_NO_OP can be used only in MPI_Get_accumulate, +MPI_Rget_accumulate, and MPI_Fetch_and_op. MPI_NO_OP cannot be used in +MPI_Accumulate, MPI_Raccumulate, or collective reduction operations, such as +MPI_Reduce and others. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Rget_accumulate MPI_Fetch_and_op +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_address.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_address.html new file mode 100644 index 00000000..cfea051d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_address.html @@ -0,0 +1,78 @@ + + + + +MPI_Get_address + + +

MPI_Get_address

+Get the address of a location in memory +

Synopsis

+
+int MPI_Get_address(const void *location, MPI_Aint * address)
+
+

Input Parameters

+
location
location in caller memory (choice) +
+

+

Output Parameters

+
address
address of location (address integer) +
+

+

Notes

+This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C & operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. +

+This routine should be used instead of MPI_Address. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+In Fortran, the integer type is always signed. This can cause problems +on systems where the address fits into a four byte unsigned integer but +the value is larger than the largest signed integer. For example, a system +with more than 2 GBytes of memory may have addresses that do not fit within +a four byte signed integer. Unfortunately, there is no easy solution to +this problem, as there is no Fortran datatype that can be used here (using +a longer integer type will cause other problems, as well as surprising +users when the size of the integer type is larger that the size of a pointer +in C). In this case, it is recommended that you use C to manipulate +addresses. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_count.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_count.html new file mode 100644 index 00000000..9cd66394 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_count.html @@ -0,0 +1,61 @@ + + + + +MPI_Get_count + + +

MPI_Get_count

+Gets the number of "top level" elements +

Synopsis

+
+int MPI_Get_count(const MPI_Status * status, MPI_Datatype datatype, int *count)
+
+

Input Parameters

+
+
status
return status of receive operation (Status) + +
datatype
datatype of each receive buffer element (handle) +
+

+

Output Parameters

+
count
number of received elements (integer) +Notes: +If the size of the datatype is zero, this routine will return a count of +zero. If the amount of data in status is not an exact multiple of the +size of datatype (so that count would not be integral), a count of +MPI_UNDEFINED is returned instead. +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements.html new file mode 100644 index 00000000..7691b8fd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements.html @@ -0,0 +1,58 @@ + + + + +MPI_Get_elements + + +

MPI_Get_elements

+Returns the number of basic elements in a datatype +

Synopsis

+
+int MPI_Get_elements(const MPI_Status * status, MPI_Datatype datatype, int *count)
+
+

Input Parameters

+
+
status
return status of receive operation (Status) + +
datatype
datatype used by receive operation (handle) +
+

+

Output Parameters

+
count
number of received basic elements (integer) +
+

+

Notes

+

+If the size of the datatype is zero and the amount of data returned as +determined by status is also zero, this routine will return a count of +zero. This is consistent with a clarification made by the MPI Forum. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements_x.html new file mode 100644 index 00000000..97166940 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_elements_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Get_elements_x + + +

MPI_Get_elements_x

+Returns the number of basic elements in a datatype +

Synopsis

+
+int MPI_Get_elements_x(const MPI_Status * status, MPI_Datatype datatype, MPI_Count * count)
+
+

Input Parameters

+
+
status
return status of receive operation (Status) + +
datatype
datatype used by receive operation (handle) +
+

+

Output Parameters

+
count
number of received basic elements (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_library_version.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_library_version.html new file mode 100644 index 00000000..4f002d68 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_library_version.html @@ -0,0 +1,58 @@ + + + + +MPI_Get_library_version + + +

MPI_Get_library_version

+Return the version number of MPI library +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Get_library_version
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Get_library_version(char *version, int *resultlen)
+
+

Output Parameters

+
+
version
Version of MPI + +
resultlen
Length of the MPI library version string +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_processor_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_processor_name.html new file mode 100644 index 00000000..2576811e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_processor_name.html @@ -0,0 +1,84 @@ + + + + +MPI_Get_processor_name + + +

MPI_Get_processor_name

+Gets the name of the processor +

Synopsis

+
+int MPI_Get_processor_name(char *name, int *resultlen)
+
+

Output Parameters

+
+
name
A unique specifier for the actual (as opposed to virtual) node. This +must be an array of size at least MPI_MAX_PROCESSOR_NAME. + +
resultlen
Length (in characters) of the name +
+

+

Notes

+The name returned should identify a particular piece of hardware; +the exact format is implementation defined. This name may or may not +be the same as might be returned by gethostname, uname, or sysinfo. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+In Fortran, the character argument should be declared as a character string +of MPI_MAX_PROCESSOR_NAME rather than an array of dimension +MPI_MAX_PROCESSOR_NAME. That is, +

+   character*(MPI_MAX_PROCESSOR_NAME) name
+
+ +rather than +
+   character name(MPI_MAX_PROCESSOR_NAME)
+
+ +The two +

+

+The sizes of MPI strings in Fortran are one less than the sizes of that +string in C/C++ because the C/C++ versions provide room for the trailing +null character required by C/C++. For example, MPI_MAX_ERROR_STRING is +mpif.h is one smaller than the same value in mpi.h. See the MPI +standard, sections 2.6.2 and 4.12.9. +

+

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_version.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_version.html new file mode 100644 index 00000000..15820287 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Get_version.html @@ -0,0 +1,54 @@ + + + + +MPI_Get_version + + +

MPI_Get_version

+Return the version number of MPI +

Synopsis

+
+int MPI_Get_version(int *version, int *subversion)
+
+

Output Parameters

+
+
version
Version of MPI + +
subversion
Subversion of MPI +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_create.html new file mode 100644 index 00000000..ee096a46 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_create.html @@ -0,0 +1,85 @@ + + + + +MPI_Graph_create + + +

MPI_Graph_create

+Makes a new communicator to which topology information has been attached +

Synopsis

+
+int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[],
+                     const int edges[], int reorder, MPI_Comm * comm_graph)
+
+

Input Parameters

+
+
comm_old
input communicator without topology (handle) + +
nnodes
number of nodes in graph (integer) + +
indx
array of integers describing node degrees (see below) + +
edges
array of integers describing graph edges (see below) + +
reorder
ranking may be reordered (true) or not (false) (logical) +
+

+

Output Parameters

+
comm_graph
communicator with graph topology added (handle) +
+

+

Notes

+Each process must provide a description of the entire graph, not just the +neigbors of the calling process. +

+

Algorithm

+We ignore the reorder info currently. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_get.html new file mode 100644 index 00000000..325aac7f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_get.html @@ -0,0 +1,73 @@ + + + + +MPI_Graph_get + + +

MPI_Graph_get

+Retrieves graph topology information associated with a communicator +

Synopsis

+
+int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[])
+
+

Input Parameters

+
+
comm
communicator with graph structure (handle) + +
maxindex
length of vector indx in the calling program (integer) + +
maxedges
length of vector edges in the calling program (integer) +
+

+

Output Parameters

+
+
indx
array of integers containing the graph structure (for details see the definition of MPI_GRAPH_CREATE) + +
edges
array of integers containing the graph structure +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_map.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_map.html new file mode 100644 index 00000000..1503f75b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_map.html @@ -0,0 +1,73 @@ + + + + +MPI_Graph_map + + +

MPI_Graph_map

+Maps process to graph topology information +

Synopsis

+
+int MPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank)
+
+

Input Parameters

+
+
comm
input communicator (handle) + +
nnodes
number of graph nodes (integer) + +
indx
integer array specifying the graph structure, see MPI_GRAPH_CREATE + +
edges
integer array specifying the graph structure +
+

+

Output Parameters

+
newrank
reordered rank of the calling process; MPI_UNDEFINED if the +calling process does not belong to graph (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors.html new file mode 100644 index 00000000..3beeea78 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors.html @@ -0,0 +1,75 @@ + + + + +MPI_Graph_neighbors + + +

MPI_Graph_neighbors

+Returns the neighbors of a node associated with a graph topology +

Synopsis

+
+int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[])
+
+

Input Parameters

+
+
comm
communicator with graph topology (handle) + +
rank
rank of process in group of comm (integer) + +
maxneighbors
size of array neighbors (integer) +
+

+

Output Parameters

+
neighbors
ranks of processes that are neighbors to specified process +(array of integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors_count.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors_count.html new file mode 100644 index 00000000..7759a067 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graph_neighbors_count.html @@ -0,0 +1,72 @@ + + + + +MPI_Graph_neighbors_count + + +

MPI_Graph_neighbors_count

+Returns the number of neighbors of a node associated with a graph topology +

Synopsis

+
+int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors)
+
+

Input Parameters

+
+
comm
communicator with graph topology (handle) + +
rank
rank of process in group of comm (integer) +
+

+

Output Parameters

+
nneighbors
number of neighbors of specified process (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graphdims_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graphdims_get.html new file mode 100644 index 00000000..ad648077 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Graphdims_get.html @@ -0,0 +1,68 @@ + + + + +MPI_Graphdims_get + + +

MPI_Graphdims_get

+Retrieves graph topology information associated with a communicator +

Synopsis

+
+int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges)
+
+

Input Parameters

+
comm
communicator for group with graph structure (handle) +
+

+

Output Parameters

+
+
nnodes
number of nodes in graph (integer) + +
nedges
number of edges in graph (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TOPOLOGY
Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +MPI_CART when expecting MPI_GRAPH). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_complete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_complete.html new file mode 100644 index 00000000..10cd1b22 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_complete.html @@ -0,0 +1,57 @@ + + + + +MPI_Grequest_complete + + +

MPI_Grequest_complete

+Notify MPI that a user-defined request is complete +

Synopsis

+
+int MPI_Grequest_complete(MPI_Request request)
+
+

Input Parameters

+
request
Generalized request to mark as complete +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+ MPI_Grequest_start +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_start.html new file mode 100644 index 00000000..15f5a748 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Grequest_start.html @@ -0,0 +1,96 @@ + + + + +MPI_Grequest_start + + +

MPI_Grequest_start

+Create and return a user-defined request +

Synopsis

+
+int MPI_Grequest_start(MPI_Grequest_query_function * query_fn,
+                       MPI_Grequest_free_function * free_fn,
+                       MPI_Grequest_cancel_function * cancel_fn,
+                       void *extra_state, MPI_Request * request)
+
+

Input Parameters

+
+
query_fn
callback function invoked when request status is queried (function) + +
free_fn
callback function invoked when request is freed (function) + +
cancel_fn
callback function invoked when request is cancelled (function) + +
extra_state
Extra state passed to the above functions. +
+

+

Output Parameters

+
request
Generalized request (handle) +
+

+

Notes on the callback functions

+The return values from the callback functions must be a valid MPI error code +or class. This value may either be the return value from any MPI routine +(with one exception noted below) or any of the MPI error classes. +For portable programs, MPI_ERR_OTHER may be used; to provide more +specific information, create a new MPI error class or code with +MPI_Add_error_class or MPI_Add_error_code and return that value. +

+The MPI standard is not clear on the return values from the callback routines. +However, there are notes in the standard that imply that these are MPI error +codes. For example, pages 169 line 46 through page 170, line 1 require that +the free_fn return an MPI error code that may be used in the MPI completion +functions when they return MPI_ERR_IN_STATUS. +

+The one special case is the error value returned by MPI_Comm_dup when +the attribute callback routine returns a failure. The MPI standard is not +clear on what values may be used to indicate an error return. Further, +the Intel MPI test suite made use of non-zero values to indicate failure, +and expected these values to be returned by the MPI_Comm_dup when the +attribute routines encountered an error. Such error values may not be valid +MPI error codes or classes. Because of this, it is the user's responsibility +to either use valid MPI error codes in return from the attribute callbacks, +if those error codes are to be returned by a generalized request callback, +or to detect and convert those error codes to valid MPI error codes (recall +that MPI error classes are valid error codes). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_compare.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_compare.html new file mode 100644 index 00000000..f8aff8b9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_compare.html @@ -0,0 +1,67 @@ + + + + +MPI_Group_compare + + +

MPI_Group_compare

+Compares two groups +

Synopsis

+
+int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result)
+
+

Input Parameters

+
+
group1
group1 (handle) + +
group2
group2 (handle) +
+

+

Output Parameters

+
result
integer which is MPI_IDENT if the order and members of +the two groups are the same, MPI_SIMILAR if only the members are the same, +and MPI_UNEQUAL otherwise +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_difference.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_difference.html new file mode 100644 index 00000000..b9478ba9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_difference.html @@ -0,0 +1,72 @@ + + + + +MPI_Group_difference + + +

MPI_Group_difference

+Makes a group from the difference of two groups +

Synopsis

+
+int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup)
+
+

Input Parameters

+
+
group1
first group (handle) + +
group2
second group (handle) +
+

+

Output Parameters

+
newgroup
difference group (handle) +
+

+

Notes

+The generated group containc the members of group1 that are not in group2. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_excl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_excl.html new file mode 100644 index 00000000..1449967e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_excl.html @@ -0,0 +1,85 @@ + + + + +MPI_Group_excl + + +

MPI_Group_excl

+Produces a group by reordering an existing group and taking only unlisted members +

Synopsis

+
+int MPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of elements in array ranks (integer) + +
ranks
array of integer ranks in group not to appear in newgroup + +
+

+

Output Parameters

+
newgroup
new group derived from above, preserving the order defined by +group (handle) +
+

+

Note

+The MPI standard requires that each of the ranks to excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_free.html new file mode 100644 index 00000000..67793588 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_free.html @@ -0,0 +1,62 @@ + + + + +MPI_Group_free + + +

MPI_Group_free

+Frees a group +

Synopsis

+
+int MPI_Group_free(MPI_Group * group)
+
+

Input Parameters

+
group
group to free (handle) +
+

+

Notes

+On output, group is set to MPI_GROUP_NULL. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent groups. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_incl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_incl.html new file mode 100644 index 00000000..5453cc21 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_incl.html @@ -0,0 +1,80 @@ + + + + +MPI_Group_incl + + +

MPI_Group_incl

+Produces a group by reordering an existing group and taking only listed members +

Synopsis

+
+int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of elements in array ranks (and size of newgroup) (integer) + +
ranks
ranks of processes in group to appear in newgroup (array of +integers) +
+

+

Output Parameters

+
newgroup
new group derived from above, in the order defined by ranks +(handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_intersection.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_intersection.html new file mode 100644 index 00000000..849a6ae5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_intersection.html @@ -0,0 +1,73 @@ + + + + +MPI_Group_intersection + + +

MPI_Group_intersection

+Produces a group as the intersection of two existing groups +

Synopsis

+
+int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup)
+
+

Input Parameters

+
+
group1
first group (handle) + +
group2
second group (handle) +
+

+

Output Parameters

+
newgroup
intersection group (handle) +
+

+

Notes

+The output group contains those processes that are in both group1 and +group2. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_excl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_excl.html new file mode 100644 index 00000000..ae507e1d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_excl.html @@ -0,0 +1,86 @@ + + + + +MPI_Group_range_excl + + +

MPI_Group_range_excl

+Produces a group by excluding ranges of processes from an existing group +

Synopsis

+
+int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of elements in array ranks (integer) + +
ranges
a one-dimensional array of integer triplets of the +form (first rank, last rank, stride), indicating the ranks in +group of processes to be excluded from the output group newgroup . +
+

+

Output Parameters

+
newgroup
new group derived from above, preserving the +order in group (handle) +
+

+

Note

+The MPI standard requires that each of the ranks to be excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_incl.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_incl.html new file mode 100644 index 00000000..b2bf5d5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_range_incl.html @@ -0,0 +1,81 @@ + + + + +MPI_Group_range_incl + + +

MPI_Group_range_incl

+Creates a new group from ranges of ranks in an existing group +

Synopsis

+
+int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup)
+
+

Input Parameters

+
+
group
group (handle) + +
n
number of triplets in array ranges (integer) + +
ranges
a one-dimensional array of integer triplets, of the +form (first rank, last rank, stride) indicating ranks in +group or processes to be included in newgroup. +
+

+

Output Parameters

+
newgroup
new group derived from above, in the +order defined by ranges (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_rank.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_rank.html new file mode 100644 index 00000000..91871706 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_rank.html @@ -0,0 +1,61 @@ + + + + +MPI_Group_rank + + +

MPI_Group_rank

+Returns the rank of this process in the given group +

Synopsis

+
+int MPI_Group_rank(MPI_Group group, int *rank)
+
+

Input Parameters

+
group
group (handle) +
+

+

Output Parameters

+
rank
rank of the calling process in group, or MPI_UNDEFINED if the +process is not a member (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_size.html new file mode 100644 index 00000000..4fe65e5e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_size.html @@ -0,0 +1,61 @@ + + + + +MPI_Group_size + + +

MPI_Group_size

+Returns the size of a group +

Synopsis

+
+int MPI_Group_size(MPI_Group group, int *size)
+
+

Input Parameters

+
+
group
group (handle) + +

+

Output Parameters

+
size
number of processes in the group (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_translate_ranks.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_translate_ranks.html new file mode 100644 index 00000000..dd0b4543 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_translate_ranks.html @@ -0,0 +1,69 @@ + + + + +MPI_Group_translate_ranks + + +

MPI_Group_translate_ranks

+Translates the ranks of processes in one group to those in another group +

Synopsis

+
+int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[],
+                              MPI_Group group2, int ranks2[])
+
+

Input Parameters

+
+
group1
group1 (handle) + +
n
number of ranks in ranks1 and ranks2 arrays (integer) + +
ranks1
array of zero or more valid ranks in group1 + +
group2
group2 (handle) +
+

+

Output Parameters

+
ranks2
array of corresponding ranks in group2, MPI_UNDEFINED when no +correspondence exists. +
+

+As a special case (see the MPI-2 errata), if the input rank is +MPI_PROC_NULL, MPI_PROC_NULL is given as the output rank. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_union.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_union.html new file mode 100644 index 00000000..21c28607 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Group_union.html @@ -0,0 +1,69 @@ + + + + +MPI_Group_union + + +

MPI_Group_union

+Produces a group by combining two groups +

Synopsis

+
+int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup)
+
+

Input Parameters

+
+
group1
first group (handle) + +
group2
second group (handle) +
+

+

Output Parameters

+
newgroup
union group (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_GROUP
Null or invalid group passed to function. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Group_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgather.html new file mode 100644 index 00000000..71059f01 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgather.html @@ -0,0 +1,71 @@ + + + + +MPI_Iallgather + + +

MPI_Iallgather

+Gathers data from all tasks and distribute the combined data to all tasks in a nonblocking way +

Synopsis

+
+int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                   void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                   MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements in receive buffer (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgatherv.html new file mode 100644 index 00000000..5c5fc51d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallgatherv.html @@ -0,0 +1,73 @@ + + + + +MPI_Iallgatherv + + +

MPI_Iallgatherv

+Gathers data from all tasks and deliver the combined data to all tasks in a nonblocking way +

Synopsis

+
+int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                    const int recvcounts[], const int displs[], MPI_Datatype recvtype,
+                    MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length group size) containing the number of elements that are received from each process + +
displs
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallreduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallreduce.html new file mode 100644 index 00000000..ac95dbf4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iallreduce.html @@ -0,0 +1,68 @@ + + + + +MPI_Iallreduce + + +

MPI_Iallreduce

+Combines values from all processes and distributes the result back to all processes in a nonblocking way +

Synopsis

+
+int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count,
+                   MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
count
number of elements in send buffer (non-negative integer) + +
datatype
data type of elements of send buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoall.html new file mode 100644 index 00000000..32bdb656 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoall.html @@ -0,0 +1,71 @@ + + + + +MPI_Ialltoall + + +

MPI_Ialltoall

+Sends data from all to all processes in a nonblocking way +

Synopsis

+
+int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                  void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                  MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from any process (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallv.html new file mode 100644 index 00000000..464cebe0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallv.html @@ -0,0 +1,75 @@ + + + + +MPI_Ialltoallv + + +

MPI_Ialltoallv

+Sends data from all to all processes in a nonblocking way; each process may send a different amount of data and provide displacements for the input and output data. +

Synopsis

+
+int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                   MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
+                   const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length group size) specifying the number of elements to send to each processor + +
sdispls
integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length group size) specifying the number of elements that can be received from each processor + +
rdispls
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallw.html new file mode 100644 index 00000000..53c83776 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ialltoallw.html @@ -0,0 +1,76 @@ + + + + +MPI_Ialltoallw + + +

MPI_Ialltoallw

+Nonblocking generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +

Synopsis

+
+int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                   const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[],
+                   const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm,
+                   MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length group size) specifying the number of elements to send to each processor + +
sdispls
integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j + +
sendtypes
array of datatypes (of length group size). Entry j specifies the type of data to send to process j (array of handles) + +
recvcounts
non-negative integer array (of length group size) specifying the number of elements that can be received from each processor + +
rdispls
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i + +
recvtypes
array of datatypes (of length group size). Entry i specifies the type of data received from process i (array of handles) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibarrier.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibarrier.html new file mode 100644 index 00000000..bb6f07ca --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibarrier.html @@ -0,0 +1,65 @@ + + + + +MPI_Ibarrier + + +

MPI_Ibarrier

+Notifies the process that it has reached the barrier and returns immediately +

Synopsis

+
+int MPI_Ibarrier(MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Notes

+MPI_Ibarrier is a nonblocking version of MPI_barrier. By calling MPI_Ibarrier, +a process notifies that it has reached the barrier. The call returns +immediately, independent of whether other processes have called MPI_Ibarrier. +The usual barrier semantics are enforced at the corresponding completion +operation (test or wait), which in the intra-communicator case will complete +only after all other processes in the communicator have called MPI_Ibarrier. In +the intercommunicator case, it will complete when all processes in the remote +group have called MPI_Ibarrier. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibcast.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibcast.html new file mode 100644 index 00000000..20b97754 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibcast.html @@ -0,0 +1,67 @@ + + + + +MPI_Ibcast + + +

MPI_Ibcast

+Broadcasts a message from the process with rank "root" to all other processes of the communicator in a nonblocking way +

Synopsis

+
+int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm,
+               MPI_Request * request)
+
+

Input/Output Parameters

+
buffer
starting address of buffer (choice) +
+

+

Input Parameters

+
+
count
number of entries in buffer (non-negative integer) + +
datatype
datatype of buffer (handle) + +
root
rank of broadcast root (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibsend.html new file mode 100644 index 00000000..69f31424 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ibsend.html @@ -0,0 +1,92 @@ + + + + +MPI_Ibsend + + +

MPI_Ibsend

+Starts a nonblocking buffered send +

Synopsis

+
+int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+               MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iexscan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iexscan.html new file mode 100644 index 00000000..71a4c97f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iexscan.html @@ -0,0 +1,69 @@ + + + + +MPI_Iexscan + + +

MPI_Iexscan

+Computes the exclusive scan (partial reductions) of data on a collection of processes in a nonblocking way +

Synopsis

+
+int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+                MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
count
number of elements in input buffer (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igather.html new file mode 100644 index 00000000..05f52638 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igather.html @@ -0,0 +1,73 @@ + + + + +MPI_Igather + + +

MPI_Igather

+Gathers together values from a group of processes in a nonblocking way +

Synopsis

+
+int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                int root, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements for any single receive (non-negative integer, significant only at root) + +
recvtype
data type of receive buffer elements (significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (significant only at root) (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igatherv.html new file mode 100644 index 00000000..92a376db --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Igatherv.html @@ -0,0 +1,75 @@ + + + + +MPI_Igatherv + + +

MPI_Igatherv

+Gathers into specified locations from all processes in a group in a nonblocking way +

Synopsis

+
+int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                 const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root,
+                 MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements in send buffer (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length group size) containing the number of elements that are received from each process (significant only at root) + +
displs
integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i (significant only at root) + +
recvtype
data type of receive buffer elements (significant only at root) (handle) + +
root
rank of receiving process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (significant only at root) (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Improbe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Improbe.html new file mode 100644 index 00000000..7b829c45 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Improbe.html @@ -0,0 +1,66 @@ + + + + +MPI_Improbe + + +

MPI_Improbe

+Nonblocking matched probe. +

Synopsis

+
+int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message * message,
+                MPI_Status * status)
+
+

Input Parameters

+
+
source
rank of source or MPI_ANY_SOURCE (integer) + +
tag
message tag or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
flag
flag (logical) + +
message
returned message (handle) + +
status
status object (status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Imrecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Imrecv.html new file mode 100644 index 00000000..b2ccb9a6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Imrecv.html @@ -0,0 +1,66 @@ + + + + +MPI_Imrecv + + +

MPI_Imrecv

+Nonblocking receive of message matched by MPI_Mprobe or MPI_Improbe. +

Synopsis

+
+int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message,
+               MPI_Request * request)
+
+

Input/Output Parameters

+
message
message (handle) +
+

+

Input Parameters

+
+
count
number of elements in the receive buffer (non-negative integer) + +
datatype
datatype of each receive buffer element (handle) +
+

+

Output Parameters

+
+
buf
initial address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgather.html new file mode 100644 index 00000000..e7a5a196 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgather.html @@ -0,0 +1,71 @@ + + + + +MPI_Ineighbor_allgather + + +

MPI_Ineighbor_allgather

+Nonblocking version of MPI_Neighbor_allgather. +

Synopsis

+
+int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                            void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm,
+                            MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgatherv.html new file mode 100644 index 00000000..e2126fda --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_allgatherv.html @@ -0,0 +1,73 @@ + + + + +MPI_Ineighbor_allgatherv + + +

MPI_Ineighbor_allgatherv

+Nonblocking version of MPI_Neighbor_allgatherv. +

Synopsis

+
+int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                             void *recvbuf, const int recvcounts[], const int displs[],
+                             MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor + +
displs
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoall.html new file mode 100644 index 00000000..1246a357 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoall.html @@ -0,0 +1,71 @@ + + + + +MPI_Ineighbor_alltoall + + +

MPI_Ineighbor_alltoall

+Nonblocking version of MPI_Neighbor_alltoall. +

Synopsis

+
+int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                           int recvcount, MPI_Datatype recvtype, MPI_Comm comm,
+                           MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallv.html new file mode 100644 index 00000000..db99f917 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallv.html @@ -0,0 +1,76 @@ + + + + +MPI_Ineighbor_alltoallv + + +

MPI_Ineighbor_alltoallv

+Nonblocking version of MPI_Neighbor_alltoallv. +

Synopsis

+
+int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                            MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
+                            const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm,
+                            MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallw.html new file mode 100644 index 00000000..6c4bd7a4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ineighbor_alltoallw.html @@ -0,0 +1,76 @@ + + + + +MPI_Ineighbor_alltoallw + + +

MPI_Ineighbor_alltoallw

+Nonblocking version of MPI_Neighbor_alltoallw. +

Synopsis

+
+int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[],
+                            const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[],
+                            const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm,
+                            MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) + +
sendtypes
array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). + +
recvtypes
array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_create.html new file mode 100644 index 00000000..82e850fb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_create.html @@ -0,0 +1,56 @@ + + + + +MPI_Info_create + + +

MPI_Info_create

+Creates a new info object +

Synopsis

+
+int MPI_Info_create(MPI_Info * info)
+
+

Output Parameters

+
info
info object created (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_delete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_delete.html new file mode 100644 index 00000000..6a222aa7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_delete.html @@ -0,0 +1,61 @@ + + + + +MPI_Info_delete + + +

MPI_Info_delete

+Deletes a (key,value) pair from info +

Synopsis

+
+int MPI_Info_delete(MPI_Info info, const char *key)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) +
+

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_dup.html new file mode 100644 index 00000000..00ba59b3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_dup.html @@ -0,0 +1,66 @@ + + + + +MPI_Info_dup + + +

MPI_Info_dup

+Returns a duplicate of the info object +

Synopsis

+
+int MPI_Info_dup(MPI_Info info, MPI_Info * newinfo)
+
+

Input Parameters

+
info
info object (handle) +
+

+

Output Parameters

+
newinfo
duplicate of info object (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_free.html new file mode 100644 index 00000000..f799decc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_free.html @@ -0,0 +1,58 @@ + + + + +MPI_Info_free + + +

MPI_Info_free

+Frees an info object +

Synopsis

+
+int MPI_Info_free(MPI_Info * info)
+
+

Input Parameters

+
info
info object to be freed (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get.html new file mode 100644 index 00000000..6a3704f1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get.html @@ -0,0 +1,87 @@ + + + + +MPI_Info_get + + +

MPI_Info_get

+Retrieves the value associated with a key +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Info_get
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) + +
valuelen
length of value argument, not including null terminator (integer) +
+

+

Output Parameters

+
+
value
value (string) + +
flag
true if key defined, false if not (boolean) +
+

+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

MPI_ERR_INFO_KEY
Invalid or null key string for info. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO_VALUE
Invalid or null value string for info +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nkeys.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nkeys.html new file mode 100644 index 00000000..ee9cf207 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nkeys.html @@ -0,0 +1,70 @@ + + + + +MPI_Info_get_nkeys + + +

MPI_Info_get_nkeys

+Returns the number of currently defined keys in info +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Info_get_nkeys
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get_nkeys(MPI_Info info, int *nkeys)
+
+

Input Parameters

+
info
info object (handle) +
+

+

Output Parameters

+
nkeys
number of defined keys (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nthkey.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nthkey.html new file mode 100644 index 00000000..cb7d55b6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_nthkey.html @@ -0,0 +1,76 @@ + + + + +MPI_Info_get_nthkey + + +

MPI_Info_get_nthkey

+Returns the nth defined key in info +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Info_get_nthkey
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get_nthkey(MPI_Info info, int n, char *key)
+
+

Input Parameters

+
+
info
info object (handle) + +
n
key number (integer) +
+

+

Output Parameters

+
key
key (string). The maximum number of characters is MPI_MAX_INFO_KEY. +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_valuelen.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_valuelen.html new file mode 100644 index 00000000..38a53cbc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_get_valuelen.html @@ -0,0 +1,79 @@ + + + + +MPI_Info_get_valuelen + + +

MPI_Info_get_valuelen

+Retrieves the length of the value associated with a key +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPIRInfo_get_valuelen
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) +
+

+

Output Parameters

+
+
valuelen
length of value argument (integer) + +
flag
true if key defined, false if not (boolean) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI_Info object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

MPI_ERR_INFO_KEY
Invalid or null key string for info. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_set.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_set.html new file mode 100644 index 00000000..d48ef835 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Info_set.html @@ -0,0 +1,71 @@ + + + + +MPI_Info_set + + +

MPI_Info_set

+Adds a (key,value) pair to info +

Synopsis

+
+int MPI_Info_set(MPI_Info info, const char *key, const char *value)
+
+

Input Parameters

+
+
info
info object (handle) + +
key
key (string) + +
value
value (string) +
+

+

Thread and Interrupt Safety

+

+The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

MPI_ERR_INFO_KEY
Invalid or null key string for info. +
+
MPI_ERR_INFO_VALUE
Invalid or null value string for info +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init.html new file mode 100644 index 00000000..519edd33 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init.html @@ -0,0 +1,69 @@ + + + + +MPI_Init + + +

MPI_Init

+Initialize the MPI execution environment +

Synopsis

+
+int MPI_Init(int *argc, char ***argv)
+
+

Input Parameters

+
+
argc
Pointer to the number of arguments + +
argv
Pointer to the argument vector +
+

+

Thread and Signal Safety

+This routine must be called by one thread only. That thread is called +the main thread and must be the thread that calls MPI_Finalize. +

+

Notes

+The MPI standard does not say what a program can do before an MPI_INIT or +after an MPI_FINALIZE. In the MPICH implementation, you should do +as little as possible. In particular, avoid anything that changes the +external state of the program, such as opening files, reading standard +input or writing to standard output. +

+

Notes for C

+As of MPI-2, MPI_Init will accept NULL as input parameters. Doing so +will impact the values stored in MPI_INFO_ENV. +

+

Notes for Fortran

+The Fortran binding for MPI_Init has only the error return +
+    subroutine MPI_INIT(ierr)
+    integer ierr
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
This error class is associated with an error code that +indicates that an attempt was made to call MPI_INIT a second time. +MPI_INIT may only be called once in a program. +
+

+

See Also

+ MPI_Init_thread, MPI_Finalize +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init_thread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init_thread.html new file mode 100644 index 00000000..97e34a8c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Init_thread.html @@ -0,0 +1,77 @@ + + + + +MPI_Init_thread + + +

MPI_Init_thread

+Initialize the MPI execution environment +

Synopsis

+
+int MPI_Init_thread(int *argc, char ***argv, int required, int *provided)
+
+

Input Parameters

+
+
argc
Pointer to the number of arguments + +
argv
Pointer to the argument vector + +
required
Level of desired thread support +
+

+

Output Parameters

+
provided
Level of provided thread support +
+

+

Command line arguments

+MPI specifies no command-line arguments but does allow an MPI +implementation to make use of them. See MPI_INIT for a description of +the command line arguments supported by MPI_INIT and MPI_INIT_THREAD. +

+

Notes

+The valid values for the level of thread support are: +
+
MPI_THREAD_SINGLE
Only one thread will execute. + +
MPI_THREAD_FUNNELED
The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). + +
MPI_THREAD_SERIALIZED
The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). + +
MPI_THREAD_MULTIPLE
Multiple threads may call MPI, with no restrictions. +
+

+

Notes for Fortran

+Note that the Fortran binding for this routine does not have the argc and +argv arguments. (MPI_INIT_THREAD(required, provided, ierror)) +

+

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Init, MPI_Finalize +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Initialized.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Initialized.html new file mode 100644 index 00000000..2f72a27c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Initialized.html @@ -0,0 +1,48 @@ + + + + +MPI_Initialized + + +

MPI_Initialized

+Indicates whether MPI_Init has been called. +

Synopsis

+
+int MPI_Initialized(int *flag)
+
+

Output Parameters

+
flag
Flag is true if MPI_Init or MPI_Init_thread has been called and +false otherwise. +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_create.html new file mode 100644 index 00000000..b0b98fd1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_create.html @@ -0,0 +1,106 @@ + + + + +MPI_Intercomm_create + + +

MPI_Intercomm_create

+Creates an intercommuncator from two intracommunicators +

Synopsis

+
+int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader,
+                         MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm * newintercomm)
+
+

Input Parameters

+
+
local_comm
Local (intra)communicator + +
local_leader
Rank in local_comm of leader (often 0) + +
peer_comm
Communicator used to communicate between a +designated process in the other communicator. +Significant only at the process in local_comm with +rank local_leader. + +
remote_leader
Rank in peer_comm of remote leader (often 0) + +
tag
Message tag to use in constructing intercommunicator; if multiple +MPI_Intercomm_creates are being made, they should use different tags (more +precisely, ensure that the local and remote leaders are using different +tags for each MPI_intercomm_create). +
+

+

Output Parameters

+
newintercomm
Created intercommunicator +
+

+

Notes

+peer_comm is significant only for the process designated the +local_leader in the local_comm. +

+The MPI 1.1 Standard contains two mutually exclusive comments on the +input intercommunicators. One says that their repective groups must be +disjoint; the other that the leaders can be the same process. After +some discussion by the MPI Forum, it has been decided that the groups must +be disjoint. Note that the reason given for this in the standard is +not the reason for this choice; rather, the other operations on +intercommunicators (like MPI_Intercomm_merge) do not make sense if the +groups are not disjoint. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Intercomm_merge, MPI_Comm_free, MPI_Comm_remote_group, +
MPI_Comm_remote_size +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_merge.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_merge.html new file mode 100644 index 00000000..91ee542b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Intercomm_merge.html @@ -0,0 +1,89 @@ + + + + +MPI_Intercomm_merge + + +

MPI_Intercomm_merge

+Creates an intracommuncator from an intercommunicator +

Synopsis

+
+int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm * newintracomm)
+
+

Input Parameters

+
+
intercomm
Intercommunicator (handle) + +
high
Used to order the groups within comm (logical) +when creating the new communicator. This is a boolean value; the group +that sets high true has its processes ordered after the group that sets +this value to false. If all processes in the intercommunicator provide +the same value, the choice of which group is ordered first is arbitrary. +
+

+

Output Parameters

+
newintracomm
Created intracommunicator (handle) +
+

+

Notes

+While all processes may provide the same value for the high parameter, +this requires the MPI implementation to determine which group of +processes should be ranked first. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Algorithm

+
    +

    +

  1. Allocate contexts +
  2. Local and remote group leaders swap high values +
  3. Determine the high value. +
  4. Merge the two groups and make the intra-communicator +
+

+

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Intercomm_create, MPI_Comm_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iprobe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iprobe.html new file mode 100644 index 00000000..789fdc5c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iprobe.html @@ -0,0 +1,79 @@ + + + + +MPI_Iprobe + + +

MPI_Iprobe

+Nonblocking test for a message +

Synopsis

+
+int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status * status)
+
+

Input Parameters

+
+
source
source rank, or MPI_ANY_SOURCE (integer) + +
tag
tag value or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
flag
True if a message with the specified source, tag, and communicator +is available (logical) + +
status
status object (Status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irecv.html new file mode 100644 index 00000000..fd309efc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irecv.html @@ -0,0 +1,91 @@ + + + + +MPI_Irecv + + +

MPI_Irecv

+Begins a nonblocking receive +

Synopsis

+
+int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source,
+              int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of receive buffer (choice) + +
count
number of elements in receive buffer (integer) + +
datatype
datatype of each receive buffer element (handle) + +
source
rank of source (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce.html new file mode 100644 index 00000000..f8dc50f6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce.html @@ -0,0 +1,70 @@ + + + + +MPI_Ireduce + + +

MPI_Ireduce

+Reduces values on all processes to a single value in a nonblocking way +

Synopsis

+
+int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+                MPI_Op op, int root, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
address of the send buffer (choice) + +
count
number of elements in send buffer (non-negative integer) + +
datatype
data type of elements of send buffer (handle) + +
op
reduce operation (handle) + +
root
rank of root process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
address of the receive buffer (significant only at root) (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter.html new file mode 100644 index 00000000..57836993 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter.html @@ -0,0 +1,68 @@ + + + + +MPI_Ireduce_scatter + + +

MPI_Ireduce_scatter

+Combines values and scatters the results in a nonblocking way +

Synopsis

+
+int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[],
+                        MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
recvcounts
non-negative integer array specifying the number of elements in result distributed to each process. Array must be identical on all calling processes. + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter_block.html new file mode 100644 index 00000000..a6166e15 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ireduce_scatter_block.html @@ -0,0 +1,70 @@ + + + + +MPI_Ireduce_scatter_block + + +

MPI_Ireduce_scatter_block

+Combines values and scatters the results in a nonblocking way +

Synopsis

+
+int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf,
+                              int recvcount,
+                              MPI_Datatype datatype, MPI_Op op, MPI_Comm comm,
+                              MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
recvcount
element count per block (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irsend.html new file mode 100644 index 00000000..d3e66782 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Irsend.html @@ -0,0 +1,92 @@ + + + + +MPI_Irsend + + +

MPI_Irsend

+Starts a nonblocking ready send +

Synopsis

+
+int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+               MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Is_thread_main.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Is_thread_main.html new file mode 100644 index 00000000..93daf9bc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Is_thread_main.html @@ -0,0 +1,52 @@ + + + + +MPI_Is_thread_main + + +

MPI_Is_thread_main

+Returns a flag indicating whether this thread called MPI_Init or MPI_Init_thread +

Synopsis

+
+int MPI_Is_thread_main(int *flag)
+
+

Output Parameters

+
flag
Flag is true if MPI_Init or MPI_Init_thread has been called by +this thread and false otherwise. (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscan.html new file mode 100644 index 00000000..5cf8aec5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscan.html @@ -0,0 +1,68 @@ + + + + +MPI_Iscan + + +

MPI_Iscan

+Computes the scan (partial reductions) of data on a collection of processes in a nonblocking way +

Synopsis

+
+int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+              MPI_Op op, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
count
number of elements in input buffer (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatter.html new file mode 100644 index 00000000..7a3bf481 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatter.html @@ -0,0 +1,73 @@ + + + + +MPI_Iscatter + + +

MPI_Iscatter

+Sends data from one process to all other processes in a communicator in a nonblocking way +

Synopsis

+
+int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                 void *recvbuf, int recvcount, MPI_Datatype recvtype, int root,
+                 MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (significant only at root) (choice) + +
sendcount
number of elements sent to each process (significant only at root) (non-negative integer) + +
sendtype
data type of send buffer elements (significant only at root) (handle) + +
recvcount
number of elements in receive buffer (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatterv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatterv.html new file mode 100644 index 00000000..f0c02c06 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Iscatterv.html @@ -0,0 +1,75 @@ + + + + +MPI_Iscatterv + + +

MPI_Iscatterv

+Scatters a buffer in parts to all processes in a communicator in a nonblocking way +

Synopsis

+
+int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[],
+                  MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                  int root, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (significant only at root) (choice) + +
sendcounts
non-negative integer array (of length group size) specifying the number of elements to send to each processor (significant only at root) + +
displs
integer array (of length group size). Entry i specifies the displacement (relative to sendbuf) from which to take the outgoing data to process i (significant only at root) + +
sendtype
data type of send buffer elements (significant only at root) (handle) + +
recvcount
number of elements in receive buffer (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
starting address of the receive buffer (choice) + +
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Isend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Isend.html new file mode 100644 index 00000000..78942399 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Isend.html @@ -0,0 +1,84 @@ + + + + +MPI_Isend + + +

MPI_Isend

+Begins a nonblocking send +

Synopsis

+
+int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+              MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Issend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Issend.html new file mode 100644 index 00000000..f9e00edc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Issend.html @@ -0,0 +1,91 @@ + + + + +MPI_Issend + + +

MPI_Issend

+Starts a nonblocking synchronous send +

Synopsis

+
+int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag,
+               MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_create.html new file mode 100644 index 00000000..41b1df77 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_create.html @@ -0,0 +1,89 @@ + + + + +MPI_Keyval_create + + +

MPI_Keyval_create

+Greates a new attribute key +

Synopsis

+
+int MPI_Keyval_create(MPI_Copy_function * copy_fn,
+                      MPI_Delete_function * delete_fn, int *keyval, void *extra_state)
+
+

Input Parameters

+
+
copy_fn
Copy callback function for keyval + +
delete_fn
Delete callback function for keyval + +
extra_state
Extra state for callback functions +
+

+

Output Parameters

+
keyval
key value for future access (integer) +
+

+

Notes

+Key values are global (available for any and all communicators). +

+There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language that MPI_Keyval_create +is called from. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_create_keyval. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Keyval_free, MPI_Comm_create_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_free.html new file mode 100644 index 00000000..8dd0ba9d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Keyval_free.html @@ -0,0 +1,73 @@ + + + + +MPI_Keyval_free + + +

MPI_Keyval_free

+Frees an attribute key for communicators +

Synopsis

+
+int MPI_Keyval_free(int *keyval)
+
+

Input Parameters

+
keyval
Frees the integer key value (integer) +
+

+

Note

+Key values are global (they can be used with any and all communicators) +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Comm_free_keyval. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +
+

+

See Also

+ MPI_Keyval_create, MPI_Comm_free_keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Lookup_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Lookup_name.html new file mode 100644 index 00000000..3ea4f331 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Lookup_name.html @@ -0,0 +1,74 @@ + + + + +MPI_Lookup_name + + +

MPI_Lookup_name

+Lookup a port given a service name +

Synopsis

+
+int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name)
+
+

Input Parameters

+
+
service_name
a service name (string) + +
info
implementation-specific information (handle) +
+

+

+

Output Parameters

+
port_name
a port name (string) +
+

+

Notes

+If the service_name is found, MPI copies the associated value into +port_name. The maximum size string that may be supplied by the system is +MPI_MAX_PORT_NAME. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mprobe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mprobe.html new file mode 100644 index 00000000..bf205a71 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mprobe.html @@ -0,0 +1,63 @@ + + + + +MPI_Mprobe + + +

MPI_Mprobe

+Blocking matched probe. +

Synopsis

+
+int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message * message, MPI_Status * status)
+
+

Input Parameters

+
+
source
rank of source or MPI_ANY_SOURCE (integer) + +
tag
message tag or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
message
returned message (handle) + +
status
status object (status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mrecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mrecv.html new file mode 100644 index 00000000..a90bb78a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Mrecv.html @@ -0,0 +1,66 @@ + + + + +MPI_Mrecv + + +

MPI_Mrecv

+Blocking receive of message matched by MPI_Mprobe or MPI_Improbe. +

Synopsis

+
+int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message,
+              MPI_Status * status)
+
+

Input/Output Parameters

+
message
message (handle) +
+

+

Input Parameters

+
+
count
number of elements in the receive buffer (non-negative integer) + +
datatype
datatype of each receive buffer element (handle) +
+

+

Output Parameters

+
+
buf
initial address of the receive buffer (choice) + +
status
status object (status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgather.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgather.html new file mode 100644 index 00000000..0346930e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgather.html @@ -0,0 +1,67 @@ + + + + +MPI_Neighbor_allgather + + +

MPI_Neighbor_allgather

+In this function, each process i gathers data items from each process j if an edge (j,i) exists in the topology graph, and each process i sends the same data items to all processes j where an edge (i,j) exists. The send buffer is sent to each neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +

Synopsis

+
+int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                           int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgatherv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgatherv.html new file mode 100644 index 00000000..86e1bc42 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_allgatherv.html @@ -0,0 +1,70 @@ + + + + +MPI_Neighbor_allgatherv + + +

MPI_Neighbor_allgatherv

+The vector variant of MPI_Neighbor_allgather. +

Synopsis

+
+int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                            void *recvbuf, const int recvcounts[], const int displs[],
+                            MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor + +
displs
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoall.html new file mode 100644 index 00000000..86f4b9e0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoall.html @@ -0,0 +1,67 @@ + + + + +MPI_Neighbor_alltoall + + +

MPI_Neighbor_alltoall

+In this function, each process i receives data items from each process j if an edge (j,i) exists in the topology graph or Cartesian topology. Similarly, each process i sends data items to all processes j where an edge (i,j) exists. This call is more general than MPI_NEIGHBOR_ALLGATHER in that different data items can be sent to each neighbor. The k-th block in send buffer is sent to the k-th neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +

Synopsis

+
+int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf,
+                          int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcount
number of elements sent to each neighbor (non-negative integer) + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements received from each neighbor (non-negative integer) + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallv.html new file mode 100644 index 00000000..12286184 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallv.html @@ -0,0 +1,72 @@ + + + + +MPI_Neighbor_alltoallv + + +

MPI_Neighbor_alltoallv

+The vector variant of MPI_Neighbor_alltoall allows sending/receiving different numbers of elements to and from each neighbor. +

Synopsis

+
+int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[],
+                           MPI_Datatype sendtype, void *recvbuf, const int recvcounts[],
+                           const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j + +
sendtype
data type of send buffer elements (handle) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. + +
recvtype
data type of receive buffer elements (handle) + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallw.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallw.html new file mode 100644 index 00000000..bfd8eefa --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Neighbor_alltoallw.html @@ -0,0 +1,72 @@ + + + + +MPI_Neighbor_alltoallw + + +

MPI_Neighbor_alltoallw

+Like MPI_Neighbor_alltoallv but it allows one to send and receive with different types to and from each neighbor. +

Synopsis

+
+int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[],
+                           const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[],
+                           const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of the send buffer (choice) + +
sendcounts
non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor + +
sdispls
integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) + +
sendtypes
array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) + +
recvcounts
non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor + +
rdispls
integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). + +
recvtypes
array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). + +
comm
communicator with topology structure (handle) +
+

+

Output Parameters

+
recvbuf
starting address of the receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_commute.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_commute.html new file mode 100644 index 00000000..2d0c76be --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_commute.html @@ -0,0 +1,77 @@ + + + + +MPI_Op_commute + + +

MPI_Op_commute

+Queries an MPI reduction operation for its commutativity. +

Synopsis

+
+int MPI_Op_commutative(MPI_Op op, int *commute)
+
+

Input Parameters

+
op
operation (handle) +
+

+

Output Parameters

+
commute
Flag is true if op is a commutative operation. (logical) +
+

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Op_create +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_create.html new file mode 100644 index 00000000..28fffd52 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_create.html @@ -0,0 +1,87 @@ + + + + +MPI_Op_create + + +

MPI_Op_create

+Creates a user-defined combination function handle +

Synopsis

+
+int MPI_Op_create(MPI_User_function * user_fn, int commute, MPI_Op * op)
+
+

Input Parameters

+
+
user_fn
user defined function (function) + +
commute
true if commutative; false otherwise. (logical) +
+

+

Output Parameters

+
op
operation (handle) +
+

+

Notes on the user function

+The calling list for the user function type is +
+ typedef void (MPI_User_function) (void * a,
+               void * b, int * len, MPI_Datatype *);
+
+ +where the operation is b[i] = a[i] op b[i], for i=0,...,len-1. A pointer +to the datatype given to the MPI collective computation routine (i.e., +MPI_Reduce, MPI_Allreduce, MPI_Scan, or MPI_Reduce_scatter) is also +passed to the user-specified routine. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+ MPI_Op_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_free.html new file mode 100644 index 00000000..63a1b2de --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Op_free.html @@ -0,0 +1,80 @@ + + + + +MPI_Op_free + + +

MPI_Op_free

+Frees a user-defined combination function handle +

Synopsis

+
+int MPI_Op_free(MPI_Op * op)
+
+

Input Parameters

+
op
operation (handle) +
+

+

Notes

+op is set to MPI_OP_NULL on exit. +

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_ARG
Invalid argument; the error code associated with this +error indicates an attempt to free an MPI permanent operation (e.g., +MPI_SUM). +
+

+

See Also

+ MPI_Op_create +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Open_port.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Open_port.html new file mode 100644 index 00000000..43b2cfd2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Open_port.html @@ -0,0 +1,73 @@ + + + + +MPI_Open_port + + +

MPI_Open_port

+Establish an address that can be used to establish connections between groups of MPI processes +

Synopsis

+
+int MPI_Open_port(MPI_Info info, char *port_name)
+
+

Input Parameters

+
info
implementation-specific information on how to establish a +port for MPI_Comm_accept (handle) +
+

+

Output Parameters

+
port_name
newly established port (string) +
+

+

Notes

+MPI copies a system-supplied port name into port_name. port_name identifies +the newly opened port and can be used by a client to contact the server. +The maximum size string that may be supplied by the system is +MPI_MAX_PORT_NAME. +

+

Reserved Info Key Values

+
+
ip_port
Value contains IP port number at which to establish a port. + +
ip_address
Value contains IP address at which to establish a port. +If the address is not a valid IP address of the host on which the +MPI_OPEN_PORT call is made, the results are undefined. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack.html new file mode 100644 index 00000000..0f2f4df9 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack.html @@ -0,0 +1,80 @@ + + + + +MPI_Pack + + +

MPI_Pack

+Packs a datatype into contiguous memory +

Synopsis

+
+int MPI_Pack(const void *inbuf,
+             int incount,
+             MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm)
+
+

Input Parameters

+
+
inbuf
input buffer start (choice) + +
incount
number of input data items (non-negative integer) + +
datatype
datatype of each input data item (handle) + +
outsize
output buffer size, in bytes (non-negative integer) + +
comm
communicator for packed message (handle) +
+

+

Output Parameters

+
outbuf
output buffer start (choice) +
+

+

Input/Output Parameters

+
position
current position in buffer, in bytes (integer) +
+

+

Notes (from the specifications)

+

+The input value of position is the first location in the output buffer to be +used for packing. position is incremented by the size of the packed message, +and the output value of position is the first location in the output buffer +following the locations occupied by the packed message. The comm argument is +the communicator that will be subsequently used for sending the packed +message. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external.html new file mode 100644 index 00000000..96d00417 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external.html @@ -0,0 +1,83 @@ + + + + +MPI_Pack_external + + +

MPI_Pack_external

+Packs a datatype into contiguous memory, using the external32 format +

Synopsis

+
+int MPI_Pack_external(const char datarep[],
+                      const void *inbuf,
+                      int incount,
+                      MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint * position)
+
+

Input Parameters

+
+
datarep
data representation (string) + +
inbuf
input buffer start (choice) + +
incount
number of input data items (integer) + +
datatype
datatype of each input data item (handle) + +
outsize
output buffer size, in bytes (address integer) +
+

+

Output Parameters

+
outbuf
output buffer start (choice) +
+

+

Input/Output Parameters

+
position
current position in buffer, in bytes (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external_size.html new file mode 100644 index 00000000..051df5e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_external_size.html @@ -0,0 +1,70 @@ + + + + +MPI_Pack_external_size + + +

MPI_Pack_external_size

+Returns the upper bound on the amount of space needed to pack a message using MPI_Pack_external. +

Synopsis

+
+int MPI_Pack_external_size(const char datarep[],
+                           int incount, MPI_Datatype datatype, MPI_Aint * size)
+
+

Input Parameters

+
+
datarep
data representation (string) + +
incount
number of input data items (integer) + +
datatype
datatype of each input data item (handle) +
+

+

Output Parameters

+
size
output buffer size, in bytes (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_size.html new file mode 100644 index 00000000..ac53376e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pack_size.html @@ -0,0 +1,78 @@ + + + + +MPI_Pack_size + + +

MPI_Pack_size

+Returns the upper bound on the amount of space needed to pack a message +

Synopsis

+
+int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size)
+
+

Input Parameters

+
+
incount
count argument to packing call (integer) + +
datatype
datatype argument to packing call (handle) + +
comm
communicator argument to packing call (handle) +
+

+

Output Parameters

+
size
upper bound on size of packed message, in bytes (integer) +
+

+

Notes

+The MPI standard document describes this in terms of MPI_Pack, but it +applies to both MPI_Pack and MPI_Unpack. That is, the value size is +the maximum that is needed by either MPI_Pack or MPI_Unpack. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pcontrol.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pcontrol.html new file mode 100644 index 00000000..1b2ecde3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Pcontrol.html @@ -0,0 +1,55 @@ + + + + +MPI_Pcontrol + + +

MPI_Pcontrol

+Controls profiling +

Synopsis

+
+int MPI_Pcontrol(const int level, ...)
+
+

Input Parameters

+
+
level
Profiling level + +
...
other arguments (see notes) +
+

+

Notes

+This routine provides a common interface for profiling control. The +interpretation of level and any other arguments is left to the +profiling library. The intention is that a profiling library will +provide a replacement for this routine and define the interpretation +of the parameters. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Probe.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Probe.html new file mode 100644 index 00000000..108fdb6e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Probe.html @@ -0,0 +1,74 @@ + + + + +MPI_Probe + + +

MPI_Probe

+Blocking test for a message +

Synopsis

+
+int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status * status)
+
+

Input Parameters

+
+
source
source rank, or MPI_ANY_SOURCE (integer) + +
tag
tag value or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
status
status object (Status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Publish_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Publish_name.html new file mode 100644 index 00000000..d6306973 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Publish_name.html @@ -0,0 +1,70 @@ + + + + +MPI_Publish_name + + +

MPI_Publish_name

+Publish a service name for use with MPI_Comm_connect +

Synopsis

+
+int MPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name)
+
+

Input Parameters

+
+
service_name
a service name to associate with the port (string) + +
info
implementation-specific information (handle) + +
port_name
a port name (string) +
+

+

Notes

+The maximum size string that may be supplied for port_name is +MPI_MAX_PORT_NAME. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Put.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Put.html new file mode 100644 index 00000000..cc68055c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Put.html @@ -0,0 +1,91 @@ + + + + +MPI_Put + + +

MPI_Put

+Put data into a memory window on a remote process +

Synopsis

+
+int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype
+            origin_datatype, int target_rank, MPI_Aint target_disp,
+            int target_count, MPI_Datatype target_datatype, MPI_Win win)
+
+

Input Parameters

+
+
origin_addr
initial address of origin buffer (choice) + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +

+

win
window object used for communication (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Rput +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Query_thread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Query_thread.html new file mode 100644 index 00000000..103da5da --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Query_thread.html @@ -0,0 +1,74 @@ + + + + +MPI_Query_thread + + +

MPI_Query_thread

+Return the level of thread support provided by the MPI library +

Synopsis

+
+int MPI_Query_thread(int *provided)
+
+

Output Parameters

+
provided
Level of thread support provided. This is the same value +that was returned in the provided argument in MPI_Init_thread. +
+

+

Notes

+The valid values for the level of thread support are: +
+
MPI_THREAD_SINGLE
Only one thread will execute. + +
MPI_THREAD_FUNNELED
The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). + +
MPI_THREAD_SERIALIZED
The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). + +
MPI_THREAD_MULTIPLE
Multiple threads may call MPI, with no restrictions. +
+

+If MPI_Init was called instead of MPI_Init_thread, the level of +thread support is defined by the implementation. This routine allows +you to find out the provided level. It is also useful for library +routines that discover that MPI has already been initialized and +wish to determine what level of thread support is available. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Raccumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Raccumulate.html new file mode 100644 index 00000000..06289d7e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Raccumulate.html @@ -0,0 +1,102 @@ + + + + +MPI_Raccumulate + + +

MPI_Raccumulate

+Accumulate data into the target process using remote memory access and return a request handle for the operation. +

Synopsis

+
+int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype
+                    origin_datatype, int target_rank, MPI_Aint
+                    target_disp, int target_count, MPI_Datatype
+                    target_datatype, MPI_Op op, MPI_Win win, MPI_Request * request)
+
+

+MPI_Raccumulate is similar to MPI_Accumulate, except that it allocates a +communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an MPI_Raccumulate operation indicates that the origin buffer is +free to be updated. It does not indicate that the operation has completed at +the target window. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Notes

+The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all MPI_INT or all MPI_DOUBLE_PRECISION). +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Accumulate +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv.html new file mode 100644 index 00000000..6512099f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv.html @@ -0,0 +1,97 @@ + + + + +MPI_Recv + + +

MPI_Recv

+Blocking receive for a message +

Synopsis

+
+int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag,
+             MPI_Comm comm, MPI_Status * status)
+
+

Output Parameters

+
+
buf
initial address of receive buffer (choice) + +
status
status object (Status) +
+

+

Input Parameters

+
+
count
maximum number of elements in receive buffer (integer) + +
datatype
datatype of each receive buffer element (handle) + +
source
rank of source (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Notes

+The count argument indicates the maximum length of a message; the actual +length of the message can be determined with MPI_Get_count. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv_init.html new file mode 100644 index 00000000..7597b861 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Recv_init.html @@ -0,0 +1,95 @@ + + + + +MPI_Recv_init + + +

MPI_Recv_init

+Create a persistent request for a receive +

Synopsis

+
+int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source,
+                  int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of receive buffer (choice) + +
count
number of elements received (integer) + +
datatype
type of each element (handle) + +
source
rank of source or MPI_ANY_SOURCE (integer) + +
tag
message tag or MPI_ANY_TAG (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Start, MPI_Startall, MPI_Request_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce.html new file mode 100644 index 00000000..7baf6042 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce.html @@ -0,0 +1,102 @@ + + + + +MPI_Reduce + + +

MPI_Reduce

+Reduces values on all processes to a single value +

Synopsis

+
+int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+               MPI_Op op, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (choice) + +
count
number of elements in send buffer (integer) + +
datatype
data type of elements of send buffer (handle) + +
op
reduce operation (handle) + +
root
rank of root process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice, +significant only at root) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_local.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_local.html new file mode 100644 index 00000000..8c68eb26 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_local.html @@ -0,0 +1,92 @@ + + + + +MPI_Reduce_local + + +

MPI_Reduce_local

+Applies a reduction operator to local arguments. +

Synopsis

+
+int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op)
+
+

Input Parameters

+
+
inbuf
address of the input buffer (choice) + +
count
number of elements in each buffer (integer) + +
datatype
data type of elements in the buffers (handle) + +
op
reduction operation (handle) +
+

+

Output Parameters

+
inoutbuf
address of input-output buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter.html new file mode 100644 index 00000000..a81956b6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter.html @@ -0,0 +1,104 @@ + + + + +MPI_Reduce_scatter + + +

MPI_Reduce_scatter

+Combines values and scatters the results +

Synopsis

+
+int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[],
+                       MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
recvcounts
integer array specifying the +number of elements in result distributed to each process. +Array must be identical on all calling processes. + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter_block.html new file mode 100644 index 00000000..eb7ed1ee --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Reduce_scatter_block.html @@ -0,0 +1,102 @@ + + + + +MPI_Reduce_scatter_block + + +

MPI_Reduce_scatter_block

+Combines values and scatters the results +

Synopsis

+
+int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf,
+                             int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
recvcount
element count per block (non-negative integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_OP
Invalid operation. MPI operations (objects of type MPI_Op) +must either be one of the predefined operations (e.g., MPI_SUM) or +created with MPI_Op_create. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Register_datarep.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Register_datarep.html new file mode 100644 index 00000000..ad46d18e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Register_datarep.html @@ -0,0 +1,51 @@ + + + + +MPI_Register_datarep + + +

MPI_Register_datarep

+Register functions for user-defined data representations +

Synopsis

+
+int MPI_Register_datarep(ROMIO_CONST char *datarep,
+                         MPI_Datarep_conversion_function * read_conversion_fn,
+                         MPI_Datarep_conversion_function * write_conversion_fn,
+                         MPI_Datarep_extent_function * dtype_file_extent_fn, void *extra_state)
+
+

Input Parameters

+
+
datarep
data representation name (string) + +
read_conversion_fn
function invoked to convert from file representation to +native representation (function) + +
write_conversion_fn
function invoked to convert from native representation to +file representation (function) + +
dtype_file_extent_fn
function invoked to get the exted of a datatype as represented +in the file (function) + +
extra_state
pointer to extra state that is passed to each of the +three functions +
+

+

Notes

+This function allows the user to provide routines to convert data from +an external representation, used within a file, and the native representation, +used within the CPU. There is one predefined data representation, +external32. Please consult the MPI-2 standard for details on this +function. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_free.html new file mode 100644 index 00000000..def31657 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_free.html @@ -0,0 +1,78 @@ + + + + +MPI_Request_free + + +

MPI_Request_free

+Frees a communication request object +

Synopsis

+
+int MPI_Request_free(MPI_Request * request)
+
+

Input Parameters

+
request
communication request (handle) +
+

+

Notes

+

+This routine is normally used to free inactive persistent requests created with +either MPI_Recv_init or MPI_Send_init and friends. It is also +permissible to free an active request. However, once freed, the request can no +longer be used in a wait or test routine (e.g., MPI_Wait) to determine +completion. +

+This routine may also be used to free a non-persistent requests such as those +created with MPI_Irecv or MPI_Isend and friends. Like active persistent +requests, once freed, the request can no longer be used with test/wait routines +to determine completion. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+also: MPI_Isend, MPI_Irecv, MPI_Issend, MPI_Ibsend, MPI_Irsend, +
MPI_Recv_init, MPI_Send_init, MPI_Ssend_init, MPI_Rsend_init, MPI_Wait, +MPI_Test, MPI_Waitall, MPI_Waitany, MPI_Waitsome, MPI_Testall, MPI_Testany, +MPI_Testsome + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_get_status.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_get_status.html new file mode 100644 index 00000000..e9be696a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Request_get_status.html @@ -0,0 +1,65 @@ + + + + +MPI_Request_get_status + + +

MPI_Request_get_status

+Nondestructive test for the completion of a Request +

Synopsis

+
+int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status * status)
+
+

Input Parameters

+
request
request (handle). May be MPI_REQUEST_NULL. +
+

+

Output Parameters

+
+
flag
true if operation has completed (logical) + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes

+Unlike MPI_Test, MPI_Request_get_status does not deallocate or +deactivate the request. A call to one of the test/wait routines or +MPI_Request_free should be made to release the request object. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget.html new file mode 100644 index 00000000..cff6f099 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget.html @@ -0,0 +1,103 @@ + + + + +MPI_Rget + + +

MPI_Rget

+Get data from a memory window on a remote process +

Synopsis

+
+int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype
+             origin_datatype, int target_rank, MPI_Aint target_disp,
+             int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request)
+
+

+MPI_Rget is similar to MPI_Get, except that it allocates a communication +request object and associates it with the request handle (the argument request) +that can be used to wait or test for completion. The completion of an MPI_Rget +operation indicates that the data is available in the origin buffer. If +origin_addr points to memory attached to a window, then the data becomes +available in the private copy of this window. +

+

Input Parameters

+
+
origin_addr
Address of the buffer in which to receive the data + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from window start to the beginning of the +target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
win
window object used for communication (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Get +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget_accumulate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget_accumulate.html new file mode 100644 index 00000000..121ac217 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rget_accumulate.html @@ -0,0 +1,115 @@ + + + + +MPI_Rget_accumulate + + +

MPI_Rget_accumulate

+Perform an atomic, one-sided read-and-accumulate operation and return a request handle for the operation. +

Synopsis

+
+int MPI_Rget_accumulate(const void *origin_addr, int origin_count,
+                        MPI_Datatype origin_datatype, void *result_addr, int result_count,
+                        MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp,
+                        int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win,
+                        MPI_Request * request)
+
+

+MPI_Rget_accumulate is similar to MPI_Get_accumulate, except that it allocates +a communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an MPI_Rget_accumulate operation indicates that the data is +available in the result buffer and the origin buffer is free to be updated. It +does not indicate that the operation has been completed at the target window. +

+

Input Parameters

+
+
origin_addr
initial address of buffer (choice) + +
origin_count
number of entries in buffer (nonnegative integer) + +
origin_datatype
datatype of each buffer entry (handle) + +
result_addr
initial address of result buffer (choice) + +
result_count
number of entries in result buffer (non-negative integer) + +
result_datatype
datatype of each entry in result buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to beginning of target +buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
op
predefined reduce operation (handle) + +
win
window object (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Notes

+This operations is atomic with respect to other "accumulate" operations. +

+The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +MPI_REPLACE provides fetch-and-set behavior. +

+The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all MPI_INT or all MPI_DOUBLE_PRECISION). +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Get_accumulate MPI_Fetch_and_op +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rput.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rput.html new file mode 100644 index 00000000..174caddc --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rput.html @@ -0,0 +1,104 @@ + + + + +MPI_Rput + + +

MPI_Rput

+Put data into a memory window on a remote process and return a request handle for the operation. +

Synopsis

+
+int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype
+             origin_datatype, int target_rank, MPI_Aint target_disp,
+             int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request)
+
+

+MPI_Rput is similar to MPI_Put, except that it allocates a +communication request object and associates it with the request handle (the +argument request). The completion of an MPI_Rput operation (i.e., after the +corresponding test or wait) indicates that the sender is now free to update +the locations in the origin buffer. It does not indicate that the data is +available at the target window. If remote completion is required, +MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock, or MPI_Win_unlock_all can be +used. +

+

Input Parameters

+
+
origin_addr
initial address of origin buffer (choice) + +
origin_count
number of entries in origin buffer (nonnegative integer) + +
origin_datatype
datatype of each entry in origin buffer (handle) + +
target_rank
rank of target (nonnegative integer) + +
target_disp
displacement from start of window to target buffer (nonnegative integer) + +
target_count
number of entries in target buffer (nonnegative integer) + +
target_datatype
datatype of each entry in target buffer (handle) + +
win
window object used for communication (handle) +
+

+

Output Parameters

+
request
RMA request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Put +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend.html new file mode 100644 index 00000000..780f5ee5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend.html @@ -0,0 +1,84 @@ + + + + +MPI_Rsend + + +

MPI_Rsend

+Blocking ready send +

Synopsis

+
+int MPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend_init.html new file mode 100644 index 00000000..e600d9ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Rsend_init.html @@ -0,0 +1,95 @@ + + + + +MPI_Rsend_init + + +

MPI_Rsend_init

+Creates a persistent request for a ready send +

Synopsis

+
+int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest,
+                   int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Start, MPI_Request_free, MPI_Send_init +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scan.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scan.html new file mode 100644 index 00000000..9c7cf1ea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scan.html @@ -0,0 +1,98 @@ + + + + +MPI_Scan + + +

MPI_Scan

+Computes the scan (partial reductions) of data on a collection of processes +

Synopsis

+
+int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
+             MPI_Op op, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
starting address of send buffer (choice) + +
count
number of elements in input buffer (integer) + +
datatype
data type of elements of input buffer (handle) + +
op
operation (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
starting address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Notes on collective operations

+

+The reduction functions (MPI_Op) do not return an error value. As a result, +if the functions detect an error, all they can do is either call MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +MPI_ERRORS_ARE_FATAL to something else, for example, MPI_ERRORS_RETURN, +then no error may be indicated. +

+The reason for this is the performance problems in ensuring that +all collective routines return the same error value. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+
MPI_ERR_BUFFER
This error class is associcated with an error code that +indicates that two buffer arguments are aliased; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatter.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatter.html new file mode 100644 index 00000000..f4b0d3ec --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatter.html @@ -0,0 +1,87 @@ + + + + +MPI_Scatter + + +

MPI_Scatter

+Sends data from one process to all other processes in a communicator +

Synopsis

+
+int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (choice, significant +only at root) + +
sendcount
number of elements sent to each process +(integer, significant only at root) + +
sendtype
data type of send buffer elements (significant only at root) +(handle) + +
recvcount
number of elements in receive buffer (integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatterv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatterv.html new file mode 100644 index 00000000..f673ab86 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Scatterv.html @@ -0,0 +1,90 @@ + + + + +MPI_Scatterv + + +

MPI_Scatterv

+Scatters a buffer in parts to all processes in a communicator +

Synopsis

+
+int MPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs,
+                 MPI_Datatype sendtype, void *recvbuf, int recvcount,
+                 MPI_Datatype recvtype, int root, MPI_Comm comm)
+
+

Input Parameters

+
+
sendbuf
address of send buffer (choice, significant only at root) + +
sendcounts
integer array (of length group size) +specifying the number of elements to send to each processor + +
displs
integer array (of length group size). Entry +i specifies the displacement (relative to sendbuf from +which to take the outgoing data to process i + +
sendtype
data type of send buffer elements (handle) + +
recvcount
number of elements in receive buffer (integer) + +
recvtype
data type of receive buffer elements (handle) + +
root
rank of sending process (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
recvbuf
address of receive buffer (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_BUFFER
Invalid buffer pointer. Usually a null buffer where +one is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send.html new file mode 100644 index 00000000..9aca15a5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send.html @@ -0,0 +1,91 @@ + + + + +MPI_Send + + +

MPI_Send

+Performs a blocking send +

Synopsis

+
+int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Notes

+This routine may block until the message is received by the destination +process. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+

See Also

+ MPI_Isend, MPI_Bsend +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send_init.html new file mode 100644 index 00000000..36595a5c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Send_init.html @@ -0,0 +1,95 @@ + + + + +MPI_Send_init + + +

MPI_Send_init

+Create a persistent request for a standard send +

Synopsis

+
+int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest,
+                  int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+

See Also

+ MPI_Start, MPI_Startall, MPI_Request_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv.html new file mode 100644 index 00000000..71c9a1ea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv.html @@ -0,0 +1,105 @@ + + + + +MPI_Sendrecv + + +

MPI_Sendrecv

+Sends and receives a message +

Synopsis

+
+int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
+                 int dest, int sendtag,
+                 void *recvbuf, int recvcount, MPI_Datatype recvtype,
+                 int source, int recvtag, MPI_Comm comm, MPI_Status * status)
+
+

Input Parameters

+
+
sendbuf
initial address of send buffer (choice) + +
sendcount
number of elements in send buffer (integer) + +
sendtype
type of elements in send buffer (handle) + +
dest
rank of destination (integer) + +
sendtag
send tag (integer) + +
recvcount
number of elements in receive buffer (integer) + +
recvtype
type of elements in receive buffer (handle) + +
source
rank of source (integer) + +
recvtag
receive tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
recvbuf
initial address of receive buffer (choice) + +
status
status object (Status). This refers to the receive operation. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv_replace.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv_replace.html new file mode 100644 index 00000000..810cb50c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Sendrecv_replace.html @@ -0,0 +1,105 @@ + + + + +MPI_Sendrecv_replace + + +

MPI_Sendrecv_replace

+Sends and receives using a single buffer +

Synopsis

+
+int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype,
+                         int dest, int sendtag, int source, int recvtag,
+                         MPI_Comm comm, MPI_Status * status)
+
+

Input Parameters

+
+
count
number of elements in send and receive buffer (integer) + +
datatype
type of elements in send and receive buffer (handle) + +
dest
rank of destination (integer) + +
sendtag
send message tag (integer) + +
source
rank of source (integer) + +
recvtag
receive message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
+
buf
initial address of send and receive buffer (choice) + +
status
status object (Status) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TRUNCATE
Message truncated on receive. The buffer size specified +was too small for the received message. This is a recoverable error in +the MPICH implementation. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend.html new file mode 100644 index 00000000..670cadb2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend.html @@ -0,0 +1,83 @@ + + + + +MPI_Ssend + + +

MPI_Ssend

+Blocking synchronous send +

Synopsis

+
+int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements in send buffer (nonnegative integer) + +
datatype
datatype of each send buffer element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend_init.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend_init.html new file mode 100644 index 00000000..d7ad3fec --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Ssend_init.html @@ -0,0 +1,88 @@ + + + + +MPI_Ssend_init + + +

MPI_Ssend_init

+Creates a persistent request for a synchronous send +

Synopsis

+
+int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest,
+                   int tag, MPI_Comm comm, MPI_Request * request)
+
+

Input Parameters

+
+
buf
initial address of send buffer (choice) + +
count
number of elements sent (integer) + +
datatype
type of each element (handle) + +
dest
rank of destination (integer) + +
tag
message tag (integer) + +
comm
communicator (handle) +
+

+

Output Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_TAG
Invalid tag argument. Tags must be non-negative; tags +in a receive (MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may +also be MPI_ANY_TAG. The largest tag value is available through the +the attribute MPI_TAG_UB. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Start.html new file mode 100644 index 00000000..19f72fe7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Start.html @@ -0,0 +1,57 @@ + + + + +MPI_Start + + +

MPI_Start

+Initiates a communication with a persistent request handle +

Synopsis

+
+int MPI_Start(MPI_Request * request)
+
+

Input Parameters

+
request
communication request (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Startall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Startall.html new file mode 100644 index 00000000..3dd8040c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Startall.html @@ -0,0 +1,70 @@ + + + + +MPI_Startall + + +

MPI_Startall

+Starts a collection of persistent requests +

Synopsis

+
+int MPI_Startall(int count, MPI_Request array_of_requests[])
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of requests (array of handle) +
+

+

Notes

+

+Unlike MPI_Waitall, MPI_Startall does not provide a mechanism for +returning multiple errors nor pinpointing the request(s) involved. +Furthermore, the behavior of MPI_Startall after an error occurs is not +defined by the MPI standard. If well-defined error reporting and behavior +are required, multiple calls to MPI_Start should be used instead. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_cancelled.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_cancelled.html new file mode 100644 index 00000000..08854c71 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_cancelled.html @@ -0,0 +1,59 @@ + + + + +MPI_Status_set_cancelled + + +

MPI_Status_set_cancelled

+Sets the cancelled state associated with a Status object +

Synopsis

+
+int MPI_Status_set_cancelled(MPI_Status * status, int flag)
+
+

Input Parameters

+
+
status
status to associate cancel flag with (Status) + +
flag
if true indicates request was cancelled (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements.html new file mode 100644 index 00000000..811222a8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements.html @@ -0,0 +1,65 @@ + + + + +MPI_Status_set_elements + + +

MPI_Status_set_elements

+Set the number of elements in a status +

Synopsis

+
+int MPI_Status_set_elements(MPI_Status * status, MPI_Datatype datatype, int count)
+
+

Input Parameters

+
+
status
status to associate count with (Status) + +
datatype
datatype associated with count (handle) + +
count
number of elements to associate with status (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements_x.html new file mode 100644 index 00000000..f23e5eb5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Status_set_elements_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Status_set_elements_x + + +

MPI_Status_set_elements_x

+Set the number of elements in a status +

Synopsis

+
+int MPI_Status_set_elements_x(MPI_Status * status, MPI_Datatype datatype, MPI_Count count)
+
+

Input/Output Parameters

+
status
status with which to associate count (Status) +
+

+

Input Parameters

+
+
datatype
datatype associated with count (handle) + +
count
number of elements to associate with status (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_changed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_changed.html new file mode 100644 index 00000000..18306121 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_changed.html @@ -0,0 +1,50 @@ + + + + +MPI_T_category_changed + + +

MPI_T_category_changed

+Get the timestamp indicating the last change to the categories +

Synopsis

+
+int MPI_T_category_changed(int *stamp)
+
+

Output Parameters

+
stamp
a virtual time stamp to indicate the last change to the categories (integer) +
+

+

Notes

+If two subsequent calls to this routine return the same timestamp, it is guaranteed that +the category information has not changed between the two calls. If the timestamp retrieved +from the second call is higher, then some categories have been added or expanded. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_categories.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_categories.html new file mode 100644 index 00000000..997ec79a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_categories.html @@ -0,0 +1,54 @@ + + + + +MPI_T_category_get_categories + + +

MPI_T_category_get_categories

+Get sub-categories in a category +

Synopsis

+
+int MPI_T_category_get_categories(int cat_index, int len, int indices[])
+
+

Input Parameters

+
+
cat_index
index of the category to be queried, in the range [0,N-1] (integer) + +
len
the length of the indices array (integer) +
+

+

Output Parameters

+
indices
an integer array of size len, indicating category variable indices (array of integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_cvars.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_cvars.html new file mode 100644 index 00000000..9f85f85e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_cvars.html @@ -0,0 +1,54 @@ + + + + +MPI_T_category_get_cvars + + +

MPI_T_category_get_cvars

+Get control variables in a category +

Synopsis

+
+int MPI_T_category_get_cvars(int cat_index, int len, int indices[])
+
+

Input Parameters

+
+
cat_index
index of the category to be queried, in the range [0,N-1] (integer) + +
len
the length of the indices array (integer) +
+

+

Output Parameters

+
indices
an integer array of size len, indicating control variable indices (array of integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_index.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_index.html new file mode 100644 index 00000000..df5cd19f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_index.html @@ -0,0 +1,51 @@ + + + + +MPI_T_category_get_index + + +

MPI_T_category_get_index

+Get the index of a category +

Synopsis

+
+int MPI_T_category_get_index(const char *name, int *cat_index)
+
+

Output Parameters

+
name
the name of the category (string) +
+

+

Output Parameters

+
cat_index
the index of the category (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_INVALID_NAME
The variable or category name is invalid +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_info.html new file mode 100644 index 00000000..da3396f0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_info.html @@ -0,0 +1,68 @@ + + + + +MPI_T_category_get_info + + +

MPI_T_category_get_info

+Get the information about a category +

Synopsis

+
+int MPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc,
+                            int *desc_len, int *num_cvars, int *num_pvars, int *num_categories)
+
+

Input/Output Parameters

+
+
name_len
length of the string and/or buffer for name (integer) + +
desc_len
length of the string and/or buffer for desc (integer) +
+

+

Input Parameters

+
cat_index
index of the category to be queried (integer) +
+

+

Output Parameters

+
+
name
buffer to return the string containing the name of the category (string) + +
desc
buffer to return the string containing the description of the category (string) + +
num_cvars
number of control variables contained in the category (integer) + +
num_pvars
number of performance variables contained in the category (integer) + +
num_categories
number of categories contained in the category (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_num.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_num.html new file mode 100644 index 00000000..4a9f4c6f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_num.html @@ -0,0 +1,45 @@ + + + + +MPI_T_category_get_num + + +

MPI_T_category_get_num

+Get the number of categories +

Synopsis

+
+int MPI_T_category_get_num(int *num_cat)
+
+

Output Parameters

+
num_cat
current number of categories (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_pvars.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_pvars.html new file mode 100644 index 00000000..af0e7c6e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_category_get_pvars.html @@ -0,0 +1,54 @@ + + + + +MPI_T_category_get_pvars + + +

MPI_T_category_get_pvars

+Get performance variables in a category +

Synopsis

+
+int MPI_T_category_get_pvars(int cat_index, int len, int indices[])
+
+

Input Parameters

+
+
cat_index
index of the category to be queried, in the range [0,N-1] (integer) + +
len
the length of the indices array (integer) +
+

+

Output Parameters

+
indices
an integer array of size len, indicating performance variable indices (array of integers) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_index.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_index.html new file mode 100644 index 00000000..c496cb09 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_index.html @@ -0,0 +1,51 @@ + + + + +MPI_T_cvar_get_index + + +

MPI_T_cvar_get_index

+Get the index of a control variable +

Synopsis

+
+int MPI_T_cvar_get_index(const char *name, int *cvar_index)
+
+

Output Parameters

+
name
name of the control variable (string) +
+

+

Output Parameters

+
cvar_index
index of the control variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_INVALID_NAME
The variable or category name is invalid +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_info.html new file mode 100644 index 00000000..02011a22 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_info.html @@ -0,0 +1,73 @@ + + + + +MPI_T_cvar_get_info + + +

MPI_T_cvar_get_info

+Get the information about a control variable +

Synopsis

+
+int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len,
+                        int *verbosity, MPI_Datatype * datatype, MPI_T_enum * enumtype,
+                        char *desc, int *desc_len, int *binding, int *scope)
+
+

Input/Output Parameters

+
+
name_len
length of the string and/or buffer for name (integer) + +
desc_len
length of the string and/or buffer for desc (integer) +
+

+

Input Parameters

+
cvar_index
index of the control variable to be queried, value between 0 and num_cvar-1 (integer) +
+

+

Output Parameters

+
+
name
buffer to return the string containing the name of the control variable (string) + +
verbosity
verbosity level of this variable (integer) + +
datatype
MPI datatype of the information stored in the control variable (handle) + +
enumtype
optional descriptor for enumeration information (handle) + +
desc
buffer to return the string containing a description of the control variable (string) + +
binding
type of MPI object this variable is associated with + +
scope
scope of when changes to this variable are possible (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_num.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_num.html new file mode 100644 index 00000000..4ba66d24 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_get_num.html @@ -0,0 +1,45 @@ + + + + +MPI_T_cvar_get_num + + +

MPI_T_cvar_get_num

+Get the number of control variables +

Synopsis

+
+int MPI_T_cvar_get_num(int *num_cvar)
+
+

Output Parameters

+
num_cvar
returns number of control variables (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_alloc.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_alloc.html new file mode 100644 index 00000000..1067154e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_alloc.html @@ -0,0 +1,62 @@ + + + + +MPI_T_cvar_handle_alloc + + +

MPI_T_cvar_handle_alloc

+Allocate a handle for a control variable +

Synopsis

+
+int MPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle * handle,
+                            int *count)
+
+

Input Parameters

+
+
cvar_index
index of control variable for which handle is to be allocated (index) + +
obj_handle
reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +
+

+

Output Parameters

+
+
handle
allocated handle (handle) + +
count
number of elements used to represent this variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_OUT_OF_HANDLES
No more handles available. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_free.html new file mode 100644 index 00000000..ec2bd988 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_handle_free.html @@ -0,0 +1,47 @@ + + + + +MPI_T_cvar_handle_free + + +

MPI_T_cvar_handle_free

+Free an existing handle for a control variable +

Synopsis

+
+int MPI_T_cvar_handle_free(MPI_T_cvar_handle * handle)
+
+

Input/Output Parameters

+
handle
handle to be freed (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_read.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_read.html new file mode 100644 index 00000000..9ca481f4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_read.html @@ -0,0 +1,51 @@ + + + + +MPI_T_cvar_read + + +

MPI_T_cvar_read

+Read the value of a control variable +

Synopsis

+
+int MPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf)
+
+

Input Parameters

+
handle
handle to the control variable to be read (handle) +
+

+

Output Parameters

+
buf
initial address of storage location for variable value +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_write.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_write.html new file mode 100644 index 00000000..6aedb23e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_cvar_write.html @@ -0,0 +1,54 @@ + + + + +MPI_T_cvar_write + + +

MPI_T_cvar_write

+Write a control variable +

Synopsis

+
+int MPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf)
+
+

Input Parameters

+
+
handle
handle of the control variable to be written (handle) + +
buf
initial address of storage location for variable value (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_CVAR_SET_NOT_NOW
The control variable can not be set at this moment. +
+
MPI_T_ERR_CVAR_SET_NEVER
The control variable can not be set until end of execution. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_info.html new file mode 100644 index 00000000..a6c94974 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_info.html @@ -0,0 +1,58 @@ + + + + +MPI_T_enum_get_info + + +

MPI_T_enum_get_info

+Get the information about an enumeration +

Synopsis

+
+int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len)
+
+

Input/Output Parameters

+
name_len
length of the string and/or buffer for name (integer) +
+

+

Input Parameters

+
enumtype
enumeration to be queried (handle) +
+

+

Output Parameters

+
+
num
number of discrete values represented by this enumeration (integer) + +
name
buffer to return the string containing the name of the enumeration (string) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_item.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_item.html new file mode 100644 index 00000000..76a20a75 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_enum_get_item.html @@ -0,0 +1,62 @@ + + + + +MPI_T_enum_get_item + + +

MPI_T_enum_get_item

+Get the information about an item in an enumeration +

Synopsis

+
+int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, int *name_len)
+
+

Input/Output Parameters

+
name_len
length of the string and/or buffer for name (integer) +
+

+

Input Parameters

+
enumtype
enumeration to be queried (handle) +
+

+

Output Parameters

+
+
index
number of the value to be queried in this enumeration (integer) + +
value
variable value (integer) + +
name
buffer to return the string containing the name of the enumeration item (string) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_INVALID_ITEM
Item index queried is out of range. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_finalize.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_finalize.html new file mode 100644 index 00000000..0306baa0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_finalize.html @@ -0,0 +1,60 @@ + + + + +MPI_T_finalize + + +

MPI_T_finalize

+Finalize the MPI tool information interface +

Synopsis

+
+int MPI_T_finalize(void)
+
+

Notes

+This routine may be called as often as the corresponding MPI_T_init_thread() routine +up to the current point of execution. Calling it more times returns a corresponding +error code. As long as the number of calls to MPI_T_finalize() is smaller than the +number of calls to MPI_T_init_thread() up to the current point of execution, the MPI +tool information interface remains initialized and calls to its routines are permissible. +Further, additional calls to MPI_T_init_thread() after one or more calls to MPI_T_finalize() +are permissible. Once MPI_T_finalize() is called the same number of times as the routine +MPI_T_init_thread() up to the current point of execution, the MPI tool information +interface is no longer initialized. The interface can be reinitialized by subsequent calls +to MPI_T_init_thread(). +

+At the end of the program execution, unless MPI_Abort() is called, an application must +have called MPI_T_init_thread() and MPI_T_finalize() an equal number of times. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+

+

See Also

+MPI_T_init_thread +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_init_thread.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_init_thread.html new file mode 100644 index 00000000..b2aac0cb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_init_thread.html @@ -0,0 +1,67 @@ + + + + +MPI_T_init_thread + + +

MPI_T_init_thread

+Initialize the MPI_T execution environment +

Synopsis

+
+int MPI_T_init_thread(int required, int *provided)
+
+

Input Parameters

+
required
desired level of thread support (integer) +
+

+

Output Parameters

+
provided
provided level of thread support (integer) +
+

+

Notes

+

The valid values for the level of thread support are

+
+
MPI_THREAD_SINGLE
Only one thread will execute. + +
MPI_THREAD_FUNNELED
The process may be multi-threaded, but only the main +thread will make MPI_T calls (all MPI_T calls are funneled to the +main thread). + +
MPI_THREAD_SERIALIZED
The process may be multi-threaded, and multiple +threads may make MPI_T calls, but only one at a time: MPI_T calls are not +made concurrently from two distinct threads (all MPI_T calls are serialized). + +
MPI_THREAD_MULTIPLE
Multiple threads may call MPI_T, with no restrictions. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+

+

See Also

+MPI_T_finalize +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_index.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_index.html new file mode 100644 index 00000000..5c28b6d7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_index.html @@ -0,0 +1,53 @@ + + + + +MPI_T_pvar_get_index + + +

MPI_T_pvar_get_index

+Get the index of a performance variable +

Synopsis

+
+int MPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index)
+
+

Input Parameters

+
name
the name of the performance variable (string) +
+
var_class
the class of the performance variable (integer) +
+

+

Output Parameters

+
pvar_index
the index of the performance variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_INVALID_NAME
The variable or category name is invalid +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_info.html new file mode 100644 index 00000000..6cb56357 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_info.html @@ -0,0 +1,79 @@ + + + + +MPI_T_pvar_get_info + + +

MPI_T_pvar_get_info

+Get the inforamtion about a performance variable +

Synopsis

+
+int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity,
+                        int *var_class, MPI_Datatype * datatype, MPI_T_enum * enumtype, char *desc,
+                        int *desc_len, int *binding, int *readonly, int *continuous, int *atomic)
+
+

Input/Output Parameters

+
+
name_len
length of the string and/or buffer for name (integer) + +
desc_len
length of the string and/or buffer for desc (integer) +
+

+

Input Parameters

+
pvar_index
index of the performance variable to be queried between 0 and num_pvar-1 (integer) +
+

+

Output Parameters

+
+
name
buffer to return the string containing the name of the performance variable (string) + +
verbosity
verbosity level of this variable (integer) + +
var_class
class of performance variable (integer) + +
datatype
MPI type of the information stored in the performance variable (handle) + +
enumtype
optional descriptor for enumeration information (handle) + +
desc
buffer to return the string containing a description of the performance variable (string) + +
binding
type of MPI object to which this variable must be bound (integer) + +
readonly
flag indicating whether the variable can be written/reset (integer) + +
continuous
flag indicating whether the variable can be started and stopped or is continuously active (integer) + +
atomic
flag indicating whether the variable can be atomically read and reset (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_num.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_num.html new file mode 100644 index 00000000..12f329e4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_get_num.html @@ -0,0 +1,45 @@ + + + + +MPI_T_pvar_get_num + + +

MPI_T_pvar_get_num

+Get the number of performance variables +

Synopsis

+
+int MPI_T_pvar_get_num(int *num_pvar)
+
+

Output Parameters

+
num_pvar
returns number of performance variables (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_alloc.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_alloc.html new file mode 100644 index 00000000..1bc31e01 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_alloc.html @@ -0,0 +1,64 @@ + + + + +MPI_T_pvar_handle_alloc + + +

MPI_T_pvar_handle_alloc

+Allocate a handle for a performance variable +

Synopsis

+
+int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index,
+                            void *obj_handle, MPI_T_pvar_handle * handle, int *count)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
pvar_index
index of performance variable for which handle is to be allocated (integer) + +
obj_handle
reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +
+

+

Output Parameters

+
+
handle
allocated handle (handle) + +
count
number of elements used to represent this variable (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_INDEX
Index is invalid or has been deleted. +
+
MPI_T_ERR_OUT_OF_HANDLES
No more handles available. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_free.html new file mode 100644 index 00000000..e20cab1e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_handle_free.html @@ -0,0 +1,52 @@ + + + + +MPI_T_pvar_handle_free + + +

MPI_T_pvar_handle_free

+Free an existing handle for a performance variable +

Synopsis

+
+int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle * handle)
+
+

Input/Output Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle to be freed (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_read.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_read.html new file mode 100644 index 00000000..9322f2ea --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_read.html @@ -0,0 +1,67 @@ + + + + +MPI_T_pvar_read + + +

MPI_T_pvar_read

+Read the value of a performance variable +

Synopsis

+
+int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Output Parameters

+
buf
initial address of storage location for variable value (choice) +
+

+

Notes

+The MPI_T_pvar_read() call queries the value of the performance variable with the +handle "handle" in the session identified by the parameter session and stores the result +in the buffer identified by the parameter buf. The user is responsible to ensure that the +buffer is of the appropriate size to hold the entire value of the performance variable +(based on the datatype and count returned by the corresponding previous calls to +MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). +

+The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_read(). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_readreset.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_readreset.html new file mode 100644 index 00000000..7fdcfe8f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_readreset.html @@ -0,0 +1,60 @@ + + + + +MPI_T_pvar_readreset + + +

MPI_T_pvar_readreset

+Read the value of a performance variable and then reset it +

Synopsis

+
+int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Output Parameters

+
buf
initial address of storage location for variable value (choice) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_WRITE
The performance variable can not be written or reset. +
+
MPI_T_ERR_PVAR_NO_ATOMIC
The performance variable can not be read/write atomically. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_reset.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_reset.html new file mode 100644 index 00000000..6059d884 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_reset.html @@ -0,0 +1,64 @@ + + + + +MPI_T_pvar_reset + + +

MPI_T_pvar_reset

+Reset a performance variable +

Synopsis

+
+int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Notes

+The MPI_T_pvar_reset() call sets the performance variable with the handle identified +by the parameter handle to its starting value. If it is not possible +to change the variable, the function returns MPI_T_ERR_PVAR_NO_WRITE. +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to reset all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are reset successfully, otherwise MPI_T_ERR_PVAR_NO_WRITE is returned. Readonly +variables are ignored when MPI_T_PVAR_ALL_HANDLES is specified. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_WRITE
The performance variable can not be written or reset. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_create.html new file mode 100644 index 00000000..aa0633e2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_create.html @@ -0,0 +1,47 @@ + + + + +MPI_T_pvar_session_create + + +

MPI_T_pvar_session_create

+Create a new session for accessing performance variables +

Synopsis

+
+int MPI_T_pvar_session_create(MPI_T_pvar_session * session)
+
+

Output Parameters

+
session
identifier of performance session (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_OUT_OF_SESSIONS
No more sessions available. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_free.html new file mode 100644 index 00000000..e53a8410 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_session_free.html @@ -0,0 +1,52 @@ + + + + +MPI_T_pvar_session_free + + +

MPI_T_pvar_session_free

+Free an existing performance variable session +

Synopsis

+
+int MPI_T_pvar_session_free(MPI_T_pvar_session * session)
+
+

Input/Output Parameters

+
session
identifier of performance experiment session (handle) +
+

+

Notes

+Calls to the MPI tool information interface can no longer be made +within the context of a session after it is freed. On a successful +return, MPI sets the session identifier to MPI_T_PVAR_SESSION_NULL. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_start.html new file mode 100644 index 00000000..b311e5b3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_start.html @@ -0,0 +1,62 @@ + + + + +MPI_T_pvar_start + + +

MPI_T_pvar_start

+Start a performance variable +

Synopsis

+
+int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Notes

+If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to start all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are started successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already started are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_STARTSTOP
The performance variable can not be started or stopped. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_stop.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_stop.html new file mode 100644 index 00000000..77f5e644 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_stop.html @@ -0,0 +1,65 @@ + + + + +MPI_T_pvar_stop + + +

MPI_T_pvar_stop

+Stop a performance variable +

Synopsis

+
+int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) +
+

+

Notes

+This functions stops the performance variable with the handle identified by the parameter +handle in the session identified by the parameter session. +

+If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to stop all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are stopped successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already stopped are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_STARTSTOP
The performance variable can not be started or stopped. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_write.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_write.html new file mode 100644 index 00000000..96ab9fd5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_T_pvar_write.html @@ -0,0 +1,67 @@ + + + + +MPI_T_pvar_write + + +

MPI_T_pvar_write

+Write a performance variable +

Synopsis

+
+int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf)
+
+

Input Parameters

+
+
session
identifier of performance experiment session (handle) + +
handle
handle of a performance variable (handle) + +
buf
initial address of storage location for variable value (choice) +
+

+

Notes

+The MPI_T_pvar_write() call attempts to write the value of the performance variable +with the handle identified by the parameter handle in the session identified by the parameter +session. The value to be written is passed in the buffer identified by the parameter buf. The +user must ensure that the buffer is of the appropriate size to hold the entire value of the +performance variable (based on the datatype and count returned by the corresponding previous +calls to MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). +

+The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_write(). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_T_ERR_NOT_INITIALIZED
The MPI tool information interface is not initialized. +
+
MPI_T_ERR_INVALID_SESSION
Session argument is not valid. +
+
MPI_T_ERR_INVALID_HANDLE
The handle is invalid. +
+
MPI_T_ERR_PVAR_NO_WRITE
The performance variable can not be written or reset. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test.html new file mode 100644 index 00000000..61babaf8 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test.html @@ -0,0 +1,87 @@ + + + + +MPI_Test + + +

MPI_Test

+Tests for the completion of a request +

Synopsis

+
+int MPI_Test(MPI_Request * request, int *flag, MPI_Status * status)
+
+

Input Parameters

+
request
MPI request (handle) +
+

+

Output Parameters

+
+
flag
true if operation completed (logical) + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test_cancelled.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test_cancelled.html new file mode 100644 index 00000000..4e04daaf --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Test_cancelled.html @@ -0,0 +1,60 @@ + + + + +MPI_Test_cancelled + + +

MPI_Test_cancelled

+Tests to see if a request was cancelled +

Synopsis

+
+int MPI_Test_cancelled(const MPI_Status * status, int *flag)
+
+

Input Parameters

+
status
status object (Status) +
+

+

Output Parameters

+
flag
true if the request was cancelled, false otherwise (logical) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testall.html new file mode 100644 index 00000000..a7f72ec1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testall.html @@ -0,0 +1,124 @@ + + + + +MPI_Testall + + +

MPI_Testall

+Tests for the completion of all previously initiated requests +

Synopsis

+
+int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag,
+                MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
count
lists length (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
flag
True if all requests have completed; false otherwise (logical) + +
array_of_statuses
array of status objects (array of Status). May be +MPI_STATUSES_IGNORE. +
+

+

Notes

+flag is true only if all requests have completed. Otherwise, flag is +false and neither the array_of_requests nor the array_of_statuses is +modified. +

+If one or more of the requests completes with an error, MPI_ERR_IN_STATUS is +returned. An error value will be present is elements of array_of_status +associated with the requests. Likewise, the MPI_ERROR field in the status +elements associated with requests that have successfully completed will be +MPI_SUCCESS. Finally, those requests that have not completed will have a +value of MPI_ERR_PENDING. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. +
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testany.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testany.html new file mode 100644 index 00000000..3dd78294 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testany.html @@ -0,0 +1,91 @@ + + + + +MPI_Testany + + +

MPI_Testany

+Tests for completion of any previdously initiated requests +

Synopsis

+
+int MPI_Testany(int count, MPI_Request array_of_requests[], int *indx,
+                int *flag, MPI_Status * status)
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
indx
index of operation that completed, or MPI_UNDEFINED if none +completed (integer) + +
flag
true if one of the operations is complete (logical) + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes

+

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testsome.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testsome.html new file mode 100644 index 00000000..37a93eca --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Testsome.html @@ -0,0 +1,112 @@ + + + + +MPI_Testsome + + +

MPI_Testsome

+Tests for some given requests to complete +

Synopsis

+
+int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount,
+                 int array_of_indices[], MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
incount
length of array_of_requests (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
outcount
number of completed requests (integer) + +
array_of_indices
array of indices of operations that +completed (array of integers) + +
array_of_statuses
array of status objects for +operations that completed (array of Status). May be MPI_STATUSES_IGNORE. +
+

+

Notes

+

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Topo_test.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Topo_test.html new file mode 100644 index 00000000..4ce1ec02 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Topo_test.html @@ -0,0 +1,66 @@ + + + + +MPI_Topo_test + + +

MPI_Topo_test

+Determines the type of topology (if any) associated with a communicator +

Synopsis

+
+int MPI_Topo_test(MPI_Comm comm, int *status)
+
+

Input Parameters

+
comm
communicator (handle) +
+

+

Output Parameters

+
status
topology type of communicator comm (integer). If the +communicator has no associated topology, returns MPI_UNDEFINED. +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Graph_create, MPI_Cart_create +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_commit.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_commit.html new file mode 100644 index 00000000..02565c01 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_commit.html @@ -0,0 +1,57 @@ + + + + +MPI_Type_commit + + +

MPI_Type_commit

+Commits the datatype +

Synopsis

+
+int MPI_Type_commit(MPI_Datatype * datatype)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_contiguous.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_contiguous.html new file mode 100644 index 00000000..dbfdddb0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_contiguous.html @@ -0,0 +1,70 @@ + + + + +MPI_Type_contiguous + + +

MPI_Type_contiguous

+Creates a contiguous datatype +

Synopsis

+
+int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
replication count (nonnegative integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_darray.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_darray.html new file mode 100644 index 00000000..14f07ce7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_darray.html @@ -0,0 +1,88 @@ + + + + +MPI_Type_create_darray + + +

MPI_Type_create_darray

+Create a datatype representing a distributed array +

Synopsis

+
+int MPI_Type_create_darray(int size,
+                           int rank,
+                           int ndims,
+                           const int array_of_gsizes[],
+                           const int array_of_distribs[],
+                           const int array_of_dargs[],
+                           const int array_of_psizes[],
+                           int order, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
size
size of process group (positive integer) + +
rank
rank in process group (nonnegative integer) + +
ndims
number of array dimensions as well as process grid dimensions (positive integer) + +
array_of_gsizes
number of elements of type oldtype in each dimension of global array (array of positive integers) + +
array_of_distribs
distribution of array in each dimension (array of state) + +
array_of_dargs
distribution argument in each dimension (array of positive integers) + +
array_of_psizes
size of process grid in each dimension (array of positive integers) + +
order
array storage order flag (state) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed.html new file mode 100644 index 00000000..8b1c559e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed.html @@ -0,0 +1,75 @@ + + + + +MPI_Type_create_hindexed + + +

MPI_Type_create_hindexed

+Create a datatype for an indexed datatype with displacements in bytes +

Synopsis

+
+int MPI_Type_create_hindexed(int count,
+                             const int array_of_blocklengths[],
+                             const MPI_Aint array_of_displacements[],
+                             MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks --- also number of entries in +array_of_displacements and array_of_blocklengths (integer) + +
array_of_blocklengths
number of elements in each block (array of nonnegative integers) + +
array_of_displacements
byte displacement of each block (array of address integers) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed_block.html new file mode 100644 index 00000000..8e2643a5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hindexed_block.html @@ -0,0 +1,74 @@ + + + + +MPI_Type_create_hindexed_block + + +

MPI_Type_create_hindexed_block

+Create an hindexed datatype with constant-sized blocks +

Synopsis

+
+int MPI_Type_create_hindexed_block(int count,
+                                   int blocklength,
+                                   const MPI_Aint array_of_displacements[],
+                                   MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
length of array of displacements (integer) + +
blocklength
size of block (integer) + +
array_of_displacements
array of displacements (array of integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hvector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hvector.html new file mode 100644 index 00000000..3ad00f9e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_hvector.html @@ -0,0 +1,73 @@ + + + + +MPI_Type_create_hvector + + +

MPI_Type_create_hvector

+Create a datatype with a constant stride given in bytes +

Synopsis

+
+int MPI_Type_create_hvector(int count,
+                            int blocklength,
+                            MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (nonnegative integer) + +
blocklength
number of elements in each block (nonnegative integer) + +
stride
number of bytes between start of each block (address integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_indexed_block.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_indexed_block.html new file mode 100644 index 00000000..31547561 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_indexed_block.html @@ -0,0 +1,98 @@ + + + + +MPI_Type_create_indexed_block + + +

MPI_Type_create_indexed_block

+Create an indexed datatype with constant-sized blocks +

Synopsis

+
+int MPI_Type_create_indexed_block(int count,
+                                  int blocklength,
+                                  const int array_of_displacements[],
+                                  MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
length of array of displacements (integer) + +
blocklength
size of block (integer) + +
array_of_displacements
array of displacements (array of integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Notes

+The indices are displacements, and are based on a zero origin. A common error +is to do something like the following +
+    integer a(100)
+    integer blens(10), indices(10)
+    do i=1,10
+10       indices(i) = 1 + (i-1)*10
+    call MPI_TYPE_CREATE_INDEXED_BLOCK(10,1,indices,MPI_INTEGER,newtype,ierr)
+    call MPI_TYPE_COMMIT(newtype,ierr)
+    call MPI_SEND(a,1,newtype,...)
+
+ +expecting this to send "a(1),a(11),..." because the indices have values +"1,11,...". Because these are displacements from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". +

+If you wish to consider the displacements as indices into a Fortran array, +consider declaring the Fortran array with a zero origin +

+    integer a(0:99)
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_keyval.html new file mode 100644 index 00000000..fcabeae1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_keyval.html @@ -0,0 +1,86 @@ + + + + +MPI_Type_create_keyval + + +

MPI_Type_create_keyval

+Create an attribute keyval for MPI datatypes +

Synopsis

+
+int MPI_Type_create_keyval(MPI_Type_copy_attr_function * type_copy_attr_fn,
+                           MPI_Type_delete_attr_function * type_delete_attr_fn,
+                           int *type_keyval, void *extra_state)
+
+

Input Parameters

+
+
type_copy_attr_fn
copy callback function for type_keyval (function) + +
type_delete_attr_fn
delete callback function for type_keyval (function) + +
extra_state
extra state for callback functions +
+

+

Output Parameters

+
type_keyval
key value for future access (integer) +
+

+

Notes

+

+Default copy and delete functions are available. These are +

+
MPI_TYPE_NULL_COPY_FN
empty copy function + +
MPI_TYPE_NULL_DELETE_FN
empty delete function + +
MPI_TYPE_DUP_FN
simple dup function +
+

+

+

Return value from attribute callbacks

+The MPI-2 versions of the attribute callbacks should return either +MPI_SUCCESS on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines MPI_Add_error_class and MPI_Add_error_code that allow the +user to define and use MPI error codes and classes. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_resized.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_resized.html new file mode 100644 index 00000000..37ec2234 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_resized.html @@ -0,0 +1,67 @@ + + + + +MPI_Type_create_resized + + +

MPI_Type_create_resized

+Create a datatype with a new lower bound and extent from an existing datatype +

Synopsis

+
+int MPI_Type_create_resized(MPI_Datatype oldtype,
+                            MPI_Aint lb, MPI_Aint extent, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
oldtype
input datatype (handle) + +
lb
new lower bound of datatype (address integer) + +
extent
new extent of datatype (address integer) +
+

+

Output Parameters

+
newtype
output datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_struct.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_struct.html new file mode 100644 index 00000000..0fc0495a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_struct.html @@ -0,0 +1,76 @@ + + + + +MPI_Type_create_struct + + +

MPI_Type_create_struct

+Create an MPI datatype from a general set of datatypes, displacements, and block sizes +

Synopsis

+
+int MPI_Type_create_struct(int count,
+                           const int array_of_blocklengths[],
+                           const MPI_Aint array_of_displacements[],
+                           const MPI_Datatype array_of_types[], MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (integer) --- also number of entries in arrays +array_of_types, array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array of integer) + +
array_of_displacements
byte displacement of each block (array of address integer) + +
array_of_types
type of elements in each block (array of handles to +datatype objects) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_subarray.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_subarray.html new file mode 100644 index 00000000..532a181a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_create_subarray.html @@ -0,0 +1,82 @@ + + + + +MPI_Type_create_subarray + + +

MPI_Type_create_subarray

+Create a datatype for a subarray of a regular, multidimensional array +

Synopsis

+
+int MPI_Type_create_subarray(int ndims,
+                             const int array_of_sizes[],
+                             const int array_of_subsizes[],
+                             const int array_of_starts[],
+                             int order, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
ndims
number of array dimensions (positive integer) + +
array_of_sizes
number of elements of type oldtype in each dimension of the +full array (array of positive integers) + +
array_of_subsizes
number of elements of type oldtype in each dimension of +the subarray (array of positive integers) + +
array_of_starts
starting coordinates of the subarray in each dimension +(array of nonnegative integers) + +
order
array storage order flag (state) + +
oldtype
array element datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_delete_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_delete_attr.html new file mode 100644 index 00000000..b3188cee --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_delete_attr.html @@ -0,0 +1,61 @@ + + + + +MPI_Type_delete_attr + + +

MPI_Type_delete_attr

+Deletes an attribute value associated with a key on a datatype +

Synopsis

+
+int MPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval)
+
+

Input Parameters

+
+
datatype
MPI datatype to which attribute is attached (handle) + +
type_keyval
The key value of the deleted attribute (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_dup.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_dup.html new file mode 100644 index 00000000..85925be3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_dup.html @@ -0,0 +1,65 @@ + + + + +MPI_Type_dup + + +

MPI_Type_dup

+Duplicate a datatype +

Synopsis

+
+#undef FUNCNAME
+#define FUNCNAME MPI_Type_dup
+#undef FCNAME
+#define FCNAME MPL_QUOTE(FUNCNAME)
+int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
oldtype
datatype (handle) +
+

+

Output Parameters

+
newtype
copy of type (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_extent.html new file mode 100644 index 00000000..ad0797fd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_extent.html @@ -0,0 +1,66 @@ + + + + +MPI_Type_extent + + +

MPI_Type_extent

+Returns the extent of a datatype +

Synopsis

+
+int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint * extent)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
extent
datatype extent (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_get_extent. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free.html new file mode 100644 index 00000000..6431f2d1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free.html @@ -0,0 +1,73 @@ + + + + +MPI_Type_free + + +

MPI_Type_free

+Frees the datatype +

Synopsis

+
+int MPI_Type_free(MPI_Datatype * datatype)
+
+

Input Parameters

+
datatype
datatype that is freed (handle) +
+

+

Predefined types

+

+The MPI standard states that (in Opaque Objects) +

+

+MPI provides certain predefined opaque objects and predefined, static handles +to these objects. Such objects may not be destroyed. +

+

+

+Thus, it is an error to free a predefined datatype. The same section makes +it clear that it is an error to free a null datatype. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free_keyval.html new file mode 100644 index 00000000..d6d85226 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_free_keyval.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_free_keyval + + +

MPI_Type_free_keyval

+Frees an attribute key for datatypes +

Synopsis

+
+int MPI_Type_free_keyval(int *type_keyval)
+
+

Input Parameters

+
type_keyval
Frees the integer key value (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_attr.html new file mode 100644 index 00000000..aab32c65 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_attr.html @@ -0,0 +1,78 @@ + + + + +MPI_Type_get_attr + + +

MPI_Type_get_attr

+Retrieves attribute value by key +

Synopsis

+
+int MPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
datatype
datatype to which the attribute is attached (handle) + +
type_keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag = false + +
flag
false if no attribute is associated with the key (logical) +
+

+

Notes

+Attributes must be extracted from the same language as they were inserted +in with MPI_Type_set_attr. The notes for C and Fortran below explain +why. +

+

Notes for C

+Even though the attr_value argument is declared as void *, it is +really the address of a void pointer. See the rationale in the +standard for more details. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_contents.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_contents.html new file mode 100644 index 00000000..44cb205a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_contents.html @@ -0,0 +1,68 @@ + + + + +MPI_Type_get_contents + + +

MPI_Type_get_contents

+get type contents +

Synopsis

+
+int MPI_Type_get_contents(MPI_Datatype datatype,
+                          int max_integers,
+                          int max_addresses,
+                          int max_datatypes,
+                          int array_of_integers[],
+                          MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[])
+
+

Input Parameters

+
+
datatype
datatype to access (handle) + +
max_integers
number of elements in array_of_integers (non-negative integer) + +
max_addresses
number of elements in array_of_addresses (non-negative integer) + +
max_datatypes
number of elements in array_of_datatypes (non-negative integer) +
+

+

Output Parameters

+
+
array_of_integers
contains integer arguments used in constructing the datatype (array of integers) + +
array_of_addresses
contains address arguments used in constructing the datatype (array of integers) + +
array_of_datatypes
contains datatype arguments used in constructing the datatype (array of handles) +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_envelope.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_envelope.html new file mode 100644 index 00000000..43d01384 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_envelope.html @@ -0,0 +1,59 @@ + + + + +MPI_Type_get_envelope + + +

MPI_Type_get_envelope

+get type envelope +

Synopsis

+
+int MPI_Type_get_envelope(MPI_Datatype datatype,
+                          int *num_integers, int *num_addresses, int *num_datatypes, int *combiner)
+
+

Input Parameters

+
datatype
datatype to access (handle) +
+

+

Output Parameters

+
+
num_integers
number of input integers used in the call constructing combiner (non-negative integer) + +
num_addresses
number of input addresses used in the call constructing combiner (non-negative integer) + +
num_datatypes
number of input datatypes used in the call constructing combiner (non-negative integer) + +
combiner
combiner (state) +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent.html new file mode 100644 index 00000000..c7076bc4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent.html @@ -0,0 +1,65 @@ + + + + +MPI_Type_get_extent + + +

MPI_Type_get_extent

+Get the lower bound and extent for a Datatype +

Synopsis

+
+int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint * lb, MPI_Aint * extent)
+
+

Input Parameters

+
datatype
datatype to get information on (handle) +
+

+

Output Parameters

+
+
lb
lower bound of datatype (address integer) + +
extent
extent of datatype (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent_x.html new file mode 100644 index 00000000..2e8ec6eb --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_extent_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_get_extent_x + + +

MPI_Type_get_extent_x

+Get the lower bound and extent as MPI_Count values for a Datatype +

Synopsis

+
+int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count * lb, MPI_Count * extent)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
+
lb
lower bound of datatype (integer) + +
extent
extent of datatype (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_name.html new file mode 100644 index 00000000..05bf0f85 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_name.html @@ -0,0 +1,88 @@ + + + + +MPI_Type_get_name + + +

MPI_Type_get_name

+Get the print name for a datatype +

Synopsis

+
+int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen)
+
+

Input Parameters

+
datatype
datatype whose name is to be returned (handle) +
+

+

Output Parameters

+
+
type_name
the name previously stored on the datatype, or a empty string +if no such name exists (string) + +
resultlen
length of returned name (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Null Handles

+The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +
+ A null handle argument is an erroneous IN argument in MPI calls, unless an
+ exception is explicitly stated in the text that defines the function. Such
+ exception is allowed for handles to request objects in Wait and Test calls
+ (sections Communication Completion and Multiple Completions ). Otherwise, a
+ null handle can only be passed to a function that allocates a new object and
+ returns a reference to it in the handle.
+
+ +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent.html new file mode 100644 index 00000000..03924893 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent.html @@ -0,0 +1,65 @@ + + + + +MPI_Type_get_true_extent + + +

MPI_Type_get_true_extent

+Get the true lower bound and extent for a datatype +

Synopsis

+
+int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint * true_lb, MPI_Aint * true_extent)
+
+

Input Parameters

+
datatype
datatype to get information on (handle) +
+

+

Output Parameters

+
+
true_lb
true lower bound of datatype (address integer) + +
true_extent
true size of datatype (address integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent_x.html new file mode 100644 index 00000000..164c70c5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_get_true_extent_x.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_get_true_extent_x + + +

MPI_Type_get_true_extent_x

+Get the true lower bound and extent as MPI_Count values for a datatype +

Synopsis

+
+int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count * true_lb, MPI_Count * true_extent)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
+
true_lb
true lower bound of datatype (integer) + +
true_extent
true extent of datatype (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hindexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hindexed.html new file mode 100644 index 00000000..058de804 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hindexed.html @@ -0,0 +1,111 @@ + + + + +MPI_Type_hindexed + + +

MPI_Type_hindexed

+Creates an indexed datatype with offsets in bytes +

Synopsis

+
+int MPI_Type_hindexed(int count,
+                      int *array_of_blocklengths,
+                      MPI_Aint * array_of_displacements,
+                      MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array of nonnegative integers) + +
array_of_displacements
byte displacement of each block (array of MPI_Aint) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +This routine is replaced by MPI_Type_create_hindexed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +

+    integer a(100)
+    integer array_of_blocklengths(10), array_of_displacements(10)
+    do i=1,10
+         array_of_blocklengths(i)   = 1
+10       array_of_displacements(i) = (1 + (i-1)*10) * sizeofint
+    call MPI_TYPE_HINDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr)
+    call MPI_TYPE_COMMIT(newtype,ierr)
+    call MPI_SEND(a,1,newtype,...)
+
+ +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are displacements from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". +

+If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +

+    integer a(0:99)
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hvector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hvector.html new file mode 100644 index 00000000..f5a99661 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_hvector.html @@ -0,0 +1,60 @@ + + + + +MPI_Type_hvector + + +

MPI_Type_hvector

+type_hvector +

Synopsis

+
+int MPI_Type_hvector(int count,
+                     int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (nonnegative integer) + +
blocklength
number of elements in each block +(nonnegative integer) + +
stride
number of bytes between start of each block (integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Notes

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_indexed.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_indexed.html new file mode 100644 index 00000000..a54e504a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_indexed.html @@ -0,0 +1,103 @@ + + + + +MPI_Type_indexed + + +

MPI_Type_indexed

+Creates an indexed datatype +

Synopsis

+
+int MPI_Type_indexed(int count,
+                     const int *array_of_blocklengths,
+                     const int *array_of_displacements,
+                     MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array of nonnegative integers) + +
array_of_displacements
displacement of each block in multiples of oldtype (array of +integers) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +

+    integer a(100)
+    integer array_of_blocklengths(10), array_of_displacements(10)
+    do i=1,10
+         array_of_blocklengths(i)   = 1
+10       array_of_displacements(i) = 1 + (i-1)*10
+    call MPI_TYPE_INDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr)
+    call MPI_TYPE_COMMIT(newtype,ierr)
+    call MPI_SEND(a,1,newtype,...)
+
+ +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are displacements from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". +

+If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +

+    integer a(0:99)
+
+ +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_lb.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_lb.html new file mode 100644 index 00000000..a1b8af68 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_lb.html @@ -0,0 +1,70 @@ + + + + +MPI_Type_lb + + +

MPI_Type_lb

+Returns the lower-bound of a datatype +

Synopsis

+
+int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint * displacement)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
displacement
displacement of lower bound from origin, +in bytes (address integer) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_Get_extent. +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_match_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_match_size.html new file mode 100644 index 00000000..02c25e7e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_match_size.html @@ -0,0 +1,69 @@ + + + + +MPI_Type_match_size + + +

MPI_Type_match_size

+Find an MPI datatype matching a specified size +

Synopsis

+
+int MPI_Type_match_size(int typeclass, int size, MPI_Datatype * datatype)
+
+

Input Parameters

+
+
typeclass
generic type specifier (integer) + +
size
size, in bytes, of representation (integer) +
+

+

Output Parameters

+
datatype
datatype with correct type, size (handle) +
+

+

Notes

+typeclass is one of MPI_TYPECLASS_REAL, MPI_TYPECLASS_INTEGER and +MPI_TYPECLASS_COMPLEX, corresponding to the desired typeclass. +The function returns an MPI datatype matching a local variable of type +(typeclass, size). +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_attr.html new file mode 100644 index 00000000..093723ae --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_attr.html @@ -0,0 +1,64 @@ + + + + +MPI_Type_set_attr + + +

MPI_Type_set_attr

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val)
+
+

Input Parameters

+
+
datatype
MPI Datatype to which attribute will be attached (handle) + +
type_keyval
key value, as returned by MPI_Type_create_keyval (integer) + +
attribute_val
attribute value +
+

+

Notes

+

+The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer (void *); in Fortran, it is an +address-sized integer. +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_name.html new file mode 100644 index 00000000..b41f94ec --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_set_name.html @@ -0,0 +1,58 @@ + + + + +MPI_Type_set_name + + +

MPI_Type_set_name

+set datatype name +

Synopsis

+
+int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name)
+
+

Input Parameters

+
+
datatype
datatype whose identifier is to be set (handle) + +
type_name
the character string which is remembered as the name (string) +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size.html new file mode 100644 index 00000000..acea1b7f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size.html @@ -0,0 +1,62 @@ + + + + +MPI_Type_size + + +

MPI_Type_size

+Return the number of bytes occupied by entries in the datatype +

Synopsis

+
+int MPI_Type_size(MPI_Datatype datatype, int *size)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
size
datatype size (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size_x.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size_x.html new file mode 100644 index 00000000..3b44fbda --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_size_x.html @@ -0,0 +1,55 @@ + + + + +MPI_Type_size_x + + +

MPI_Type_size_x

+Return the number of bytes occupied by entries in the datatype +

Synopsis

+
+int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count * size)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
size
datatype size (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_struct.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_struct.html new file mode 100644 index 00000000..41a39dcd --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_struct.html @@ -0,0 +1,128 @@ + + + + +MPI_Type_struct + + +

MPI_Type_struct

+Creates a struct datatype +

Synopsis

+
+int MPI_Type_struct(int count,
+                    int *array_of_blocklengths,
+                    MPI_Aint * array_of_displacements,
+                    MPI_Datatype * array_of_types, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (integer) -- also number of +entries in arrays array_of_types , +array_of_displacements and array_of_blocklengths + +
array_of_blocklengths
number of elements in each block (array) + +
array_of_displacements
byte displacement of each block (array) + +
array_of_types
type of elements in each block (array +of handles to datatype objects) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_create_struct + +

+

Notes

+If an upperbound is set explicitly by using the MPI datatype MPI_UB, the +corresponding index must be positive. +

+The MPI standard originally made vague statements about padding and alignment; +this was intended to allow the simple definition of structures that could +be sent with a count greater than one. For example, +

+    struct { int a; char b; } foo;
+
+ +may have sizeof(foo) > sizeof(int) + sizeof(char); for example, +sizeof(foo) == 2*sizeof(int). The initial version of the MPI standard +defined the extent of a datatype as including an epsilon that would have +allowed an implementation to make the extent an MPI datatype +for this structure equal to 2*sizeof(int). +However, since different systems might define different paddings, there was +much discussion by the MPI Forum about what was the correct value of +epsilon, and one suggestion was to define epsilon as zero. +This would have been the best thing to do in MPI 1.0, particularly since +the MPI_UB type allows the user to easily set the end of the structure. +Unfortunately, this change did not make it into the final document. +Currently, this routine does not add any padding, since the amount of +padding needed is determined by the compiler that the user is using to +build their code, not the compiler used to construct the MPI library. +A later version of MPICH may provide for some natural choices of padding +(e.g., multiple of the size of the largest basic member), but users are +advised to never depend on this, even with vendor MPI implementations. +Instead, if you define a structure datatype and wish to send or receive +multiple items, you should explicitly include an MPI_UB entry as the +last member of the structure. For example, the following code can be used +for the structure foo +
+    blen[0] = 1; array_of_displacements[0] = 0; oldtypes[0] = MPI_INT;
+    blen[1] = 1; array_of_displacements[1] = &foo.b - &foo; oldtypes[1] = MPI_CHAR;
+    blen[2] = 1; array_of_displacements[2] = sizeof(foo); oldtypes[2] = MPI_UB;
+    MPI_Type_struct(3, blen, array_of_displacements, oldtypes, &newtype);
+
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_INTERN
This error is returned when some part of the MPICH +implementation is unable to acquire memory. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_ub.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_ub.html new file mode 100644 index 00000000..f5b17016 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_ub.html @@ -0,0 +1,71 @@ + + + + +MPI_Type_ub + + +

MPI_Type_ub

+Returns the upper bound of a datatype +

Synopsis

+
+int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint * displacement)
+
+

Input Parameters

+
datatype
datatype (handle) +
+

+

Output Parameters

+
displacement
displacement of upper bound from origin, +in bytes (address integer) +
+

+

Deprecated Function

+The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is MPI_Type_get_extent + +

+

Thread and Interrupt Safety

+

+This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_vector.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_vector.html new file mode 100644 index 00000000..dcf5b1db --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Type_vector.html @@ -0,0 +1,72 @@ + + + + +MPI_Type_vector + + +

MPI_Type_vector

+Creates a vector (strided) datatype +

Synopsis

+
+int MPI_Type_vector(int count,
+                    int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype * newtype)
+
+

Input Parameters

+
+
count
number of blocks (nonnegative integer) + +
blocklength
number of elements in each block +(nonnegative integer) + +
stride
number of elements between start of each block (integer) + +
oldtype
old datatype (handle) +
+

+

Output Parameters

+
newtype
new datatype (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack.html new file mode 100644 index 00000000..2efc413b --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack.html @@ -0,0 +1,89 @@ + + + + +MPI_Unpack + + +

MPI_Unpack

+Unpack a buffer according to a datatype into contiguous memory +

Synopsis

+
+int MPI_Unpack(const void *inbuf, int insize, int *position,
+               void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm)
+
+

Input Parameters

+
+
inbuf
input buffer start (choice) + +
insize
size of input buffer, in bytes (integer) + +
outcount
number of items to be unpacked (integer) + +
datatype
datatype of each output data item (handle) + +
comm
communicator for packed message (handle) +
+

+

Output Parameters

+
outbuf
output buffer start (choice) +
+

+

Inout/Output Parameters

+
position
current position in bytes (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Pack, MPI_Pack_size +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack_external.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack_external.html new file mode 100644 index 00000000..a9dba98c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpack_external.html @@ -0,0 +1,80 @@ + + + + +MPI_Unpack_external + + +

MPI_Unpack_external

+Unpack a buffer (packed with MPI_Pack_external) according to a datatype into contiguous memory +

Synopsis

+
+int MPI_Unpack_external(const char datarep[],
+                        const void *inbuf,
+                        MPI_Aint insize,
+                        MPI_Aint * position, void *outbuf, int outcount, MPI_Datatype datatype)
+
+

Input Parameters

+
+
datarep
data representation (string) + +
inbuf
input buffer start (choice) + +
insize
input buffer size, in bytes (address integer) + +
outcount
number of output data items (integer) + +
datatype
datatype of output data item (handle) + +

+

Input/Output Parameters

+
position
current position in buffer, in bytes (address integer) + +

+

Output Parameters

+
outbuf
output buffer start (choice) + +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. + +
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. + +
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). + + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpublish_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpublish_name.html new file mode 100644 index 00000000..4a3c1919 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Unpublish_name.html @@ -0,0 +1,73 @@ + + + + +MPI_Unpublish_name + + +

MPI_Unpublish_name

+Unpublish a service name published with MPI_Publish_name +

Synopsis

+
+int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name)
+
+

Input Parameters

+
+
service_name
a service name (string) + +
info
implementation-specific information (handle) + +
port_name
a port name (string) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wait.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wait.html new file mode 100644 index 00000000..434c1568 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wait.html @@ -0,0 +1,84 @@ + + + + +MPI_Wait + + +

MPI_Wait

+Waits for an MPI request to complete +

Synopsis

+
+int MPI_Wait(MPI_Request * request, MPI_Status * status)
+
+

Input Parameters

+
request
request (handle) +
+

+

Output Parameters

+
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+The status argument must be declared as an array of size MPI_STATUS_SIZE, +as in integer status(MPI_STATUS_SIZE). +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitall.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitall.html new file mode 100644 index 00000000..386fcf9c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitall.html @@ -0,0 +1,117 @@ + + + + +MPI_Waitall + + +

MPI_Waitall

+Waits for all given MPI Requests to complete +

Synopsis

+
+int MPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of request handles (array of handles) +
+

+

Output Parameters

+
array_of_statuses
array of status objects (array of Statuses). May be +MPI_STATUSES_IGNORE. +
+

+

Notes

+

+If one or more of the requests completes with an error, MPI_ERR_IN_STATUS is +returned. An error value will be present is elements of array_of_status +associated with the requests. Likewise, the MPI_ERROR field in the status +elements associated with requests that have successfully completed will be +MPI_SUCCESS. Finally, those requests that have not completed will have a +value of MPI_ERR_PENDING. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitany.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitany.html new file mode 100644 index 00000000..cbce99bf --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitany.html @@ -0,0 +1,96 @@ + + + + +MPI_Waitany + + +

MPI_Waitany

+Waits for any specified MPI Request to complete +

Synopsis

+
+int MPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status * status)
+
+

Input Parameters

+
+
count
list length (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
indx
index of handle for operation that completed (integer). In the +range 0 to count-1. In Fortran, the range is 1 to count. + +
status
status object (Status). May be MPI_STATUS_IGNORE. +
+

+

Notes

+If all of the requests are MPI_REQUEST_NULL, then indx is returned as +MPI_UNDEFINED, and status is returned as an empty status. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitsome.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitsome.html new file mode 100644 index 00000000..94efce11 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Waitsome.html @@ -0,0 +1,132 @@ + + + + +MPI_Waitsome + + +

MPI_Waitsome

+Waits for some given MPI Requests to complete +

Synopsis

+
+int MPI_Waitsome(int incount, MPI_Request array_of_requests[],
+                 int *outcount, int array_of_indices[], MPI_Status array_of_statuses[])
+
+

Input Parameters

+
+
incount
length of array_of_requests (integer) + +
array_of_requests
array of requests (array of handles) +
+

+

Output Parameters

+
+
outcount
number of completed requests (integer) + +
array_of_indices
array of indices of operations that +completed (array of integers) + +
array_of_statuses
array of status objects for +operations that completed (array of Status). May be MPI_STATUSES_IGNORE. +
+

+

Notes

+The array of indicies are in the range 0 to incount - 1 for C and +in the range 1 to incount for Fortran. +

+Null requests are ignored; if all requests are null, then the routine +returns with outcount set to MPI_UNDEFINED. +

+While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. +

+MPI_Waitsome provides an interface much like the Unix select or poll +calls and, in a high qualilty implementation, indicates all of the requests +that have completed when MPI_Waitsome is called. +However, MPI_Waitsome only guarantees that at least one +request has completed; there is no guarantee that all completed requests +will be returned, or that the entries in array_of_indices will be in +increasing order. Also, requests that are completed while MPI_Waitsome is +executing may or may not be returned, depending on the timing of the +completion of the message. +

+

Notes on the MPI_Status argument

+

+The MPI_ERROR field of the status return is only set if +the return from the MPI routine is MPI_ERR_IN_STATUS. That error class +is only returned by the routines that take an array of status arguments +(MPI_Testall, MPI_Testsome, MPI_Waitall, and MPI_Waitsome). In +all other cases, the value of the MPI_ERROR field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. +

+For send operations, the only use of status is for MPI_Test_cancelled or +in the case that there is an error in one of the four routines that +may return the error class MPI_ERR_IN_STATUS, in which case the +MPI_ERROR field of status will be set. In that case, the value +will be set to MPI_SUCCESS for any send or receive operation that completed +successfully, or MPI_ERR_PENDING for any operation which has neither +failed nor completed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_REQUEST
Invalid MPI_Request. Either null or, in the case of a +MPI_Start or MPI_Startall, not a persistent request. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_IN_STATUS
The actual error value is in the MPI_Status argument. +This error class is returned only from the multiple-completion routines +(MPI_Testall, MPI_Testany, MPI_Testsome, MPI_Waitall, MPI_Waitany, +and MPI_Waitsome). The field MPI_ERROR in the status argument +contains the error value or MPI_SUCCESS (no error and complete) or +MPI_ERR_PENDING to indicate that the request has not completed. +
+The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +MPI_WAITALL, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class MPI_ERR_PENDING (introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +MPI_ERROR field marked with MPI_ERR_PENDING. + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate.html new file mode 100644 index 00000000..9722c8f6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate.html @@ -0,0 +1,94 @@ + + + + +MPI_Win_allocate + + +

MPI_Win_allocate

+Create and allocate an MPI Window object for one-sided communication. +

Synopsis

+
+int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info,
+                     MPI_Comm comm, void *baseptr, MPI_Win * win)
+
+

+This is a collective call executed by all processes in the group of comm. On +each process, it allocates memory of at least size bytes, returns a pointer to +it, and returns a window object that can be used by all processes in comm to +perform RMA operations. The returned memory consists of size bytes local to +each process, starting at address baseptr and is associated with the window as +if the user called MPI_Win_create on existing memory. The size argument may be +different at each process and size = 0 is valid; however, a library might +allocate and expose more memory in order to create a fast, globally symmetric +allocation. +

+

Input Parameters

+
size
size of window in bytes (nonnegative integer) +
+
disp_unit
local unit size for displacements, in bytes (positive integer) +
+
info
info argument (handle) +
+
comm
communicator (handle) +
+
+

+

Output Parameters

+
baseptr
base address of the window in local memory +
+
win
window object returned by the call (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+MPI_Win_allocate_shared MPI_Win_create MPI_Win_create_dynamic MPI_Win_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate_shared.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate_shared.html new file mode 100644 index 00000000..fa47322a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_allocate_shared.html @@ -0,0 +1,103 @@ + + + + +MPI_Win_allocate_shared + + +

MPI_Win_allocate_shared

+Create an MPI Window object for one-sided communication and shared memory access, and allocate memory at each process. +

Synopsis

+
+int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm,
+                            void *baseptr, MPI_Win * win)
+
+This is a collective call executed by all processes in the group of comm. On +each process i, it allocates memory of at least size bytes that is shared among +all processes in comm, and returns a pointer to the locally allocated segment +in baseptr that can be used for load/store accesses on the calling process. The +locally allocated memory can be the target of load/store accesses by remote +processes; the base pointers for other processes can be queried using the +function MPI_Win_shared_query. +

+The call also returns a window object that can be used by all processes in comm +to perform RMA operations. The size argument may be different at each process +and size = 0 is valid. It is the user's responsibility to ensure that the +communicator comm represents a group of processes that can create a shared +memory segment that can be accessed by all processes in the group. The +allocated memory is contiguous across process ranks unless the info key +alloc_shared_noncontig is specified. Contiguous across process ranks means that +the first address in the memory segment of process i is consecutive with the +last address in the memory segment of process i − 1. This may enable the user +to calculate remote address offsets with local information only. +

+

Input Parameters

+
size
size of window in bytes (nonnegative integer) +
+
disp_unit
local unit size for displacements, in bytes (positive integer) +
+
info
info argument (handle) +
+
comm
communicator (handle) +
+ +

+

Output Parameters

+
baseptr
initial address of window (choice) +
+
win
window object returned by the call (handle) +
+ +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+ MPI_Win_allocate MPI_Win_create MPI_Win_create_dynamic MPI_Win_free MPI_Win_shared_query +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_attach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_attach.html new file mode 100644 index 00000000..98405324 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_attach.html @@ -0,0 +1,86 @@ + + + + +MPI_Win_attach + + +

MPI_Win_attach

+Attach memory to a dynamic window. +

Synopsis

+
+int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size)
+
+

+Attaches a local memory region beginning at base for remote access within the +given window. The memory region specified must not contain any part that is +already attached to the window win, that is, attaching overlapping memory +concurrently within the same window is erroneous. The argument win must be a +window that was created with MPI_Win_create_dynamic. Multiple (but +non-overlapping) memory regions may be attached to the same window. +

+

Input Parameters

+
+
size
size of memory to be attached in bytes + +
base
initial address of memory to be attached + +
win
window object used for communication (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Win_create_dynamic MPI_Win_detach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_call_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_call_errhandler.html new file mode 100644 index 00000000..35e07340 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_call_errhandler.html @@ -0,0 +1,69 @@ + + + + +MPI_Win_call_errhandler + + +

MPI_Win_call_errhandler

+Call the error handler installed on a window object +

Synopsis

+
+int MPI_Win_call_errhandler(MPI_Win win, int errorcode)
+
+

Input Parameters

+
+
win
window with error handler (handle) + +
errorcode
error code (integer) +
+

+

Note

+Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. +

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_complete.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_complete.html new file mode 100644 index 00000000..ca9b7752 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_complete.html @@ -0,0 +1,58 @@ + + + + +MPI_Win_complete + + +

MPI_Win_complete

+Completes an RMA operations begun after an MPI_Win_start. +

Synopsis

+
+int MPI_Win_complete(MPI_Win win)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create.html new file mode 100644 index 00000000..cd7ddd25 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create.html @@ -0,0 +1,125 @@ + + + + +MPI_Win_create + + +

MPI_Win_create

+Create an MPI Window object for one-sided communication +

Synopsis

+
+int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info,
+                   MPI_Comm comm, MPI_Win * win)
+
+

+This is a collective call executed by all processes in the group of comm. It +returns a window object that can be used by these processes to perform RMA +operations. Each process specifies a window of existing memory that it exposes +to RMA accesses by the processes in the group of comm. The window consists of +size bytes, starting at address base. In C, base is the starting address of a +memory region. In Fortran, one can pass the first element of a memory region or +a whole array, which must be 'simply contiguous' (for 'simply contiguous', see +also MPI 3.0, Section 17.1.12 on page 626). A process may elect to expose no +memory by specifying size = 0. +

+

Input Parameters

+
+
base
initial address of window (choice) + +
size
size of window in bytes (nonnegative integer) + +
disp_unit
local unit size for displacements, in bytes (positive integer) + +
info
info argument (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
win
window object returned by the call (handle) +
+

+

Notes

+

+The displacement unit argument is provided to facilitate address arithmetic in +RMA operations: the target displacement argument of an RMA operation is scaled +by the factor disp_unit specified by the target process, at window creation. +

+The info argument provides optimization hints to the runtime about the expected +usage pattern of the window. The following info keys are predefined. +

+

no_locks
If set to true, then the implementation may assume that passive +target synchronization (i.e., MPI_Win_lock, MPI_Win_lock_all) will not be used on +the given window. This implies that this window is not used for 3-party +communication, and RMA can be implemented with no (less) asynchronous agent +activity at this process. +
+

+

accumulate_ordering
Controls the ordering of accumulate operations at the +target. The argument string should contain a comma-separated list of the +following read/write ordering rules, where e.g. "raw" means read-after-write: +"rar,raw,war,waw". +
+

+

accumulate_ops
If set to same_op, the implementation will assume that all +concurrent accumulate calls to the same target address will use the same +operation. If set to same_op_no_op, then the implementation will assume that +all concurrent accumulate calls to the same target address will use the same +operation or MPI_NO_OP. This can eliminate the need to protect access for +certain operation types where the hardware can guarantee atomicity. The default +is same_op_no_op. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+ MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create_dynamic MPI_Win_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_dynamic.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_dynamic.html new file mode 100644 index 00000000..dcb018db --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_dynamic.html @@ -0,0 +1,106 @@ + + + + +MPI_Win_create_dynamic + + +

MPI_Win_create_dynamic

+Create an MPI Window object for one-sided communication. This window allows memory to be dynamically exposed and un-exposed for RMA operations. +

Synopsis

+
+int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win * win)
+
+

+This is a collective call executed by all processes in the group of comm. It +returns a window win without memory attached. Existing process memory can be +attached as described below. This routine returns a window object that can be +used by these processes to perform RMA operations on attached memory. Because +this window has special properties, it will sometimes be referred to as a +dynamic window. The info argument can be used to specify hints similar to the +info argument for MPI_Win_create. +

+In the case of a window created with MPI_Win_create_dynamic, the target_disp +for all RMA functions is the address at the target; i.e., the effective +window_base is MPI_BOTTOM and the disp_unit is one. For dynamic windows, the +target_disp argument to RMA communication operations is not restricted to +non-negative values. Users should use MPI_Get_address at the target process to +determine the address of a target memory location and communicate this address +to the origin process. +

+

Input Parameters

+
+
info
info argument (handle) + +
comm
communicator (handle) +
+

+

Output Parameters

+
win
window object returned by the call (handle) +
+

+

Notes

+

+Users are cautioned that displacement arithmetic can overflow in variables of +type MPI_Aint and result in unexpected values on some platforms. This issue may +be addressed in a future version of MPI. +

+Memory in this window may not be used as the target of one-sided accesses in +this window until it is attached using the function MPI_Win_attach. That is, in +addition to using MPI_Win_create_dynamic to create an MPI window, the user must +use MPI_Win_attach before any local memory may be the target of an MPI RMA +operation. Only memory that is currently accessible may be attached. +

+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COMM
Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in MPI_Comm_rank). +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_SIZE
+
+

+

See Also

+ MPI_Win_attach MPI_Win_detach MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create MPI_Win_free +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_errhandler.html new file mode 100644 index 00000000..ef46516f --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_errhandler.html @@ -0,0 +1,61 @@ + + + + +MPI_Win_create_errhandler + + +

MPI_Win_create_errhandler

+Create an error handler for use with MPI window objects +

Synopsis

+
+int MPI_Win_create_errhandler(MPI_Win_errhandler_function * win_errhandler_fn,
+                              MPI_Errhandler * errhandler)
+
+

Input Parameters

+
win_errhandler_fn
user defined error handling procedure (function) +
+

+

Output Parameters

+
errhandler
MPI error handler (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_keyval.html new file mode 100644 index 00000000..5732c70d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_create_keyval.html @@ -0,0 +1,88 @@ + + + + +MPI_Win_create_keyval + + +

MPI_Win_create_keyval

+Create an attribute keyval for MPI window objects +

Synopsis

+
+int MPI_Win_create_keyval(MPI_Win_copy_attr_function * win_copy_attr_fn,
+                          MPI_Win_delete_attr_function * win_delete_attr_fn,
+                          int *win_keyval, void *extra_state)
+
+

Input Parameters

+
+
win_copy_attr_fn
copy callback function for win_keyval (function) + +
win_delete_attr_fn
delete callback function for win_keyval (function) + +
extra_state
extra state for callback functions +
+

+

Output Parameters

+
win_keyval
key value for future access (integer) +
+

+

Notes

+Default copy and delete functions are available. These are +
+
MPI_WIN_NULL_COPY_FN
empty copy function + +
MPI_WIN_NULL_DELETE_FN
empty delete function + +
MPI_WIN_DUP_FN
simple dup function +
+

+

+

Return value from attribute callbacks

+The MPI-2 versions of the attribute callbacks should return either +MPI_SUCCESS on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines MPI_Add_error_class and MPI_Add_error_code that allow the +user to define and use MPI error codes and classes. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_delete_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_delete_attr.html new file mode 100644 index 00000000..bd59293e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_delete_attr.html @@ -0,0 +1,63 @@ + + + + +MPI_Win_delete_attr + + +

MPI_Win_delete_attr

+Deletes an attribute value associated with a key on a datatype +

Synopsis

+
+int MPI_Win_delete_attr(MPI_Win win, int win_keyval)
+
+

Input Parameters

+
+
win
window from which the attribute is deleted (handle) + +
win_keyval
key value (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_detach.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_detach.html new file mode 100644 index 00000000..a6648c52 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_detach.html @@ -0,0 +1,84 @@ + + + + +MPI_Win_detach + + +

MPI_Win_detach

+Detach memory from a dynamic window +

Synopsis

+
+int MPI_Win_detach(MPI_Win win, const void *base)
+
+

+Detaches a previously attached memory region beginning at base. The arguments +base and win must match the arguments passed to a previous call to +MPI_Win_attach. +

+

Input Parameters

+
+
base
initial address of memory to be detached + +
win
window object used for communication (handle) +
+

+

Notes

+Memory also becomes detached when the associated dynamic memory window is freed. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_COUNT
Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_TYPE
Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see MPI_Type_commit) is used +in a communication call. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Win_create_dynamic MPI_Win_attach +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_fence.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_fence.html new file mode 100644 index 00000000..7e248da2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_fence.html @@ -0,0 +1,83 @@ + + + + +MPI_Win_fence + + +

MPI_Win_fence

+Perform an MPI fence synchronization on a MPI window +

Synopsis

+
+int MPI_Win_fence(int assert, MPI_Win win)
+
+

Input Parameters

+
+
assert
program assertion (integer) + +
win
window object (handle) +
+

+

Notes

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_fence +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for MPI_Win_fence are: +

+

+
MPI_MODE_NOSTORE
the local window was not updated by local stores +(or local get or receive calls) since last synchronization. + +
MPI_MODE_NOPUT
the local window will not be updated by put or accumulate +calls after the fence call, until the ensuing (fence) synchronization. + +
MPI_MODE_NOPRECEDE
the fence does not complete any sequence of locally +issued RMA calls. If this assertion is given by any process in the window +group, then it must be given by all processes in the group. + +
MPI_MODE_NOSUCCEED
the fence does not start any sequence of locally +issued RMA calls. If the assertion is given by any process in the window +group, then it must be given by all processes in the group. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush.html new file mode 100644 index 00000000..022bc752 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush.html @@ -0,0 +1,74 @@ + + + + +MPI_Win_flush + + +

MPI_Win_flush

+Complete all outstanding RMA operations at the given target. +

Synopsis

+
+int MPI_Win_flush(int rank, MPI_Win win)
+
+

+MPI_Win_flush completes all outstanding RMA operations initiated by the calling +process to the target rank on the specified window. The operations are +completed both at the origin and at the target. +

+

Input Parameters

+
+
rank
rank of window (nonnegative integer) + +
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_all.html new file mode 100644 index 00000000..0ddbf5e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_all.html @@ -0,0 +1,71 @@ + + + + +MPI_Win_flush_all + + +

MPI_Win_flush_all

+Complete all outstanding RMA operations at all targets +

Synopsis

+
+int MPI_Win_flush_all(MPI_Win win)
+
+

+All RMA operations issued by the calling process to any target on the specified +window prior to this call and in the specified window will have completed +both at the origin and at the target when this call returns. +

+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local.html new file mode 100644 index 00000000..a5fe82c5 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local.html @@ -0,0 +1,75 @@ + + + + +MPI_Win_flush_local + + +

MPI_Win_flush_local

+Complete locally all outstanding RMA operations at the given target +

Synopsis

+
+int MPI_Win_flush_local(int rank, MPI_Win win)
+
+

+Locally completes at the origin all outstanding RMA operations initiated by the +calling process to the target process specified by rank on the specified +window. For example, after this routine completes, the user may reuse any +buffers provided to put, get, or accumulate operations. +

+

Input Parameters

+
+
rank
rank of window (nonnegative integer) + +
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local_all.html new file mode 100644 index 00000000..b0a2fc6e --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_flush_local_all.html @@ -0,0 +1,70 @@ + + + + +MPI_Win_flush_local_all + + +

MPI_Win_flush_local_all

+Complete locally all outstanding RMA operations at all targets +

Synopsis

+
+int MPI_Win_flush_local_all(MPI_Win win)
+
+

+All RMA operations issued to any target prior to this call in this window will +have completed at the origin when MPI_Win_flush_local_all returns. +

+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_lock MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free.html new file mode 100644 index 00000000..50c163e6 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free.html @@ -0,0 +1,61 @@ + + + + +MPI_Win_free + + +

MPI_Win_free

+Free an MPI RMA window +

Synopsis

+
+int MPI_Win_free(MPI_Win * win)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Notes

+If successfully freed, win is set to MPI_WIN_NULL. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free_keyval.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free_keyval.html new file mode 100644 index 00000000..a99c1322 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_free_keyval.html @@ -0,0 +1,60 @@ + + + + +MPI_Win_free_keyval + + +

MPI_Win_free_keyval

+Frees an attribute key for MPI RMA windows +

Synopsis

+
+int MPI_Win_free_keyval(int *win_keyval)
+
+

Input Parameters

+
win_keyval
key value (integer) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_attr.html new file mode 100644 index 00000000..0b0401cf --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_attr.html @@ -0,0 +1,81 @@ + + + + +MPI_Win_get_attr + + +

MPI_Win_get_attr

+Get attribute cached on an MPI window object +

Synopsis

+
+int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag)
+
+

Input Parameters

+
+
win
window to which the attribute is attached (handle) + +
win_keyval
key value (integer) +
+

+

Output Parameters

+
+
attribute_val
attribute value, unless flag is false + +
flag
false if no attribute is associated with the key (logical) +
+

+

Notes

+The following attributes are predefined for all MPI Window objects: +

+

+
MPI_WIN_BASE
window base address. + +
MPI_WIN_SIZE
window size, in bytes. + +
MPI_WIN_DISP_UNIT
displacement unit associated with the window. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_KEYVAL
Invalid keyval +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_errhandler.html new file mode 100644 index 00000000..68d41be1 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_errhandler.html @@ -0,0 +1,62 @@ + + + + +MPI_Win_get_errhandler + + +

MPI_Win_get_errhandler

+Get the error handler for the MPI RMA window +

Synopsis

+
+int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler * errhandler)
+
+

Input Parameters

+
win
window (handle) +
+

+

Output Parameters

+
errhandler
error handler currently associated with window (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_group.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_group.html new file mode 100644 index 00000000..28528920 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_group.html @@ -0,0 +1,71 @@ + + + + +MPI_Win_get_group + + +

MPI_Win_get_group

+Get the MPI Group of the window object +

Synopsis

+
+int MPI_Win_get_group(MPI_Win win, MPI_Group * group)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Output Parameters

+
group
group of processes which share access to the window (handle) +
+

+

Notes

+The group is a duplicate of the group from the communicator used to +create the MPI window, and should be freed with MPI_Group_free when +it is no longer needed. This group can be used to form the group of +neighbors for the routines MPI_Win_post and MPI_Win_start. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_info.html new file mode 100644 index 00000000..251cfb1c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_info.html @@ -0,0 +1,84 @@ + + + + +MPI_Win_get_info + + +

MPI_Win_get_info

+Returns a new info object containing the hints of the window associated with win. +

Synopsis

+
+int MPI_Win_get_info(MPI_Win win, MPI_Info * info_used)
+
+

+The current setting of all hints actually used by the system related to this +window is returned in info_used. If no such hints exist, a handle to a newly +created info object is returned that contains no key/value pair. The user is +responsible for freeing info_used via MPI_Info_free. +

+

Input Parameters

+
win
window object (handle) +
+

+

Output Parameters

+
info_used
new info argument (handle) +
+

+

Notes

+

+The info object returned in info_used will contain all hints currently active +for this window. This set of hints may be greater or smaller than the set of +hints specified when the window was created, as the system may not recognize +some hints set by the user, and may recognize other hints that the user has not +set. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_set_info +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_name.html new file mode 100644 index 00000000..7eb28e54 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_get_name.html @@ -0,0 +1,76 @@ + + + + +MPI_Win_get_name + + +

MPI_Win_get_name

+Get the print name associated with the MPI RMA window +

Synopsis

+
+int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen)
+
+

Input Parameters

+
win
window whose name is to be returned (handle) +
+

+

Output Parameters

+
+
win_name
the name previously stored on the window, or a empty string if +no such name exists (string) + +
resultlen
length of returned name (integer) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock.html new file mode 100644 index 00000000..7fc01d34 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock.html @@ -0,0 +1,94 @@ + + + + +MPI_Win_lock + + +

MPI_Win_lock

+Begin an RMA access epoch at the target process. +

Synopsis

+
+int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win)
+
+

Input Parameters

+
+
lock_type
Indicates whether other processes may access the target +window at the same time (if MPI_LOCK_SHARED) or not (MPI_LOCK_EXCLUSIVE) + +
rank
rank of locked window (nonnegative integer) + +
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+

+The name of this routine is misleading. In particular, this +routine need not block, except when the target process is the calling +process. +

+Implementations may restrict the use of RMA communication that is +synchronized +by lock calls to windows in memory allocated by MPI_Alloc_mem. Locks can +be used portably only in such memory. +

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_lock +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for MPI_Win_lock are: +

+

MPI_MODE_NOCHECK
no other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock_all.html new file mode 100644 index 00000000..ef44acd4 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_lock_all.html @@ -0,0 +1,98 @@ + + + + +MPI_Win_lock_all + + +

MPI_Win_lock_all

+Begin an RMA access epoch at all processes on the given window. +

Synopsis

+
+int MPI_Win_lock_all(int assert, MPI_Win win)
+
+

+Starts an RMA access epoch to all processes in win, with a lock type of +MPI_Lock_shared. During the epoch, the calling process can access the window +memory on all processes in win by using RMA operations. A window locked with +MPI_Win_lock_all must be unlocked with MPI_Win_unlock_all. This routine is not +collective -- the ALL refers to a lock on all members of the group of the +window. +

+

Input Parameters

+
+
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+

+This call is not collective. +

+The assert argument is used to indicate special conditions for the fence that +an implementation may use to optimize the MPI_Win_lock_all operation. The +value zero is always correct. Other assertion values may be or'ed together. +Assertions that are valid for MPI_Win_lock_all are: +

+

MPI_MODE_NOCHECK
No other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +
+

+There may be additional overheads associated with using MPI_Win_lock and +MPI_Win_lock_all concurrently on the same window. These overheads could be +avoided by specifying the assertion MPI_MODE_NOCHECK when possible +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_unlock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_post.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_post.html new file mode 100644 index 00000000..1af2eb3a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_post.html @@ -0,0 +1,72 @@ + + + + +MPI_Win_post + + +

MPI_Win_post

+Start an RMA exposure epoch +

Synopsis

+
+int MPI_Win_post(MPI_Group group, int assert, MPI_Win win)
+
+

Input Parameters

+
+
group
group of origin processes (handle) + +
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_post +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for MPI_Win_post are: +

+

+
MPI_MODE_NOCHECK
the matching calls to MPI_WIN_START have not yet +occurred on any origin processes when the call to MPI_WIN_POST is made. +The nocheck option can be specified by a post call if and only if it is +specified by each matching start call. + +
MPI_MODE_NOSTORE
the local window was not updated by local stores (or +local get or receive calls) since last synchronization. This may avoid +the need for cache synchronization at the post call. + +
MPI_MODE_NOPUT
the local window will not be updated by put or accumulate +calls after the post call, until the ensuing (wait) synchronization. This +may avoid the need for cache synchronization at the wait call. +
+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_attr.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_attr.html new file mode 100644 index 00000000..7acf4cfa --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_attr.html @@ -0,0 +1,71 @@ + + + + +MPI_Win_set_attr + + +

MPI_Win_set_attr

+Stores attribute value associated with a key +

Synopsis

+
+int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val)
+
+

Input Parameters

+
+
win
MPI window object to which attribute will be attached (handle) + +
win_keyval
key value, as returned by MPI_Win_create_keyval (integer) + +
attribute_val
attribute value +
+

+

Notes

+

+The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer (void *); in Fortran, it is an +address-sized integer. +

+If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_KEYVAL
Invalid keyval +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_errhandler.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_errhandler.html new file mode 100644 index 00000000..b69ef690 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_errhandler.html @@ -0,0 +1,65 @@ + + + + +MPI_Win_set_errhandler + + +

MPI_Win_set_errhandler

+Set window error handler +

Synopsis

+
+int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler)
+
+

Input Parameters

+
+
win
window (handle) + +
errhandler
new error handler for window (handle) +
+

+

+

Thread and Interrupt Safety

+

+This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. +

+The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same MPI_Info object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +

+

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_info.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_info.html new file mode 100644 index 00000000..0ab8cd83 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_info.html @@ -0,0 +1,82 @@ + + + + +MPI_Win_set_info + + +

MPI_Win_set_info

+Set new values for the hints of the window associated with win. +

Synopsis

+
+int MPI_Win_set_info(MPI_Win win, MPI_Info info)
+
+

+The call is collective on the group of win. The info object may be different on +each process, but any info entries that an implementation requires to be the +same on all processes must appear with the same value in each process' info +object. +

+

Input Parameters

+
+
win
window object (handle) + +
info
info argument (handle) +
+

+

Notes

+

+Some info items that an implementation can use when it creates a window cannot +easily be changed once the window has been created. Thus, an implementation may +ignore hints issued in this call that it would have accepted in a creation +call. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_INFO
Invalid Info +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_get_info +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_name.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_name.html new file mode 100644 index 00000000..a86ea77c --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_set_name.html @@ -0,0 +1,64 @@ + + + + +MPI_Win_set_name + + +

MPI_Win_set_name

+Set the print name for an MPI RMA window +

Synopsis

+
+int MPI_Win_set_name(MPI_Win win, const char *win_name)
+
+

Input Parameters

+
+
win
window whose identifier is to be set (handle) + +
win_name
the character string which is remembered as the name (string) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_shared_query.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_shared_query.html new file mode 100644 index 00000000..054bfdc3 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_shared_query.html @@ -0,0 +1,94 @@ + + + + +MPI_Win_shared_query + + +

MPI_Win_shared_query

+Query the size and base pointer for a patch of a shared memory window. +

Synopsis

+
+int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint * size, int *disp_unit, void *baseptr)
+
+

+This function queries the process-local address for remote memory segments +created with MPI_Win_allocate_shared. This function can return different +process-local addresses for the same physical memory on different processes. +

+The returned memory can be used for load/store accesses subject to the +constraints defined in MPI 3.0, Section 11.7. This function can only be called +with windows of type MPI_Win_flavor_shared. If the passed window is not of +flavor MPI_Win_flavor_shared, the error MPI_ERR_RMA_FLAVOR is raised. When rank +is MPI_PROC_NULL, the pointer, disp_unit, and size returned are the pointer, +disp_unit, and size of the memory segment belonging the lowest rank that +specified size > 0. If all processes in the group attached to the window +specified size = 0, then the call returns size = 0 and a baseptr as if +MPI_Alloc_mem was called with size = 0. +

+

Input Parameters

+
+
win
window object used for communication (handle) + +
rank
target rank +
+

+

Output Parameters

+
+
size
size of the segment at the given rank + +
disp_unit
local unit size for displacements, in bytes (positive integer) + +
baseptr
base pointer in the calling process' address space of the shared +segment belonging to the target rank. +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+

+

See Also

+ MPI_Win_allocate_shared +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_start.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_start.html new file mode 100644 index 00000000..777da4c2 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_start.html @@ -0,0 +1,79 @@ + + + + +MPI_Win_start + + +

MPI_Win_start

+Start an RMA access epoch for MPI +

Synopsis

+
+int MPI_Win_start(MPI_Group group, int assert, MPI_Win win)
+
+

Input Parameters

+
+
group
group of target processes (handle) + +
assert
Used to optimize this call; zero may be used as a default. +See notes. (integer) + +
win
window object (handle) +
+

+

Notes

+The assert argument is used to indicate special conditions for the +fence that an implementation may use to optimize the MPI_Win_start +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions tha are valid for MPI_Win_start are: +

+

MPI_MODE_NOCHECK
the matching calls to MPI_WIN_POST have already +completed on all target processes when the call to MPI_WIN_START is made. +The nocheck option can be specified in a start call if and only if it is +specified in each matching post call. This is similar to the optimization +of ready-send that may save a handshake when the handshake is implicit in +the code. (However, ready-send is matched by a regular receive, whereas +both start and post must specify the nocheck option.) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_sync.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_sync.html new file mode 100644 index 00000000..6a9ff2e7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_sync.html @@ -0,0 +1,73 @@ + + + + +MPI_Win_sync + + +

MPI_Win_sync

+Synchronize public and private copies of the given window. +

Synopsis

+
+int MPI_Win_sync(MPI_Win win)
+
+

+The call MPI_Win_sync synchronizes the private and public window copies of win. +For the purposes of synchronizing the private and public window, MPI_Win_sync +has the effect of ending and reopening an access and exposure epoch on the +window (note that it does not actually end an epoch or complete any pending MPI +RMA operations). +

+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_test.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_test.html new file mode 100644 index 00000000..70edfde7 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_test.html @@ -0,0 +1,72 @@ + + + + +MPI_Win_test + + +

MPI_Win_test

+Test whether an RMA exposure epoch has completed +

Synopsis

+
+int MPI_Win_test(MPI_Win win, int *flag)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Output Parameters

+
flag
success flag (logical) +
+

+

Notes

+This is the nonblocking version of MPI_Win_wait. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+
MPI_ERR_ARG
Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., MPI_ERR_RANK). +
+

+

See Also

+ MPI_Win_wait, MPI_Win_post +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock.html new file mode 100644 index 00000000..caeb67ad --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock.html @@ -0,0 +1,69 @@ + + + + +MPI_Win_unlock + + +

MPI_Win_unlock

+Completes an RMA access epoch at the target process +

Synopsis

+
+int MPI_Win_unlock(int rank, MPI_Win win)
+
+

Input Parameters

+
+
rank
rank of window (nonnegative integer) + +
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_lock +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock_all.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock_all.html new file mode 100644 index 00000000..fd2a9997 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_unlock_all.html @@ -0,0 +1,74 @@ + + + + +MPI_Win_unlock_all + + +

MPI_Win_unlock_all

+Completes an RMA access epoch at all processes on the given window. +

Synopsis

+
+int MPI_Win_unlock_all(MPI_Win win)
+
+

+Completes a shared RMA access epoch started by a call to +MPI_Win_lock_all. RMA operations issued during this epoch will +have completed both at the origin and at the target when the call returns. +

+

Input Parameters

+
win
window object (handle) +
+

+

Notes

+This call is not collective. +

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_RANK
Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +(MPI_Recv, MPI_Irecv, MPI_Sendrecv, etc.) may also be MPI_ANY_SOURCE. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+

+

See Also

+ MPI_Win_lock_all +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_wait.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_wait.html new file mode 100644 index 00000000..8d1904f0 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Win_wait.html @@ -0,0 +1,58 @@ + + + + +MPI_Win_wait + + +

MPI_Win_wait

+Completes an RMA exposure epoch begun with MPI_Win_post +

Synopsis

+
+int MPI_Win_wait(MPI_Win win)
+
+

Input Parameters

+
win
window object (handle) +
+

+

Thread and Interrupt Safety

+

+This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +

+

Notes for Fortran

+All MPI routines in Fortran (except for MPI_WTIME and MPI_WTICK) have +an additional argument ierr at the end of the argument list. ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +call statement. +

+All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER +in Fortran. +

+

Errors

+

+All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler (for communicators), +MPI_File_set_errhandler (for files), and MPI_Win_set_errhandler (for +RMA windows). The MPI-1 routine MPI_Errhandler_set may be used but +its use is deprecated. The predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be returned. +Note that MPI does not guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. +

+

MPI_SUCCESS
No error; MPI routine completed successfully. +
+
MPI_ERR_WIN
Invalid MPI window object +
+
MPI_ERR_OTHER
Other error; use MPI_Error_string to get more information +about this error code. +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtick.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtick.html new file mode 100644 index 00000000..1bf3876a --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtick.html @@ -0,0 +1,23 @@ + + + + +MPI_Wtick + + +

MPI_Wtick

+Returns the resolution of MPI_Wtime +

Synopsis

+
+double MPI_Wtick(void)
+
+

Return value

+Time in seconds of resolution of MPI_Wtime +

+

Notes for Fortran

+This is a function, declared as DOUBLE PRECISION MPI_WTICK() in Fortran. +

+

See Also

+also: MPI_Wtime, MPI_Comm_get_attr, MPI_Attr_get +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtime.html b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtime.html new file mode 100644 index 00000000..0da7ae06 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/MPI_Wtime.html @@ -0,0 +1,29 @@ + + + + +MPI_Wtime + + +

MPI_Wtime

+Returns an elapsed time on the calling processor +

Synopsis

+
+double MPI_Wtime(void)
+
+

Return value

+Time in seconds since an arbitrary time in the past. +

+

Notes

+This is intended to be a high-resolution, elapsed (or wall) clock. +See MPI_WTICK to determine the resolution of MPI_WTIME. +If the attribute MPI_WTIME_IS_GLOBAL is defined and true, then the +value is synchronized across all processes in MPI_COMM_WORLD. +

+

Notes for Fortran

+This is a function, declared as DOUBLE PRECISION MPI_WTIME() in Fortran. +

+

See Also

+also: MPI_Wtick, MPI_Comm_get_attr, MPI_Attr_get +
+ diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/index.htm b/macx64/mpi/mpich/share/doc/mpich/www3/index.htm new file mode 100644 index 00000000..1679df39 --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/index.htm @@ -0,0 +1,551 @@ + + +Web pages for MPI Routines and Constants + + + +

Web pages for MPI Routines and Constants

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConstantsMPI_File_read_ordered_endMPI_Rget_accumulate
MPIR_Type_commitMPI_File_read_sharedMPI_Rput
MPIR_Type_contiguousMPI_File_seekMPI_Rsend
MPIR_Type_dupMPI_File_seek_sharedMPI_Rsend_init
MPIR_Type_get_contentsMPI_File_set_atomicityMPI_Scan
MPIR_Type_indexedMPI_File_set_errhandlerMPI_Scatter
MPIR_Type_structMPI_File_set_infoMPI_Scatterv
MPIR_Type_vectorMPI_File_set_sizeMPI_Send
MPIX_Comm_agreeMPI_File_set_viewMPI_Send_init
MPIX_Comm_failure_ackMPI_File_syncMPI_Sendrecv
MPIX_Comm_failure_get_ackedMPI_File_writeMPI_Sendrecv_replace
MPIX_Comm_revokeMPI_File_write_allMPI_Ssend
MPIX_Comm_shrinkMPI_File_write_all_beginMPI_Ssend_init
MPI_AbortMPI_File_write_all_endMPI_Start
MPI_AccumulateMPI_File_write_atMPI_Startall
MPI_Add_error_classMPI_File_write_at_allMPI_Status_set_cancelled
MPI_Add_error_codeMPI_File_write_at_all_beginMPI_Status_set_elements
MPI_Add_error_stringMPI_File_write_at_all_endMPI_Status_set_elements_x
MPI_AddressMPI_File_write_orderedMPI_T_category_changed
MPI_Aint_addMPI_File_write_ordered_beginMPI_T_category_get_categories
MPI_Aint_diffMPI_File_write_ordered_endMPI_T_category_get_cvars
MPI_AllgatherMPI_File_write_sharedMPI_T_category_get_info
MPI_AllgathervMPI_FinalizeMPI_T_category_get_num
MPI_Alloc_memMPI_FinalizedMPI_T_category_get_pvars
MPI_AllreduceMPI_Free_memMPI_T_cvar_get_info
MPI_AlltoallMPI_GatherMPI_T_cvar_get_num
MPI_AlltoallvMPI_GathervMPI_T_cvar_handle_alloc
MPI_AlltoallwMPI_GetMPI_T_cvar_handle_free
MPI_Attr_deleteMPI_Get_accumulateMPI_T_cvar_read
MPI_Attr_getMPI_Get_addressMPI_T_cvar_write
MPI_Attr_putMPI_Get_countMPI_T_enum_get_info
MPI_BarrierMPI_Get_elementsMPI_T_enum_get_item
MPI_BcastMPI_Get_elements_xMPI_T_finalize
MPI_BsendMPI_Get_library_versionMPI_T_init_thread
MPI_Bsend_initMPI_Get_processor_nameMPI_T_pvar_get_info
MPI_Buffer_attachMPI_Get_versionMPI_T_pvar_get_num
MPI_Buffer_detachMPI_Graph_createMPI_T_pvar_handle_alloc
MPI_CancelMPI_Graph_getMPI_T_pvar_handle_free
MPI_Cart_coordsMPI_Graph_mapMPI_T_pvar_read
MPI_Cart_createMPI_Graph_neighborsMPI_T_pvar_readreset
MPI_Cart_getMPI_Graph_neighbors_countMPI_T_pvar_reset
MPI_Cart_mapMPI_Graphdims_getMPI_T_pvar_session_create
MPI_Cart_rankMPI_Grequest_completeMPI_T_pvar_session_free
MPI_Cart_shiftMPI_Grequest_startMPI_T_pvar_start
MPI_Cart_subMPI_Group_compareMPI_T_pvar_stop
MPI_Cartdim_getMPI_Group_differenceMPI_T_pvar_write
MPI_Close_portMPI_Group_exclMPI_Test
MPI_Comm_acceptMPI_Group_freeMPI_Test_cancelled
MPI_Comm_call_errhandlerMPI_Group_inclMPI_Testall
MPI_Comm_compareMPI_Group_intersectionMPI_Testany
MPI_Comm_connectMPI_Group_range_exclMPI_Testsome
MPI_Comm_createMPI_Group_range_inclMPI_Topo_test
MPI_Comm_create_errhandlerMPI_Group_rankMPI_Type_commit
MPI_Comm_create_groupMPI_Group_sizeMPI_Type_contiguous
MPI_Comm_create_keyvalMPI_Group_translate_ranksMPI_Type_create_darray
MPI_Comm_delete_attrMPI_Group_unionMPI_Type_create_hindexed
MPI_Comm_disconnectMPI_IallgatherMPI_Type_create_hindexed_block
MPI_Comm_dupMPI_IallgathervMPI_Type_create_hvector
MPI_Comm_dup_with_infoMPI_IallreduceMPI_Type_create_indexed_block
MPI_Comm_freeMPI_IalltoallMPI_Type_create_keyval
MPI_Comm_free_keyvalMPI_IalltoallvMPI_Type_create_resized
MPI_Comm_get_attrMPI_IalltoallwMPI_Type_create_struct
MPI_Comm_get_errhandlerMPI_IbarrierMPI_Type_create_subarray
MPI_Comm_get_infoMPI_IbcastMPI_Type_delete_attr
MPI_Comm_get_nameMPI_IbsendMPI_Type_dup
MPI_Comm_get_parentMPI_IexscanMPI_Type_extent
MPI_Comm_groupMPI_IgatherMPI_Type_free
MPI_Comm_idupMPI_IgathervMPI_Type_free_keyval
MPI_Comm_joinMPI_ImprobeMPI_Type_get_attr
MPI_Comm_rankMPI_ImrecvMPI_Type_get_contents
MPI_Comm_remote_groupMPI_Ineighbor_allgatherMPI_Type_get_envelope
MPI_Comm_remote_sizeMPI_Ineighbor_allgathervMPI_Type_get_extent
MPI_Comm_set_attrMPI_Ineighbor_alltoallMPI_Type_get_extent_x
MPI_Comm_set_errhandlerMPI_Ineighbor_alltoallvMPI_Type_get_name
MPI_Comm_set_infoMPI_Ineighbor_alltoallwMPI_Type_get_true_extent
MPI_Comm_set_nameMPI_Info_createMPI_Type_get_true_extent_x
MPI_Comm_sizeMPI_Info_deleteMPI_Type_hindexed
MPI_Comm_spawnMPI_Info_dupMPI_Type_hvector
MPI_Comm_spawn_multipleMPI_Info_freeMPI_Type_indexed
MPI_Comm_splitMPI_Info_getMPI_Type_lb
MPI_Comm_split_typeMPI_Info_get_nkeysMPI_Type_match_size
MPI_Comm_test_interMPI_Info_get_nthkeyMPI_Type_set_attr
MPI_Compare_and_swapMPI_Info_get_valuelenMPI_Type_set_name
MPI_Dims_createMPI_Info_setMPI_Type_size
MPI_Dist_graph_createMPI_InitMPI_Type_size_x
MPI_Dist_graph_create_adjacentMPI_Init_threadMPI_Type_struct
MPI_Dist_graph_neighborsMPI_InitializedMPI_Type_ub
MPI_Dist_graph_neighbors_countMPI_Intercomm_createMPI_Type_vector
MPI_Errhandler_createMPI_Intercomm_mergeMPI_Unpack
MPI_Errhandler_freeMPI_IprobeMPI_Unpack_external
MPI_Errhandler_getMPI_IrecvMPI_Unpublish_name
MPI_Errhandler_setMPI_IreduceMPI_Wait
MPI_Error_classMPI_Ireduce_scatterMPI_Waitall
MPI_Error_stringMPI_Ireduce_scatter_blockMPI_Waitany
MPI_ExscanMPI_IrsendMPI_Waitsome
MPI_Fetch_and_opMPI_Is_thread_mainMPI_Win_allocate
MPI_File_c2fMPI_IscanMPI_Win_allocate_shared
MPI_File_call_errhandlerMPI_IscatterMPI_Win_attach
MPI_File_closeMPI_IscattervMPI_Win_call_errhandler
MPI_File_create_errhandlerMPI_IsendMPI_Win_complete
MPI_File_deleteMPI_IssendMPI_Win_create
MPI_File_f2cMPI_Keyval_createMPI_Win_create_dynamic
MPI_File_get_amodeMPI_Keyval_freeMPI_Win_create_errhandler
MPI_File_get_atomicityMPI_Lookup_nameMPI_Win_create_keyval
MPI_File_get_byte_offsetMPI_MprobeMPI_Win_delete_attr
MPI_File_get_errhandlerMPI_MrecvMPI_Win_detach
MPI_File_get_groupMPI_Neighbor_allgatherMPI_Win_fence
MPI_File_get_infoMPI_Neighbor_allgathervMPI_Win_flush
MPI_File_get_positionMPI_Neighbor_alltoallMPI_Win_flush_all
MPI_File_get_position_sharedMPI_Neighbor_alltoallvMPI_Win_flush_local
MPI_File_get_sizeMPI_Neighbor_alltoallwMPI_Win_flush_local_all
MPI_File_get_type_extentMPI_Op_commuteMPI_Win_free
MPI_File_get_viewMPI_Op_createMPI_Win_free_keyval
MPI_File_ireadMPI_Op_freeMPI_Win_get_attr
MPI_File_iread_allMPI_Open_portMPI_Win_get_errhandler
MPI_File_iread_atMPI_PackMPI_Win_get_group
MPI_File_iread_at_allMPI_Pack_externalMPI_Win_get_info
MPI_File_iread_sharedMPI_Pack_external_sizeMPI_Win_get_name
MPI_File_iwriteMPI_Pack_sizeMPI_Win_lock
MPI_File_iwrite_allMPI_PcontrolMPI_Win_lock_all
MPI_File_iwrite_atMPI_ProbeMPI_Win_post
MPI_File_iwrite_at_allMPI_Publish_nameMPI_Win_set_attr
MPI_File_iwrite_sharedMPI_PutMPI_Win_set_errhandler
MPI_File_openMPI_Query_threadMPI_Win_set_info
MPI_File_preallocateMPI_RaccumulateMPI_Win_set_name
MPI_File_readMPI_RecvMPI_Win_shared_query
MPI_File_read_allMPI_Recv_initMPI_Win_start
MPI_File_read_all_beginMPI_ReduceMPI_Win_sync
MPI_File_read_all_endMPI_Reduce_localMPI_Win_test
MPI_File_read_atMPI_Reduce_scatterMPI_Win_unlock
MPI_File_read_at_allMPI_Reduce_scatter_blockMPI_Win_unlock_all
MPI_File_read_at_all_beginMPI_Register_datarepMPI_Win_wait
MPI_File_read_at_all_endMPI_Request_freeMPI_Wtick
MPI_File_read_orderedMPI_Request_get_statusMPI_Wtime
MPI_File_read_ordered_beginMPI_Rget
+ + diff --git a/macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit b/macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit new file mode 100644 index 00000000..bef31d2d --- /dev/null +++ b/macx64/mpi/mpich/share/doc/mpich/www3/mpi.cit @@ -0,0 +1,407 @@ +man:+MPI_Attr_delete++MPI_Attr_delete++++man+--your-url-here--/MPI_Attr_delete.html#MPI_Attr_delete +man:+MPI_Attr_get++MPI_Attr_get++++man+--your-url-here--/MPI_Attr_get.html#MPI_Attr_get +man:+MPI_Attr_put++MPI_Attr_put++++man+--your-url-here--/MPI_Attr_put.html#MPI_Attr_put +man:+MPI_Comm_create_keyval++MPI_Comm_create_keyval++++man+--your-url-here--/MPI_Comm_create_keyval.html#MPI_Comm_create_keyval +man:+MPI_Comm_delete_attr++MPI_Comm_delete_attr++++man+--your-url-here--/MPI_Comm_delete_attr.html#MPI_Comm_delete_attr +man:+MPI_Comm_free_keyval++MPI_Comm_free_keyval++++man+--your-url-here--/MPI_Comm_free_keyval.html#MPI_Comm_free_keyval +man:+MPI_Comm_get_attr++MPI_Comm_get_attr++++man+--your-url-here--/MPI_Comm_get_attr.html#MPI_Comm_get_attr +man:+MPI_Comm_set_attr++MPI_Comm_set_attr++++man+--your-url-here--/MPI_Comm_set_attr.html#MPI_Comm_set_attr +man:+MPI_Keyval_create++MPI_Keyval_create++++man+--your-url-here--/MPI_Keyval_create.html#MPI_Keyval_create +man:+MPI_Keyval_free++MPI_Keyval_free++++man+--your-url-here--/MPI_Keyval_free.html#MPI_Keyval_free +man:+MPI_Type_create_keyval++MPI_Type_create_keyval++++man+--your-url-here--/MPI_Type_create_keyval.html#MPI_Type_create_keyval +man:+MPI_Type_delete_attr++MPI_Type_delete_attr++++man+--your-url-here--/MPI_Type_delete_attr.html#MPI_Type_delete_attr +man:+MPI_Type_free_keyval++MPI_Type_free_keyval++++man+--your-url-here--/MPI_Type_free_keyval.html#MPI_Type_free_keyval +man:+MPI_Type_get_attr++MPI_Type_get_attr++++man+--your-url-here--/MPI_Type_get_attr.html#MPI_Type_get_attr +man:+MPI_Type_set_attr++MPI_Type_set_attr++++man+--your-url-here--/MPI_Type_set_attr.html#MPI_Type_set_attr +man:+MPI_Win_create_keyval++MPI_Win_create_keyval++++man+--your-url-here--/MPI_Win_create_keyval.html#MPI_Win_create_keyval +man:+MPI_Win_delete_attr++MPI_Win_delete_attr++++man+--your-url-here--/MPI_Win_delete_attr.html#MPI_Win_delete_attr +man:+MPI_Win_free_keyval++MPI_Win_free_keyval++++man+--your-url-here--/MPI_Win_free_keyval.html#MPI_Win_free_keyval +man:+MPI_Win_get_attr++MPI_Win_get_attr++++man+--your-url-here--/MPI_Win_get_attr.html#MPI_Win_get_attr +man:+MPI_Win_set_attr++MPI_Win_set_attr++++man+--your-url-here--/MPI_Win_set_attr.html#MPI_Win_set_attr +man:+MPI_Allgather++MPI_Allgather++++man+--your-url-here--/MPI_Allgather.html#MPI_Allgather +man:+MPI_Allgatherv++MPI_Allgatherv++++man+--your-url-here--/MPI_Allgatherv.html#MPI_Allgatherv +man:+MPI_Allreduce++MPI_Allreduce++++man+--your-url-here--/MPI_Allreduce.html#MPI_Allreduce +man:+MPI_Alltoall++MPI_Alltoall++++man+--your-url-here--/MPI_Alltoall.html#MPI_Alltoall +man:+MPI_Alltoallv++MPI_Alltoallv++++man+--your-url-here--/MPI_Alltoallv.html#MPI_Alltoallv +man:+MPI_Alltoallw++MPI_Alltoallw++++man+--your-url-here--/MPI_Alltoallw.html#MPI_Alltoallw +man:+MPI_Barrier++MPI_Barrier++++man+--your-url-here--/MPI_Barrier.html#MPI_Barrier +man:+MPI_Bcast++MPI_Bcast++++man+--your-url-here--/MPI_Bcast.html#MPI_Bcast +man:+MPI_Exscan++MPI_Exscan++++man+--your-url-here--/MPI_Exscan.html#MPI_Exscan +man:+MPI_Gather++MPI_Gather++++man+--your-url-here--/MPI_Gather.html#MPI_Gather +man:+MPI_Gatherv++MPI_Gatherv++++man+--your-url-here--/MPI_Gatherv.html#MPI_Gatherv +man:+MPI_Reduce_scatter++MPI_Reduce_scatter++++man+--your-url-here--/MPI_Reduce_scatter.html#MPI_Reduce_scatter +man:+MPI_Reduce_scatter_block++MPI_Reduce_scatter_block++++man+--your-url-here--/MPI_Reduce_scatter_block.html#MPI_Reduce_scatter_block +man:+MPI_Reduce++MPI_Reduce++++man+--your-url-here--/MPI_Reduce.html#MPI_Reduce +man:+MPI_Scan++MPI_Scan++++man+--your-url-here--/MPI_Scan.html#MPI_Scan +man:+MPI_Scatter++MPI_Scatter++++man+--your-url-here--/MPI_Scatter.html#MPI_Scatter +man:+MPI_Scatterv++MPI_Scatterv++++man+--your-url-here--/MPI_Scatterv.html#MPI_Scatterv +man:+MPI_Neighbor_allgather++MPI_Neighbor_allgather++++man+--your-url-here--/MPI_Neighbor_allgather.html#MPI_Neighbor_allgather +man:+MPI_Neighbor_allgatherv++MPI_Neighbor_allgatherv++++man+--your-url-here--/MPI_Neighbor_allgatherv.html#MPI_Neighbor_allgatherv +man:+MPI_Neighbor_alltoall++MPI_Neighbor_alltoall++++man+--your-url-here--/MPI_Neighbor_alltoall.html#MPI_Neighbor_alltoall +man:+MPI_Neighbor_alltoallv++MPI_Neighbor_alltoallv++++man+--your-url-here--/MPI_Neighbor_alltoallv.html#MPI_Neighbor_alltoallv +man:+MPI_Neighbor_alltoallw++MPI_Neighbor_alltoallw++++man+--your-url-here--/MPI_Neighbor_alltoallw.html#MPI_Neighbor_alltoallw +man:+MPI_Iallgather++MPI_Iallgather++++man+--your-url-here--/MPI_Iallgather.html#MPI_Iallgather +man:+MPI_Iallgatherv++MPI_Iallgatherv++++man+--your-url-here--/MPI_Iallgatherv.html#MPI_Iallgatherv +man:+MPI_Iallreduce++MPI_Iallreduce++++man+--your-url-here--/MPI_Iallreduce.html#MPI_Iallreduce +man:+MPI_Ialltoall++MPI_Ialltoall++++man+--your-url-here--/MPI_Ialltoall.html#MPI_Ialltoall +man:+MPI_Ialltoallv++MPI_Ialltoallv++++man+--your-url-here--/MPI_Ialltoallv.html#MPI_Ialltoallv +man:+MPI_Ialltoallw++MPI_Ialltoallw++++man+--your-url-here--/MPI_Ialltoallw.html#MPI_Ialltoallw +man:+MPI_Ibarrier++MPI_Ibarrier++++man+--your-url-here--/MPI_Ibarrier.html#MPI_Ibarrier +man:+MPI_Ibcast++MPI_Ibcast++++man+--your-url-here--/MPI_Ibcast.html#MPI_Ibcast +man:+MPI_Iexscan++MPI_Iexscan++++man+--your-url-here--/MPI_Iexscan.html#MPI_Iexscan +man:+MPI_Igather++MPI_Igather++++man+--your-url-here--/MPI_Igather.html#MPI_Igather +man:+MPI_Igatherv++MPI_Igatherv++++man+--your-url-here--/MPI_Igatherv.html#MPI_Igatherv +man:+MPI_Ireduce_scatter++MPI_Ireduce_scatter++++man+--your-url-here--/MPI_Ireduce_scatter.html#MPI_Ireduce_scatter +man:+MPI_Ireduce_scatter_block++MPI_Ireduce_scatter_block++++man+--your-url-here--/MPI_Ireduce_scatter_block.html#MPI_Ireduce_scatter_block +man:+MPI_Ireduce++MPI_Ireduce++++man+--your-url-here--/MPI_Ireduce.html#MPI_Ireduce +man:+MPI_Iscan++MPI_Iscan++++man+--your-url-here--/MPI_Iscan.html#MPI_Iscan +man:+MPI_Iscatter++MPI_Iscatter++++man+--your-url-here--/MPI_Iscatter.html#MPI_Iscatter +man:+MPI_Iscatterv++MPI_Iscatterv++++man+--your-url-here--/MPI_Iscatterv.html#MPI_Iscatterv +man:+MPI_Ineighbor_allgather++MPI_Ineighbor_allgather++++man+--your-url-here--/MPI_Ineighbor_allgather.html#MPI_Ineighbor_allgather +man:+MPI_Ineighbor_allgatherv++MPI_Ineighbor_allgatherv++++man+--your-url-here--/MPI_Ineighbor_allgatherv.html#MPI_Ineighbor_allgatherv +man:+MPI_Ineighbor_alltoall++MPI_Ineighbor_alltoall++++man+--your-url-here--/MPI_Ineighbor_alltoall.html#MPI_Ineighbor_alltoall +man:+MPI_Ineighbor_alltoallv++MPI_Ineighbor_alltoallv++++man+--your-url-here--/MPI_Ineighbor_alltoallv.html#MPI_Ineighbor_alltoallv +man:+MPI_Ineighbor_alltoallw++MPI_Ineighbor_alltoallw++++man+--your-url-here--/MPI_Ineighbor_alltoallw.html#MPI_Ineighbor_alltoallw +man:+MPI_Op_create++MPI_Op_create++++man+--your-url-here--/MPI_Op_create.html#MPI_Op_create +man:+MPI_Op_free++MPI_Op_free++++man+--your-url-here--/MPI_Op_free.html#MPI_Op_free +man:+MPI_Op_commute++MPI_Op_commute++++man+--your-url-here--/MPI_Op_commute.html#MPI_Op_commute +man:+MPI_Reduce_local++MPI_Reduce_local++++man+--your-url-here--/MPI_Reduce_local.html#MPI_Reduce_local +man:+MPI_Comm_compare++MPI_Comm_compare++++man+--your-url-here--/MPI_Comm_compare.html#MPI_Comm_compare +man:+MPI_Comm_create++MPI_Comm_create++++man+--your-url-here--/MPI_Comm_create.html#MPI_Comm_create +man:+MPI_Comm_create_group++MPI_Comm_create_group++++man+--your-url-here--/MPI_Comm_create_group.html#MPI_Comm_create_group +man:+MPI_Comm_dup++MPI_Comm_dup++++man+--your-url-here--/MPI_Comm_dup.html#MPI_Comm_dup +man:+MPI_Comm_dup_with_info++MPI_Comm_dup_with_info++++man+--your-url-here--/MPI_Comm_dup_with_info.html#MPI_Comm_dup_with_info +man:+MPI_Comm_free++MPI_Comm_free++++man+--your-url-here--/MPI_Comm_free.html#MPI_Comm_free +man:+MPI_Comm_get_name++MPI_Comm_get_name++++man+--your-url-here--/MPI_Comm_get_name.html#MPI_Comm_get_name +man:+MPI_Comm_get_info++MPI_Comm_get_info++++man+--your-url-here--/MPI_Comm_get_info.html#MPI_Comm_get_info +man:+MPI_Comm_set_info++MPI_Comm_set_info++++man+--your-url-here--/MPI_Comm_set_info.html#MPI_Comm_set_info +man:+MPI_Comm_group++MPI_Comm_group++++man+--your-url-here--/MPI_Comm_group.html#MPI_Comm_group +man:+MPI_Comm_idup++MPI_Comm_idup++++man+--your-url-here--/MPI_Comm_idup.html#MPI_Comm_idup +man:+MPI_Comm_rank++MPI_Comm_rank++++man+--your-url-here--/MPI_Comm_rank.html#MPI_Comm_rank +man:+MPI_Comm_size++MPI_Comm_size++++man+--your-url-here--/MPI_Comm_size.html#MPI_Comm_size +man:+MPI_Comm_remote_group++MPI_Comm_remote_group++++man+--your-url-here--/MPI_Comm_remote_group.html#MPI_Comm_remote_group +man:+MPI_Comm_remote_size++MPI_Comm_remote_size++++man+--your-url-here--/MPI_Comm_remote_size.html#MPI_Comm_remote_size +man:+MPI_Comm_set_name++MPI_Comm_set_name++++man+--your-url-here--/MPI_Comm_set_name.html#MPI_Comm_set_name +man:+MPI_Comm_split++MPI_Comm_split++++man+--your-url-here--/MPI_Comm_split.html#MPI_Comm_split +man:+MPI_Comm_test_inter++MPI_Comm_test_inter++++man+--your-url-here--/MPI_Comm_test_inter.html#MPI_Comm_test_inter +man:+MPI_Intercomm_create++MPI_Intercomm_create++++man+--your-url-here--/MPI_Intercomm_create.html#MPI_Intercomm_create +man:+MPI_Intercomm_merge++MPI_Intercomm_merge++++man+--your-url-here--/MPI_Intercomm_merge.html#MPI_Intercomm_merge +man:+MPI_Comm_split_type++MPI_Comm_split_type++++man+--your-url-here--/MPI_Comm_split_type.html#MPI_Comm_split_type +man:+MPIX_Comm_failure_ack++MPIX_Comm_failure_ack++++man+--your-url-here--/MPIX_Comm_failure_ack.html#MPIX_Comm_failure_ack +man:+MPIX_Comm_failure_get_acked++MPIX_Comm_failure_get_acked++++man+--your-url-here--/MPIX_Comm_failure_get_acked.html#MPIX_Comm_failure_get_acked +man:+MPIX_Comm_revoke++MPIX_Comm_revoke++++man+--your-url-here--/MPIX_Comm_revoke.html#MPIX_Comm_revoke +man:+MPIX_Comm_shrink++MPIX_Comm_shrink++++man+--your-url-here--/MPIX_Comm_shrink.html#MPIX_Comm_shrink +man:+MPIX_Comm_agree++MPIX_Comm_agree++++man+--your-url-here--/MPIX_Comm_agree.html#MPIX_Comm_agree +man:+MPI_Address++MPI_Address++++man+--your-url-here--/MPI_Address.html#MPI_Address +man:+MPI_Get_address++MPI_Get_address++++man+--your-url-here--/MPI_Get_address.html#MPI_Get_address +man:+MPI_Get_count++MPI_Get_count++++man+--your-url-here--/MPI_Get_count.html#MPI_Get_count +man:+MPI_Get_elements++MPI_Get_elements++++man+--your-url-here--/MPI_Get_elements.html#MPI_Get_elements +man:+MPI_Get_elements_x++MPI_Get_elements_x++++man+--your-url-here--/MPI_Get_elements_x.html#MPI_Get_elements_x +man:+MPI_Pack++MPI_Pack++++man+--your-url-here--/MPI_Pack.html#MPI_Pack +man:+MPI_Pack_external++MPI_Pack_external++++man+--your-url-here--/MPI_Pack_external.html#MPI_Pack_external +man:+MPI_Pack_external_size++MPI_Pack_external_size++++man+--your-url-here--/MPI_Pack_external_size.html#MPI_Pack_external_size +man:+MPI_Pack_size++MPI_Pack_size++++man+--your-url-here--/MPI_Pack_size.html#MPI_Pack_size +man:+MPI_Status_set_elements++MPI_Status_set_elements++++man+--your-url-here--/MPI_Status_set_elements.html#MPI_Status_set_elements +man:+MPI_Status_set_elements_x++MPI_Status_set_elements_x++++man+--your-url-here--/MPI_Status_set_elements_x.html#MPI_Status_set_elements_x +man:+MPI_Type_get_name++MPI_Type_get_name++++man+--your-url-here--/MPI_Type_get_name.html#MPI_Type_get_name +man:+MPI_Type_set_name++MPI_Type_set_name++++man+--your-url-here--/MPI_Type_set_name.html#MPI_Type_set_name +man:+MPI_Type_size++MPI_Type_size++++man+--your-url-here--/MPI_Type_size.html#MPI_Type_size +man:+MPI_Type_size_x++MPI_Type_size_x++++man+--your-url-here--/MPI_Type_size_x.html#MPI_Type_size_x +man:+MPI_Type_extent++MPI_Type_extent++++man+--your-url-here--/MPI_Type_extent.html#MPI_Type_extent +man:+MPIR_Type_vector++MPIR_Type_vector++++man+--your-url-here--/MPIR_Type_vector.html#MPIR_Type_vector +man:+MPI_Type_vector++MPI_Type_vector++++man+--your-url-here--/MPI_Type_vector.html#MPI_Type_vector +man:+MPIR_Type_commit++MPIR_Type_commit++++man+--your-url-here--/MPIR_Type_commit.html#MPIR_Type_commit +man:+MPI_Type_commit++MPI_Type_commit++++man+--your-url-here--/MPI_Type_commit.html#MPI_Type_commit +man:+MPIR_Type_indexed++MPIR_Type_indexed++++man+--your-url-here--/MPIR_Type_indexed.html#MPIR_Type_indexed +man:+MPI_Type_indexed++MPI_Type_indexed++++man+--your-url-here--/MPI_Type_indexed.html#MPI_Type_indexed +man:+MPI_Type_hindexed++MPI_Type_hindexed++++man+--your-url-here--/MPI_Type_hindexed.html#MPI_Type_hindexed +man:+MPIR_Type_struct++MPIR_Type_struct++++man+--your-url-here--/MPIR_Type_struct.html#MPIR_Type_struct +man:+MPI_Type_struct++MPI_Type_struct++++man+--your-url-here--/MPI_Type_struct.html#MPI_Type_struct +man:+MPIR_Type_contiguous++MPIR_Type_contiguous++++man+--your-url-here--/MPIR_Type_contiguous.html#MPIR_Type_contiguous +man:+MPI_Type_contiguous++MPI_Type_contiguous++++man+--your-url-here--/MPI_Type_contiguous.html#MPI_Type_contiguous +man:+MPI_Type_free++MPI_Type_free++++man+--your-url-here--/MPI_Type_free.html#MPI_Type_free +man:+MPI_Type_hvector++MPI_Type_hvector++++man+--your-url-here--/MPI_Type_hvector.html#MPI_Type_hvector +man:+MPIR_Type_dup++MPIR_Type_dup++++man+--your-url-here--/MPIR_Type_dup.html#MPIR_Type_dup +man:+MPI_Type_dup++MPI_Type_dup++++man+--your-url-here--/MPI_Type_dup.html#MPI_Type_dup +man:+MPI_Type_get_envelope++MPI_Type_get_envelope++++man+--your-url-here--/MPI_Type_get_envelope.html#MPI_Type_get_envelope +man:+MPIR_Type_get_contents++MPIR_Type_get_contents++++man+--your-url-here--/MPIR_Type_get_contents.html#MPIR_Type_get_contents +man:+MPI_Type_get_contents++MPI_Type_get_contents++++man+--your-url-here--/MPI_Type_get_contents.html#MPI_Type_get_contents +man:+MPI_Type_ub++MPI_Type_ub++++man+--your-url-here--/MPI_Type_ub.html#MPI_Type_ub +man:+MPI_Type_lb++MPI_Type_lb++++man+--your-url-here--/MPI_Type_lb.html#MPI_Type_lb +man:+MPI_Type_get_extent++MPI_Type_get_extent++++man+--your-url-here--/MPI_Type_get_extent.html#MPI_Type_get_extent +man:+MPI_Type_get_extent_x++MPI_Type_get_extent_x++++man+--your-url-here--/MPI_Type_get_extent_x.html#MPI_Type_get_extent_x +man:+MPI_Type_get_true_extent++MPI_Type_get_true_extent++++man+--your-url-here--/MPI_Type_get_true_extent.html#MPI_Type_get_true_extent +man:+MPI_Type_get_true_extent_x++MPI_Type_get_true_extent_x++++man+--your-url-here--/MPI_Type_get_true_extent_x.html#MPI_Type_get_true_extent_x +man:+MPI_Type_match_size++MPI_Type_match_size++++man+--your-url-here--/MPI_Type_match_size.html#MPI_Type_match_size +man:+MPI_Type_create_struct++MPI_Type_create_struct++++man+--your-url-here--/MPI_Type_create_struct.html#MPI_Type_create_struct +man:+MPI_Type_create_hindexed++MPI_Type_create_hindexed++++man+--your-url-here--/MPI_Type_create_hindexed.html#MPI_Type_create_hindexed +man:+MPI_Type_create_hvector++MPI_Type_create_hvector++++man+--your-url-here--/MPI_Type_create_hvector.html#MPI_Type_create_hvector +man:+MPI_Type_create_indexed_block++MPI_Type_create_indexed_block++++man+--your-url-here--/MPI_Type_create_indexed_block.html#MPI_Type_create_indexed_block +man:+MPI_Type_create_hindexed_block++MPI_Type_create_hindexed_block++++man+--your-url-here--/MPI_Type_create_hindexed_block.html#MPI_Type_create_hindexed_block +man:+MPI_Type_create_resized++MPI_Type_create_resized++++man+--your-url-here--/MPI_Type_create_resized.html#MPI_Type_create_resized +man:+MPI_Type_create_darray++MPI_Type_create_darray++++man+--your-url-here--/MPI_Type_create_darray.html#MPI_Type_create_darray +man:+MPI_Type_create_subarray++MPI_Type_create_subarray++++man+--your-url-here--/MPI_Type_create_subarray.html#MPI_Type_create_subarray +man:+MPI_Unpack++MPI_Unpack++++man+--your-url-here--/MPI_Unpack.html#MPI_Unpack +man:+MPI_Unpack_external++MPI_Unpack_external++++man+--your-url-here--/MPI_Unpack_external.html#MPI_Unpack_external +man:+MPI_Add_error_code++MPI_Add_error_code++++man+--your-url-here--/MPI_Add_error_code.html#MPI_Add_error_code +man:+MPI_Add_error_class++MPI_Add_error_class++++man+--your-url-here--/MPI_Add_error_class.html#MPI_Add_error_class +man:+MPI_Add_error_string++MPI_Add_error_string++++man+--your-url-here--/MPI_Add_error_string.html#MPI_Add_error_string +man:+MPI_Comm_call_errhandler++MPI_Comm_call_errhandler++++man+--your-url-here--/MPI_Comm_call_errhandler.html#MPI_Comm_call_errhandler +man:+MPI_Comm_create_errhandler++MPI_Comm_create_errhandler++++man+--your-url-here--/MPI_Comm_create_errhandler.html#MPI_Comm_create_errhandler +man:+MPI_Comm_get_errhandler++MPI_Comm_get_errhandler++++man+--your-url-here--/MPI_Comm_get_errhandler.html#MPI_Comm_get_errhandler +man:+MPI_Comm_set_errhandler++MPI_Comm_set_errhandler++++man+--your-url-here--/MPI_Comm_set_errhandler.html#MPI_Comm_set_errhandler +man:+MPI_Errhandler_create++MPI_Errhandler_create++++man+--your-url-here--/MPI_Errhandler_create.html#MPI_Errhandler_create +man:+MPI_Errhandler_free++MPI_Errhandler_free++++man+--your-url-here--/MPI_Errhandler_free.html#MPI_Errhandler_free +man:+MPI_Errhandler_get++MPI_Errhandler_get++++man+--your-url-here--/MPI_Errhandler_get.html#MPI_Errhandler_get +man:+MPI_Errhandler_set++MPI_Errhandler_set++++man+--your-url-here--/MPI_Errhandler_set.html#MPI_Errhandler_set +man:+MPI_Error_class++MPI_Error_class++++man+--your-url-here--/MPI_Error_class.html#MPI_Error_class +man:+MPI_Error_string++MPI_Error_string++++man+--your-url-here--/MPI_Error_string.html#MPI_Error_string +man:+MPI_File_create_errhandler++MPI_File_create_errhandler++++man+--your-url-here--/MPI_File_create_errhandler.html#MPI_File_create_errhandler +man:+MPI_File_get_errhandler++MPI_File_get_errhandler++++man+--your-url-here--/MPI_File_get_errhandler.html#MPI_File_get_errhandler +man:+MPI_File_set_errhandler++MPI_File_set_errhandler++++man+--your-url-here--/MPI_File_set_errhandler.html#MPI_File_set_errhandler +man:+MPI_File_call_errhandler++MPI_File_call_errhandler++++man+--your-url-here--/MPI_File_call_errhandler.html#MPI_File_call_errhandler +man:+MPI_Win_create_errhandler++MPI_Win_create_errhandler++++man+--your-url-here--/MPI_Win_create_errhandler.html#MPI_Win_create_errhandler +man:+MPI_Win_call_errhandler++MPI_Win_call_errhandler++++man+--your-url-here--/MPI_Win_call_errhandler.html#MPI_Win_call_errhandler +man:+MPI_Win_get_errhandler++MPI_Win_get_errhandler++++man+--your-url-here--/MPI_Win_get_errhandler.html#MPI_Win_get_errhandler +man:+MPI_Win_set_errhandler++MPI_Win_set_errhandler++++man+--your-url-here--/MPI_Win_set_errhandler.html#MPI_Win_set_errhandler +man:+MPI_Group_compare++MPI_Group_compare++++man+--your-url-here--/MPI_Group_compare.html#MPI_Group_compare +man:+MPI_Group_difference++MPI_Group_difference++++man+--your-url-here--/MPI_Group_difference.html#MPI_Group_difference +man:+MPI_Group_excl++MPI_Group_excl++++man+--your-url-here--/MPI_Group_excl.html#MPI_Group_excl +man:+MPI_Group_free++MPI_Group_free++++man+--your-url-here--/MPI_Group_free.html#MPI_Group_free +man:+MPI_Group_incl++MPI_Group_incl++++man+--your-url-here--/MPI_Group_incl.html#MPI_Group_incl +man:+MPI_Group_intersection++MPI_Group_intersection++++man+--your-url-here--/MPI_Group_intersection.html#MPI_Group_intersection +man:+MPI_Group_range_excl++MPI_Group_range_excl++++man+--your-url-here--/MPI_Group_range_excl.html#MPI_Group_range_excl +man:+MPI_Group_range_incl++MPI_Group_range_incl++++man+--your-url-here--/MPI_Group_range_incl.html#MPI_Group_range_incl +man:+MPI_Group_rank++MPI_Group_rank++++man+--your-url-here--/MPI_Group_rank.html#MPI_Group_rank +man:+MPI_Group_size++MPI_Group_size++++man+--your-url-here--/MPI_Group_size.html#MPI_Group_size +man:+MPI_Group_translate_ranks++MPI_Group_translate_ranks++++man+--your-url-here--/MPI_Group_translate_ranks.html#MPI_Group_translate_ranks +man:+MPI_Group_union++MPI_Group_union++++man+--your-url-here--/MPI_Group_union.html#MPI_Group_union +man:+MPI_Info_create++MPI_Info_create++++man+--your-url-here--/MPI_Info_create.html#MPI_Info_create +man:+MPI_Info_delete++MPI_Info_delete++++man+--your-url-here--/MPI_Info_delete.html#MPI_Info_delete +man:+MPI_Info_dup++MPI_Info_dup++++man+--your-url-here--/MPI_Info_dup.html#MPI_Info_dup +man:+MPI_Info_free++MPI_Info_free++++man+--your-url-here--/MPI_Info_free.html#MPI_Info_free +man:+MPI_Info_get++MPI_Info_get++++man+--your-url-here--/MPI_Info_get.html#MPI_Info_get +man:+MPI_Info_get_nkeys++MPI_Info_get_nkeys++++man+--your-url-here--/MPI_Info_get_nkeys.html#MPI_Info_get_nkeys +man:+MPI_Info_get_nthkey++MPI_Info_get_nthkey++++man+--your-url-here--/MPI_Info_get_nthkey.html#MPI_Info_get_nthkey +man:+MPI_Info_get_valuelen++MPI_Info_get_valuelen++++man+--your-url-here--/MPI_Info_get_valuelen.html#MPI_Info_get_valuelen +man:+MPI_Info_set++MPI_Info_set++++man+--your-url-here--/MPI_Info_set.html#MPI_Info_set +man:+MPI_Abort++MPI_Abort++++man+--your-url-here--/MPI_Abort.html#MPI_Abort +man:+MPI_Init++MPI_Init++++man+--your-url-here--/MPI_Init.html#MPI_Init +man:+MPI_Initialized++MPI_Initialized++++man+--your-url-here--/MPI_Initialized.html#MPI_Initialized +man:+MPI_Init_thread++MPI_Init_thread++++man+--your-url-here--/MPI_Init_thread.html#MPI_Init_thread +man:+MPI_Is_thread_main++MPI_Is_thread_main++++man+--your-url-here--/MPI_Is_thread_main.html#MPI_Is_thread_main +man:+MPI_Finalize++MPI_Finalize++++man+--your-url-here--/MPI_Finalize.html#MPI_Finalize +man:+MPI_Finalized++MPI_Finalized++++man+--your-url-here--/MPI_Finalized.html#MPI_Finalized +man:+MPI_Query_thread++MPI_Query_thread++++man+--your-url-here--/MPI_Query_thread.html#MPI_Query_thread +man:+MPI_Get_processor_name++MPI_Get_processor_name++++man+--your-url-here--/MPI_Get_processor_name.html#MPI_Get_processor_name +man:+MPI_Pcontrol++MPI_Pcontrol++++man+--your-url-here--/MPI_Pcontrol.html#MPI_Pcontrol +man:+MPI_Get_version++MPI_Get_version++++man+--your-url-here--/MPI_Get_version.html#MPI_Get_version +man:+MPI_Get_library_version++MPI_Get_library_version++++man+--your-url-here--/MPI_Get_library_version.html#MPI_Get_library_version +man:+MPI_Aint_add++MPI_Aint_add++++man+--your-url-here--/MPI_Aint_add.html#MPI_Aint_add +man:+MPI_Aint_diff++MPI_Aint_diff++++man+--your-url-here--/MPI_Aint_diff.html#MPI_Aint_diff +man:+MPI_Bsend++MPI_Bsend++++man+--your-url-here--/MPI_Bsend.html#MPI_Bsend +man:+MPI_Bsend_init++MPI_Bsend_init++++man+--your-url-here--/MPI_Bsend_init.html#MPI_Bsend_init +man:+MPI_Buffer_attach++MPI_Buffer_attach++++man+--your-url-here--/MPI_Buffer_attach.html#MPI_Buffer_attach +man:+MPI_Buffer_detach++MPI_Buffer_detach++++man+--your-url-here--/MPI_Buffer_detach.html#MPI_Buffer_detach +man:+MPI_Ibsend++MPI_Ibsend++++man+--your-url-here--/MPI_Ibsend.html#MPI_Ibsend +man:+MPI_Improbe++MPI_Improbe++++man+--your-url-here--/MPI_Improbe.html#MPI_Improbe +man:+MPI_Imrecv++MPI_Imrecv++++man+--your-url-here--/MPI_Imrecv.html#MPI_Imrecv +man:+MPI_Iprobe++MPI_Iprobe++++man+--your-url-here--/MPI_Iprobe.html#MPI_Iprobe +man:+MPI_Irecv++MPI_Irecv++++man+--your-url-here--/MPI_Irecv.html#MPI_Irecv +man:+MPI_Irsend++MPI_Irsend++++man+--your-url-here--/MPI_Irsend.html#MPI_Irsend +man:+MPI_Isend++MPI_Isend++++man+--your-url-here--/MPI_Isend.html#MPI_Isend +man:+MPI_Issend++MPI_Issend++++man+--your-url-here--/MPI_Issend.html#MPI_Issend +man:+MPI_Mprobe++MPI_Mprobe++++man+--your-url-here--/MPI_Mprobe.html#MPI_Mprobe +man:+MPI_Mrecv++MPI_Mrecv++++man+--your-url-here--/MPI_Mrecv.html#MPI_Mrecv +man:+MPI_Probe++MPI_Probe++++man+--your-url-here--/MPI_Probe.html#MPI_Probe +man:+MPI_Recv++MPI_Recv++++man+--your-url-here--/MPI_Recv.html#MPI_Recv +man:+MPI_Recv_init++MPI_Recv_init++++man+--your-url-here--/MPI_Recv_init.html#MPI_Recv_init +man:+MPI_Rsend++MPI_Rsend++++man+--your-url-here--/MPI_Rsend.html#MPI_Rsend +man:+MPI_Rsend_init++MPI_Rsend_init++++man+--your-url-here--/MPI_Rsend_init.html#MPI_Rsend_init +man:+MPI_Send++MPI_Send++++man+--your-url-here--/MPI_Send.html#MPI_Send +man:+MPI_Send_init++MPI_Send_init++++man+--your-url-here--/MPI_Send_init.html#MPI_Send_init +man:+MPI_Sendrecv++MPI_Sendrecv++++man+--your-url-here--/MPI_Sendrecv.html#MPI_Sendrecv +man:+MPI_Sendrecv_replace++MPI_Sendrecv_replace++++man+--your-url-here--/MPI_Sendrecv_replace.html#MPI_Sendrecv_replace +man:+MPI_Ssend++MPI_Ssend++++man+--your-url-here--/MPI_Ssend.html#MPI_Ssend +man:+MPI_Ssend_init++MPI_Ssend_init++++man+--your-url-here--/MPI_Ssend_init.html#MPI_Ssend_init +man:+MPI_Cancel++MPI_Cancel++++man+--your-url-here--/MPI_Cancel.html#MPI_Cancel +man:+MPI_Grequest_start++MPI_Grequest_start++++man+--your-url-here--/MPI_Grequest_start.html#MPI_Grequest_start +man:+MPI_Grequest_complete++MPI_Grequest_complete++++man+--your-url-here--/MPI_Grequest_complete.html#MPI_Grequest_complete +man:+MPI_Request_free++MPI_Request_free++++man+--your-url-here--/MPI_Request_free.html#MPI_Request_free +man:+MPI_Request_get_status++MPI_Request_get_status++++man+--your-url-here--/MPI_Request_get_status.html#MPI_Request_get_status +man:+MPI_Status_set_cancelled++MPI_Status_set_cancelled++++man+--your-url-here--/MPI_Status_set_cancelled.html#MPI_Status_set_cancelled +man:+MPI_Start++MPI_Start++++man+--your-url-here--/MPI_Start.html#MPI_Start +man:+MPI_Startall++MPI_Startall++++man+--your-url-here--/MPI_Startall.html#MPI_Startall +man:+MPI_Test++MPI_Test++++man+--your-url-here--/MPI_Test.html#MPI_Test +man:+MPI_Test_cancelled++MPI_Test_cancelled++++man+--your-url-here--/MPI_Test_cancelled.html#MPI_Test_cancelled +man:+MPI_Testall++MPI_Testall++++man+--your-url-here--/MPI_Testall.html#MPI_Testall +man:+MPI_Testany++MPI_Testany++++man+--your-url-here--/MPI_Testany.html#MPI_Testany +man:+MPI_Testsome++MPI_Testsome++++man+--your-url-here--/MPI_Testsome.html#MPI_Testsome +man:+MPI_Wait++MPI_Wait++++man+--your-url-here--/MPI_Wait.html#MPI_Wait +man:+MPI_Waitall++MPI_Waitall++++man+--your-url-here--/MPI_Waitall.html#MPI_Waitall +man:+MPI_Waitany++MPI_Waitany++++man+--your-url-here--/MPI_Waitany.html#MPI_Waitany +man:+MPI_Waitsome++MPI_Waitsome++++man+--your-url-here--/MPI_Waitsome.html#MPI_Waitsome +man:+MPI_Accumulate++MPI_Accumulate++++man+--your-url-here--/MPI_Accumulate.html#MPI_Accumulate +man:+MPI_Alloc_mem++MPI_Alloc_mem++++man+--your-url-here--/MPI_Alloc_mem.html#MPI_Alloc_mem +man:+MPI_Compare_and_swap++MPI_Compare_and_swap++++man+--your-url-here--/MPI_Compare_and_swap.html#MPI_Compare_and_swap +man:+MPI_Fetch_and_op++MPI_Fetch_and_op++++man+--your-url-here--/MPI_Fetch_and_op.html#MPI_Fetch_and_op +man:+MPI_Free_mem++MPI_Free_mem++++man+--your-url-here--/MPI_Free_mem.html#MPI_Free_mem +man:+MPI_Get++MPI_Get++++man+--your-url-here--/MPI_Get.html#MPI_Get +man:+MPI_Get_accumulate++MPI_Get_accumulate++++man+--your-url-here--/MPI_Get_accumulate.html#MPI_Get_accumulate +man:+MPI_Put++MPI_Put++++man+--your-url-here--/MPI_Put.html#MPI_Put +man:+MPI_Raccumulate++MPI_Raccumulate++++man+--your-url-here--/MPI_Raccumulate.html#MPI_Raccumulate +man:+MPI_Rget++MPI_Rget++++man+--your-url-here--/MPI_Rget.html#MPI_Rget +man:+MPI_Rget_accumulate++MPI_Rget_accumulate++++man+--your-url-here--/MPI_Rget_accumulate.html#MPI_Rget_accumulate +man:+MPI_Rput++MPI_Rput++++man+--your-url-here--/MPI_Rput.html#MPI_Rput +man:+MPI_Win_allocate++MPI_Win_allocate++++man+--your-url-here--/MPI_Win_allocate.html#MPI_Win_allocate +man:+MPI_Win_allocate_shared++MPI_Win_allocate_shared++++man+--your-url-here--/MPI_Win_allocate_shared.html#MPI_Win_allocate_shared +man:+MPI_Win_attach++MPI_Win_attach++++man+--your-url-here--/MPI_Win_attach.html#MPI_Win_attach +man:+MPI_Win_complete++MPI_Win_complete++++man+--your-url-here--/MPI_Win_complete.html#MPI_Win_complete +man:+MPI_Win_create++MPI_Win_create++++man+--your-url-here--/MPI_Win_create.html#MPI_Win_create +man:+MPI_Win_create_dynamic++MPI_Win_create_dynamic++++man+--your-url-here--/MPI_Win_create_dynamic.html#MPI_Win_create_dynamic +man:+MPI_Win_detach++MPI_Win_detach++++man+--your-url-here--/MPI_Win_detach.html#MPI_Win_detach +man:+MPI_Win_fence++MPI_Win_fence++++man+--your-url-here--/MPI_Win_fence.html#MPI_Win_fence +man:+MPI_Win_flush++MPI_Win_flush++++man+--your-url-here--/MPI_Win_flush.html#MPI_Win_flush +man:+MPI_Win_flush_all++MPI_Win_flush_all++++man+--your-url-here--/MPI_Win_flush_all.html#MPI_Win_flush_all +man:+MPI_Win_flush_local++MPI_Win_flush_local++++man+--your-url-here--/MPI_Win_flush_local.html#MPI_Win_flush_local +man:+MPI_Win_flush_local_all++MPI_Win_flush_local_all++++man+--your-url-here--/MPI_Win_flush_local_all.html#MPI_Win_flush_local_all +man:+MPI_Win_free++MPI_Win_free++++man+--your-url-here--/MPI_Win_free.html#MPI_Win_free +man:+MPI_Win_get_group++MPI_Win_get_group++++man+--your-url-here--/MPI_Win_get_group.html#MPI_Win_get_group +man:+MPI_Win_get_info++MPI_Win_get_info++++man+--your-url-here--/MPI_Win_get_info.html#MPI_Win_get_info +man:+MPI_Win_get_name++MPI_Win_get_name++++man+--your-url-here--/MPI_Win_get_name.html#MPI_Win_get_name +man:+MPI_Win_lock++MPI_Win_lock++++man+--your-url-here--/MPI_Win_lock.html#MPI_Win_lock +man:+MPI_Win_lock_all++MPI_Win_lock_all++++man+--your-url-here--/MPI_Win_lock_all.html#MPI_Win_lock_all +man:+MPI_Win_post++MPI_Win_post++++man+--your-url-here--/MPI_Win_post.html#MPI_Win_post +man:+MPI_Win_set_info++MPI_Win_set_info++++man+--your-url-here--/MPI_Win_set_info.html#MPI_Win_set_info +man:+MPI_Win_set_name++MPI_Win_set_name++++man+--your-url-here--/MPI_Win_set_name.html#MPI_Win_set_name +man:+MPI_Win_shared_query++MPI_Win_shared_query++++man+--your-url-here--/MPI_Win_shared_query.html#MPI_Win_shared_query +man:+MPI_Win_start++MPI_Win_start++++man+--your-url-here--/MPI_Win_start.html#MPI_Win_start +man:+MPI_Win_sync++MPI_Win_sync++++man+--your-url-here--/MPI_Win_sync.html#MPI_Win_sync +man:+MPI_Win_test++MPI_Win_test++++man+--your-url-here--/MPI_Win_test.html#MPI_Win_test +man:+MPI_Win_unlock++MPI_Win_unlock++++man+--your-url-here--/MPI_Win_unlock.html#MPI_Win_unlock +man:+MPI_Win_unlock_all++MPI_Win_unlock_all++++man+--your-url-here--/MPI_Win_unlock_all.html#MPI_Win_unlock_all +man:+MPI_Win_wait++MPI_Win_wait++++man+--your-url-here--/MPI_Win_wait.html#MPI_Win_wait +man:+MPI_Comm_disconnect++MPI_Comm_disconnect++++man+--your-url-here--/MPI_Comm_disconnect.html#MPI_Comm_disconnect +man:+MPI_Comm_get_parent++MPI_Comm_get_parent++++man+--your-url-here--/MPI_Comm_get_parent.html#MPI_Comm_get_parent +man:+MPI_Comm_join++MPI_Comm_join++++man+--your-url-here--/MPI_Comm_join.html#MPI_Comm_join +man:+MPI_Comm_spawn++MPI_Comm_spawn++++man+--your-url-here--/MPI_Comm_spawn.html#MPI_Comm_spawn +man:+MPI_Comm_spawn_multiple++MPI_Comm_spawn_multiple++++man+--your-url-here--/MPI_Comm_spawn_multiple.html#MPI_Comm_spawn_multiple +man:+MPI_Lookup_name++MPI_Lookup_name++++man+--your-url-here--/MPI_Lookup_name.html#MPI_Lookup_name +man:+MPI_Publish_name++MPI_Publish_name++++man+--your-url-here--/MPI_Publish_name.html#MPI_Publish_name +man:+MPI_Unpublish_name++MPI_Unpublish_name++++man+--your-url-here--/MPI_Unpublish_name.html#MPI_Unpublish_name +man:+MPI_Open_port++MPI_Open_port++++man+--your-url-here--/MPI_Open_port.html#MPI_Open_port +man:+MPI_Close_port++MPI_Close_port++++man+--your-url-here--/MPI_Close_port.html#MPI_Close_port +man:+MPI_Comm_connect++MPI_Comm_connect++++man+--your-url-here--/MPI_Comm_connect.html#MPI_Comm_connect +man:+MPI_Comm_accept++MPI_Comm_accept++++man+--your-url-here--/MPI_Comm_accept.html#MPI_Comm_accept +man:+MPI_Wtime++MPI_Wtime++++man+--your-url-here--/MPI_Wtime.html#MPI_Wtime +man:+MPI_Wtick++MPI_Wtick++++man+--your-url-here--/MPI_Wtick.html#MPI_Wtick +man:+MPI_Cart_coords++MPI_Cart_coords++++man+--your-url-here--/MPI_Cart_coords.html#MPI_Cart_coords +man:+MPI_Cart_create++MPI_Cart_create++++man+--your-url-here--/MPI_Cart_create.html#MPI_Cart_create +man:+MPI_Cart_get++MPI_Cart_get++++man+--your-url-here--/MPI_Cart_get.html#MPI_Cart_get +man:+MPI_Cart_map++MPI_Cart_map++++man+--your-url-here--/MPI_Cart_map.html#MPI_Cart_map +man:+MPI_Cart_rank++MPI_Cart_rank++++man+--your-url-here--/MPI_Cart_rank.html#MPI_Cart_rank +man:+MPI_Cart_shift++MPI_Cart_shift++++man+--your-url-here--/MPI_Cart_shift.html#MPI_Cart_shift +man:+MPI_Cart_sub++MPI_Cart_sub++++man+--your-url-here--/MPI_Cart_sub.html#MPI_Cart_sub +man:+MPI_Dims_create++MPI_Dims_create++++man+--your-url-here--/MPI_Dims_create.html#MPI_Dims_create +man:+MPI_Graph_get++MPI_Graph_get++++man+--your-url-here--/MPI_Graph_get.html#MPI_Graph_get +man:+MPI_Graph_map++MPI_Graph_map++++man+--your-url-here--/MPI_Graph_map.html#MPI_Graph_map +man:+MPI_Graph_neighbors++MPI_Graph_neighbors++++man+--your-url-here--/MPI_Graph_neighbors.html#MPI_Graph_neighbors +man:+MPI_Graph_create++MPI_Graph_create++++man+--your-url-here--/MPI_Graph_create.html#MPI_Graph_create +man:+MPI_Graphdims_get++MPI_Graphdims_get++++man+--your-url-here--/MPI_Graphdims_get.html#MPI_Graphdims_get +man:+MPI_Graph_neighbors_count++MPI_Graph_neighbors_count++++man+--your-url-here--/MPI_Graph_neighbors_count.html#MPI_Graph_neighbors_count +man:+MPI_Cartdim_get++MPI_Cartdim_get++++man+--your-url-here--/MPI_Cartdim_get.html#MPI_Cartdim_get +man:+MPI_Topo_test++MPI_Topo_test++++man+--your-url-here--/MPI_Topo_test.html#MPI_Topo_test +man:+MPI_Dist_graph_create_adjacent++MPI_Dist_graph_create_adjacent++++man+--your-url-here--/MPI_Dist_graph_create_adjacent.html#MPI_Dist_graph_create_adjacent +man:+MPI_Dist_graph_create++MPI_Dist_graph_create++++man+--your-url-here--/MPI_Dist_graph_create.html#MPI_Dist_graph_create +man:+MPI_Dist_graph_neighbors_count++MPI_Dist_graph_neighbors_count++++man+--your-url-here--/MPI_Dist_graph_neighbors_count.html#MPI_Dist_graph_neighbors_count +man:+MPI_Dist_graph_neighbors++MPI_Dist_graph_neighbors++++man+--your-url-here--/MPI_Dist_graph_neighbors.html#MPI_Dist_graph_neighbors +man:+MPI_T_category_changed++MPI_T_category_changed++++man+--your-url-here--/MPI_T_category_changed.html#MPI_T_category_changed +man:+MPI_T_category_get_categories++MPI_T_category_get_categories++++man+--your-url-here--/MPI_T_category_get_categories.html#MPI_T_category_get_categories +man:+MPI_T_category_get_cvars++MPI_T_category_get_cvars++++man+--your-url-here--/MPI_T_category_get_cvars.html#MPI_T_category_get_cvars +man:+MPI_T_category_get_info++MPI_T_category_get_info++++man+--your-url-here--/MPI_T_category_get_info.html#MPI_T_category_get_info +man:+MPI_T_category_get_num++MPI_T_category_get_num++++man+--your-url-here--/MPI_T_category_get_num.html#MPI_T_category_get_num +man:+MPI_T_category_get_pvars++MPI_T_category_get_pvars++++man+--your-url-here--/MPI_T_category_get_pvars.html#MPI_T_category_get_pvars +man:+MPI_T_cvar_get_info++MPI_T_cvar_get_info++++man+--your-url-here--/MPI_T_cvar_get_info.html#MPI_T_cvar_get_info +man:+MPI_T_cvar_get_num++MPI_T_cvar_get_num++++man+--your-url-here--/MPI_T_cvar_get_num.html#MPI_T_cvar_get_num +man:+MPI_T_cvar_handle_alloc++MPI_T_cvar_handle_alloc++++man+--your-url-here--/MPI_T_cvar_handle_alloc.html#MPI_T_cvar_handle_alloc +man:+MPI_T_cvar_handle_free++MPI_T_cvar_handle_free++++man+--your-url-here--/MPI_T_cvar_handle_free.html#MPI_T_cvar_handle_free +man:+MPI_T_cvar_read++MPI_T_cvar_read++++man+--your-url-here--/MPI_T_cvar_read.html#MPI_T_cvar_read +man:+MPI_T_cvar_write++MPI_T_cvar_write++++man+--your-url-here--/MPI_T_cvar_write.html#MPI_T_cvar_write +man:+MPI_T_enum_get_info++MPI_T_enum_get_info++++man+--your-url-here--/MPI_T_enum_get_info.html#MPI_T_enum_get_info +man:+MPI_T_enum_get_item++MPI_T_enum_get_item++++man+--your-url-here--/MPI_T_enum_get_item.html#MPI_T_enum_get_item +man:+MPI_T_finalize++MPI_T_finalize++++man+--your-url-here--/MPI_T_finalize.html#MPI_T_finalize +man:+MPI_T_init_thread++MPI_T_init_thread++++man+--your-url-here--/MPI_T_init_thread.html#MPI_T_init_thread +man:+MPI_T_pvar_get_info++MPI_T_pvar_get_info++++man+--your-url-here--/MPI_T_pvar_get_info.html#MPI_T_pvar_get_info +man:+MPI_T_pvar_get_num++MPI_T_pvar_get_num++++man+--your-url-here--/MPI_T_pvar_get_num.html#MPI_T_pvar_get_num +man:+MPI_T_pvar_handle_alloc++MPI_T_pvar_handle_alloc++++man+--your-url-here--/MPI_T_pvar_handle_alloc.html#MPI_T_pvar_handle_alloc +man:+MPI_T_pvar_handle_free++MPI_T_pvar_handle_free++++man+--your-url-here--/MPI_T_pvar_handle_free.html#MPI_T_pvar_handle_free +man:+MPI_T_pvar_read++MPI_T_pvar_read++++man+--your-url-here--/MPI_T_pvar_read.html#MPI_T_pvar_read +man:+MPI_T_pvar_readreset++MPI_T_pvar_readreset++++man+--your-url-here--/MPI_T_pvar_readreset.html#MPI_T_pvar_readreset +man:+MPI_T_pvar_reset++MPI_T_pvar_reset++++man+--your-url-here--/MPI_T_pvar_reset.html#MPI_T_pvar_reset +man:+MPI_T_pvar_session_create++MPI_T_pvar_session_create++++man+--your-url-here--/MPI_T_pvar_session_create.html#MPI_T_pvar_session_create +man:+MPI_T_pvar_session_free++MPI_T_pvar_session_free++++man+--your-url-here--/MPI_T_pvar_session_free.html#MPI_T_pvar_session_free +man:+MPI_T_pvar_start++MPI_T_pvar_start++++man+--your-url-here--/MPI_T_pvar_start.html#MPI_T_pvar_start +man:+MPI_T_pvar_stop++MPI_T_pvar_stop++++man+--your-url-here--/MPI_T_pvar_stop.html#MPI_T_pvar_stop +man:+MPI_T_pvar_write++MPI_T_pvar_write++++man+--your-url-here--/MPI_T_pvar_write.html#MPI_T_pvar_write +man:+MPI_T_category_get_index++MPI_T_category_get_index++++man+--your-url-here--/MPI_T_category_get_index.html#MPI_T_category_get_index +man:+MPI_T_cvar_get_index++MPI_T_cvar_get_index++++man+--your-url-here--/MPI_T_cvar_get_index.html#MPI_T_cvar_get_index +man:+MPI_T_pvar_get_index++MPI_T_pvar_get_index++++man+--your-url-here--/MPI_T_pvar_get_index.html#MPI_T_pvar_get_index +man:+Constants++Constants++++man+--your-url-here--/Constants.html#Constants +man:+MPI_File_close++MPI_File_close++++man+--your-url-here--/MPI_File_close.html#MPI_File_close +man:+MPI_File_delete++MPI_File_delete++++man+--your-url-here--/MPI_File_delete.html#MPI_File_delete +man:+MPI_File_c2f++MPI_File_c2f++++man+--your-url-here--/MPI_File_c2f.html#MPI_File_c2f +man:+MPI_File_f2c++MPI_File_f2c++++man+--your-url-here--/MPI_File_f2c.html#MPI_File_f2c +man:+MPI_File_sync++MPI_File_sync++++man+--your-url-here--/MPI_File_sync.html#MPI_File_sync +man:+MPI_File_get_amode++MPI_File_get_amode++++man+--your-url-here--/MPI_File_get_amode.html#MPI_File_get_amode +man:+MPI_File_get_atomicity++MPI_File_get_atomicity++++man+--your-url-here--/MPI_File_get_atomicity.html#MPI_File_get_atomicity +man:+MPI_File_get_byte_offset++MPI_File_get_byte_offset++++man+--your-url-here--/MPI_File_get_byte_offset.html#MPI_File_get_byte_offset +man:+MPI_File_get_type_extent++MPI_File_get_type_extent++++man+--your-url-here--/MPI_File_get_type_extent.html#MPI_File_get_type_extent +man:+MPI_File_get_group++MPI_File_get_group++++man+--your-url-here--/MPI_File_get_group.html#MPI_File_get_group +man:+MPI_File_get_info++MPI_File_get_info++++man+--your-url-here--/MPI_File_get_info.html#MPI_File_get_info +man:+MPI_File_get_position++MPI_File_get_position++++man+--your-url-here--/MPI_File_get_position.html#MPI_File_get_position +man:+MPI_File_get_position_shared++MPI_File_get_position_shared++++man+--your-url-here--/MPI_File_get_position_shared.html#MPI_File_get_position_shared +man:+MPI_File_get_size++MPI_File_get_size++++man+--your-url-here--/MPI_File_get_size.html#MPI_File_get_size +man:+MPI_File_get_view++MPI_File_get_view++++man+--your-url-here--/MPI_File_get_view.html#MPI_File_get_view +man:+MPI_File_iread++MPI_File_iread++++man+--your-url-here--/MPI_File_iread.html#MPI_File_iread +man:+MPI_File_iread_all++MPI_File_iread_all++++man+--your-url-here--/MPI_File_iread_all.html#MPI_File_iread_all +man:+MPI_File_iread_at++MPI_File_iread_at++++man+--your-url-here--/MPI_File_iread_at.html#MPI_File_iread_at +man:+MPI_File_iread_at_all++MPI_File_iread_at_all++++man+--your-url-here--/MPI_File_iread_at_all.html#MPI_File_iread_at_all +man:+MPI_File_iread_shared++MPI_File_iread_shared++++man+--your-url-here--/MPI_File_iread_shared.html#MPI_File_iread_shared +man:+MPI_File_iwrite++MPI_File_iwrite++++man+--your-url-here--/MPI_File_iwrite.html#MPI_File_iwrite +man:+MPI_File_iwrite_all++MPI_File_iwrite_all++++man+--your-url-here--/MPI_File_iwrite_all.html#MPI_File_iwrite_all +man:+MPI_File_iwrite_at++MPI_File_iwrite_at++++man+--your-url-here--/MPI_File_iwrite_at.html#MPI_File_iwrite_at +man:+MPI_File_iwrite_at_all++MPI_File_iwrite_at_all++++man+--your-url-here--/MPI_File_iwrite_at_all.html#MPI_File_iwrite_at_all +man:+MPI_File_iwrite_shared++MPI_File_iwrite_shared++++man+--your-url-here--/MPI_File_iwrite_shared.html#MPI_File_iwrite_shared +man:+MPI_File_open++MPI_File_open++++man+--your-url-here--/MPI_File_open.html#MPI_File_open +man:+MPI_File_preallocate++MPI_File_preallocate++++man+--your-url-here--/MPI_File_preallocate.html#MPI_File_preallocate +man:+MPI_File_read_at_all_begin++MPI_File_read_at_all_begin++++man+--your-url-here--/MPI_File_read_at_all_begin.html#MPI_File_read_at_all_begin +man:+MPI_File_read_at_all_end++MPI_File_read_at_all_end++++man+--your-url-here--/MPI_File_read_at_all_end.html#MPI_File_read_at_all_end +man:+MPI_File_read++MPI_File_read++++man+--your-url-here--/MPI_File_read.html#MPI_File_read +man:+MPI_File_read_all++MPI_File_read_all++++man+--your-url-here--/MPI_File_read_all.html#MPI_File_read_all +man:+MPI_File_read_all_begin++MPI_File_read_all_begin++++man+--your-url-here--/MPI_File_read_all_begin.html#MPI_File_read_all_begin +man:+MPI_File_read_all_end++MPI_File_read_all_end++++man+--your-url-here--/MPI_File_read_all_end.html#MPI_File_read_all_end +man:+MPI_File_read_at++MPI_File_read_at++++man+--your-url-here--/MPI_File_read_at.html#MPI_File_read_at +man:+MPI_File_read_at_all++MPI_File_read_at_all++++man+--your-url-here--/MPI_File_read_at_all.html#MPI_File_read_at_all +man:+MPI_File_read_ordered++MPI_File_read_ordered++++man+--your-url-here--/MPI_File_read_ordered.html#MPI_File_read_ordered +man:+MPI_File_read_ordered_begin++MPI_File_read_ordered_begin++++man+--your-url-here--/MPI_File_read_ordered_begin.html#MPI_File_read_ordered_begin +man:+MPI_File_read_ordered_end++MPI_File_read_ordered_end++++man+--your-url-here--/MPI_File_read_ordered_end.html#MPI_File_read_ordered_end +man:+MPI_File_read_shared++MPI_File_read_shared++++man+--your-url-here--/MPI_File_read_shared.html#MPI_File_read_shared +man:+MPI_Register_datarep++MPI_Register_datarep++++man+--your-url-here--/MPI_Register_datarep.html#MPI_Register_datarep +man:+MPI_File_seek++MPI_File_seek++++man+--your-url-here--/MPI_File_seek.html#MPI_File_seek +man:+MPI_File_seek_shared++MPI_File_seek_shared++++man+--your-url-here--/MPI_File_seek_shared.html#MPI_File_seek_shared +man:+MPI_File_set_atomicity++MPI_File_set_atomicity++++man+--your-url-here--/MPI_File_set_atomicity.html#MPI_File_set_atomicity +man:+MPI_File_set_info++MPI_File_set_info++++man+--your-url-here--/MPI_File_set_info.html#MPI_File_set_info +man:+MPI_File_set_size++MPI_File_set_size++++man+--your-url-here--/MPI_File_set_size.html#MPI_File_set_size +man:+MPI_File_set_view++MPI_File_set_view++++man+--your-url-here--/MPI_File_set_view.html#MPI_File_set_view +man:+MPI_File_write_at_all_begin++MPI_File_write_at_all_begin++++man+--your-url-here--/MPI_File_write_at_all_begin.html#MPI_File_write_at_all_begin +man:+MPI_File_write_at_all_end++MPI_File_write_at_all_end++++man+--your-url-here--/MPI_File_write_at_all_end.html#MPI_File_write_at_all_end +man:+MPI_File_write++MPI_File_write++++man+--your-url-here--/MPI_File_write.html#MPI_File_write +man:+MPI_File_write_all++MPI_File_write_all++++man+--your-url-here--/MPI_File_write_all.html#MPI_File_write_all +man:+MPI_File_write_all_begin++MPI_File_write_all_begin++++man+--your-url-here--/MPI_File_write_all_begin.html#MPI_File_write_all_begin +man:+MPI_File_write_all_end++MPI_File_write_all_end++++man+--your-url-here--/MPI_File_write_all_end.html#MPI_File_write_all_end +man:+MPI_File_write_at++MPI_File_write_at++++man+--your-url-here--/MPI_File_write_at.html#MPI_File_write_at +man:+MPI_File_write_at_all++MPI_File_write_at_all++++man+--your-url-here--/MPI_File_write_at_all.html#MPI_File_write_at_all +man:+MPI_File_write_ordered++MPI_File_write_ordered++++man+--your-url-here--/MPI_File_write_ordered.html#MPI_File_write_ordered +man:+MPI_File_write_ordered_begin++MPI_File_write_ordered_begin++++man+--your-url-here--/MPI_File_write_ordered_begin.html#MPI_File_write_ordered_begin +man:+MPI_File_write_ordered_end++MPI_File_write_ordered_end++++man+--your-url-here--/MPI_File_write_ordered_end.html#MPI_File_write_ordered_end +man:+MPI_File_write_shared++MPI_File_write_shared++++man+--your-url-here--/MPI_File_write_shared.html#MPI_File_write_shared diff --git a/macx64/mpi/mpich/share/man/man1/hydra_nameserver.1 b/macx64/mpi/mpich/share/man/man1/hydra_nameserver.1 new file mode 100644 index 00000000..2240d851 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/hydra_nameserver.1 @@ -0,0 +1,10 @@ +.TH hydra_nameserver 1 "6/5/2019" " " "HYDRA" +.SH NAME +hydra_nameserver \- Internal executable used by Hydra +.SH DESCRIPTION +This executable is designed to not be run directly by users, but to +support the Hydra process manager. As such, no documentation will be +provided here. + +.SH LOCATION +/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/tools/nameserver/hydra_nameserver.txt diff --git a/macx64/mpi/mpich/share/man/man1/hydra_persist.1 b/macx64/mpi/mpich/share/man/man1/hydra_persist.1 new file mode 100644 index 00000000..ac93d489 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/hydra_persist.1 @@ -0,0 +1,10 @@ +.TH hydra_persist 1 "6/5/2019" " " "HYDRA" +.SH NAME +hydra_persist \- Internal executable used by Hydra +.SH DESCRIPTION +This executable is designed to not be run directly by users, but to +support the Hydra process manager. As such, no documentation will be +provided here. + +.SH LOCATION +/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/tools/bootstrap/persist/hydra_persist.txt diff --git a/macx64/mpi/mpich/share/man/man1/hydra_pmi_proxy.1 b/macx64/mpi/mpich/share/man/man1/hydra_pmi_proxy.1 new file mode 100644 index 00000000..137a796a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/hydra_pmi_proxy.1 @@ -0,0 +1,10 @@ +.TH hydra_pmi_proxy 1 "6/5/2019" " " "HYDRA" +.SH NAME +hydra_pmi_proxy \- Internal exectuable used by Hydra +.SH DESCRIPTION +This executable is designed to not be run directly by users, but to +support the Hydra process manager. As such, no documentation will be +provided here. + +.SH LOCATION +/tmp/kS7n0Mi0xa/mpich-3.3.1/src/pm/hydra/pm/pmiserv/hydra_pmi_proxy.txt diff --git a/macx64/mpi/mpich/share/man/man1/mpicc.1 b/macx64/mpi/mpich/share/man/man1/mpicc.1 new file mode 100644 index 00000000..56f825a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpicc.1 @@ -0,0 +1,217 @@ +.TH mpicc 1 "6/5/2019" " " "MPI" +.SH NAME +mpicc \- Compiles and links MPI programs written in C +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +C. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -cc=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpicc +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicc. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicc. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variable +.I MPICH_CC +may be used +to select different C compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +The environment variable +.I MPICC_PROFILE +specifies a profile library +and has the same effect as if +.I \\-profile=$MPICC_PROFILE +were used as +an argument to +.I mpicc +\&. +See the discussion of +.I \\-profile +below for more +details. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_CC +environment variable or the +.I \\-cc=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.c +, use +.nf +mpicc -c foo.c +.fi + + +To link the output and make an executable, use +.nf +mpicc -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpicc -o foo foo.c +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicxx, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man1/mpicxx.1 b/macx64/mpi/mpich/share/man/man1/mpicxx.1 new file mode 100644 index 00000000..2c481fb9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpicxx.1 @@ -0,0 +1,217 @@ +.TH mpicxx 1 "6/5/2019" " " "MPI" +.SH NAME +mpicxx \- Compiles and links MPI programs written in C++ +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +C++. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -cxx=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpicxx +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpicxx. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpicxx. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variables +.I MPICH_CXX +may be used +to select different C++ compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, changing the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +The environment variable +.I MPICC_PROFILE +specifies a profile library +and has the same effect as if +.I \\-profile=$MPICC_PROFILE +were used as +an argument to +.I mpicc +\&. +See the discussion of +.I \\-profile +below for more +details. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_CXX +environment variable or the +.I \\-cxx=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler, +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.c +, use +.nf +mpicxx -c foo.cxx +.fi + + +To link the output and make an executable, use +.nf +mpicxx -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpicxx -o foo foo.cxx +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicc, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man1/mpiexec.1 b/macx64/mpi/mpich/share/man/man1/mpiexec.1 new file mode 100644 index 00000000..fc136c0c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpiexec.1 @@ -0,0 +1,321 @@ +.TH mpiexec 1 "6/5/2019" " " "MPI" +.SH NAME +mpiexec \- Run an MPI program +.SH SYNOPSIS +.nf +.fi +.nf +mpiexec args executable pgmargs [ : args executable pgmargs ... ] +.fi + +where +.I args +are command line arguments for +.I mpiexec +(see below), +.I executable +is the name of an executable MPI program, and +.I pgmargs +are command line arguments for the executable. Multiple executables +can be specified by using the colon notation (for MPMD - Multiple Program +Multiple Data applications). For example, the following command will run +the MPI program +.I a.out +on 4 processes: +.nf +mpiexec -n 4 a.out +.fi + + +The MPI standard specifies the following arguments and their meanings: + +.PD 0 +.TP +.B -n +- Specify the number of processes to use +.PD 1 +.PD 0 +.TP +.B -host +- Name of host on which to run processes +.PD 1 +.PD 0 +.TP +.B -arch +- Pick hosts with this architecture type +.PD 1 +.PD 0 +.TP +.B -wdir +- cd to this one +.B before +running executable +.PD 1 +.PD 0 +.TP +.B -path +- use this to find the executable +.PD 1 +.PD 0 +.TP +.B -soft +- comma separated triplets that specify requested numbers +of processes (see the MPI-2 specification for more details) +.PD 1 +.PD 0 +.TP +.B -file +- implementation-defined specification file +.PD 1 +.PD 0 +.TP +.B -configfile +- file containing specifications of host/program, +one per line, with # as a comment indicator, e.g., the usual +mpiexec input, but with ":" replaced with a newline. That is, +the configfile contains lines with -soft, -n etc. +.PD 1 + +Additional arguments that are specific to the MPICH implementation +are discussed below. + +Note that not all of these parameters are meaningful for all +systems. For example, the +.I gforker +version of +.I mpiexec +creates all +processes on the same system on which it is running; in that case, the +.I \\-arch +and +.I \\-host +options are ignored. + +The colon character ( +.I : +) may be used to separate different executables +for MPMD (multiple program multiple data) programming. For example, +to run the program +.I ocean +on 4 processes and +.I air +on 8 processes, use: + +.nf +mpiexec -n 4 ocean : -n 8 air +.fi + + + +.SH MPICH-SPECIFIC ARGUMENTS + +Many of the implementations of process managers in MPICH support the +following arguments to +.I mpiexec +: + +.PD 0 +.TP +.B -np +- A synonym for the standard +.I \\-n +argument +.PD 1 +.PD 0 +.TP +.B -env +- Set the environment variable +.I +to +.I +for +the processes being run by +.I mpiexec + +.PD 1 +.PD 0 +.TP +.B -envnone +- Pass no environment variables (other than ones specified with +other +.I \\-env +or +.I \\-genv +arguments) to the processes being run by +.I mpiexec +\&. + +By default, all environment +variables are provided to each MPI process (rationale: principle of +least surprise for the user) +.PD 1 +.PD 0 +.TP +.B -envlist +- Pass the listed environment variables (names separated +by commas), with their current values, to the processes being run by +.I mpiexec +\&. + +.PD 1 +.PD 0 +.TP +.B -genv +- The +.I \\-genv +options have the same meaning as their +corresponding +.I \\-env +version, except they apply to all executables, not just +the current executable (in the case that the colon syntax is used to specify +multiple execuables). +.PD 1 +.PD 0 +.TP +.B -genvnone +- Like +.I \\-envnone +, but for all executables +.PD 1 +.PD 0 +.TP +.B -genvlist +- Like +.I \\-envlist +, but for all executables +.PD 1 +.PD 0 +.TP +.B -usize +- Specify the value returned for the value of the attribute +.I MPI_UNIVERSE_SIZE +\&. + +.PD 1 +.PD 0 +.TP +.B -l +- Label standard out and standard error ( +.I stdout +and +.I stderr +) with +the rank of the process +.PD 1 +.PD 0 +.TP +.B -maxtime +- Set a timelimit of +.I +seconds. +.PD 1 +.PD 0 +.TP +.B -exitinfo +- Provide more information on the reason each process exited if +there is an abnormal exit +.PD 1 + +.SH ENVIRONMENT VARIABLES FOR MPIEXEC +The following environment variables are understood by some versions of +.I mpiexec +\&. +The command line arguments have priority over these; that is, +if both the environment variable and command line argument are used, the +value specified by the command line argument is used. + +.PD 0 +.TP +.B MPIEXEC_TIMEOUT +- Maximum running time in seconds. +.I mpiexec +will +terminate MPI programs that take longer than the value specified by +.I MPIEXEC_TIMEOUT +\&. + +.PD 1 +.PD 0 +.TP +.B MPIEXEC_UNIVERSE_SIZE +- Set the universe size +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PORT_RANGE +- Set the range of ports that +.I mpiexec +will use +in communicating with the processes that it starts. The format of +this is +.I : +\&. +For example, to specify any port between +10000 and 10100, use +.I 10000:10100 +\&. + +.PD 1 +.PD 0 +.TP +.B MPICH_PORT_RANGE +- Has the same meaning as +.I MPIEXEC_PORT_RANGE +and +is used if +.I MPIEXEC_PORT_RANGE +is not set. +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PREFIX_DEFAULT +- If this environment variable is set, output +to standard output is prefixed by the rank in +.I MPI_COMM_WORLD +of the +process and output to standard error is prefixed by the rank and the +text +.I (err) +; both are followed by an angle bracket ( +.I > +). If +this variable is not set, there is no prefix. +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PREFIX_STDOUT +- Set the prefix used for lines sent to standard +output. A +.I %d +is replaced with the rank in +.I MPI_COMM_WORLD +; a +.I %w +is +replaced with an indication of which +.I MPI_COMM_WORLD +in MPI jobs that +involve multiple +.I MPI_COMM_WORLD +s (e.g., ones that use +.I MPI_Comm_spawn +or +.I MPI_Comm_connect +). +.PD 1 +.PD 0 +.TP +.B MPIEXEC_PREFIX_STDERR +- Like +.I MPIEXEC_PREFIX_STDOUT +, but for standard error. +.PD 1 + +.SH RETURN STATUS +.I mpiexec +returns the maximum of the exit status values of all of the +processes created by +.I mpiexec +\&. + + diff --git a/macx64/mpi/mpich/share/man/man1/mpif77.1 b/macx64/mpi/mpich/share/man/man1/mpif77.1 new file mode 100644 index 00000000..aa55e916 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpif77.1 @@ -0,0 +1,203 @@ +.TH mpif77 1 "6/5/2019" " " "MPI" +.SH NAME +mpif77 \- Compiles and links MPI programs written in Fortran 77 +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -f77=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpif77 +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpif77. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpif77. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variables +.I MPICH_F77 +may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_F77 +environment variable or the +.I \\-f77=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.f +, use +.nf +mpif77 -c foo.f +.fi + + +To link the output and make an executable, use +.nf +mpif77 -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpif77 -o foo foo.f +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicc, mpicxx, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man1/mpifort.1 b/macx64/mpi/mpich/share/man/man1/mpifort.1 new file mode 100644 index 00000000..371dfaa9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man1/mpifort.1 @@ -0,0 +1,203 @@ +.TH mpifort 1 "6/5/2019" " " "MPI" +.SH NAME +mpifort \- Compiles and links MPI programs written in Fortran 90 +.SH DESCRIPTION +This command can be used to compile and link MPI programs written in +Fortran. It provides the options and any special libraries that are +needed to compile and link MPI programs. + +It is important to use this command, particularly when linking programs, +as it provides the necessary libraries. + +.SH COMMAND LINE ARGUMENTS +.PD 0 +.TP +.B -show +- Show the commands that would be used without +running them +.PD 1 +.PD 0 +.TP +.B -help +- Give short help +.PD 1 +.PD 0 +.TP +.B -fc=name +- Use compiler +.I name +instead of the default choice. Use +this only if the compiler is compatible with the MPICH +library (see below) +.PD 1 +.PD 0 +.TP +.B -config=name +- Load a configuration file for a particular compiler. +This allows a single +.I mpifort +command to be used with +multiple compilers. +.PD 1 +.PD 0 +.TP +.B -compile_info +- Show the steps for compiling a program. This option +can be used to see what options and include paths are +used by mpifort. +.PD 1 +.PD 0 +.TP +.B -link_info +- Show the steps for linking a program. This option +can be used to see what options and libraries are used by +mpifort. +.PD 1 +.PD 0 +.TP +.B -profile=name +- Use the MPI profiling given by name. See below for +details +.PD 1 +.PD 0 +.TP +.B -echo +- Show exactly what this program is doing. +This option should normally not be used. +.PD 1 +.PD 0 +.TP +.B -static +- mpi - Use a statically compile MPI library, but shared libraries +for all of the other dependencies. +.PD 1 +.PD 0 +.TP +.B others +- are passed to the compiler or linker. For example, +.I \\-c +causes files to be compiled, +.I \\-g +selects compilation with +debugging on most systems, and +.I \\-o name +causes linking +with the output executable given the name +.I name +\&. + +.PD 1 + +.SH ENVIRONMENT VARIABLES +The environment variables +.I MPICH_FC +may be used +to select different Fortran compiler and linker. Note that since +MPICH is built with a particular C and Fortran compiler, change the +compilers used can cause problems. Use this only if you could intermix +code compiled with the different compilers. + +.SH COMPATIBLE COMPILERS +The MPI library may be used with any compiler that uses the same +lengths for basic data objects (such as +.I long double +) and that +uses compatible run-time libraries. On many systems, the various +compilers are compatible and may be used interchangably. There are +exceptions; if you use the +.I MPICH_FC +environment variable or the +.I \\-fc=name +command-line argument to override the choice of compiler +and encounter problems, try reconfiguring MPICH with the new compiler +and installing MPICH in a separate location. See the installation manual +for more details. + +.SH EXAMPLES +To compile a single file +.I foo.f +, use +.nf +mpifort -c foo.f +.fi + + +To link the output and make an executable, use +.nf +mpifort -o foo foo.o +.fi + +Combining compilation and linking in a single command +.nf +mpifort -o foo foo.f +.fi + +is a convenient way to build simple programs. + +.SH SELECTING A PROFILING LIBRARY +The +.I \\-profile=name +argument allows you to specify an MPI profiling +library to be used. +.I name +can have two forms: + +.br +A library in the same directory as the MPI library +.br +The name of a profile configuration file +.br + +If +.I name +is a library, then this library is included before the MPI +library. This allows the simple use of libraries that make use of the +MPI profiling interface and that are installed in the same directory as +the MPI library. + +If +.I name.conf +is the name of a file in the sysconfdir directory, then this +is read and may define the following variables: +.PD 0 +.TP +.B PROFILE_PRELIB +- Libraries (and paths) to include before the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_POSTLIB +- Libraries to include after the MPI library +.PD 1 +.PD 0 +.TP +.B PROFILE_INCPATHS +- C preprocessor arguments for any include files +For example, to add +.I /usr/local/myprof/include +to the include path and +the library +.I libmyprof.a +in +.I /usr/local/myprof/lib +to the link step, +you could create the file +.I myprof.conf +with the lines +.PD 1 + +.nf +PROFILE_PRELIB="-L/usr/local/myprof/lib -lmyprof" +PROFILE_INCPATHS="-I/usr/local/myprof/include" +.fi + +and place it in the sysconfdir directory (this directory is set at +configure time when MPICH is built). Then using the command-line +argument +.I \\-profile=myprof +will cause these +definitions to be added to the relevant compile commands. + +.SH SEE ALSO +mpicc, mpicxx, mpifort, mpiexec +.br diff --git a/macx64/mpi/mpich/share/man/man3/Constants.3 b/macx64/mpi/mpich/share/man/man3/Constants.3 new file mode 100644 index 00000000..68c6176e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/Constants.3 @@ -0,0 +1,1892 @@ +.TH Constants 3 "6/5/2019" " " "MPI" +.SH NAME +Constants \- Meaning of MPI's defined constants +.SH DATA TYPES +Note that the Fortran types should only be used in Fortran programs, +and the C types should only be used in C programs. For example, +it is in error to use +.I MPI_INT +for a Fortran INTEGER. +Datatypes are of type +.I MPI_Datatype +in C, type +.I INTEGER +in Fortran, +and +.I Type(MPI_Datatype) +in Fortran08 + +.SH C DATATYPES +MPI_CHAR - char +.PD 0 +.TP +.B MPI_SIGNED_CHAR +- signed char +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_CHAR +- unsigned char +.PD 1 +.PD 0 +.TP +.B MPI_BYTE +- See standard; like unsigned char +.PD 1 +.PD 0 +.TP +.B MPI_WCHAR +- wide character (wchar_t) +.PD 1 +.PD 0 +.TP +.B MPI_SHORT +- short +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_SHORT +- unsigned short +.PD 1 +.PD 0 +.TP +.B MPI_INT +- int +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED +- unsigned int +.PD 1 +.PD 0 +.TP +.B MPI_LONG +- long +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_LONG +- unsigned long +.PD 1 +.PD 0 +.TP +.B MPI_LONG_LONG_INT +- long long +.PD 1 +.PD 0 +.TP +.B MPI_LONG_LONG +- synonyn for +.I MPI_LONG_LONG_INT + +.PD 1 +.PD 0 +.TP +.B MPI_UNSIGNED_LONG_LONG +- unsigned long long +.PD 1 +.PD 0 +.TP +.B MPI_FLOAT +- float +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE +- double +.PD 1 +.PD 0 +.TP +.B MPI_LONG_DOUBLE +- long double (some systems may not implement this) +.PD 1 +.PD 0 +.TP +.B MPI_INT8_T +- int8_t +.PD 1 +.PD 0 +.TP +.B MPI_INT16_T +- int16_t +.PD 1 +.PD 0 +.TP +.B MPI_INT32_T +- int32_t +.PD 1 +.PD 0 +.TP +.B MPI_INT64_T +- int64_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT8_T +- uint8_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT16_T +- uint16_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT32_T +- uint32_t +.PD 1 +.PD 0 +.TP +.B MPI_UINT64_T +- uint64_t +.PD 1 +.PD 0 +.TP +.B MPI_C_BOOL +- _Bool +.PD 1 +.PD 0 +.TP +.B MPI_C_FLOAT_COMPLEX +- float _Complex +.PD 1 +.PD 0 +.TP +.B MPI_C_COMPLEX +- float _Complex +.PD 1 +.PD 0 +.TP +.B MPI_C_DOUBLE_COMPLEX +- double _Complex +.PD 1 +.PD 0 +.TP +.B MPI_C_LONG_DOUBLE_COMPLEX +- long double _Complex +.PD 1 + + +The following are datatypes for the MPI functions +.I MPI_MAXLOC +and +.I MPI_MINLOC +\&. + +MPI_FLOAT_INT - +.I struct { float, int } + +.PD 0 +.TP +.B MPI_LONG_INT +- +.I struct { long, int } + +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE_INT +- +.I struct { double, int } + +.PD 1 +.PD 0 +.TP +.B MPI_SHORT_INT +- +.I struct { short, int } + +.PD 1 +.PD 0 +.TP +.B MPI_2INT +- +.I struct { int, int } + +.PD 1 +.PD 0 +.TP +.B MPI_LONG_DOUBLE_INT +- +.I struct { long double, int } +; this +is an +.B optional +type, and may be set to +.I MPI_DATATYPE_NULL + +.PD 1 + + +Special datatypes for C and Fortran +MPI_PACKED - For +.I MPI_Pack +and +.I MPI_Unpack + +.PD 0 +.TP +.B MPI_UB +- For +.I MPI_Type_struct +; an upper-bound indicator. Removed in MPI 3 +.PD 1 +.PD 0 +.TP +.B MPI_LB +- For +.I MPI_Type_struct +; a lower-bound indicator. Removed in MPI 3 +.PD 1 + +.SH FORTRAN DATATYPES +MPI_REAL - +.I REAL + +.PD 0 +.TP +.B MPI_INTEGER +- +.I INTEGER + +.PD 1 +.PD 0 +.TP +.B MPI_LOGICAL +- +.I LOGICAL + +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE_PRECISION +- +.I DOUBLE PRECISION + +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX +- +.I COMPLEX + +.PD 1 +.PD 0 +.TP +.B MPI_DOUBLE_COMPLEX +- +.I complex*16 +(or +.I complex*32 +) where supported. +.PD 1 + +The following datatypes are optional +MPI_INTEGER1 - +.I integer*1 +if supported +.PD 0 +.TP +.B MPI_INTEGER2 +- +.I integer*2 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_INTEGER4 +- +.I integer*4 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_INTEGER8 +- +.I integer*8 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_INTEGER16 +- +.I integer*16 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_REAL4 +- +.I real*4 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_REAL8 +- +.I real*8 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_REAL16 +- +.I real*16 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX8 +- +.I complex*8 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX16 +- +.I complex*16 +if supported +.PD 1 +.PD 0 +.TP +.B MPI_COMPLEX32 +- +.I complex*32 +if supported +.PD 1 + +The following are datatypes for the MPI functions +.I MPI_MAXLOC +and +.I MPI_MINLOC +\&. +In Fortran, these datatype always consist of +two elements of the same Fortran type. +MPI_2INTEGER - +.I INTEGER,INTEGER + +.PD 0 +.TP +.B MPI_2REAL +- +.I REAL, REAL + +.PD 1 +.PD 0 +.TP +.B MPI_2DOUBLE_PRECISION +- +.I DOUBLE PRECISION, DOUBLE PRECISION + +.PD 1 + +MPI Datatypes for MPI Types +MPI_AINT - Datatype for an +.I MPI_Aint + +.PD 0 +.TP +.B MPI_OFFSET +- Datatype for an +.I MPI_Offset + +.PD 1 +.PD 0 +.TP +.B MPI_COUNT +- Datatype for an +.I MPI_Count + +.PD 1 + +.SH MPI DATATYPE COMBINER NAMES +MPI_COMBINER_NAMED - a named predefined datatype +.PD 0 +.TP +.B MPI_COMBINER_DUP +- MPI_TYPE_DUP +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_CONTIGUOUS +- MPI_TYPE_CONTIGUOUS +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_VECTOR +- MPI_TYPE_VECTOR +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HVECTOR_INTEGER +- Removed in MPI-3 +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HVECTOR +- MPI_TYPE_CREATE_HVECTOR +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_INDEXED +- MPI_TYPE_INDEXED +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HINDEXED_INTEGER +- Removed in MPI-3 +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HINDEXED +- MPI_TYPE_CREATE_HINDEXED +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_INDEXED_BLOCK +- MPI_TYPE_CREATE_INDEXED_BLOCK +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_STRUCT_INTEGER +- Removed in MPI-3 +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_STRUCT +- MPI_TYPE_CREATE_STRUCT +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_SUBARRAY +- MPI_TYPE_CREATE_SUBARRAY +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_DARRAY +- MPI_TYPE_CREATE_DARRAY +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_F90_REAL +- MPI_TYPE_CREATE_F90_REAL +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_F90_COMPLEX +- MPI_TYPE_CREATE_F90_COMPLEX +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_F90_INTEGER +- MPI_TYPE_CREATE_F90_INTEGER +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_RESIZED +- MPI_TYPE_CREATE_RESIZED +.PD 1 +.PD 0 +.TP +.B MPI_COMBINER_HINDEXED_BLOCK +- MPI_TYPE_CREATE_HINDEXED_BLOCK +.PD 1 + +.SH MPI DATATYPE TYPE CLASSES +MPI Type classes used with routines to return Fortran types with defined +precision and range +MPI_TYPECLASS_REAL - +.I REAL + +.PD 0 +.TP +.B MPI_TYPECLASS_INTEGER +- +.I INTEGER + +.PD 1 +.PD 0 +.TP +.B MPI_TYPECLASS_COMPLEX +- +.I COMPLEX + +.PD 1 + +.SH MPI DARRAY AND SUBARRAY VALUES +These values are used to create a datatype with the +.I DARRAY +and +.I SUBARRAY +constructors. +MPI_ORDER_C - Row-major order (as used by C) +.PD 0 +.TP +.B MPI_ORDER_FORTRAN +- Column-major order (as used by Fortran) +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_BLOCK +- Block distribution +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_CYCLIC +- Cyclic distribution +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_NONE +- This dimension is not distributed +.PD 1 +.PD 0 +.TP +.B MPI_DISTRIBUTE_DFLT_DARG +- Use the default distribution +.PD 1 + +.SH COMMUNICATORS +Communicators are of type +.I MPI_Comm +in C, +.I INTEGER +in Fortran, and +.I Type(MPI_Comm) +in Fortran08 +MPI_COMM_WORLD - Contains all of the processes +.PD 0 +.TP +.B MPI_COMM_SELF +- Contains only the calling process +.PD 1 + +.SH KIND OF COMMUNICATOR FOR 'MPI_COMM_SPLIT_TYPE' +MPI_COMM_TYPE_SHARED - All processes that can share memory are grouped into +the same communicator. + +.SH GROUPS +Groups are of type +.I MPI_Group +in C, +.I INTEGER +in Fortran, +and +.I Type(MPI_Group) +in Fortran08 + +MPI_GROUP_EMPTY - A group containing no members. + +.SH RESULTS OF THE COMPARE OPERATIONS ON GROUPS AND COMMUNICATORS +MPI_IDENT - Identical +.PD 0 +.TP +.B MPI_CONGRUENT +- (only for +.I MPI_COMM_COMPARE +) The groups are identical +.PD 1 +.PD 0 +.TP +.B MPI_SIMILAR +- Same members, but in a different order +.PD 1 +.PD 0 +.TP +.B MPI_UNEQUAL +- Different +.PD 1 + + +.SH COLLECTIVE OPERATIONS +The collective combination operations (e.g., +.I MPI_REDUCE +, +.I MPI_ALLREDUCE +, +.I MPI_REDUCE_SCATTER +, and +.I MPI_SCAN +) take a combination operation. +This operation is of type +.I MPI_Op +in C and of type +.I INTEGER +in Fortran. +The predefined operations are + +MPI_MAX - return the maximum +.PD 0 +.TP +.B MPI_MIN +- return the minumum +.PD 1 +.PD 0 +.TP +.B MPI_SUM +- return the sum +.PD 1 +.PD 0 +.TP +.B MPI_PROD +- return the product +.PD 1 +.PD 0 +.TP +.B MPI_LAND +- return the logical and +.PD 1 +.PD 0 +.TP +.B MPI_BAND +- return the bitwise and +.PD 1 +.PD 0 +.TP +.B MPI_LOR +- return the logical or +.PD 1 +.PD 0 +.TP +.B MPI_BOR +- return the bitwise of +.PD 1 +.PD 0 +.TP +.B MPI_LXOR +- return the logical exclusive or +.PD 1 +.PD 0 +.TP +.B MPI_BXOR +- return the bitwise exclusive or +.PD 1 +.PD 0 +.TP +.B MPI_MINLOC +- return the minimum and the location (actually, the value of +the second element of the structure where the minimum of +the first is found) +.PD 1 +.PD 0 +.TP +.B MPI_MAXLOC +- return the maximum and the location +.PD 1 +.PD 0 +.TP +.B MPI_REPLACE +- replace b with a +.PD 1 +.PD 0 +.TP +.B MPI_NO_OP +- perform no operation +.PD 1 + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +Note that not all datatypes are valid for these functions. For example, +.I MPI_COMPLEX +is not valid for +.I MPI_MAX +and +.I MPI_MIN +\&. +In addition, the MPI +1.1 standard did not include the C types +.I MPI_CHAR +and +.I MPI_UNSIGNED_CHAR +among the lists of arithmetic types for operations like +.I MPI_SUM +\&. +However, +since the C type +.I char +is an integer type (like +.I short +), it should have been +included. The MPI Forum will probably include +.I char +and +.I unsigned char +as a clarification to MPI 1.1; until then, users are advised that MPI +implementations may not accept +.I MPI_CHAR +and +.I MPI_UNSIGNED_CHAR +as valid +datatypes for +.I MPI_SUM +, +.I MPI_PROD +, etc. MPICH does allow these datatypes. + +.SH PERMANENT KEY VALUES +These are the same in C and Fortran + +MPI_TAG_UB - Largest tag value +.PD 0 +.TP +.B MPI_HOST +- Rank of process that is host, if any +.PD 1 +.PD 0 +.TP +.B MPI_IO +- Rank of process that can do I/O +.PD 1 +.PD 0 +.TP +.B MPI_WTIME_IS_GLOBAL +- Has value 1 if +.I MPI_WTIME +is globally synchronized. +.PD 1 +.PD 0 +.TP +.B MPI_UNIVERSE_SIZE +- Number of available processes. See the standard for +a description of limitations on this value +.PD 1 +.PD 0 +.TP +.B MPI_LASTUSEDCODE +- Last used MPI error code (check - code or class?) +.PD 1 +.PD 0 +.TP +.B MPI_APPNUM +- Application number, starting from 0. See the standard for +.I MPI_COMM_SPAWN_MULTIPLE +and +.I mpiexec +for details +.PD 1 + +.SH NULL OBJECTS +MPI_COMM_NULL - Null communicator +.PD 0 +.TP +.B MPI_OP_NULL +- Null operation +.PD 1 +.PD 0 +.TP +.B MPI_GROUP_NULL +- Null group +.PD 1 +.PD 0 +.TP +.B MPI_DATATYPE_NULL +- Null datatype +.PD 1 +.PD 0 +.TP +.B MPI_REQUEST_NULL +- Null request +.PD 1 +.PD 0 +.TP +.B MPI_ERRHANDLER_NULL +- Null error handler +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL +- Null window handle +.PD 1 +.PD 0 +.TP +.B MPI_FILE_NULL +- Null file handle +.PD 1 +.PD 0 +.TP +.B MPI_INFO_NULL +- Null info handle +.PD 1 +.PD 0 +.TP +.B MPI_MESSAGE_NULL +- Null message handle +.PD 1 +.PD 0 +.TP +.B MPI_ARGV_NULL +- Empty ARGV value for spawn commands +.PD 1 +.PD 0 +.TP +.B MPI_ARGVS_NULL +- Empty ARGV array for spawn-multiple command +.PD 1 +.PD 0 +.TP +.B MPI_T_ENUM_NULL +- Null MPI_T enum +.PD 1 +.PD 0 +.TP +.B MPI_T_CVAR_HANDLE_NULL +- Null MPI_T control variable handle +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_HANDLE_NULL +- Null MPI_T performance variable handle +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_SESSION_NULL +- Null MPI_T performance variable session handle +.PD 1 + +.SH PREDEFINED CONSTANTS +MPI_MAX_PROCESSOR_NAME - Maximum length of name returned by +.I MPI_GET_PROCESSOR_NAME + +.PD 0 +.TP +.B MPI_MAX_ERROR_STRING +- Maximum length of string return by +.I MPI_ERROR_STRING + +.PD 1 +.PD 0 +.TP +.B MPI_MAX_LIBRARY_VERSION_STRING +- Maximum length of string returned by +.I MPI_GET_LIBRARY_VERSION_STRING +??? +.PD 1 +.PD 0 +.TP +.B MPI_MAX_PORT_NAME +- Maximum length of a port +.PD 1 +.PD 0 +.TP +.B MPI_MAX_OBJECT_NAME +- Maximum length of an object (?) +.PD 1 +.PD 0 +.TP +.B MPI_MAX_INFO_KEY +- Maximum length of an info key +.PD 1 +.PD 0 +.TP +.B MPI_MAX_INFO_VAL +- Maximum length of an info value +.PD 1 +.PD 0 +.TP +.B MPI_UNDEFINED +- Used by many routines to indicated +undefined or unknown integer value +.PD 1 +.PD 0 +.TP +.B MPI_UNDEFINED_RANK +- Unknown rank +.PD 1 +.PD 0 +.TP +.B MPI_KEYVAL_INVALID +- Special keyval that may be used to detect +uninitialized keyvals. +.PD 1 +.PD 0 +.TP +.B MPI_BSEND_OVERHEAD +- Add this to the size of a +.I MPI_BSEND +buffer for each outstanding message +.PD 1 +.PD 0 +.TP +.B MPI_PROC_NULL +- This rank may be used to send or receive from no-one. +.PD 1 +.PD 0 +.TP +.B MPI_ANY_SOURCE +- In a receive, accept a message from anyone. +.PD 1 +.PD 0 +.TP +.B MPI_ANY_TAG +- In a receive, accept a message with any tag value. +.PD 1 +.PD 0 +.TP +.B MPI_BOTTOM +- May be used to indicate the bottom of the address space +.PD 1 +.PD 0 +.TP +.B MPI_IN_PLACE +- Special location for buffer in some +collective communication routines +.PD 1 +.PD 0 +.TP +.B MPI_VERSION +- Numeric value of MPI version (e.g., 3) +.PD 1 +.PD 0 +.TP +.B MPI_SUBVERSION +- Numeric value of MPI subversion (e.g., 1) +.PD 1 + +.SH TOPOLOGY TYPES +MPI_CART - Cartesian grid +.PD 0 +.TP +.B MPI_GRAPH +- General graph +.PD 1 +.PD 0 +.TP +.B MPI_DIST_GRAPH +- General distributed graph +.PD 1 + +.SH SPECIAL VALUES FOR DISTRIBUTED GRAPH +MPI_UNWEIGHTED - Indicates that the edges are unweighted +.PD 0 +.TP +.B MPI_WEIGHTS_EMPTY +- Special address that indicates no array of weights +information +.PD 1 + +.SH FILE MODES +MPI_MODE_RDONLY - Read only +.PD 0 +.TP +.B MPI_MODE_RDWR +- Read and write +.PD 1 +.PD 0 +.TP +.B MPI_MODE_WRONLY +- Write only +.PD 1 +.PD 0 +.TP +.B MPI_MODE_CREATE +- Create the file if it does not exist +.PD 1 +.PD 0 +.TP +.B MPI_MODE_EXCL +- It is an error if creating a file that already +exists +.PD 1 +.PD 0 +.TP +.B MPI_MODE_DELETE_ON_CLOSE +- Delete the file on close +.PD 1 +.PD 0 +.TP +.B MPI_MODE_UNIQUE_OPEN +- The file will not be concurrently opened elsewhere +.PD 1 +.PD 0 +.TP +.B MPI_MODE_APPEND +- The initial position of all file pointers is at +the end of the file +.PD 1 +.PD 0 +.TP +.B MPI_MODE_SEQUENTIAL +- File will only be accessed sequentially +.PD 1 + +.SH FILE DISPLACEMENT +MPI_DISPLACEMENT_CURRENT - Use with files opened with mode +.I MPI_MODE_SEQUENTIAL +in calls to +.I MPI_FILE_SET_VIEW + + +.SH FILE POSITIONING +MPI_SEEK_SET - Set the pointer to +.I offset + +.PD 0 +.TP +.B MPI_SEEK_CUR +- Set the pointer to the current position plus +.I offset + +.PD 1 +.PD 0 +.TP +.B MPI_SEEK_END +- Set the pointer to the end of the file plus +.I offset + +.PD 1 + +.SH WINDOW ATTRIBUTES +MPI_WIN_BASE - window base address. +.PD 0 +.TP +.B MPI_WIN_SIZE +- window size, in bytes +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DISP_UNIT +- displacement unit associated with the window +.PD 1 +.PD 0 +.TP +.B MPI_WIN_CREATE_FLAVOR +- how the window was created +.PD 1 +.PD 0 +.TP +.B MPI_WIN_MODEL +- memory model for window +.PD 1 + +.SH WINDOW FLAVORS +MPI_WIN_FLAVOR_CREATE - Window was created with MPI_WIN_CREATE. +.PD 0 +.TP +.B MPI_WIN_FLAVOR_ALLOCATE +- Window was created with MPI_WIN_ALLOCATE. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_FLAVOR_DYNAMIC +- Window was created with MPI_WIN_CREATE_DYNAMIC. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_FLAVOR_SHARED +- Window was created with MPI_WIN_ALLOCATE_SHARED. +.PD 1 + +.SH WINDOW MEMORY MODEL +MPI_WIN_SEPARATE - Separate public and private copies of window memory +.PD 0 +.TP +.B MPI_WIN_UNIFIED +- The publich and private copies are identical (by which +we mean that updates are eventually observed without additional RMA operations) +.PD 1 + +.SH WINDOW LOCK TYPES +MPI_LOCK_EXCLUSIVE - Only one process at a time will execute accesses +within the lock +.PD 0 +.TP +.B MPI_LOCK_SHARED +- Not exclusive; multiple processes may execute accesses +within the lock +.PD 1 + +.SH WINDOW ASSERTIONS +See section 11.5 in MPI 3.1 for a detailed description of each of these +assertion values. +MPI_MODE_NOCHECK - The matching calls to MPI_WIN_POST or MPI_WIN_START +have already completed, or no process holds or will attempt to acquire, a +conflicting lock. +.PD 0 +.TP +.B MPI_MODE_NOSTORE +- The local window has not been updated by stores +since the last synchronization +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPUT +- The local window will not be updated by put or +accumulate until the next synchronization +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPRECEDE +- The fence does not complete any locally issued RMA +calls +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOSUCCEED +- The fence does not start any locally issued RMA calls +.PD 1 + +.SH PREDEFINED INFO OBJECT +MPI_INFO_ENV - Contains the execution environment + +.SH MPI STATUS +The +.I MPI_Status +datatype is a structure in C. The three elements for use +by programmers are +MPI_SOURCE - Who sent the message +.PD 0 +.TP +.B MPI_TAG +- What tag the message was sent with +.PD 1 +.PD 0 +.TP +.B MPI_ERROR +- Any error return (only when the error returned by the routine +has error class +.I MPI_ERR_IN_STATUS +) +.PD 1 + +MPI_STATUS_IGNORE - Ignore a single +.I MPI_Status +argument +.PD 0 +.TP +.B MPI_STATUSES_IGNORE +- Ignore an array of +.I MPI_Status + +.PD 1 + +.SH SPECIAL VALUE FOR ERROR CODES ARRAY +MPI_ERRCODES_IGNORE - Ignore an array of error codes + +.SH MPI_T CONSTANTS +MPI_T_VERBOSITY_USER_BASIC - Basic information of interest to users +.PD 0 +.TP +.B MPI_T_VERBOSITY_USER_DETAIL +- Detailed information of interest to users +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_USER_ALL +- All remaining information of interest to users +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_TUNER_BASIC +- Basic information required for tuning +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_TUNER_DETAIL +- Detailed information required for tuning +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_TUNER_ALL +- All remaining information required for tuning +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_MPIDEV_BASIC +- Basic information for MPI implementors +.PD 1 + + +.PD 0 +.TP +.B MPI_T_VERBOSITY_MPIDEV_DETAIL +- Detailed information for MPI implementors +.PD 1 +.PD 0 +.TP +.B MPI_T_VERBOSITY_MPIDEV_ALL +- All remaining information for MPI implementors +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_NO_OBJECT +- Applies globally to entire MPI process +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_COMM +- MPI communicators +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_DATATYPE +- MPI datatypes +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_ERRHANDLER +- MPI error handlers +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_FILE +- MPI file handles +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_GROUP +- MPI groups +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_OP +- MPI reduction operators +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_REQUEST +- MPI requests +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_WIN +- MPI windows for one-sided communication +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_MESSAGE +- MPI message object +.PD 1 +.PD 0 +.TP +.B MPI_T_BIND_MPI_INFO +- MPI info object +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_CONSTANT +- read-only, value is constant +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_READONLY +- read-only, cannot be written, but can +change +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_LOCAL +- may be writeable, writing is a local +operation +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_GROUP +- may be writeable, must be done to a +group of processes, all processes in a group must be set to consistent values +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_GROUP_EQ +- may be writeable, must be done to a +group of processes, all processes in a group must be set to the same value +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_ALL +- may be writeable, must be done to all +processes, all connected processes must be set to consistent values +.PD 1 +.PD 0 +.TP +.B MPI_T_SCOPE_ALL_EQ +- may be writeable, must be done to all +processes, all connected processes must be set to the same value +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_STATE +- set of discrete states (MPI_INT) +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_LEVEL +- utilization level of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_SIZE +- size of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_PERCENTAGE +- percentage utilization of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_HIGHWATERMARK +- high watermark of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_LOWWATERMARK +- low watermark of a resource +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_COUNTER +- number of occurances of an event +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_AGGREGATE +- aggregate value over an event (e.g., +sum of all memory allocations) +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_TIMER +- aggretate time spent executing event +.PD 1 +.PD 0 +.TP +.B MPI_T_PVAR_CLASS_GENERIC +- used for any other time of performance +variable +.PD 1 + +.SH THREAD LEVELS +MPI_THREAD_SINGLE - Only one thread executes +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- Only the main thread makes MPI calls +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- Only one thread at a time makes MPI calls +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may make MPI calls +.PD 1 + +.SH SPECIAL MPI TYPES AND FUNCTIONS + +MPI_Aint - C type that holds any valid address. +.PD 0 +.TP +.B MPI_Count +- C type that holds any valid count. +.PD 1 +.PD 0 +.TP +.B MPI_Offset +- C type that holds any valid file offset. +.PD 1 +.PD 0 +.TP +.B MPI_Handler_function +- C function for handling errors (see +.I MPI_Errhandler_create +) . +.PD 1 +.PD 0 +.TP +.B MPI_User_function +- C function to combine values (see collective operations +and +.I MPI_Op_create +) +.PD 1 +.PD 0 +.TP +.B MPI_Copy_function +- Function to copy attributes (see +.I MPI_Keyval_create +) +.PD 1 +.PD 0 +.TP +.B MPI_Delete_function +- Function to delete attributes (see +.I MPI_Keyval_create +) +.PD 1 +.PD 0 +.TP +.B MPI_ERRORS_ARE_FATAL +- Error handler that forces exit on error +.PD 1 +.PD 0 +.TP +.B MPI_ERRORS_RETURN +- Error handler that returns error codes (as value of +MPI routine in C and through last argument in Fortran) +.PD 1 + +.SH MPI ATTRIBUTE DEFAULT FUNCTIONS +MPI_COMM_NULL_COPY_FN - Predefined attribute copy function for communicators +.PD 0 +.TP +.B MPI_COMM_NULL_DELETE_FN +- Predefined attribute delete function for communicators +.PD 1 +.PD 0 +.TP +.B MPI_COMM_DUP_FN +- Predefined attribute duplicate function for communicators +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL_COPY_FN +- Predefined attribute copy function for windows +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL_DELETE_FN +- Predefined attribute delete function for windows +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DUP_FN +- Predefined attribute duplicate function for windows +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_NULL_COPY_FN +- Predefined attribute copy function for datatypes +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_NULL_DELETE_FN +- Predefined attribute delete function for datatypes +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_DUP_FN +- Predefined attribute duplicate function for datatypes +.PD 1 + +.SH MPI-1 ATTRIBUTE DEFAULT FUNCTIONS +MPI_NULL_COPY_FN - Predefined copy function +.PD 0 +.TP +.B MPI_NULL_DELETE_FN +- Predefined delete function +.PD 1 +.PD 0 +.TP +.B MPI_DUP_FN +- Predefined duplication function +.PD 1 + +.SH MPI ERROR CLASSES +MPI_SUCCESS - Successful return code +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid rank +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ROOT +- Invalid root +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null group passed to function +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology +.PD 1 +.PD 0 +.TP +.B MPI_ERR_DIMS +- Illegal dimension argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_UNKNOWN +- Unknown error +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TRUNCATE +- Message truncated on receive +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use Error_string +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- Internal error code +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- Look in status for error value +.PD 1 +.PD 0 +.TP +.B MPI_ERR_PENDING +- Pending request +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid mpi_request handle +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ACCESS +- Permission denied +.PD 1 +.PD 0 +.TP +.B MPI_ERR_AMODE +- Error related to the amode passed to +.I MPI_FILE_OPEN + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BAD_FILE +- Invalid file name (e.g., path name too long) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_CONVERSION +- An error occurred in a user supplied data +conversion function +.PD 1 +.PD 0 +.TP +.B MPI_ERR_DUP_DATAREP +- Conversion functions could not be registered +because a data representation identifier that was already defined was passed +to +.I MPI_REGISTER_DATAREP + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE_EXISTS +- File exists +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE_IN_USE +- File operation could not be completed, as +the file is currently open by some process +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE +- Invalid file handle +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IO +- Other I/O error +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_SPACE +- Not enough space +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_SUCH_FILE +- File does not exist +.PD 1 +.PD 0 +.TP +.B MPI_ERR_READ_ONLY +- Read-only file or file system +.PD 1 +.PD 0 +.TP +.B MPI_ERR_UNSUPPORTED_DATAREP +- Unsupported datarep passed to +.I MPI_FILE_SET_VIEW + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid info argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Key longer than MPI_MAX_INFO_KEY +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_VALUE +- Value longer than MPI_MAX_INFO_VAL +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_NOKEY +- Invalid key passed to MPI_INFO_DELETE +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NAME +- Invalid service name passed to MPI_LOOKUP_NAME +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_MEM +- Alloc_mem could not allocate memory +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NOT_SAME +- Collective argument not identical on all +processes, or collective routines called in a different order by different +processes +.PD 1 +.PD 0 +.TP +.B MPI_ERR_PORT +- Invalid port name passed to MPI_COMM_CONNECT +.PD 1 +.PD 0 +.TP +.B MPI_ERR_QUOTA +- Quota exceeded +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SERVICE +- Invalid service name passed to MPI_UNPUBLISH_NAME +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SPAWN +- Error in spawning processes +.PD 1 +.PD 0 +.TP +.B MPI_ERR_UNSUPPORTED_OPERATION +- Unsupported operation, such as seeking on +a file which supports sequential access only +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid win argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BASE +- Invalid base passed to MPI_FREE_MEM +.PD 1 +.PD 0 +.TP +.B MPI_ERR_LOCKTYPE +- Invalid locktype argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Erroneous attribute key +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_CONFLICT +- Conflicting accesses to window +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_SYNC +- Wrong synchronization of RMA calls +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- Invalid size argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_DISP +- Invalid disp argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ASSERT +- Invalid assert argument +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_RANGE +- Target memory is not part of the window (in +the case of a window created with MPI_WIN_CREATE_DYNAMIC, target memory is +not attached) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_ATTACH +- Memory cannot be attached (e.g., because of +resource exhaustion) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_SHARED +- Memory cannot be shared (e.g., some process in +the group of the specified communicator cannot expose shared memory) +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RMA_FLAVOR +- Passed window has the wrong flavor for the +called function +.PD 1 +.PD 0 +.TP +.B MPI_ERR_LASTCODE +- Last error code -- always at end +.PD 1 + +.SH ERROR CODES FOR MPI_T + +MPI_T_ERR_MEMORY - Out of memory +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- Interface not initialized +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CANNOT_INIT +- Interface not in the state to be initialized +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- The index is invalid or has been deleted +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_ITEM +- Item index queried is out of range +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_HANDLES +- No more handles available +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_SESSIONS +- No more sessions available +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NOT_NOW +- Cvar can't be set at this moment +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NEVER +- Cvar can't be set until end of execution +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_STARTSTOP +- Pvar can't be started or stopped +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- Pvar can't be written or reset +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_ATOMIC +- Pvar can't be R/W atomically +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- Name doesn't match +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID +- Invalid use of the interface or bad parameter +values(s) +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_commit.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_commit.3 new file mode 100644 index 00000000..fc4cf0f6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_commit.3 @@ -0,0 +1,11 @@ +.TH MPIR_Type_commit 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_commit \- nput Parameters: . datatype_p - pointer to MPI datatype +.SH SYNOPSIS +.nf +int MPIR_Type_commit(MPI_Datatype * datatype_p) +.fi +.SH OUTPUT PARAMETERS + +.SH RETURN VALUE +0 on success, -1 on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_contiguous.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_contiguous.3 new file mode 100644 index 00000000..b44f320e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_contiguous.3 @@ -0,0 +1,28 @@ +.TH MPIR_Type_contiguous 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_contiguous \- create a contiguous datatype +.SH SYNOPSIS +.nf +int MPIR_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in the contiguous block +.PD 1 +.PD 0 +.TP +.B oldtype +- type (using handle) of datatype on which vector is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new contiguous datatype +.PD 1 + +.SH RETURN VALUE +MPI_SUCCESS on success, MPI error code on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_dup.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_dup.3 new file mode 100644 index 00000000..065d7811 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_dup.3 @@ -0,0 +1,27 @@ +.TH MPIR_Type_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_dup \- create a copy of a datatype +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPIR_Type_dup +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPIR_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B oldtype +- handle of original datatype +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of newly created copy of datatype +.PD 1 + +.SH RETURN VALUE +0 on success, MPI error code on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_get_contents.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_get_contents.3 new file mode 100644 index 00000000..95b81b10 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_get_contents.3 @@ -0,0 +1,51 @@ +.TH MPIR_Type_get_contents 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_get_contents \- get content information from datatype +.SH SYNOPSIS +.nf +int MPIR_Type_get_contents(MPI_Datatype datatype, + int max_integers, + int max_addresses, + int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- MPI datatype +.PD 1 +.PD 0 +.TP +.B max_integers +- size of array_of_integers +.PD 1 +.PD 0 +.TP +.B max_addresses +- size of array_of_addresses +.PD 1 +.PD 0 +.TP +.B max_datatypes +- size of array_of_datatypes +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B array_of_integers +- integers used in creating type +.PD 1 +.PD 0 +.TP +.B array_of_addresses +- MPI_Aints used in creating type +.PD 1 +.PD 0 +.TP +.B array_of_datatypes +- MPI_Datatypes used in creating type +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_indexed.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_indexed.3 new file mode 100644 index 00000000..e7550616 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_indexed.3 @@ -0,0 +1,49 @@ +.TH MPIR_Type_indexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_indexed \- create an indexed datatype +.SH SYNOPSIS +.nf +int MPIR_Type_indexed(int count, + const int *blocklength_array, + const void *displacement_array, + int dispinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks in type +.PD 1 +.PD 0 +.TP +.B blocklength_array +- number of elements in each block +.PD 1 +.PD 0 +.TP +.B displacement_array +- offsets of blocks from start of type (see next +parameter for units) +.PD 1 +.PD 0 +.TP +.B dispinbytes +- if nonzero, then displacements are in bytes (the +displacement_array is an array of ints), otherwise they in terms of +extent of oldtype (the displacement_array is an array of MPI_Aints) +.PD 1 +.PD 0 +.TP +.B oldtype +- type (using handle) of datatype on which new type is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new indexed datatype +.PD 1 + +.SH RETURN VALUE +0 on success, -1 on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_struct.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_struct.3 new file mode 100644 index 00000000..77f49609 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_struct.3 @@ -0,0 +1,45 @@ +.TH MPIR_Type_struct 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_struct \- create a struct datatype +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPIR_Type_struct +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPIR_Type_struct(int count, + const int *blocklength_array, + const MPI_Aint * displacement_array, + const MPI_Datatype * oldtype_array, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks in vector +.PD 1 +.PD 0 +.TP +.B blocklength_array +- number of elements in each block +.PD 1 +.PD 0 +.TP +.B displacement_array +- offsets of blocks from start of type in bytes +.PD 1 +.PD 0 +.TP +.B oldtype_array +- types (using handle) of datatypes on which vector is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new struct datatype +.PD 1 + +.SH RETURN VALUE +MPI_SUCCESS on success, MPI errno on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIR_Type_vector.3 b/macx64/mpi/mpich/share/man/man3/MPIR_Type_vector.3 new file mode 100644 index 00000000..e3cd0273 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIR_Type_vector.3 @@ -0,0 +1,48 @@ +.TH MPIR_Type_vector 3 "6/5/2019" " " "MPI" +.SH NAME +MPIR_Type_vector \- create a vector datatype +.SH SYNOPSIS +.nf +int MPIR_Type_vector(int count, + int blocklength, + MPI_Aint stride, + int strideinbytes, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks in vector +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block +.PD 1 +.PD 0 +.TP +.B stride +- distance from beginning of one block to the next (see next +parameter for units) +.PD 1 +.PD 0 +.TP +.B strideinbytes +- if nonzero, then stride is in bytes, otherwise stride +is in terms of extent of oldtype +.PD 1 +.PD 0 +.TP +.B oldtype +- type (using handle) of datatype on which vector is based +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- handle of new vector datatype +.PD 1 + +.SH RETURN VALUE +0 on success, MPI error code on failure. diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_agree.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_agree.3 new file mode 100644 index 00000000..bd3df512 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_agree.3 @@ -0,0 +1,96 @@ +.TH MPIX_Comm_agree 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_agree \- Performs agreement operation on comm +.SH SYNOPSIS +.nf +int MPIX_Comm_agree(MPI_Comm comm, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_ack.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_ack.3 new file mode 100644 index 00000000..35713a4c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_ack.3 @@ -0,0 +1,96 @@ +.TH MPIX_Comm_failure_ack 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_failure_ack \- Acknowledge the current group of failed processes +.SH SYNOPSIS +.nf +int MPIX_Comm_failure_ack(MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (handle) +.PD 1 + +.SH NOTES +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_get_acked.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_get_acked.3 new file mode 100644 index 00000000..1174b026 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_failure_get_acked.3 @@ -0,0 +1,103 @@ +.TH MPIX_Comm_failure_get_acked 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_failure_get_acked \- Get the group of acknowledged failures. +.SH SYNOPSIS +.nf +int MPIX_Comm_failure_get_acked(MPI_Comm comm, MPI_Group * failedgrp) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B failed_group +- Group (handle) +.PD 1 + +.SH NOTES +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_revoke.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_revoke.3 new file mode 100644 index 00000000..9bc05e86 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_revoke.3 @@ -0,0 +1,79 @@ +.TH MPIX_Comm_revoke 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_revoke \- Prevent a communicator from being used in the future +.SH SYNOPSIS +.nf +int MPIX_Comm_revoke(MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to revoke +.PD 1 + +.SH NOTES +Asynchronously notifies all MPI processes associated with the communicator +.I comm +\&. + +This will be manifest by returning the MPIX_ERR_REVOKED during a subsequent MPI +call. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPIX_Comm_shrink.3 b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_shrink.3 new file mode 100644 index 00000000..bb792c81 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPIX_Comm_shrink.3 @@ -0,0 +1,96 @@ +.TH MPIX_Comm_shrink 3 "6/5/2019" " " "MPI" +.SH NAME +MPIX_Comm_shrink \- Creates a new communitor from an existing communicator while excluding failed processes +.SH SYNOPSIS +.nf +int MPIX_Comm_shrink(MPI_Comm comm, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Abort.3 b/macx64/mpi/mpich/share/man/man3/MPI_Abort.3 new file mode 100644 index 00000000..67ba30fe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Abort.3 @@ -0,0 +1,104 @@ +.TH MPI_Abort 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Abort \- Terminates MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Abort(MPI_Comm comm, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator of tasks to abort +.PD 1 +.PD 0 +.TP +.B errorcode +- error code to return to invoking environment +.PD 1 + +.SH NOTES +Terminates all MPI processes associated with the communicator +.I comm +; in +most systems (all to date), terminates +.B all +processes. + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. +Because the +.I MPI_Abort +routine is intended to ensure that an MPI +process (and possibly an entire job), it cannot wait for a thread to +release a lock or other mechanism for atomic access. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Accumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Accumulate.3 new file mode 100644 index 00000000..d1622ff8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Accumulate.3 @@ -0,0 +1,171 @@ +.TH MPI_Accumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Accumulate \- Accumulate data into the target process using remote memory access +.SH SYNOPSIS +.nf +int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint + target_disp, int target_count, MPI_Datatype + target_datatype, MPI_Op op, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all +.I MPI_INT +or all +.I MPI_DOUBLE_PRECISION +). + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Raccumulate +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Add_error_class.3 b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_class.3 new file mode 100644 index 00000000..926a7cd1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_class.3 @@ -0,0 +1,88 @@ +.TH MPI_Add_error_class 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Add_error_class \- Add an MPI error class to the known classes +.SH SYNOPSIS +.nf +int MPI_Add_error_class(int *errorclass) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errorclass +- New error class +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Add_error_code.3 b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_code.3 new file mode 100644 index 00000000..1f27ffe8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_code.3 @@ -0,0 +1,95 @@ +.TH MPI_Add_error_code 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Add_error_code \- Add an MPI error code to an MPI error class +.SH SYNOPSIS +.nf +int MPI_Add_error_code(int errorclass, int *errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorclass +- Error class to add an error code. +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- New error code for this error class. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Add_error_string.3 b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_string.3 new file mode 100644 index 00000000..0ce90124 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Add_error_string.3 @@ -0,0 +1,105 @@ +.TH MPI_Add_error_string 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Add_error_string \- Associates an error string with an MPI error code or class +.SH SYNOPSIS +.nf +int MPI_Add_error_string(int errorcode, const char *string) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- error code or class (integer) +.PD 1 +.PD 0 +.TP +.B string +- text corresponding to errorcode (string) +.PD 1 + +.SH NOTES +The string must be no more than +.I MPI_MAX_ERROR_STRING +characters long. +The length of the string is as defined in the calling language. +The length of the string does not include the null terminator in C or C++. +Note that the string is +.I const +even though the MPI standard does not +specify it that way. + +According to the MPI-2 standard, it is erroneous to call +.I MPI_Add_error_string +for an error code or class with a value less than or equal +to +.I MPI_ERR_LASTCODE +\&. +Thus, you cannot replace the predefined error messages +with this routine. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Address.3 b/macx64/mpi/mpich/share/man/man3/MPI_Address.3 new file mode 100644 index 00000000..4c78b525 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Address.3 @@ -0,0 +1,111 @@ +.TH MPI_Address 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Address \- Gets the address of a location in memory +.SH SYNOPSIS +.nf +int MPI_Address(void *location, MPI_Aint * address) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B location +- location in caller memory (choice) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B address +- address of location (address integer) +.PD 1 + +.SH NOTE +This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C +.I & +operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Get_address +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Aint_add.3 b/macx64/mpi/mpich/share/man/man3/MPI_Aint_add.3 new file mode 100644 index 00000000..6cee7182 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Aint_add.3 @@ -0,0 +1,38 @@ +.TH MPI_Aint_add 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Aint_add \- Returns the sum of base and disp +.SH SYNOPSIS +.nf +MPI_Aint MPI_Aint_add(MPI_Aint base, MPI_Aint disp) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- base address (integer) +.PD 1 +.PD 0 +.TP +.B disp +- displacement (integer) +.PD 1 + +.SH RETURN VALUE +Sum of the base and disp argument + +.SH NOTES +MPI_Aint_Add produces a new MPI_Aint value that is equivalent to the sum of the +base and disp arguments, where base represents a base address returned by a call +to MPI_GET_ADDRESS and disp represents a signed integer displacement. The resulting +address is valid only at the process that generated base, and it must correspond +to a location in the same object referenced by base. The addition is performed in +a manner that results in the correct MPI_Aint representation of the output address, +as if the process that originally produced base had called: +.nf +MPI_Get_address((char *) base + disp, &result) +.fi + + +.SH SEE ALSO +MPI_Aint_diff +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Aint_diff.3 b/macx64/mpi/mpich/share/man/man3/MPI_Aint_diff.3 new file mode 100644 index 00000000..58daaa1f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Aint_diff.3 @@ -0,0 +1,39 @@ +.TH MPI_Aint_diff 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Aint_diff \- Returns the difference between addr1 and addr2 +.SH SYNOPSIS +.nf +MPI_Aint MPI_Aint_diff(MPI_Aint addr1, MPI_Aint addr2) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B addr1 +- minuend address (integer) +.PD 1 +.PD 0 +.TP +.B addr2 +- subtrahend address (integer) +.PD 1 + +.SH RETURN VALUE +Difference between addr1 and addr2 + +.SH NOTES +MPI_Aint_diff produces a new MPI_Aint value that is equivalent to the difference +between addr1 and addr2 arguments, where addr1 and addr2 represent addresses +returned by calls to MPI_GET_ADDRESS. The resulting address is valid only at the +process that generated addr1 and addr2, and addr1 and addr2 must correspond to +locations in the same object in the same process. The difference is calculated +in a manner that results the signed difference from addr1 to addr2, as if the +process that originally produced the addresses had called +.nf +(char *) addr1 - (char *) addr2 +.fi + +on the addresses initially passed to MPI_GET_ADDRESS. + +.SH SEE ALSO +MPI_Aint_add +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Allgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Allgather.3 new file mode 100644 index 00000000..154aa0e5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Allgather.3 @@ -0,0 +1,169 @@ +.TH MPI_Allgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Allgather \- Gathers data from all tasks and distribute the combined data to all tasks +.SH SYNOPSIS +.nf +int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from any process (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH NOTES +The MPI standard (1.0 and 1.1) says that +.br + +.br + +The jth block of data sent from each process is received by every process +and placed in the jth block of the buffer +.I recvbuf +\&. + +.br + +.br + +This is misleading; a better description is +.br + +.br + +The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer +.I recvbuf +\&. + +.br + +.br + +This text was suggested by Rajeev Thakur and has been adopted as a +clarification by the MPI Forum. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Allgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Allgatherv.3 new file mode 100644 index 00000000..622217b9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Allgatherv.3 @@ -0,0 +1,174 @@ +.TH MPI_Allgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Allgatherv \- Gathers data from all tasks and deliver the combined data to all tasks +.SH SYNOPSIS +.nf +int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int *recvcounts, const int *displs, + MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array (of length group size) +containing the number of elements that are to be received from each process +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry +.I i +specifies the displacement (relative to recvbuf) at +which to place the incoming data from process +.I i + +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH NOTES +The MPI standard (1.0 and 1.1) says that +.br + +.br + +The jth block of data sent from +each process is received by every process and placed in the jth block of the +buffer +.I recvbuf +\&. + +.br + +.br + +This is misleading; a better description is +.br + +.br + +The block of data sent from the jth process is received by every +process and placed in the jth block of the buffer +.I recvbuf +\&. + +.br + +.br + +This text was suggested by Rajeev Thakur, and has been adopted as a +clarification to the MPI standard by the MPI-Forum. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alloc_mem.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alloc_mem.3 new file mode 100644 index 00000000..6004f1f8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alloc_mem.3 @@ -0,0 +1,128 @@ +.TH MPI_Alloc_mem 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alloc_mem \- Allocate memory for message passing and RMA +.SH SYNOPSIS +.nf +int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, void *baseptr) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of memory segment in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B baseptr +- pointer to beginning of memory segment allocated +.PD 1 + +.SH NOTES +Using this routine from Fortran requires that the Fortran compiler accept +a common pointer extension. See Section 4.11 (Memory Allocation) in the +MPI-2 standard for more information and examples. + +Also note that while +.I baseptr +is a +.I void * +type, this is +simply to allow easy use of any pointer object for this parameter. +In fact, this argument is really a +.I void ** +type, that is, a +pointer to a pointer. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_NO_MEM +- Insufficient memory available for allocation by +.I MPI_Alloc_mem + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Allreduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Allreduce.3 new file mode 100644 index 00000000..138db559 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Allreduce.3 @@ -0,0 +1,163 @@ +.TH MPI_Allreduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Allreduce \- Combines values from all processes and distributes the result back to all processes +.SH SYNOPSIS +.nf +int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alltoall.3 new file mode 100644 index 00000000..bfebf0a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alltoall.3 @@ -0,0 +1,137 @@ +.TH MPI_Alltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alltoall \- Sends data from all to all processes +.SH SYNOPSIS +.nf +int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements to send to each process (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from any process (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallv.3 new file mode 100644 index 00000000..b76894a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallv.3 @@ -0,0 +1,161 @@ +.TH MPI_Alltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alltoallv \- Sends data from all to all processes; each process may send a different amount of data and provide displacements for the input and output data. +.SH SYNOPSIS +.nf +int MPI_Alltoallv(const void *sendbuf, const int *sendcounts, + const int *sdispls, MPI_Datatype sendtype, void *recvbuf, + const int *recvcounts, const int *rdispls, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- integer array equal to the group size +specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry +.I j +specifies the displacement (relative to sendbuf from +which to take the outgoing data destined for process +.I j + +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array equal to the group size +specifying the maximum number of elements that can be received from +each processor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry +.I i +specifies the displacement (relative to recvbuf at +which to place the incoming data from process +.I i + +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Alltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallw.3 new file mode 100644 index 00000000..9b194151 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Alltoallw.3 @@ -0,0 +1,164 @@ +.TH MPI_Alltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Alltoallw \- Generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +.SH SYNOPSIS +.nf +int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], + const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], + const MPI_Datatype recvtypes[], MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- integer array equal to the group size specifying the number of +elements to send to each processor (integer) +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry j specifies the +displacement in bytes (relative to sendbuf) from which to take the outgoing +data destined for process j +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length group size). Entry j specifies the +type of data to send to process j (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array equal to the group size specifying the number of +elements that can be received from each processor (integer) +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry i specifies the +displacement in bytes (relative to recvbuf) at which to place the incoming +data from process i +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length group size). Entry i specifies +the type of data received from process i (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Attr_delete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Attr_delete.3 new file mode 100644 index 00000000..97a1c9c6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Attr_delete.3 @@ -0,0 +1,109 @@ +.TH MPI_Attr_delete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Attr_delete \- Deletes an attribute value associated with a key on a communicator +.SH SYNOPSIS +.nf +int MPI_Attr_delete(MPI_Comm comm, int keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B keyval +- The key value of the deleted attribute (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_delete_attr +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Attr_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Attr_get.3 new file mode 100644 index 00000000..ef3847aa --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Attr_get.3 @@ -0,0 +1,157 @@ +.TH MPI_Attr_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Attr_get \- Retrieves attribute value by key +.SH SYNOPSIS +.nf +int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless +.I flag += false +.PD 1 +.PD 0 +.TP +.B flag +- true if an attribute value was extracted; false if no attribute is +associated with the key +.PD 1 + +.SH NOTES +Attributes must be extracted from the same language as they were inserted +in with +.I MPI_ATTR_PUT +\&. +The notes for C and Fortran below explain why. + +.SH NOTES FOR C +Even though the +.I attribute_val +argument is declared as +.I void * +, it is +really the address of a void pointer (i.e., a +.I void ** +). Using +a +.I void * +, however, is more in keeping with C idiom and allows the +pointer to be passed without additional casts. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_get_attr +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I attribute_val +in Fortran is a pointer to a Fortran integer, not +a pointer to a +.I void * +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 + +.SH SEE ALSO +MPI_Attr_put, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_get_attr +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Attr_put.3 b/macx64/mpi/mpich/share/man/man3/MPI_Attr_put.3 new file mode 100644 index 00000000..e2b73d62 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Attr_put.3 @@ -0,0 +1,159 @@ +.TH MPI_Attr_put 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Attr_put \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B keyval +- key value, as returned by +.I MPI_KEYVAL_CREATE +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES +Values of the permanent attributes +.I MPI_TAG_UB +, +.I MPI_HOST +, +.I MPI_IO +, +.I MPI_WTIME_IS_GLOBAL +, +.I MPI_UNIVERSE_SIZE +, +.I MPI_LASTUSEDCODE +, and +.I MPI_APPNUM +may not be changed. + +The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer ( +.I void * +); in Fortran, +it is a single +integer ( +.B not +a pointer, since Fortran has no pointers and there are systems +for which a pointer does not fit in an integer (e.g., any > 32 bit address +system that uses 64 bits for Fortran +.I DOUBLE PRECISION +). + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_set_attr +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Attr_get, MPI_Keyval_create, MPI_Attr_delete, MPI_Comm_set_attr +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 b/macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 new file mode 100644 index 00000000..6771c409 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Barrier.3 @@ -0,0 +1,93 @@ +.TH MPI_Barrier 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Barrier \- Blocks until all processes in the communicator have reached this routine. +.SH SYNOPSIS +.nf +int MPI_Barrier(MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +Blocks the caller until all processes in the communicator have called it; +that is, the call returns at any process only after all members of the +communicator have entered the call. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 b/macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 new file mode 100644 index 00000000..5de329ee --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Bcast.3 @@ -0,0 +1,138 @@ +.TH MPI_Bcast 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Bcast \- Broadcasts a message from the process with rank "root" to all other processes of the communicator +.SH SYNOPSIS +.nf +int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B buffer +- starting address of buffer (choice) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of entries in buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of buffer (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of broadcast root (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ROOT +- Invalid root. The root must be specified as a rank in the +communicator. Ranks must be between zero and the size of the communicator +minus one. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 new file mode 100644 index 00000000..331f1c32 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Bsend.3 @@ -0,0 +1,209 @@ +.TH MPI_Bsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Bsend \- Basic send with user-provided buffering +.SH SYNOPSIS +.nf +int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +This send is provided as a convenience function; it allows the user to +send messages without worring about where they are buffered (because the +user +.B must +have provided buffer space with +.I MPI_Buffer_attach +). + +In deciding how much buffer space to allocate, remember that the buffer space +is not available for reuse by subsequent +.I MPI_Bsend +s unless you are certain +that the message +has been received (not just that it should have been received). For example, +this code does not allocate enough buffer space +.nf +MPI_Buffer_attach(b, n*sizeof(double) + MPI_BSEND_OVERHEAD); +for (i=0; i 0: upwards shift, < 0: downwards shift) (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B rank_source +- rank of source process (integer) +.PD 1 +.PD 0 +.TP +.B rank_dest +- rank of destination process (integer) +.PD 1 + +.SH NOTES +The +.I direction +argument is in the range +.I [0,n-1] +for an n-dimensional +Cartesian mesh. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Cart_sub.3 b/macx64/mpi/mpich/share/man/man3/MPI_Cart_sub.3 new file mode 100644 index 00000000..ace6278d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Cart_sub.3 @@ -0,0 +1,125 @@ +.TH MPI_Cart_sub 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Cart_sub \- Partitions a communicator into subgroups which form lower-dimensional cartesian subgrids +.SH SYNOPSIS +.nf +int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with cartesian structure (handle) +.PD 1 +.PD 0 +.TP +.B remain_dims +- the +.I i +th entry of remain_dims specifies whether the +.I i +th +dimension is kept in the subgrid (true) or is dropped (false) (logical +vector) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- communicator containing the subgrid that includes the calling +process (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Cartdim_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Cartdim_get.3 new file mode 100644 index 00000000..7ca0fd9d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Cartdim_get.3 @@ -0,0 +1,100 @@ +.TH MPI_Cartdim_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Cartdim_get \- Retrieves Cartesian topology information associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Cartdim_get(MPI_Comm comm, int *ndims) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with cartesian structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B ndims +- number of dimensions of the cartesian structure (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Close_port.3 b/macx64/mpi/mpich/share/man/man3/MPI_Close_port.3 new file mode 100644 index 00000000..6dc6c7a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Close_port.3 @@ -0,0 +1,86 @@ +.TH MPI_Close_port 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Close_port \- close port +.SH SYNOPSIS +.nf +int MPI_Close_port(const char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_accept.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_accept.3 new file mode 100644 index 00000000..0b2b1642 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_accept.3 @@ -0,0 +1,116 @@ +.TH MPI_Comm_accept 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_accept \- Accept a request to form a new intercommunicator +.SH SYNOPSIS +.nf +int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B port_name +- port name (string, used only on root) +.PD 1 +.PD 0 +.TP +.B info +- implementation-dependent information (handle, used only on root) +.PD 1 +.PD 0 +.TP +.B root +- rank in comm of root node (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator over which call is collective (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- intercommunicator with client as remote group (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_call_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_call_errhandler.3 new file mode 100644 index 00000000..b85a9518 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_call_errhandler.3 @@ -0,0 +1,105 @@ +.TH MPI_Comm_call_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_call_errhandler \- Call the error handler installed on a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with error handler (handle) +.PD 1 +.PD 0 +.TP +.B errorcode +- error code (integer) +.PD 1 + +.SH NOTE +Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_compare.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_compare.3 new file mode 100644 index 00000000..ca6e5c7d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_compare.3 @@ -0,0 +1,134 @@ +.TH MPI_Comm_compare 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_compare \- Compares two communicators +.SH SYNOPSIS +.nf +int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm1 +- comm1 (handle) +.PD 1 +.PD 0 +.TP +.B comm2 +- comm2 (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B result +- integer which is +.I MPI_IDENT +if the contexts and groups are the +same, +.I MPI_CONGRUENT +if different contexts but identical groups, +.I MPI_SIMILAR +if different contexts but similar groups, and +.I MPI_UNEQUAL +otherwise +.PD 1 + +.SH USING 'MPI_COMM_NULL' WITH 'MPI_COMM_COMPARE' + +It is an error to use +.I MPI_COMM_NULL +as one of the arguments to +.I MPI_Comm_compare +\&. +The relevant sections of the MPI standard are + +\&. +(2.4.1 Opaque Objects) +A null handle argument is an erroneous +.I IN +argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. + +\&. +(5.4.1. Communicator Accessors) +where there is no text in +.I MPI_COMM_COMPARE +allowing a null handle. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +(To perform the communicator comparisions, this routine may need to +allocate some memory. Memory allocation is not interrupt-safe, and hence +this routine is only thread-safe.) + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_connect.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_connect.3 new file mode 100644 index 00000000..0cf25f14 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_connect.3 @@ -0,0 +1,121 @@ +.TH MPI_Comm_connect 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_connect \- Make a request to form a new intercommunicator +.SH SYNOPSIS +.nf +int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, MPI_Comm comm, + MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B port_name +- network address (string, used only on root) +.PD 1 +.PD 0 +.TP +.B info +- implementation-dependent information (handle, used only on root) +.PD 1 +.PD 0 +.TP +.B root +- rank in comm of root node (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator over which call is collective (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- intercommunicator with server as remote group (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_PORT +- +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create.3 new file mode 100644 index 00000000..43a23e2b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create.3 @@ -0,0 +1,111 @@ +.TH MPI_Comm_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create \- Creates a new communicator +.SH SYNOPSIS +.nf +int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B group +- group, which is a subset of the group of +.I comm +(handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_errhandler.3 new file mode 100644 index 00000000..db71ee88 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_errhandler.3 @@ -0,0 +1,109 @@ +.TH MPI_Comm_create_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create_errhandler \- Create a communicator error handler +.SH SYNOPSIS +.nf +int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function * comm_errhandler_fn, + MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_errhandler_fn +- user defined error handling procedure (function) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH ERROR HANDLER +The error handler function should be of the form + +void MPI_Comm_errhandler_function(MPI_Comm *comm, int *rc); + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_group.3 new file mode 100644 index 00000000..20714856 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_group.3 @@ -0,0 +1,116 @@ +.TH MPI_Comm_create_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create_group \- Creates a new communicator +.SH SYNOPSIS +.nf +int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B group +- group, which is a subset of the group of +.I comm +(handle) +.PD 1 +.PD 0 +.TP +.B tag +- safe tag unused by other communication +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_keyval.3 new file mode 100644 index 00000000..0cccc337 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_create_keyval.3 @@ -0,0 +1,147 @@ +.TH MPI_Comm_create_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_create_keyval \- Create a new attribute key +.SH SYNOPSIS +.nf +int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function * comm_copy_attr_fn, + MPI_Comm_delete_attr_function * comm_delete_attr_fn, + int *comm_keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_copy_attr_fn +- Copy callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B comm_delete_attr_fn +- Delete callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B extra_state +- Extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES +Key values are global (available for any and all communicators). + +Default copy and delete functions are available. These are +.PD 0 +.TP +.B MPI_COMM_NULL_COPY_FN +- empty copy function +.PD 1 +.PD 0 +.TP +.B MPI_COMM_NULL_DELETE_FN +- empty delete function +.PD 1 +.PD 0 +.TP +.B MPI_COMM_DUP_FN +- simple dup function +.PD 1 + +There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language from which +.I MPI_Comm_create_keyval +is called. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. + + +.SH RETURN VALUE FROM ATTRIBUTE CALLBACKS +The MPI-2 versions of the attribute callbacks should return either +.I MPI_SUCCESS +on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines +.I MPI_Add_error_class +and +.I MPI_Add_error_code +that allow the +user to define and use MPI error codes and classes. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_delete_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_delete_attr.3 new file mode 100644 index 00000000..426a72e3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_delete_attr.3 @@ -0,0 +1,103 @@ +.TH MPI_Comm_delete_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_delete_attr \- Deletes an attribute value associated with a key on a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B comm_keyval +- The key value of the deleted attribute (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Comm_set_attr, MPI_Comm_create_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_disconnect.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_disconnect.3 new file mode 100644 index 00000000..db93adf1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_disconnect.3 @@ -0,0 +1,99 @@ +.TH MPI_Comm_disconnect 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_disconnect \- Disconnect from a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_disconnect(MPI_Comm * comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +This routine waits for all pending communication to complete, then frees the +communicator and sets +.I comm +to +.I MPI_COMM_NULL +\&. +It may not be called +with +.I MPI_COMM_WORLD +or +.I MPI_COMM_SELF +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Comm_connect, MPI_Comm_join +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup.3 new file mode 100644 index 00000000..c95549fc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup.3 @@ -0,0 +1,133 @@ +.TH MPI_Comm_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_dup \- Duplicates an existing communicator with all its cached information +.SH SYNOPSIS +.nf +int MPI_Comm_dup(MPI_Comm comm, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to be duplicated (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- A new communicator over the same group as +.I comm +but with a new +context. See notes. (handle) +.PD 1 + +.SH NOTES +This routine is used to create a new communicator that has a new +communication context but contains the same group of processes as +the input communicator. Since all MPI communication is performed +within a communicator (specifies as the group of processes +.B plus +the context), this routine provides an effective way to create a +private communicator for use by a software module or library. In +particular, no library routine should use +.I MPI_COMM_WORLD +as the +communicator; instead, a duplicate of a user-specified communicator +should always be used. For more information, see Using MPI, 2nd +edition. + +Because this routine essentially produces a copy of a communicator, +it also copies any attributes that have been defined on the input +communicator, using the attribute copy function specified by the +.I copy_function +argument to +.I MPI_Keyval_create +\&. +This is +particularly useful for (a) attributes that describe some property +of the group associated with the communicator, such as its +interconnection topology and (b) communicators that are given back +to the user; the attibutes in this case can track subsequent +.I MPI_Comm_dup +operations on this communicator. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + +.SH SEE ALSO +MPI_Comm_free, MPI_Keyval_create, MPI_Attr_put, MPI_Attr_delete, +.br +MPI_Comm_create_keyval, MPI_Comm_set_attr, MPI_Comm_delete_attr diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup_with_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup_with_info.3 new file mode 100644 index 00000000..b1cbe78e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_dup_with_info.3 @@ -0,0 +1,115 @@ +.TH MPI_Comm_dup_with_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_dup_with_info \- Duplicates an existing communicator with all its cached information +.SH SYNOPSIS +.nf +int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to be duplicated (handle) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- A new communicator over the same group as +.I comm +but with a new +context. See notes. (handle) +.PD 1 + +.SH NOTES +MPI_COMM_DUP_WITH_INFO behaves exactly as MPI_COMM_DUP except that +the info hints associated with the communicator comm are not +duplicated in newcomm. The hints provided by the argument info are +associated with the output communicator newcomm instead. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + +.SH SEE ALSO +MPI_Comm_dup, MPI_Comm_free, MPI_Keyval_create, +.br +MPI_Attr_put, MPI_Attr_delete, MPI_Comm_create_keyval, +MPI_Comm_set_attr, MPI_Comm_delete_attr diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free.3 new file mode 100644 index 00000000..bd7521e7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free.3 @@ -0,0 +1,118 @@ +.TH MPI_Comm_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_free \- Marks the communicator object for deallocation +.SH SYNOPSIS +.nf +int MPI_Comm_free(MPI_Comm * comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to be destroyed (handle) +.PD 1 + +.SH NOTES +This routine +.B frees +a communicator. Because the communicator may still +be in use by other MPI routines, the actual communicator storage will not +be freed until all references to this communicator are removed. For most +users, the effect of this routine is the same as if it was in fact freed +at this time of this call. + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +.SH DISALLOWS FREEING A NULL COMMUNICATOR. THE TEXT FROM THE STANDARD IS +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_free_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free_keyval.3 new file mode 100644 index 00000000..c8f0035f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_free_keyval.3 @@ -0,0 +1,97 @@ +.TH MPI_Comm_free_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_free_keyval \- Frees an attribute key for communicators +.SH SYNOPSIS +.nf +int MPI_Comm_free_keyval(int *comm_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_keyval +- Frees the integer key value (integer) +.PD 1 + +.SH NOTES +Key values are global (they can be used with any and all communicators) + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_attr.3 new file mode 100644 index 00000000..b2d8de92 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_attr.3 @@ -0,0 +1,130 @@ +.TH MPI_Comm_get_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_attr \- Retrieves attribute value by key +.SH SYNOPSIS +.nf +int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B comm_keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless +.I flag += false +.PD 1 +.PD 0 +.TP +.B flag +- true if an attribute value was extracted; false if no attribute is +associated with the key +.PD 1 + +.SH NOTES +Attributes must be extracted from the same language as they were inserted +in with +.I MPI_Comm_set_attr +\&. +The notes for C and Fortran below explain +why. + +.SH NOTES FOR C +Even though the +.I attr_value +argument is declared as +.I void * +, it is +really the address of a void pointer. See the rationale in the +standard for more details. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_errhandler.3 new file mode 100644 index 00000000..073d9a21 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_errhandler.3 @@ -0,0 +1,103 @@ +.TH MPI_Comm_get_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_errhandler \- Get the error handler attached to a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- handler currently associated with communicator (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_info.3 new file mode 100644 index 00000000..6e0cf74b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_info.3 @@ -0,0 +1,107 @@ +.TH MPI_Comm_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_info \- Returns a new info object containing the hints of the communicator associated with comm. The current setting of all hints actually used by the system related to this communicator is returned in info_used. If no such hints exist, a handle to a newly created info object is returned that contains no key/value pair. The user is responsible for freeing info_used via MPI_INFO_FREE. +.SH SYNOPSIS +.nf +int MPI_Comm_get_info(MPI_Comm comm, MPI_Info * info_used) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info_used +- new info argument (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_name.3 new file mode 100644 index 00000000..131b1e00 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_name.3 @@ -0,0 +1,121 @@ +.TH MPI_Comm_get_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_name \- Return the print name from the communicator +.SH SYNOPSIS +.nf +int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator to get name of (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_name +- On output, contains the name of the communicator. It must +be an array of size at least +.I MPI_MAX_OBJECT_NAME +\&. + +.PD 1 +.PD 0 +.TP +.B resultlen +- Number of characters in name +.PD 1 + +.SH NOTES + +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_parent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_parent.3 new file mode 100644 index 00000000..54189db3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_get_parent.3 @@ -0,0 +1,114 @@ +.TH MPI_Comm_get_parent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_get_parent \- Return the parent communicator for this process +.SH SYNOPSIS +.nf +int MPI_Comm_get_parent(MPI_Comm * parent) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B parent +- the parent communicator (handle) +.PD 1 + +.SH NOTES + +If a process was started with +.I MPI_Comm_spawn +or +.I MPI_Comm_spawn_multiple +, +.I MPI_Comm_get_parent +returns the parent intercommunicator of the current +process. This parent intercommunicator is created implicitly inside of +.I MPI_Init +and is the same intercommunicator returned by +.I MPI_Comm_spawn +in the parents. + +If the process was not spawned, +.I MPI_Comm_get_parent +returns +.I MPI_COMM_NULL +\&. + + +After the parent communicator is freed or disconnected, +.I MPI_Comm_get_parent +returns +.I MPI_COMM_NULL +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_group.3 new file mode 100644 index 00000000..69981c84 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_group.3 @@ -0,0 +1,103 @@ +.TH MPI_Comm_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_group \- Accesses the group associated with given communicator +.SH SYNOPSIS +.nf +int MPI_Comm_group(MPI_Comm comm, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- Group in communicator (handle) +.PD 1 + +.SH NOTES +Because MPI specifies that null objects (e.g., +.I MPI_COMM_NULL +) are invalid +as input to MPI routines unless otherwise specified, using +.I MPI_COMM_NULL +as input to this routine is an error. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_idup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_idup.3 new file mode 100644 index 00000000..15874ea1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_idup.3 @@ -0,0 +1,87 @@ +.TH MPI_Comm_idup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_idup \- nonblocking communicator duplication +.SH SYNOPSIS +.nf +int MPI_Comm_idup(MPI_Comm comm, MPI_Comm * newcomm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- copy of comm (handle) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_join.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_join.3 new file mode 100644 index 00000000..92903a8a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_join.3 @@ -0,0 +1,109 @@ +.TH MPI_Comm_join 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_join \- Create a communicator by joining two processes connected by a socket. +.SH SYNOPSIS +.nf +int MPI_Comm_join(int fd, MPI_Comm * intercomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fd +- socket file descriptor +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- new intercommunicator (handle) +.PD 1 + +.SH NOTES +The socket must be quiescent before +.I MPI_COMM_JOIN +is called and after +.I MPI_COMM_JOIN +returns. More specifically, on entry to +.I MPI_COMM_JOIN +, a +read on the socket will not read any data that was written to the socket +before the remote process called +.I MPI_COMM_JOIN +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_rank.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_rank.3 new file mode 100644 index 00000000..11bfe2a3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_rank.3 @@ -0,0 +1,94 @@ +.TH MPI_Comm_rank 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_rank \- Determines the rank of the calling process in the communicator +.SH SYNOPSIS +.nf +int MPI_Comm_rank(MPI_Comm comm, int *rank) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of the calling process in the group of +.I comm +(integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_group.3 new file mode 100644 index 00000000..ff0875c7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_group.3 @@ -0,0 +1,102 @@ +.TH MPI_Comm_remote_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_remote_group \- Accesses the remote group associated with the given inter-communicator +.SH SYNOPSIS +.nf +int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- Communicator (must be an intercommunicator) (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- remote group of communicator (handle) +.PD 1 + +.SH NOTES +The user is responsible for freeing the group when it is no longer needed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_size.3 new file mode 100644 index 00000000..fe168a0c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_remote_size.3 @@ -0,0 +1,102 @@ +.TH MPI_Comm_remote_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_remote_size \- Determines the size of the remote group associated with an inter-communictor +.SH SYNOPSIS +.nf +int MPI_Comm_remote_size(MPI_Comm comm, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- number of processes in the remote group of +.I comm +(integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_attr.3 new file mode 100644 index 00000000..50a0b7bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_attr.3 @@ -0,0 +1,142 @@ +.TH MPI_Comm_set_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_attr \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B comm_keyval +- key value, as returned by +.I MPI_Comm_create_keyval +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES +Values of the permanent attributes +.I MPI_TAG_UB +, +.I MPI_HOST +, +.I MPI_IO +, +.I MPI_WTIME_IS_GLOBAL +, +.I MPI_UNIVERSE_SIZE +, +.I MPI_LASTUSEDCODE +, and +.I MPI_APPNUM +may not be changed. + +The type of the attribute value depends on whether C, C++, or Fortran +is being used. +In C and C++, an attribute value is a pointer ( +.I void * +); in Fortran, it is an +address-sized integer. + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Comm_create_keyval, MPI_Comm_delete_attr +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_errhandler.3 new file mode 100644 index 00000000..ca1009fe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_errhandler.3 @@ -0,0 +1,113 @@ +.TH MPI_Comm_set_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_errhandler \- Set the error handler for a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new error handler for communicator (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Comm_get_errhandler, MPI_Comm_call_errhandler +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_info.3 new file mode 100644 index 00000000..7815b509 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_info.3 @@ -0,0 +1,105 @@ +.TH MPI_Comm_set_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_info \- Set new values for the hints of the communicator associated with comm. The call is collective on the group of comm. The info object may be different on each process, but any info entries that an implementation requires to be the same on all processes must appear with the same value in each process' info object. +.SH SYNOPSIS +.nf +int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator object (handle) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_name.3 new file mode 100644 index 00000000..b4011da0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_set_name.3 @@ -0,0 +1,101 @@ +.TH MPI_Comm_set_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_set_name \- Sets the print name for a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to name (handle) +.PD 1 +.PD 0 +.TP +.B comm_name +- Name for communicator +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_size.3 new file mode 100644 index 00000000..28439fa6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_size.3 @@ -0,0 +1,117 @@ +.TH MPI_Comm_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_size \- Determines the size of the group associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Comm_size(MPI_Comm comm, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- number of processes in the group of +.I comm +(integer) +.PD 1 + +.SH NOTES + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn.3 new file mode 100644 index 00000000..2ff91b85 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn.3 @@ -0,0 +1,147 @@ +.TH MPI_Comm_spawn 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_spawn \- Spawn up to maxprocs instances of a single MPI application +.SH SYNOPSIS +.nf +int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, + int root, MPI_Comm comm, MPI_Comm * intercomm, int array_of_errcodes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B command +- name of program to be spawned (string, significant only at root) +.PD 1 +.PD 0 +.TP +.B argv +- arguments to command (array of strings, significant only at root) +.PD 1 +.PD 0 +.TP +.B maxprocs +- maximum number of processes to start (integer, significant only +at root) +.PD 1 +.PD 0 +.TP +.B info +- a set of key-value pairs telling the runtime system where and how +to start the processes (handle, significant only at root) +.PD 1 +.PD 0 +.TP +.B root +- rank of process in which previous arguments are examined (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator containing group of spawning processes (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- intercommunicator between original group and the +newly spawned group (handle) +.PD 1 +.PD 0 +.TP +.B array_of_errcodes +- one code per process (array of integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SPAWN +- +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn_multiple.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn_multiple.3 new file mode 100644 index 00000000..5e1cf7df --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_spawn_multiple.3 @@ -0,0 +1,148 @@ +.TH MPI_Comm_spawn_multiple 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_spawn_multiple \- short description +.SH SYNOPSIS +.nf +int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], + char **array_of_argv[], const int array_of_maxprocs[], + const MPI_Info array_of_info[], int root, MPI_Comm comm, + MPI_Comm * intercomm, int array_of_errcodes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of commands (positive integer, significant to MPI only at +root +.PD 1 +.PD 0 +.TP +.B array_of_commands +- programs to be executed (array of strings, significant +only at root) +.PD 1 +.PD 0 +.TP +.B array_of_argv +- arguments for commands (array of array of strings, +significant only at root) +.PD 1 +.PD 0 +.TP +.B array_of_maxprocs +- maximum number of processes to start for each command +(array of integer, significant only at root) +.PD 1 +.PD 0 +.TP +.B array_of_info +- info objects telling the runtime system where and how to +start processes (array of handles, significant only at root) +.PD 1 +.PD 0 +.TP +.B root +- rank of process in which previous arguments are examined (integer) +.PD 1 +.PD 0 +.TP +.B comm +- intracommunicator containing group of spawning processes (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- intercommunicator between original group and newly spawned group +(handle) +.PD 1 +.PD 0 +.TP +.B array_of_errcodes +- one error code per process (array of integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SPAWN +- +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3 new file mode 100644 index 00000000..6400859c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split.3 @@ -0,0 +1,135 @@ +.TH MPI_Comm_split 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_split \- Creates new communicators based on colors and keys +.SH SYNOPSIS +.nf +int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B color +- control of subset assignment (nonnegative integer). Processes +with the same color are in the same new communicator +.PD 1 +.PD 0 +.TP +.B key +- control of rank assignment (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH NOTES +The +.I color +must be non-negative or +.I MPI_UNDEFINED +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ALGORITHM +.nf +1. Use MPI_Allgather to get the color and key from each process +2. Count the number of processes with the same color; create a +communicator with that many processes. If this process has +.I MPI_UNDEFINED +as the color, create a process with a single member. +3. Use key to order the ranks +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_split_type.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split_type.3 new file mode 100644 index 00000000..3bda4853 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_split_type.3 @@ -0,0 +1,128 @@ +.TH MPI_Comm_split_type 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_split_type \- Creates new communicators based on split types and keys +.SH SYNOPSIS +.nf +int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm * newcomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B split_type +- type of processes to be grouped together (nonnegative integer). +.PD 1 +.PD 0 +.TP +.B key +- control of rank assignment (integer) +.PD 1 +.PD 0 +.TP +.B info +- hints to improve communicator creation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newcomm +- new communicator (handle) +.PD 1 + +.SH NOTES +The +.I split_type +must be non-negative or +.I MPI_UNDEFINED +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Comm_test_inter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Comm_test_inter.3 new file mode 100644 index 00000000..71d30023 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Comm_test_inter.3 @@ -0,0 +1,100 @@ +.TH MPI_Comm_test_inter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Comm_test_inter \- Tests to see if a comm is an inter-communicator +.SH SYNOPSIS +.nf +int MPI_Comm_test_inter(MPI_Comm comm, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to test (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if this is an inter-communicator(logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Compare_and_swap.3 b/macx64/mpi/mpich/share/man/man3/MPI_Compare_and_swap.3 new file mode 100644 index 00000000..06f53bf3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Compare_and_swap.3 @@ -0,0 +1,177 @@ +.TH MPI_Compare_and_swap 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Compare_and_swap \- Perform one-sided atomic compare-and-swap. +.SH SYNOPSIS +.nf +int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win) +.fi + +This function compares one element of type datatype in the compare buffer +compare_addr with the buffer at offset target_disp in the target window +specified by target_rank and win and replaces the value at the target with the +value in the origin buffer origin_addr if the compare buffer and the target +buffer are identical. The original value at the target is returned in the +buffer result_addr. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B compare_addr +- initial address of compare buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of the entry in origin, result, and target buffers (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This operation is atomic with respect to other "accumulate" operations. + +The parameter datatype must belong to one of the following categories of +predefined datatypes: C integer, Fortran integer, Logical, Multi-language +types, or Byte as specified in Section 5.9.2 on page 176. The origin and result +buffers (origin_addr and result_addr) must be disjoint. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dims_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dims_create.3 new file mode 100644 index 00000000..eefe125b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dims_create.3 @@ -0,0 +1,98 @@ +.TH MPI_Dims_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dims_create \- Creates a division of processors in a cartesian grid +.SH SYNOPSIS +.nf +int MPI_Dims_create(int nnodes, int ndims, int dims[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B nnodes +- number of nodes in a grid (integer) +.PD 1 +.PD 0 +.TP +.B ndims +- number of cartesian dimensions (integer) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B dims +- integer array of size +.I ndims +specifying the number of nodes in each +dimension. A value of 0 indicates that +.I MPI_Dims_create +should fill in a +suitable value. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create.3 new file mode 100644 index 00000000..a997bf4c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create.3 @@ -0,0 +1,146 @@ +.TH MPI_Dist_graph_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_create \- MPI_DIST_GRAPH_CREATE returns a handle to a new communicator to which the distributed graph topology information is attached. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int sources[], + const int degrees[], const int destinations[], + const int weights[], + MPI_Info info, int reorder, MPI_Comm * comm_dist_graph) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_old +- input communicator (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of source nodes for which this process specifies edges +(non-negative integer) +.PD 1 +.PD 0 +.TP +.B sources +- array containing the n source nodes for which this process +specifies edges (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B degrees +- array specifying the number of destinations for each source node +in the source node array (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destinations +- destination nodes for the source nodes in the source node +array (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B weights +- weights for source to destination edges (array of non-negative +integers or MPI_UNWEIGHTED) +.PD 1 +.PD 0 +.TP +.B info +- hints on optimization and interpretation of weights (handle) +.PD 1 +.PD 0 +.TP +.B reorder +- the process may be reordered (true) or not (false) (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_dist_graph +- communicator with distributed graph topology added (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create_adjacent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create_adjacent.3 new file mode 100644 index 00000000..7acb382d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_create_adjacent.3 @@ -0,0 +1,152 @@ +.TH MPI_Dist_graph_create_adjacent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_create_adjacent \- returns a handle to a new communicator to which the distributed graph topology information is attached. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, + int indegree, const int sources[], + const int sourceweights[], + int outdegree, const int destinations[], + const int destweights[], + MPI_Info info, int reorder, MPI_Comm * comm_dist_graph) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_old +- input communicator (handle) +.PD 1 +.PD 0 +.TP +.B indegree +- size of sources and sourceweights arrays (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sources +- ranks of processes for which the calling process is a +destination (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B sourceweights +- weights of the edges into the calling +process (array of non-negative integers or MPI_UNWEIGHTED) +.PD 1 +.PD 0 +.TP +.B outdegree +- size of destinations and destweights arrays (non-negative integer) +.PD 1 +.PD 0 +.TP +.B destinations +- ranks of processes for which the calling process is a +source (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destweights +- weights of the edges out of the calling process +(array of non-negative integers or MPI_UNWEIGHTED) +.PD 1 +.PD 0 +.TP +.B info +- hints on optimization and interpretation of weights (handle) +.PD 1 +.PD 0 +.TP +.B reorder +- the ranks may be reordered (true) or not (false) (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_dist_graph +- communicator with distributed graph topology (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors.3 new file mode 100644 index 00000000..82172ceb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors.3 @@ -0,0 +1,114 @@ +.TH MPI_Dist_graph_neighbors 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_neighbors \- Provides adjacency information for a distributed graph topology. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_neighbors(MPI_Comm comm, + int maxindegree, int sources[], int sourceweights[], + int maxoutdegree, int destinations[], int destweights[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with distributed graph topology (handle) +.PD 1 +.PD 0 +.TP +.B maxindegree +- size of sources and sourceweights arrays (non-negative integer) +.PD 1 +.PD 0 +.TP +.B maxoutdegree +- size of destinations and destweights arrays (non-negative integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B sources +- processes for which the calling process is a destination (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B sourceweights +- weights of the edges into the calling process (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destinations +- processes for which the calling process is a source (array of non-negative integers) +.PD 1 +.PD 0 +.TP +.B destweights +- weights of the edges out of the calling process (array of non-negative integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors_count.3 b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors_count.3 new file mode 100644 index 00000000..24f1b5ed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Dist_graph_neighbors_count.3 @@ -0,0 +1,97 @@ +.TH MPI_Dist_graph_neighbors_count 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Dist_graph_neighbors_count \- Provides adjacency information for a distributed graph topology. +.SH SYNOPSIS +.nf +int MPI_Dist_graph_neighbors_count(MPI_Comm comm, int *indegree, int *outdegree, int *weighted) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with distributed graph topology (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indegree +- number of edges into this process (non-negative integer) +.PD 1 +.PD 0 +.TP +.B outdegree +- number of edges out of this process (non-negative integer) +.PD 1 +.PD 0 +.TP +.B weighted +- false if MPI_UNWEIGHTED was supplied during creation, true otherwise (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_create.3 new file mode 100644 index 00000000..9b71b84c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_create.3 @@ -0,0 +1,119 @@ +.TH MPI_Errhandler_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_create \- Creates an MPI-style errorhandler +.SH SYNOPSIS +.nf +int MPI_Errhandler_create(MPI_Handler_function * function, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B function +- user defined error handling procedure +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH NOTES +The MPI Standard states that an implementation may make the output value +(errhandler) simply the address of the function. However, the action of +.I MPI_Errhandler_free +makes this impossible, since it is required to set the +value of the argument to +.I MPI_ERRHANDLER_NULL +\&. +In addition, the actual +error handler must remain until all communicators that use it are +freed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement routine for this function is +.I MPI_Comm_create_errhandler +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Comm_create_errhandler, MPI_Errhandler_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_free.3 new file mode 100644 index 00000000..dd48631a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_free.3 @@ -0,0 +1,91 @@ +.TH MPI_Errhandler_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_free \- Frees an MPI-style errorhandler +.SH SYNOPSIS +.nf +int MPI_Errhandler_free(MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle). Set to +.I MPI_ERRHANDLER_NULL +on +exit. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_get.3 new file mode 100644 index 00000000..2ed5df06 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_get.3 @@ -0,0 +1,123 @@ +.TH MPI_Errhandler_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_get \- Gets the error handler for a communicator +.SH SYNOPSIS +.nf +int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to get the error handler from (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler currently associated with communicator +(handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTE ON IMPLEMENTATION + +The MPI Standard was unclear on whether this routine required the user to call +.I MPI_Errhandler_free +once for each call made to this routine in order to +free the error handler. After some debate, the MPI Forum added an explicit +statement that users are required to call +.I MPI_Errhandler_free +when the +return value from this routine is no longer needed. This behavior is similar +to the other MPI routines for getting objects; for example, +.I MPI_Comm_group +requires that the user call +.I MPI_Group_free +when the group returned +by +.I MPI_Comm_group +is no longer needed. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_set.3 b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_set.3 new file mode 100644 index 00000000..b679ea1f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Errhandler_set.3 @@ -0,0 +1,115 @@ +.TH MPI_Errhandler_set 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Errhandler_set \- Sets the error handler for a communicator +.SH SYNOPSIS +.nf +int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator to set the error handler for (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new MPI error handler for communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_set_errhandler +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Comm_set_errhandler, MPI_Errhandler_create, MPI_Comm_create_errhandler +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Error_class.3 b/macx64/mpi/mpich/share/man/man3/MPI_Error_class.3 new file mode 100644 index 00000000..7adc1813 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Error_class.3 @@ -0,0 +1,86 @@ +.TH MPI_Error_class 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Error_class \- Converts an error code into an error class +.SH SYNOPSIS +.nf +int MPI_Error_class(int errorcode, int *errorclass) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- Error code returned by an MPI routine +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errorclass +- Error class associated with +.I errorcode + +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Error_string.3 b/macx64/mpi/mpich/share/man/man3/MPI_Error_string.3 new file mode 100644 index 00000000..2142e7b0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Error_string.3 @@ -0,0 +1,108 @@ +.TH MPI_Error_string 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Error_string \- Return a string for a given error code +.SH SYNOPSIS +.nf +int MPI_Error_string(int errorcode, char *string, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B errorcode +- Error code returned by an MPI routine or an MPI error class +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B string +- Text that corresponds to the errorcode +.PD 1 +.PD 0 +.TP +.B resultlen +- Length of string +.PD 1 + +Notes: Error codes are the values return by MPI routines (in C) or in the +.I ierr +argument (in Fortran). These can be converted into error classes +with the routine +.I MPI_Error_class +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 new file mode 100644 index 00000000..5a5e775e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Exscan.3 @@ -0,0 +1,174 @@ +.TH MPI_Exscan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Exscan \- Computes the exclusive scan (partial reductions) of data on a collection of processes +.SH SYNOPSIS +.nf +int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH NOTES +.I MPI_Exscan +is like +.I MPI_Scan +, except that the contribution from the +calling process is not included in the result at the calling process +(it is contributed to the subsequent processes, of course). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Fetch_and_op.3 b/macx64/mpi/mpich/share/man/man3/MPI_Fetch_and_op.3 new file mode 100644 index 00000000..ede6298d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Fetch_and_op.3 @@ -0,0 +1,196 @@ +.TH MPI_Fetch_and_op 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Fetch_and_op \- Perform one-sided read-modify-write. +.SH SYNOPSIS +.nf +int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, + MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, + MPI_Op op, MPI_Win win) +.fi + +Accumulate one element of type datatype from the origin buffer (origin_addr) to +the buffer at offset target_disp, in the target window specified by target_rank +and win, using the operation op and return in the result buffer result_addr the +content of the target buffer before the accumulation. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of the entry in origin, result, and target buffers (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B op +- reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This operations is atomic with respect to other "accumulate" operations. + +The generic functionality of +.I MPI_Get_accumulate +might limit the performance of +fetch-and-increment or fetch-and-add calls that might be supported by special +hardware operations. +.I MPI_Fetch_and_op +thus allows for a fast implementation +of a commonly used subset of the functionality of +.I MPI_Get_accumulate +\&. + + +The origin and result buffers (origin_addr and result_addr) must be disjoint. +Any of the predefined operations for +.I MPI_Reduce +, as well as +.I MPI_NO_OP +or +.I MPI_REPLACE +, can be specified as op; user-defined functions cannot be used. The +datatype argument must be a predefined datatype. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Get_accumulate +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_c2f.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_c2f.3 new file mode 100644 index 00000000..8be01499 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_c2f.3 @@ -0,0 +1,16 @@ +.TH MPI_File_c2f 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_c2f \- Translates a C file handle to a Fortran file handle +.SH SYNOPSIS +.nf +MPI_Fint MPI_File_c2f(MPI_File fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- C file handle (handle) +.PD 1 + +.SH RETURN VALUE +Fortran file handle (integer) diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_call_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_call_errhandler.3 new file mode 100644 index 00000000..2e79b717 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_call_errhandler.3 @@ -0,0 +1,98 @@ +.TH MPI_File_call_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_call_errhandler \- Call the error handler installed on a file +.SH SYNOPSIS +.nf +int MPI_File_call_errhandler(MPI_File fh, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- MPI file with error handler (handle) +.PD 1 +.PD 0 +.TP +.B errorcode +- error code (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_FILE +- Invalid MPI File handle +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_close.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_close.3 new file mode 100644 index 00000000..f37de123 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_close.3 @@ -0,0 +1,36 @@ +.TH MPI_File_close 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_close \- Closes a file +.SH SYNOPSIS +.nf +int MPI_File_close(MPI_File * fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_create_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_create_errhandler.3 new file mode 100644 index 00000000..c95cde09 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_create_errhandler.3 @@ -0,0 +1,88 @@ +.TH MPI_File_create_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_create_errhandler \- Create a file error handler +.SH SYNOPSIS +.nf +int MPI_File_create_errhandler(MPI_File_errhandler_function * file_errhandler_fn, + MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B file_errhandler_fn +- user defined error handling procedure (function) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_delete.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_delete.3 new file mode 100644 index 00000000..755ba8ba --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_delete.3 @@ -0,0 +1,41 @@ +.TH MPI_File_delete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_delete \- Deletes a file +.SH SYNOPSIS +.nf +int MPI_File_delete(ROMIO_CONST char *filename, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B filename +- name of file to delete (string) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_f2c.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_f2c.3 new file mode 100644 index 00000000..18962bbe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_f2c.3 @@ -0,0 +1,16 @@ +.TH MPI_File_f2c 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_f2c \- Translates a Fortran file handle to a C file handle +.SH SYNOPSIS +.nf +MPI_File MPI_File_f2c(MPI_Fint fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- Fortran file handle (integer) +.PD 1 + +.SH RETURN VALUE +C file handle (handle) diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_amode.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_amode.3 new file mode 100644 index 00000000..78d4f92e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_amode.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_amode 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_amode \- Returns the file access mode +.SH SYNOPSIS +.nf +int MPI_File_get_amode(MPI_File fh, int *amode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B amode +- access mode (integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_atomicity.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_atomicity.3 new file mode 100644 index 00000000..98ab3d2a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_atomicity.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_atomicity 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_atomicity \- Returns the atomicity mode +.SH SYNOPSIS +.nf +int MPI_File_get_atomicity(MPI_File fh, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if atomic mode, false if nonatomic mode (logical) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_byte_offset.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_byte_offset.3 new file mode 100644 index 00000000..943cbb4a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_byte_offset.3 @@ -0,0 +1,48 @@ +.TH MPI_File_get_byte_offset 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_byte_offset \- Returns the absolute byte position in the file corresponding to "offset" etypes relative to the current view +.SH SYNOPSIS +.nf +int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset * disp) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- offset (nonnegative integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B disp +- absolute byte position of offset (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_errhandler.3 new file mode 100644 index 00000000..e41b2237 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_errhandler.3 @@ -0,0 +1,95 @@ +.TH MPI_File_get_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_errhandler \- Get the error handler attached to a file +.SH SYNOPSIS +.nf +int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B file +- MPI file (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- handler currently associated with file (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_group.3 new file mode 100644 index 00000000..b6c5afad --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_group.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_group \- Returns the group of processes that opened the file +.SH SYNOPSIS +.nf +int MPI_File_get_group(MPI_File fh, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- group that opened the file (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_info.3 new file mode 100644 index 00000000..d91a3682 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_info.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_info \- Returns the hints for a file that are actually being used by MPI +.SH SYNOPSIS +.nf +int MPI_File_get_info(MPI_File fh, MPI_Info * info_used) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info_used +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_position.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position.3 new file mode 100644 index 00000000..8e3b63cc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_position 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_position \- Returns the current position of the individual file pointer in etype units relative to the current view +.SH SYNOPSIS +.nf +int MPI_File_get_position(MPI_File fh, MPI_Offset * offset) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B offset +- offset of individual file pointer (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_position_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position_shared.3 new file mode 100644 index 00000000..091a3e0f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_position_shared.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_position_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_position_shared \- Returns the current position of the shared file pointer in etype units relative to the current view +.SH SYNOPSIS +.nf +int MPI_File_get_position_shared(MPI_File fh, MPI_Offset * offset) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B offset +- offset of shared file pointer (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_size.3 new file mode 100644 index 00000000..5aeff825 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_size.3 @@ -0,0 +1,43 @@ +.TH MPI_File_get_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_size \- Returns the file size +.SH SYNOPSIS +.nf +int MPI_File_get_size(MPI_File fh, MPI_Offset * size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- size of the file in bytes (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_type_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_type_extent.3 new file mode 100644 index 00000000..721bbb94 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_type_extent.3 @@ -0,0 +1,48 @@ +.TH MPI_File_get_type_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_type_extent \- Returns the extent of datatype in the file +.SH SYNOPSIS +.nf +int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B extent +- extent of the datatype (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_get_view.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_get_view.3 new file mode 100644 index 00000000..49730805 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_get_view.3 @@ -0,0 +1,59 @@ +.TH MPI_File_get_view 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_get_view \- Returns the file view +.SH SYNOPSIS +.nf +int MPI_File_get_view(MPI_File fh, MPI_Offset * disp, MPI_Datatype * etype, + MPI_Datatype * filetype, char *datarep) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B disp +- displacement (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B etype +- elementary datatype (handle) +.PD 1 +.PD 0 +.TP +.B filetype +- filetype (handle) +.PD 1 +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread.3 new file mode 100644 index 00000000..4e2edfb9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread.3 @@ -0,0 +1,58 @@ +.TH MPI_File_iread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread \- Nonblocking read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_all.3 new file mode 100644 index 00000000..92b6858a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_all.3 @@ -0,0 +1,59 @@ +.TH MPI_File_iread_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_all \- Nonblocking collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_iread_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at.3 new file mode 100644 index 00000000..fdae6464 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at.3 @@ -0,0 +1,64 @@ +.TH MPI_File_iread_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_at \- Nonblocking read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, + MPIO_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at_all.3 new file mode 100644 index 00000000..75984076 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_iread_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_at_all \- Nonblocking collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iread_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_shared.3 new file mode 100644 index 00000000..791f0598 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iread_shared.3 @@ -0,0 +1,59 @@ +.TH MPI_File_iread_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iread_shared \- Nonblocking read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_iread_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite.3 new file mode 100644 index 00000000..d3a03028 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite.3 @@ -0,0 +1,63 @@ +.TH MPI_File_iwrite 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite \- Nonblocking write using individual file pointer +.SH SYNOPSIS +.nf +#ifdef HAVE_MPI_GREQUEST +#include "mpiu_greq.h" +#endif + +int MPI_File_iwrite(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_all.3 new file mode 100644 index 00000000..ba0edd3f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_all.3 @@ -0,0 +1,59 @@ +.TH MPI_File_iwrite_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_all \- Nonblocking collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_iwrite_all(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at.3 new file mode 100644 index 00000000..f13f65a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at.3 @@ -0,0 +1,68 @@ +.TH MPI_File_iwrite_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_at \- Nonblocking write using explicit offset +.SH SYNOPSIS +.nf +#ifdef HAVE_MPI_GREQUEST +#include "mpiu_greq.h" +#endif + +int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPIO_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at_all.3 new file mode 100644 index 00000000..d000c699 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_iwrite_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_at_all \- Nonblocking collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_shared.3 new file mode 100644 index 00000000..acda923f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_iwrite_shared.3 @@ -0,0 +1,63 @@ +.TH MPI_File_iwrite_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_iwrite_shared \- Nonblocking write using shared file pointer +.SH SYNOPSIS +.nf +#ifdef HAVE_MPI_GREQUEST +#include "mpiu_greq.h" +#endif + +int MPI_File_iwrite_shared(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPIO_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- request object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_open.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_open.3 new file mode 100644 index 00000000..d6d74b20 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_open.3 @@ -0,0 +1,59 @@ +.TH MPI_File_open 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_open \- Opens a file +.SH SYNOPSIS +.nf +int MPI_File_open(MPI_Comm comm, ROMIO_CONST char *filename, int amode, + MPI_Info info, MPI_File * fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 +.PD 0 +.TP +.B filename +- name of file to open (string) +.PD 1 +.PD 0 +.TP +.B amode +- file access mode (integer) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_preallocate.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_preallocate.3 new file mode 100644 index 00000000..93a0cdc4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_preallocate.3 @@ -0,0 +1,41 @@ +.TH MPI_File_preallocate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_preallocate \- Preallocates storage space for a file +.SH SYNOPSIS +.nf +int MPI_File_preallocate(MPI_File fh, MPI_Offset size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B size +- size to preallocate (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read.3 new file mode 100644 index 00000000..10aa750e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read.3 @@ -0,0 +1,58 @@ +.TH MPI_File_read 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read \- Read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all.3 new file mode 100644 index 00000000..3d2f1df2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all.3 @@ -0,0 +1,58 @@ +.TH MPI_File_read_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_all \- Collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_begin.3 new file mode 100644 index 00000000..8234aa92 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_begin.3 @@ -0,0 +1,53 @@ +.TH MPI_File_read_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_all_begin \- Begin a split collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_end.3 new file mode 100644 index 00000000..30bd88be --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_read_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_all_end \- Complete a split collective read using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at.3 new file mode 100644 index 00000000..8db740c7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at.3 @@ -0,0 +1,64 @@ +.TH MPI_File_read_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at \- Read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all.3 new file mode 100644 index 00000000..2c45476a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_read_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at_all \- Collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_begin.3 new file mode 100644 index 00000000..855f8025 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_begin.3 @@ -0,0 +1,59 @@ +.TH MPI_File_read_at_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at_all_begin \- Begin a split collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_end.3 new file mode 100644 index 00000000..79bf0533 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_at_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_read_at_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_at_all_end \- Complete a split collective read using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered.3 new file mode 100644 index 00000000..bdd36f22 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered.3 @@ -0,0 +1,59 @@ +.TH MPI_File_read_ordered 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_ordered \- Collective read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_ordered(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_begin.3 new file mode 100644 index 00000000..4c8e08dc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_begin.3 @@ -0,0 +1,53 @@ +.TH MPI_File_read_ordered_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_ordered_begin \- Begin a split collective read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_end.3 new file mode 100644 index 00000000..755a7213 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_ordered_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_read_ordered_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_ordered_end \- Complete a split collective read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_read_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_read_shared.3 new file mode 100644 index 00000000..92fcb1f9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_read_shared.3 @@ -0,0 +1,59 @@ +.TH MPI_File_read_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_read_shared \- Read using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_read_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_seek.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_seek.3 new file mode 100644 index 00000000..ffa1e0a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_seek.3 @@ -0,0 +1,46 @@ +.TH MPI_File_seek 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_seek \- Updates the individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (integer) +.PD 1 +.PD 0 +.TP +.B whence +- update mode (state) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_seek_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_seek_shared.3 new file mode 100644 index 00000000..d38d6d40 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_seek_shared.3 @@ -0,0 +1,46 @@ +.TH MPI_File_seek_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_seek_shared \- Updates the shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (integer) +.PD 1 +.PD 0 +.TP +.B whence +- update mode (state) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_atomicity.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_atomicity.3 new file mode 100644 index 00000000..5b1d8a30 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_atomicity.3 @@ -0,0 +1,41 @@ +.TH MPI_File_set_atomicity 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_atomicity \- Sets the atomicity mode +.SH SYNOPSIS +.nf +int MPI_File_set_atomicity(MPI_File fh, int flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B flag +- true to set atomic mode, false to set nonatomic mode (logical) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_errhandler.3 new file mode 100644 index 00000000..a9929256 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_errhandler.3 @@ -0,0 +1,93 @@ +.TH MPI_File_set_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_errhandler \- Set the error handler for an MPI file +.SH SYNOPSIS +.nf +int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B file +- MPI file (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new error handler for file (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_info.3 new file mode 100644 index 00000000..7c74eb36 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_info.3 @@ -0,0 +1,41 @@ +.TH MPI_File_set_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_info \- Sets new values for the hints associated with a file +.SH SYNOPSIS +.nf +int MPI_File_set_info(MPI_File fh, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_size.3 new file mode 100644 index 00000000..aa3be5a9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_size.3 @@ -0,0 +1,41 @@ +.TH MPI_File_set_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_size \- Sets the file size +.SH SYNOPSIS +.nf +int MPI_File_set_size(MPI_File fh, MPI_Offset size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B size +- size to truncate or expand file (nonnegative integer) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_set_view.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_set_view.3 new file mode 100644 index 00000000..48457d29 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_set_view.3 @@ -0,0 +1,62 @@ +.TH MPI_File_set_view 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_set_view \- Sets the file view +.SH SYNOPSIS +.nf +int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, + MPI_Datatype filetype, ROMIO_CONST char *datarep, MPI_Info info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B disp +- displacement (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B etype +- elementary datatype (handle) +.PD 1 +.PD 0 +.TP +.B filetype +- filetype (handle) +.PD 1 +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_sync.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_sync.3 new file mode 100644 index 00000000..ed71f1a0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_sync.3 @@ -0,0 +1,36 @@ +.TH MPI_File_sync 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_sync \- Causes all previous writes to be transferred to the storage device +.SH SYNOPSIS +.nf +int MPI_File_sync(MPI_File fh) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write.3 new file mode 100644 index 00000000..692c8943 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write \- Write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all.3 new file mode 100644 index 00000000..ffb22aa3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_all \- Collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_all(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_begin.3 new file mode 100644 index 00000000..a325e979 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_begin.3 @@ -0,0 +1,51 @@ +.TH MPI_File_write_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_all_begin \- Begin a split collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_all_begin(MPI_File fh, ROMIO_CONST void *buf, int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_end.3 new file mode 100644 index 00000000..3779e5c9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_write_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_all_end \- Complete a split collective write using individual file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at.3 new file mode 100644 index 00000000..451622c1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at.3 @@ -0,0 +1,64 @@ +.TH MPI_File_write_at 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at \- Write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all.3 new file mode 100644 index 00000000..c3e01588 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all.3 @@ -0,0 +1,64 @@ +.TH MPI_File_write_at_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at_all \- Collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_begin.3 new file mode 100644 index 00000000..7eb49128 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_begin.3 @@ -0,0 +1,57 @@ +.TH MPI_File_write_at_all_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at_all_begin \- Begin a split collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, ROMIO_CONST void *buf, + int count, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B offset +- file offset (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_end.3 new file mode 100644 index 00000000..0f1a3757 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_at_all_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_write_at_all_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_at_all_end \- Complete a split collective write using explicit offset +.SH SYNOPSIS +.nf +int MPI_File_write_at_all_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered.3 new file mode 100644 index 00000000..01977289 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write_ordered 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_ordered \- Collective write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_ordered(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_begin.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_begin.3 new file mode 100644 index 00000000..8bbdf7b2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_begin.3 @@ -0,0 +1,54 @@ +.TH MPI_File_write_ordered_begin 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_ordered_begin \- Begin a split collective write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_ordered_begin(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_end.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_end.3 new file mode 100644 index 00000000..20375e77 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_ordered_end.3 @@ -0,0 +1,48 @@ +.TH MPI_File_write_ordered_end 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_ordered_end \- Complete a split collective write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_ordered_end(MPI_File fh, ROMIO_CONST void *buf, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_File_write_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_File_write_shared.3 new file mode 100644 index 00000000..0b0fda7a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_File_write_shared.3 @@ -0,0 +1,59 @@ +.TH MPI_File_write_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_File_write_shared \- Write using shared file pointer +.SH SYNOPSIS +.nf +int MPI_File_write_shared(MPI_File fh, ROMIO_CONST void *buf, int count, + MPI_Datatype datatype, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B fh +- file handle (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Finalize.3 b/macx64/mpi/mpich/share/man/man3/MPI_Finalize.3 new file mode 100644 index 00000000..2ffeab93 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Finalize.3 @@ -0,0 +1,89 @@ +.TH MPI_Finalize 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Finalize \- Terminates MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Finalize(void) +.fi +.SH NOTES +All processes must call this routine before exiting. The number of +processes running +.B after +this routine is called is undefined; +it is best not to perform much more than a +.I return rc +after calling +.I MPI_Finalize +\&. + + +.SH THREAD AND SIGNAL SAFETY +The MPI standard requires that +.I MPI_Finalize +be called +.B only +by the same +thread that initialized MPI with either +.I MPI_Init +or +.I MPI_Init_thread +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Finalized.3 b/macx64/mpi/mpich/share/man/man3/MPI_Finalized.3 new file mode 100644 index 00000000..b74d0f10 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Finalized.3 @@ -0,0 +1,82 @@ +.TH MPI_Finalized 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Finalized \- Indicates whether +.I MPI_Finalize +has been called. +.SH SYNOPSIS +.nf +int MPI_Finalized(int *flag) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- Flag is true if +.I MPI_Finalize +has been called and false otherwise. +(logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Free_mem.3 b/macx64/mpi/mpich/share/man/man3/MPI_Free_mem.3 new file mode 100644 index 00000000..a5b3fc6b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Free_mem.3 @@ -0,0 +1,82 @@ +.TH MPI_Free_mem 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Free_mem \- Free memory allocated with MPI_Alloc_mem +.SH SYNOPSIS +.nf +int MPI_Free_mem(void *base) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- initial address of memory segment allocated by +.I MPI_ALLOC_MEM +(choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Gather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Gather.3 new file mode 100644 index 00000000..01617428 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Gather.3 @@ -0,0 +1,151 @@ +.TH MPI_Gather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Gather \- Gathers together values from a group of processes +.SH SYNOPSIS +.nf +int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements for any single receive (integer, +significant only at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of recv buffer elements +(significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice, significant only at +.I root +) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 new file mode 100644 index 00000000..e9bf75ce --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Gatherv.3 @@ -0,0 +1,162 @@ +.TH MPI_Gatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Gatherv \- Gathers into specified locations from all processes in a group +.SH SYNOPSIS +.nf +int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int *recvcounts, const int *displs, + MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array (of length group size) +containing the number of elements that are received from each process +(significant only at +.I root +) +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry +.I i +specifies the displacement relative to recvbuf at +which to place the incoming data from process +.I i +(significant only +at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of recv buffer elements +(significant only at +.I root +) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice, significant only at +.I root +) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get.3 new file mode 100644 index 00000000..0ad05ac4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get.3 @@ -0,0 +1,166 @@ +.TH MPI_Get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get \- Get data from a memory window on a remote process +.SH SYNOPSIS +.nf +int MPI_Get(void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- Address of the buffer in which to receive the data +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from window start to the beginning of the +target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Rget +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_accumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_accumulate.3 new file mode 100644 index 00000000..37ebd704 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_accumulate.3 @@ -0,0 +1,231 @@ +.TH MPI_Get_accumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_accumulate \- Perform an atomic, one-sided read-and-accumulate operation. +.SH SYNOPSIS +.nf +int MPI_Get_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win) +.fi + +Accumulate origin_count elements of type origin_datatype from the origin buffer +(origin_addr) to the buffer at offset target_disp, in the target window +specified by target_rank and win, using the operation op and return in the +result buffer result_addr the content of the target buffer before the +accumulation. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_count +- number of entries in result buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B result_datatype +- datatype of each entry in result buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This operations is atomic with respect to other "accumulate" operations. + +The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +.I MPI_REPLACE +provides fetch-and-set behavior. + +The origin and result buffers (origin_addr and result_addr) must be disjoint. +Each datatype argument must be a predefined datatype or a derived datatype +where all basic components are of the same predefined datatype. All datatype +arguments must be constructed from the same predefined datatype. The +operation op applies to elements of that predefined type. target_datatype must +not specify overlapping entries, and the target buffer must fit in the target +window or in attached memory in a dynamic window. + +Any of the predefined operations for +.I MPI_Reduce +, as well as +.I MPI_NO_OP +or +.I MPI_REPLACE +can be specified as op. User-defined functions cannot be used. A +new predefined operation, +.I MPI_NO_OP +, is defined. It corresponds to the +associative function f (a, b) = a; i.e., the current value in the target memory +is returned in the result buffer at the origin and no operation is performed on +the target buffer. +.I MPI_NO_OP +can be used only in +.I MPI_Get_accumulate +, +.I MPI_Rget_accumulate +, and +.I MPI_Fetch_and_op +\&. +.I MPI_NO_OP +cannot be used in +.I MPI_Accumulate +, +.I MPI_Raccumulate +, or collective reduction operations, such as +.I MPI_Reduce +and others. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Rget_accumulate MPI_Fetch_and_op +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_address.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_address.3 new file mode 100644 index 00000000..e653da7a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_address.3 @@ -0,0 +1,117 @@ +.TH MPI_Get_address 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_address \- Get the address of a location in memory +.SH SYNOPSIS +.nf +int MPI_Get_address(const void *location, MPI_Aint * address) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B location +- location in caller memory (choice) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B address +- address of location (address integer) +.PD 1 + +.SH NOTES +This routine is provided for both the Fortran and C programmers. +On many systems, the address returned by this routine will be the same +as produced by the C +.I & +operator, but this is not required in C and +may not be true of systems with word- rather than byte-oriented +instructions or systems with segmented address spaces. + +This routine should be used instead of +.I MPI_Address +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +In Fortran, the integer type is always signed. This can cause problems +on systems where the address fits into a four byte unsigned integer but +the value is larger than the largest signed integer. For example, a system +with more than 2 GBytes of memory may have addresses that do not fit within +a four byte signed integer. Unfortunately, there is no easy solution to +this problem, as there is no Fortran datatype that can be used here (using +a longer integer type will cause other problems, as well as surprising +users when the size of the integer type is larger that the size of a pointer +in C). In this case, it is recommended that you use C to manipulate +addresses. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_count.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_count.3 new file mode 100644 index 00000000..c5cd0163 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_count.3 @@ -0,0 +1,106 @@ +.TH MPI_Get_count 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_count \- Gets the number of "top level" elements +.SH SYNOPSIS +.nf +int MPI_Get_count(const MPI_Status * status, MPI_Datatype datatype, int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- return status of receive operation (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B count +- number of received elements (integer) +Notes: +If the size of the datatype is zero, this routine will return a count of +zero. If the amount of data in +.I status +is not an exact multiple of the +size of +.I datatype +(so that +.I count +would not be integral), a +.I count +of +.I MPI_UNDEFINED +is returned instead. +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_elements.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements.3 new file mode 100644 index 00000000..bc8c8bed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements.3 @@ -0,0 +1,91 @@ +.TH MPI_Get_elements 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_elements \- Returns the number of basic elements in a datatype +.SH SYNOPSIS +.nf +int MPI_Get_elements(const MPI_Status * status, MPI_Datatype datatype, int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- return status of receive operation (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype used by receive operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B count +- number of received basic elements (integer) +.PD 1 + +.SH NOTES + +If the size of the datatype is zero and the amount of data returned as +determined by +.I status +is also zero, this routine will return a count of +zero. This is consistent with a clarification made by the MPI Forum. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_elements_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements_x.3 new file mode 100644 index 00000000..38f34fe6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_elements_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Get_elements_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_elements_x \- Returns the number of basic elements in a datatype +.SH SYNOPSIS +.nf +int MPI_Get_elements_x(const MPI_Status * status, MPI_Datatype datatype, MPI_Count * count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- return status of receive operation (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype used by receive operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B count +- number of received basic elements (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_library_version.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_library_version.3 new file mode 100644 index 00000000..cf7886e2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_library_version.3 @@ -0,0 +1,86 @@ +.TH MPI_Get_library_version 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_library_version \- Return the version number of MPI library +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Get_library_version +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Get_library_version(char *version, int *resultlen) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B version +- Version of MPI +.PD 1 +.PD 0 +.TP +.B resultlen +- Length of the MPI library version string +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_processor_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_processor_name.3 new file mode 100644 index 00000000..bf410935 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_processor_name.3 @@ -0,0 +1,133 @@ +.TH MPI_Get_processor_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_processor_name \- Gets the name of the processor +.SH SYNOPSIS +.nf +int MPI_Get_processor_name(char *name, int *resultlen) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- A unique specifier for the actual (as opposed to virtual) node. This +must be an array of size at least +.I MPI_MAX_PROCESSOR_NAME +\&. + +.PD 1 +.PD 0 +.TP +.B resultlen +- Length (in characters) of the name +.PD 1 + +.SH NOTES +The name returned should identify a particular piece of hardware; +the exact format is implementation defined. This name may or may not +be the same as might be returned by +.I gethostname +, +.I uname +, or +.I sysinfo +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +In Fortran, the character argument should be declared as a character string +of +.I MPI_MAX_PROCESSOR_NAME +rather than an array of dimension +.I MPI_MAX_PROCESSOR_NAME +\&. +That is, +.nf +character*(MPI_MAX_PROCESSOR_NAME) name +.fi + +rather than +.nf +character name(MPI_MAX_PROCESSOR_NAME) +.fi + +The two + + +The sizes of MPI strings in Fortran are one less than the sizes of that +string in C/C++ because the C/C++ versions provide room for the trailing +null character required by C/C++. For example, +.I MPI_MAX_ERROR_STRING +is +.I mpif.h +is one smaller than the same value in +.I mpi.h +\&. +See the MPI +standard, sections 2.6.2 and 4.12.9. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Get_version.3 b/macx64/mpi/mpich/share/man/man3/MPI_Get_version.3 new file mode 100644 index 00000000..b793c462 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Get_version.3 @@ -0,0 +1,82 @@ +.TH MPI_Get_version 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Get_version \- Return the version number of MPI +.SH SYNOPSIS +.nf +int MPI_Get_version(int *version, int *subversion) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B version +- Version of MPI +.PD 1 +.PD 0 +.TP +.B subversion +- Subversion of MPI +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_create.3 new file mode 100644 index 00000000..0d3ee472 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_create.3 @@ -0,0 +1,144 @@ +.TH MPI_Graph_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_create \- Makes a new communicator to which topology information has been attached +.SH SYNOPSIS +.nf +int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int indx[], + const int edges[], int reorder, MPI_Comm * comm_graph) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm_old +- input communicator without topology (handle) +.PD 1 +.PD 0 +.TP +.B nnodes +- number of nodes in graph (integer) +.PD 1 +.PD 0 +.TP +.B indx +- array of integers describing node degrees (see below) +.PD 1 +.PD 0 +.TP +.B edges +- array of integers describing graph edges (see below) +.PD 1 +.PD 0 +.TP +.B reorder +- ranking may be reordered (true) or not (false) (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B comm_graph +- communicator with graph topology added (handle) +.PD 1 + +.SH NOTES +Each process must provide a description of the entire graph, not just the +neigbors of the calling process. + +.SH ALGORITHM +We ignore the +.I reorder +info currently. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_get.3 new file mode 100644 index 00000000..18177f4d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_get.3 @@ -0,0 +1,131 @@ +.TH MPI_Graph_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_get \- Retrieves graph topology information associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, int indx[], int edges[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with graph structure (handle) +.PD 1 +.PD 0 +.TP +.B maxindex +- length of vector +.I indx +in the calling program (integer) +.PD 1 +.PD 0 +.TP +.B maxedges +- length of vector +.I edges +in the calling program (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indx +- array of integers containing the graph structure (for details see the definition of +.I MPI_GRAPH_CREATE +) +.PD 1 +.PD 0 +.TP +.B edges +- array of integers containing the graph structure +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_map.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_map.3 new file mode 100644 index 00000000..5c3258c7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_map.3 @@ -0,0 +1,130 @@ +.TH MPI_Graph_map 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_map \- Maps process to graph topology information +.SH SYNOPSIS +.nf +int MPI_Graph_map(MPI_Comm comm, int nnodes, const int indx[], const int edges[], int *newrank) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- input communicator (handle) +.PD 1 +.PD 0 +.TP +.B nnodes +- number of graph nodes (integer) +.PD 1 +.PD 0 +.TP +.B indx +- integer array specifying the graph structure, see +.I MPI_GRAPH_CREATE + +.PD 1 +.PD 0 +.TP +.B edges +- integer array specifying the graph structure +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newrank +- reordered rank of the calling process; +.I MPI_UNDEFINED +if the +calling process does not belong to graph (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors.3 new file mode 100644 index 00000000..a5a7cd99 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors.3 @@ -0,0 +1,137 @@ +.TH MPI_Graph_neighbors 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_neighbors \- Returns the neighbors of a node associated with a graph topology +.SH SYNOPSIS +.nf +int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, int neighbors[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with graph topology (handle) +.PD 1 +.PD 0 +.TP +.B rank +- rank of process in group of comm (integer) +.PD 1 +.PD 0 +.TP +.B maxneighbors +- size of array neighbors (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B neighbors +- ranks of processes that are neighbors to specified process +(array of integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors_count.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors_count.3 new file mode 100644 index 00000000..e4c3a488 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graph_neighbors_count.3 @@ -0,0 +1,133 @@ +.TH MPI_Graph_neighbors_count 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graph_neighbors_count \- Returns the number of neighbors of a node associated with a graph topology +.SH SYNOPSIS +.nf +int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator with graph topology (handle) +.PD 1 +.PD 0 +.TP +.B rank +- rank of process in group of +.I comm +(integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B nneighbors +- number of neighbors of specified process (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Graphdims_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Graphdims_get.3 new file mode 100644 index 00000000..f2ca1988 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Graphdims_get.3 @@ -0,0 +1,115 @@ +.TH MPI_Graphdims_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Graphdims_get \- Retrieves graph topology information associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator for group with graph structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B nnodes +- number of nodes in graph (integer) +.PD 1 +.PD 0 +.TP +.B nedges +- number of edges in graph (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TOPOLOGY +- Invalid topology. Either there is no topology +associated with this communicator, or it is not the correct type (e.g., +.I MPI_CART +when expecting +.I MPI_GRAPH +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Grequest_complete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_complete.3 new file mode 100644 index 00000000..252ac1c2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_complete.3 @@ -0,0 +1,84 @@ +.TH MPI_Grequest_complete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Grequest_complete \- Notify MPI that a user-defined request is complete +.SH SYNOPSIS +.nf +int MPI_Grequest_complete(MPI_Request request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- Generalized request to mark as complete +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Grequest_start +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Grequest_start.3 b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_start.3 new file mode 100644 index 00000000..cdcfc6e9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Grequest_start.3 @@ -0,0 +1,153 @@ +.TH MPI_Grequest_start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Grequest_start \- Create and return a user-defined request +.SH SYNOPSIS +.nf +int MPI_Grequest_start(MPI_Grequest_query_function * query_fn, + MPI_Grequest_free_function * free_fn, + MPI_Grequest_cancel_function * cancel_fn, + void *extra_state, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B query_fn +- callback function invoked when request status is queried (function) +.PD 1 +.PD 0 +.TP +.B free_fn +- callback function invoked when request is freed (function) +.PD 1 +.PD 0 +.TP +.B cancel_fn +- callback function invoked when request is cancelled (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- Extra state passed to the above functions. +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- Generalized request (handle) +.PD 1 + +.SH NOTES ON THE CALLBACK FUNCTIONS +The return values from the callback functions must be a valid MPI error code +or class. This value may either be the return value from any MPI routine +(with one exception noted below) or any of the MPI error classes. +For portable programs, +.I MPI_ERR_OTHER +may be used; to provide more +specific information, create a new MPI error class or code with +.I MPI_Add_error_class +or +.I MPI_Add_error_code +and return that value. + +The MPI standard is not clear on the return values from the callback routines. +However, there are notes in the standard that imply that these are MPI error +codes. For example, pages 169 line 46 through page 170, line 1 require that +the +.I free_fn +return an MPI error code that may be used in the MPI completion +functions when they return +.I MPI_ERR_IN_STATUS +\&. + + +The one special case is the error value returned by +.I MPI_Comm_dup +when +the attribute callback routine returns a failure. The MPI standard is not +clear on what values may be used to indicate an error return. Further, +the Intel MPI test suite made use of non-zero values to indicate failure, +and expected these values to be returned by the +.I MPI_Comm_dup +when the +attribute routines encountered an error. Such error values may not be valid +MPI error codes or classes. Because of this, it is the user's responsibility +to either use valid MPI error codes in return from the attribute callbacks, +if those error codes are to be returned by a generalized request callback, +or to detect and convert those error codes to valid MPI error codes (recall +that MPI error classes are valid error codes). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_compare.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_compare.3 new file mode 100644 index 00000000..0e21819d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_compare.3 @@ -0,0 +1,113 @@ +.TH MPI_Group_compare 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_compare \- Compares two groups +.SH SYNOPSIS +.nf +int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- group1 (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- group2 (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B result +- integer which is +.I MPI_IDENT +if the order and members of +the two groups are the same, +.I MPI_SIMILAR +if only the members are the same, +and +.I MPI_UNEQUAL +otherwise +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_difference.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_difference.3 new file mode 100644 index 00000000..fe429818 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_difference.3 @@ -0,0 +1,115 @@ +.TH MPI_Group_difference 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_difference \- Makes a group from the difference of two groups +.SH SYNOPSIS +.nf +int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- first group (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- second group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- difference group (handle) +.PD 1 + +.SH NOTES +The generated group containc the members of +.I group1 +that are not in +.I group2 +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_excl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_excl.3 new file mode 100644 index 00000000..93b71a2d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_excl.3 @@ -0,0 +1,149 @@ +.TH MPI_Group_excl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_excl \- Produces a group by reordering an existing group and taking only unlisted members +.SH SYNOPSIS +.nf +int MPI_Group_excl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of elements in array +.I ranks +(integer) +.PD 1 +.PD 0 +.TP +.B ranks +- array of integer ranks in +.I group +not to appear in +.I newgroup + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, preserving the order defined by +.I group +(handle) +.PD 1 + +.SH NOTE +The MPI standard requires that each of the ranks to excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_free.3 new file mode 100644 index 00000000..5a6a6642 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_free.3 @@ -0,0 +1,100 @@ +.TH MPI_Group_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_free \- Frees a group +.SH SYNOPSIS +.nf +int MPI_Group_free(MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group to free (handle) +.PD 1 + +.SH NOTES +On output, group is set to +.I MPI_GROUP_NULL +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent groups. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_incl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_incl.3 new file mode 100644 index 00000000..f8ece65b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_incl.3 @@ -0,0 +1,145 @@ +.TH MPI_Group_incl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_incl \- Produces a group by reordering an existing group and taking only listed members +.SH SYNOPSIS +.nf +int MPI_Group_incl(MPI_Group group, int n, const int ranks[], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of elements in array +.I ranks +(and size of newgroup) (integer) +.PD 1 +.PD 0 +.TP +.B ranks +- ranks of processes in +.I group +to appear in +.I newgroup +(array of +integers) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, in the order defined by +.I ranks +(handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_intersection.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_intersection.3 new file mode 100644 index 00000000..ec9c1000 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_intersection.3 @@ -0,0 +1,115 @@ +.TH MPI_Group_intersection 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_intersection \- Produces a group as the intersection of two existing groups +.SH SYNOPSIS +.nf +int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- first group (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- second group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- intersection group (handle) +.PD 1 + +.SH NOTES +The output group contains those processes that are in both +.I group1 +and +.I group2 +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_range_excl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_excl.3 new file mode 100644 index 00000000..8377d2b6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_excl.3 @@ -0,0 +1,152 @@ +.TH MPI_Group_range_excl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_range_excl \- Produces a group by excluding ranges of processes from an existing group +.SH SYNOPSIS +.nf +int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of elements in array +.I ranks +(integer) +.PD 1 +.PD 0 +.TP +.B ranges +- a one-dimensional array of integer triplets of the +form (first rank, last rank, stride), indicating the ranks in +.I group +of processes to be excluded from the output group +.I newgroup +\&. + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, preserving the +order in +.I group +(handle) +.PD 1 + +.SH NOTE +The MPI standard requires that each of the ranks to be excluded must be +a valid rank in the group and all elements must be distinct or the +function is erroneous. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_range_incl.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_incl.3 new file mode 100644 index 00000000..16b4261e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_range_incl.3 @@ -0,0 +1,147 @@ +.TH MPI_Group_range_incl 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_range_incl \- Creates a new group from ranges of ranks in an existing group +.SH SYNOPSIS +.nf +int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of triplets in array +.I ranges +(integer) +.PD 1 +.PD 0 +.TP +.B ranges +- a one-dimensional array of integer triplets, of the +form (first rank, last rank, stride) indicating ranks in +.I group +or processes to be included in +.I newgroup +\&. + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- new group derived from above, in the +order defined by +.I ranges +(handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_rank.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_rank.3 new file mode 100644 index 00000000..dc393c8d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_rank.3 @@ -0,0 +1,100 @@ +.TH MPI_Group_rank 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_rank \- Returns the rank of this process in the given group +.SH SYNOPSIS +.nf +int MPI_Group_rank(MPI_Group group, int *rank) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of the calling process in group, or +.I MPI_UNDEFINED +if the +process is not a member (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_size.3 new file mode 100644 index 00000000..1d641578 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_size.3 @@ -0,0 +1,97 @@ +.TH MPI_Group_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_size \- Returns the size of a group +.SH SYNOPSIS +.nf +int MPI_Group_size(MPI_Group group, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- number of processes in the group (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_translate_ranks.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_translate_ranks.3 new file mode 100644 index 00000000..aa5b260d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_translate_ranks.3 @@ -0,0 +1,118 @@ +.TH MPI_Group_translate_ranks 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_translate_ranks \- Translates the ranks of processes in one group to those in another group +.SH SYNOPSIS +.nf +int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], + MPI_Group group2, int ranks2[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- group1 (handle) +.PD 1 +.PD 0 +.TP +.B n +- number of ranks in +.I ranks1 +and +.I ranks2 +arrays (integer) +.PD 1 +.PD 0 +.TP +.B ranks1 +- array of zero or more valid ranks in +.I group1 + +.PD 1 +.PD 0 +.TP +.B group2 +- group2 (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B ranks2 +- array of corresponding ranks in group2, +.I MPI_UNDEFINED +when no +correspondence exists. +.PD 1 + +As a special case (see the MPI-2 errata), if the input rank is +.I MPI_PROC_NULL +, +.I MPI_PROC_NULL +is given as the output rank. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Group_union.3 b/macx64/mpi/mpich/share/man/man3/MPI_Group_union.3 new file mode 100644 index 00000000..1095df03 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Group_union.3 @@ -0,0 +1,107 @@ +.TH MPI_Group_union 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Group_union \- Produces a group by combining two groups +.SH SYNOPSIS +.nf +int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group * newgroup) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group1 +- first group (handle) +.PD 1 +.PD 0 +.TP +.B group2 +- second group (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newgroup +- union group (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_GROUP +- Null or invalid group passed to function. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Group_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iallgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iallgather.3 new file mode 100644 index 00000000..20512c82 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iallgather.3 @@ -0,0 +1,114 @@ +.TH MPI_Iallgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iallgather \- Gathers data from all tasks and distribute the combined data to all tasks in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iallgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iallgatherv.3 new file mode 100644 index 00000000..8256bc00 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iallgatherv.3 @@ -0,0 +1,119 @@ +.TH MPI_Iallgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iallgatherv \- Gathers data from all tasks and deliver the combined data to all tasks in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) containing the number of elements that are received from each process +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iallreduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iallreduce.3 new file mode 100644 index 00000000..4c91e6b6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iallreduce.3 @@ -0,0 +1,108 @@ +.TH MPI_Iallreduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iallreduce \- Combines values from all processes and distributes the result back to all processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ialltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoall.3 new file mode 100644 index 00000000..b2149f68 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoall.3 @@ -0,0 +1,114 @@ +.TH MPI_Ialltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ialltoall \- Sends data from all to all processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from any process (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallv.3 new file mode 100644 index 00000000..8dbe1bed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallv.3 @@ -0,0 +1,124 @@ +.TH MPI_Ialltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ialltoallv \- Sends data from all to all processes in a nonblocking way; each process may send a different amount of data and provide displacements for the input and output data. +.SH SYNOPSIS +.nf +int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length group size) specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) specifying the number of elements that can be received from each processor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallw.3 new file mode 100644 index 00000000..1a1e3e23 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ialltoallw.3 @@ -0,0 +1,125 @@ +.TH MPI_Ialltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ialltoallw \- Nonblocking generalized all-to-all communication allowing different datatypes, counts, and displacements for each partner +.SH SYNOPSIS +.nf +int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length group size) specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length group size). Entry j specifies the displacement relative to sendbuf from which to take the outgoing data destined for process j +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length group size). Entry j specifies the type of data to send to process j (array of handles) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) specifying the number of elements that can be received from each processor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length group size). Entry i specifies the type of data received from process i (array of handles) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ibarrier.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ibarrier.3 new file mode 100644 index 00000000..262dc2c5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ibarrier.3 @@ -0,0 +1,92 @@ +.TH MPI_Ibarrier 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ibarrier \- Notifies the process that it has reached the barrier and returns immediately +.SH SYNOPSIS +.nf +int MPI_Ibarrier(MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH NOTES +MPI_Ibarrier is a nonblocking version of MPI_barrier. By calling MPI_Ibarrier, +a process notifies that it has reached the barrier. The call returns +immediately, independent of whether other processes have called MPI_Ibarrier. +The usual barrier semantics are enforced at the corresponding completion +operation (test or wait), which in the intra-communicator case will complete +only after all other processes in the communicator have called MPI_Ibarrier. In +the intercommunicator case, it will complete when all processes in the remote +group have called MPI_Ibarrier. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 new file mode 100644 index 00000000..590d709d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ibcast.3 @@ -0,0 +1,105 @@ +.TH MPI_Ibcast 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ibcast \- Broadcasts a message from the process with rank "root" to all other processes of the communicator in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B buffer +- starting address of buffer (choice) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of entries in buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of buffer (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of broadcast root (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 new file mode 100644 index 00000000..1fdce330 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ibsend.3 @@ -0,0 +1,179 @@ +.TH MPI_Ibsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ibsend \- Starts a nonblocking buffered send +.SH SYNOPSIS +.nf +int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 new file mode 100644 index 00000000..bde783bc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iexscan.3 @@ -0,0 +1,109 @@ +.TH MPI_Iexscan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iexscan \- Computes the exclusive scan (partial reductions) of data on a collection of processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Igather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Igather.3 new file mode 100644 index 00000000..0de15084 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Igather.3 @@ -0,0 +1,119 @@ +.TH MPI_Igather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Igather \- Gathers together values from a group of processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements for any single receive (non-negative integer, significant only at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Igatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Igatherv.3 new file mode 100644 index 00000000..2c88f698 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Igatherv.3 @@ -0,0 +1,124 @@ +.TH MPI_Igatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Igatherv \- Gathers into specified locations from all processes in a group in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length group size) containing the number of elements that are received from each process (significant only at root) +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry i specifies the displacement relative to recvbuf at which to place the incoming data from process i (significant only at root) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of receiving process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 new file mode 100644 index 00000000..fdebd807 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Improbe.3 @@ -0,0 +1,103 @@ +.TH MPI_Improbe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Improbe \- Nonblocking matched probe. +.SH SYNOPSIS +.nf +int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message * message, + MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- rank of source or MPI_ANY_SOURCE (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag or MPI_ANY_TAG (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- flag (logical) +.PD 1 +.PD 0 +.TP +.B message +- returned message (handle) +.PD 1 +.PD 0 +.TP +.B status +- status object (status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 new file mode 100644 index 00000000..297c47aa --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Imrecv.3 @@ -0,0 +1,100 @@ +.TH MPI_Imrecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Imrecv \- Nonblocking receive of message matched by MPI_Mprobe or MPI_Improbe. +.SH SYNOPSIS +.nf +int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message, + MPI_Request * request) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B message +- message (handle) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in the receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgather.3 new file mode 100644 index 00000000..753f2292 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgather.3 @@ -0,0 +1,114 @@ +.TH MPI_Ineighbor_allgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_allgather \- Nonblocking version of MPI_Neighbor_allgather. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgatherv.3 new file mode 100644 index 00000000..83fc0306 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_allgatherv.3 @@ -0,0 +1,119 @@ +.TH MPI_Ineighbor_allgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_allgatherv \- Nonblocking version of MPI_Neighbor_allgatherv. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoall.3 new file mode 100644 index 00000000..a9bd1ccd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoall.3 @@ -0,0 +1,114 @@ +.TH MPI_Ineighbor_alltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_alltoall \- Nonblocking version of MPI_Neighbor_alltoall. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallv.3 new file mode 100644 index 00000000..76322194 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallv.3 @@ -0,0 +1,125 @@ +.TH MPI_Ineighbor_alltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_alltoallv \- Nonblocking version of MPI_Neighbor_alltoallv. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallw.3 new file mode 100644 index 00000000..f082276b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ineighbor_alltoallw.3 @@ -0,0 +1,125 @@ +.TH MPI_Ineighbor_alltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ineighbor_alltoallw \- Nonblocking version of MPI_Neighbor_alltoallw. +.SH SYNOPSIS +.nf +int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_create.3 new file mode 100644 index 00000000..8da139d6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_create.3 @@ -0,0 +1,88 @@ +.TH MPI_Info_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_create \- Creates a new info object +.SH SYNOPSIS +.nf +int MPI_Info_create(MPI_Info * info) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info +- info object created (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_delete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_delete.3 new file mode 100644 index 00000000..da5e684c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_delete.3 @@ -0,0 +1,91 @@ +.TH MPI_Info_delete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_delete \- Deletes a (key,value) pair from info +.SH SYNOPSIS +.nf +int MPI_Info_delete(MPI_Info info, const char *key) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_dup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_dup.3 new file mode 100644 index 00000000..c3d0cc42 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_dup.3 @@ -0,0 +1,104 @@ +.TH MPI_Info_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_dup \- Returns a duplicate of the info object +.SH SYNOPSIS +.nf +int MPI_Info_dup(MPI_Info info, MPI_Info * newinfo) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newinfo +- duplicate of info object (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_free.3 new file mode 100644 index 00000000..383d4914 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_free.3 @@ -0,0 +1,93 @@ +.TH MPI_Info_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_free \- Frees an info object +.SH SYNOPSIS +.nf +int MPI_Info_free(MPI_Info * info) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object to be freed (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get.3 new file mode 100644 index 00000000..5a2baea1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get.3 @@ -0,0 +1,143 @@ +.TH MPI_Info_get 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get \- Retrieves the value associated with a key +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Info_get +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 +.PD 0 +.TP +.B valuelen +- length of value argument, not including null terminator (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B value +- value (string) +.PD 1 +.PD 0 +.TP +.B flag +- true if key defined, false if not (boolean) +.PD 1 + + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Invalid or null key string for info. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_VALUE +- Invalid or null value string for info +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nkeys.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nkeys.3 new file mode 100644 index 00000000..eec78fa8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nkeys.3 @@ -0,0 +1,108 @@ +.TH MPI_Info_get_nkeys 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get_nkeys \- Returns the number of currently defined keys in info +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Info_get_nkeys +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get_nkeys(MPI_Info info, int *nkeys) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B nkeys +- number of defined keys (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nthkey.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nthkey.3 new file mode 100644 index 00000000..3da13f26 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_nthkey.3 @@ -0,0 +1,124 @@ +.TH MPI_Info_get_nthkey 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get_nthkey \- Returns the nth defined key in info +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Info_get_nthkey +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get_nthkey(MPI_Info info, int n, char *key) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B n +- key number (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B key +- key (string). The maximum number of characters is +.I MPI_MAX_INFO_KEY +\&. + +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_get_valuelen.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_valuelen.3 new file mode 100644 index 00000000..89bbf6a8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_get_valuelen.3 @@ -0,0 +1,124 @@ +.TH MPI_Info_get_valuelen 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_get_valuelen \- Retrieves the length of the value associated with a key +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPIRInfo_get_valuelen +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B valuelen +- length of value argument (integer) +.PD 1 +.PD 0 +.TP +.B flag +- true if key defined, false if not (boolean) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same +.I MPI_Info +object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Invalid or null key string for info. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Info_set.3 b/macx64/mpi/mpich/share/man/man3/MPI_Info_set.3 new file mode 100644 index 00000000..0f1cf327 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Info_set.3 @@ -0,0 +1,113 @@ +.TH MPI_Info_set 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Info_set \- Adds a (key,value) pair to info +.SH SYNOPSIS +.nf +int MPI_Info_set(MPI_Info info, const char *key, const char *value) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info object (handle) +.PD 1 +.PD 0 +.TP +.B key +- key (string) +.PD 1 +.PD 0 +.TP +.B value +- value (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +The user is responsible for ensuring that multiple threads do not try to +update the same MPI object from different threads. This routine should +not be used from within a signal handler. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.PD 0 +.TP +.B MPI_ERR_INFO_KEY +- Invalid or null key string for info. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO_VALUE +- Invalid or null value string for info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Init.3 new file mode 100644 index 00000000..c345c587 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Init.3 @@ -0,0 +1,107 @@ +.TH MPI_Init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Init \- Initialize the MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Init(int *argc, char ***argv) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B argc +- Pointer to the number of arguments +.PD 1 +.PD 0 +.TP +.B argv +- Pointer to the argument vector +.PD 1 + +.SH THREAD AND SIGNAL SAFETY +This routine must be called by one thread only. That thread is called +the +.B main thread +and must be the thread that calls +.I MPI_Finalize +\&. + + +.SH NOTES +The MPI standard does not say what a program can do before an +.I MPI_INIT +or +after an +.I MPI_FINALIZE +\&. +In the MPICH implementation, you should do +as little as possible. In particular, avoid anything that changes the +external state of the program, such as opening files, reading standard +input or writing to standard output. + +.SH NOTES FOR C +As of MPI-2, +.I MPI_Init +will accept NULL as input parameters. Doing so +will impact the values stored in +.I MPI_INFO_ENV +\&. + + +.SH NOTES FOR FORTRAN +The Fortran binding for +.I MPI_Init +has only the error return +.nf +subroutine MPI_INIT(ierr) +integer ierr +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- This error class is associated with an error code that +indicates that an attempt was made to call +.I MPI_INIT +a second time. +.I MPI_INIT +may only be called once in a program. +.PD 1 + +.SH SEE ALSO +MPI_Init_thread, MPI_Finalize +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Init_thread.3 b/macx64/mpi/mpich/share/man/man3/MPI_Init_thread.3 new file mode 100644 index 00000000..99e4a0a5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Init_thread.3 @@ -0,0 +1,126 @@ +.TH MPI_Init_thread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Init_thread \- Initialize the MPI execution environment +.SH SYNOPSIS +.nf +int MPI_Init_thread(int *argc, char ***argv, int required, int *provided) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B argc +- Pointer to the number of arguments +.PD 1 +.PD 0 +.TP +.B argv +- Pointer to the argument vector +.PD 1 +.PD 0 +.TP +.B required +- Level of desired thread support +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B provided +- Level of provided thread support +.PD 1 + +.SH COMMAND LINE ARGUMENTS +MPI specifies no command-line arguments but does allow an MPI +implementation to make use of them. See +.I MPI_INIT +for a description of +the command line arguments supported by +.I MPI_INIT +and +.I MPI_INIT_THREAD +\&. + + +.SH NOTES +The valid values for the level of thread support are: +.PD 0 +.TP +.B MPI_THREAD_SINGLE +- Only one thread will execute. +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may call MPI, with no restrictions. +.PD 1 + +.SH NOTES FOR FORTRAN +Note that the Fortran binding for this routine does not have the +.I argc +and +.I argv +arguments. ( +.I MPI_INIT_THREAD(required, provided, ierror) +) + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Init, MPI_Finalize +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Initialized.3 b/macx64/mpi/mpich/share/man/man3/MPI_Initialized.3 new file mode 100644 index 00000000..4b5bb2bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Initialized.3 @@ -0,0 +1,80 @@ +.TH MPI_Initialized 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Initialized \- Indicates whether +.I MPI_Init +has been called. +.SH SYNOPSIS +.nf +int MPI_Initialized(int *flag) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- Flag is true if +.I MPI_Init +or +.I MPI_Init_thread +has been called and +false otherwise. +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_create.3 new file mode 100644 index 00000000..f3f11bfc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_create.3 @@ -0,0 +1,203 @@ +.TH MPI_Intercomm_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Intercomm_create \- Creates an intercommuncator from two intracommunicators +.SH SYNOPSIS +.nf +int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, + MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm * newintercomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B local_comm +- Local (intra)communicator +.PD 1 +.PD 0 +.TP +.B local_leader +- Rank in local_comm of leader (often 0) +.PD 1 +.PD 0 +.TP +.B peer_comm +- Communicator used to communicate between a +designated process in the other communicator. +Significant only at the process in +.I local_comm +with +rank +.I local_leader +\&. + +.PD 1 +.PD 0 +.TP +.B remote_leader +- Rank in peer_comm of remote leader (often 0) +.PD 1 +.PD 0 +.TP +.B tag +- Message tag to use in constructing intercommunicator; if multiple +.I MPI_Intercomm_creates +are being made, they should use different tags (more +precisely, ensure that the local and remote leaders are using different +tags for each +.I MPI_intercomm_create +). +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newintercomm +- Created intercommunicator +.PD 1 + +.SH NOTES +.I peer_comm +is significant only for the process designated the +.I local_leader +in the +.I local_comm +\&. + + +The MPI 1.1 Standard contains two mutually exclusive comments on the +input intercommunicators. One says that their repective groups must be +disjoint; the other that the leaders can be the same process. After +some discussion by the MPI Forum, it has been decided that the groups must +be disjoint. Note that the +.B reason +given for this in the standard is +.B not +the reason for this choice; rather, the +.B other +operations on +intercommunicators (like +.I MPI_Intercomm_merge +) do not make sense if the +groups are not disjoint. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Intercomm_merge, MPI_Comm_free, MPI_Comm_remote_group, +.br +MPI_Comm_remote_size + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_merge.3 b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_merge.3 new file mode 100644 index 00000000..f66f0d90 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Intercomm_merge.3 @@ -0,0 +1,133 @@ +.TH MPI_Intercomm_merge 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Intercomm_merge \- Creates an intracommuncator from an intercommunicator +.SH SYNOPSIS +.nf +int MPI_Intercomm_merge(MPI_Comm intercomm, int high, MPI_Comm * newintracomm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B intercomm +- Intercommunicator (handle) +.PD 1 +.PD 0 +.TP +.B high +- Used to order the groups within comm (logical) +when creating the new communicator. This is a boolean value; the group +that sets high true has its processes ordered +.B after +the group that sets +this value to false. If all processes in the intercommunicator provide +the same value, the choice of which group is ordered first is arbitrary. +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newintracomm +- Created intracommunicator (handle) +.PD 1 + +.SH NOTES +While all processes may provide the same value for the +.I high +parameter, +this requires the MPI implementation to determine which group of +processes should be ranked first. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ALGORITHM +.nr e 1 1 + +\\neAllocate contexts +\\neLocal and remote group leaders swap high values +\\neDetermine the high value. +\\neMerge the two groups and make the intra-communicator +.rr e + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Intercomm_create, MPI_Comm_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 new file mode 100644 index 00000000..7b5415a5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iprobe.3 @@ -0,0 +1,152 @@ +.TH MPI_Iprobe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iprobe \- Nonblocking test for a message +.SH SYNOPSIS +.nf +int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- source rank, or +.I MPI_ANY_SOURCE +(integer) +.PD 1 +.PD 0 +.TP +.B tag +- tag value or +.I MPI_ANY_TAG +(integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- True if a message with the specified source, tag, and communicator +is available (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 new file mode 100644 index 00000000..6667855c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Irecv.3 @@ -0,0 +1,178 @@ +.TH MPI_Irecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Irecv \- Begins a nonblocking receive +.SH SYNOPSIS +.nf +int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 new file mode 100644 index 00000000..9a7550a4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce.3 @@ -0,0 +1,113 @@ +.TH MPI_Ireduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ireduce \- Reduces values on all processes to a single value in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of root process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of the receive buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter.3 new file mode 100644 index 00000000..ad7bdff0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter.3 @@ -0,0 +1,108 @@ +.TH MPI_Ireduce_scatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ireduce_scatter \- Combines values and scatters the results in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array specifying the number of elements in result distributed to each process. Array must be identical on all calling processes. +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter_block.3 new file mode 100644 index 00000000..27a66c32 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ireduce_scatter_block.3 @@ -0,0 +1,110 @@ +.TH MPI_Ireduce_scatter_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ireduce_scatter_block \- Combines values and scatters the results in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, + int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, + MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcount +- element count per block (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 new file mode 100644 index 00000000..f9d5578d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Irsend.3 @@ -0,0 +1,179 @@ +.TH MPI_Irsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Irsend \- Starts a nonblocking ready send +.SH SYNOPSIS +.nf +int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Is_thread_main.3 b/macx64/mpi/mpich/share/man/man3/MPI_Is_thread_main.3 new file mode 100644 index 00000000..4cf30d5f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Is_thread_main.3 @@ -0,0 +1,85 @@ +.TH MPI_Is_thread_main 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Is_thread_main \- Returns a flag indicating whether this thread called +.I MPI_Init +or +.I MPI_Init_thread +.SH SYNOPSIS +.nf +int MPI_Is_thread_main(int *flag) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- Flag is true if +.I MPI_Init +or +.I MPI_Init_thread +has been called by +this thread and false otherwise. (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 new file mode 100644 index 00000000..165b24ad --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iscan.3 @@ -0,0 +1,108 @@ +.TH MPI_Iscan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iscan \- Computes the scan (partial reductions) of data on a collection of processes in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iscatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iscatter.3 new file mode 100644 index 00000000..898a6d30 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iscatter.3 @@ -0,0 +1,119 @@ +.TH MPI_Iscatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iscatter \- Sends data from one process to all other processes in a communicator in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each process (significant only at root) (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Iscatterv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Iscatterv.3 new file mode 100644 index 00000000..b9907223 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Iscatterv.3 @@ -0,0 +1,124 @@ +.TH MPI_Iscatterv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Iscatterv \- Scatters a buffer in parts to all processes in a communicator in a nonblocking way +.SH SYNOPSIS +.nf +int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (significant only at root) (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length group size) specifying the number of elements to send to each processor (significant only at root) +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry i specifies the displacement (relative to sendbuf) from which to take the outgoing data to process i (significant only at root) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (significant only at root) (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Isend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Isend.3 new file mode 100644 index 00000000..1e536c36 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Isend.3 @@ -0,0 +1,170 @@ +.TH MPI_Isend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Isend \- Begins a nonblocking send +.SH SYNOPSIS +.nf +int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Issend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Issend.3 new file mode 100644 index 00000000..1fb46c04 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Issend.3 @@ -0,0 +1,178 @@ +.TH MPI_Issend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Issend \- Starts a nonblocking synchronous send +.SH SYNOPSIS +.nf +int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Keyval_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_create.3 new file mode 100644 index 00000000..2dfb1efe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_create.3 @@ -0,0 +1,140 @@ +.TH MPI_Keyval_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Keyval_create \- Greates a new attribute key +.SH SYNOPSIS +.nf +int MPI_Keyval_create(MPI_Copy_function * copy_fn, + MPI_Delete_function * delete_fn, int *keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B copy_fn +- Copy callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B delete_fn +- Delete callback function for +.I keyval + +.PD 1 +.PD 0 +.TP +.B extra_state +- Extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES +Key values are global (available for any and all communicators). + +There are subtle differences between C and Fortran that require that the +copy_fn be written in the same language that +.I MPI_Keyval_create +is called from. +This should not be a problem for most users; only programmers using both +Fortran and C in the same program need to be sure that they follow this rule. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_create_keyval +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Keyval_free, MPI_Comm_create_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Keyval_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_free.3 new file mode 100644 index 00000000..7dbb8064 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Keyval_free.3 @@ -0,0 +1,111 @@ +.TH MPI_Keyval_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Keyval_free \- Frees an attribute key for communicators +.SH SYNOPSIS +.nf +int MPI_Keyval_free(int *keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B keyval +- Frees the integer key value (integer) +.PD 1 + +.SH NOTE +Key values are global (they can be used with any and all communicators) + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Comm_free_keyval +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- This error class is associated with an error code that +indicates that an attempt was made to free one of the permanent keys. +.PD 1 + +.SH SEE ALSO +MPI_Keyval_create, MPI_Comm_free_keyval +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Lookup_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Lookup_name.3 new file mode 100644 index 00000000..cd6585e1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Lookup_name.3 @@ -0,0 +1,125 @@ +.TH MPI_Lookup_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Lookup_name \- Lookup a port given a service name +.SH SYNOPSIS +.nf +int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B service_name +- a service name (string) +.PD 1 +.PD 0 +.TP +.B info +- implementation-specific information (handle) +.PD 1 + + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + +.SH NOTES +If the +.I service_name +is found, MPI copies the associated value into +.I port_name +\&. +The maximum size string that may be supplied by the system is +.I MPI_MAX_PORT_NAME +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 new file mode 100644 index 00000000..64bf61f8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Mprobe.3 @@ -0,0 +1,97 @@ +.TH MPI_Mprobe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Mprobe \- Blocking matched probe. +.SH SYNOPSIS +.nf +int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message * message, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- rank of source or MPI_ANY_SOURCE (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag or MPI_ANY_TAG (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B message +- returned message (handle) +.PD 1 +.PD 0 +.TP +.B status +- status object (status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 new file mode 100644 index 00000000..03aa2e2a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Mrecv.3 @@ -0,0 +1,100 @@ +.TH MPI_Mrecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Mrecv \- Blocking receive of message matched by MPI_Mprobe or MPI_Improbe. +.SH SYNOPSIS +.nf +int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message * message, + MPI_Status * status) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B message +- message (handle) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in the receive buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of the receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgather.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgather.3 new file mode 100644 index 00000000..b9d67f3b --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgather.3 @@ -0,0 +1,108 @@ +.TH MPI_Neighbor_allgather 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_allgather \- In this function, each process i gathers data items from each process j if an edge (j,i) exists in the topology graph, and each process i sends the same data items to all processes j where an edge (i,j) exists. The send buffer is sent to each neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgatherv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgatherv.3 new file mode 100644 index 00000000..7185f7dd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_allgatherv.3 @@ -0,0 +1,114 @@ +.TH MPI_Neighbor_allgatherv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_allgatherv \- The vector variant of MPI_Neighbor_allgather. +.SH SYNOPSIS +.nf +int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) containing the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoall.3 new file mode 100644 index 00000000..e7bf9ccb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoall.3 @@ -0,0 +1,108 @@ +.TH MPI_Neighbor_alltoall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_alltoall \- In this function, each process i receives data items from each process j if an edge (j,i) exists in the topology graph or Cartesian topology. Similarly, each process i sends data items to all processes j where an edge (i,j) exists. This call is more general than MPI_NEIGHBOR_ALLGATHER in that different data items can be sent to each neighbor. The k-th block in send buffer is sent to the k-th neighboring process and the l-th block in the receive buffer is received from the l-th neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, + int recvcount, MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements received from each neighbor (non-negative integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallv.3 new file mode 100644 index 00000000..5c9427fc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallv.3 @@ -0,0 +1,119 @@ +.TH MPI_Neighbor_alltoallv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_alltoallv \- The vector variant of MPI_Neighbor_alltoall allows sending/receiving different numbers of elements to and from each neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement (relative to sendbuf) from which to send the outgoing data to neighbor j +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallw.3 b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallw.3 new file mode 100644 index 00000000..a322b2f5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Neighbor_alltoallw.3 @@ -0,0 +1,119 @@ +.TH MPI_Neighbor_alltoallw 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Neighbor_alltoallw \- Like MPI_Neighbor_alltoallv but it allows one to send and receive with different types to and from each neighbor. +.SH SYNOPSIS +.nf +int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], + const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], + const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of the send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcounts +- non-negative integer array (of length outdegree) specifying the number of elements to send to each neighbor +.PD 1 +.PD 0 +.TP +.B sdispls +- integer array (of length outdegree). Entry j specifies the displacement in bytes (relative to sendbuf) from which to take the outgoing data destined for neighbor j (array of integers) +.PD 1 +.PD 0 +.TP +.B sendtypes +- array of datatypes (of length outdegree). Entry j specifies the type of data to send to neighbor j (array of handles) +.PD 1 +.PD 0 +.TP +.B recvcounts +- non-negative integer array (of length indegree) specifying the number of elements that are received from each neighbor +.PD 1 +.PD 0 +.TP +.B rdispls +- integer array (of length indegree). Entry i specifies the displacement in bytes (relative to recvbuf) at which to place the incoming data from neighbor i (array of integers). +.PD 1 +.PD 0 +.TP +.B recvtypes +- array of datatypes (of length indegree). Entry i specifies the type of data received from neighbor i (array of handles). +.PD 1 +.PD 0 +.TP +.B comm +- communicator with topology structure (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of the receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Op_commute.3 b/macx64/mpi/mpich/share/man/man3/MPI_Op_commute.3 new file mode 100644 index 00000000..c5e589cd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Op_commute.3 @@ -0,0 +1,114 @@ +.TH MPI_Op_commute 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Op_commute \- Queries an MPI reduction operation for its commutativity. +.SH SYNOPSIS +.nf +int MPI_Op_commutative(MPI_Op op, int *commute) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B commute +- Flag is true if +.I op +is a commutative operation. (logical) +.PD 1 + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Op_create +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Op_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Op_create.3 new file mode 100644 index 00000000..1d11fefc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Op_create.3 @@ -0,0 +1,137 @@ +.TH MPI_Op_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Op_create \- Creates a user-defined combination function handle +.SH SYNOPSIS +.nf +int MPI_Op_create(MPI_User_function * user_fn, int commute, MPI_Op * op) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B user_fn +- user defined function (function) +.PD 1 +.PD 0 +.TP +.B commute +- true if commutative; false otherwise. (logical) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 + +.SH NOTES ON THE USER FUNCTION +The calling list for the user function type is +.nf +typedef void (MPI_User_function) (void * a, +void * b, int * len, MPI_Datatype *); +.fi + +where the operation is +.I b[i] = a[i] op b[i] +, for +.I i=0,...,len-1 +\&. +A pointer +to the datatype given to the MPI collective computation routine (i.e., +.I MPI_Reduce +, +.I MPI_Allreduce +, +.I MPI_Scan +, or +.I MPI_Reduce_scatter +) is also +passed to the user-specified routine. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_Op_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 new file mode 100644 index 00000000..f74e9591 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Op_free.3 @@ -0,0 +1,119 @@ +.TH MPI_Op_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Op_free \- Frees a user-defined combination function handle +.SH SYNOPSIS +.nf +int MPI_Op_free(MPI_Op * op) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 + +.SH NOTES +.I op +is set to +.I MPI_OP_NULL +on exit. + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument; the error code associated with this +error indicates an attempt to free an MPI permanent operation (e.g., +.I MPI_SUM +). +.PD 1 + +.SH SEE ALSO +MPI_Op_create +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Open_port.3 b/macx64/mpi/mpich/share/man/man3/MPI_Open_port.3 new file mode 100644 index 00000000..93480aae --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Open_port.3 @@ -0,0 +1,117 @@ +.TH MPI_Open_port 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Open_port \- Establish an address that can be used to establish connections between groups of MPI processes +.SH SYNOPSIS +.nf +int MPI_Open_port(MPI_Info info, char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- implementation-specific information on how to establish a +port for +.I MPI_Comm_accept +(handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B port_name +- newly established port (string) +.PD 1 + +.SH NOTES +MPI copies a system-supplied port name into +.I port_name +\&. +.I port_name +identifies +the newly opened port and can be used by a client to contact the server. +The maximum size string that may be supplied by the system is +.I MPI_MAX_PORT_NAME +\&. + + +.SH RESERVED INFO KEY VALUES +.PD 0 +.TP +.B ip_port +- Value contains IP port number at which to establish a port. +.PD 1 +.PD 0 +.TP +.B ip_address +- Value contains IP address at which to establish a port. +If the address is not a valid IP address of the host on which the +.I MPI_OPEN_PORT +call is made, the results are undefined. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack.3 new file mode 100644 index 00000000..f92378bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack.3 @@ -0,0 +1,133 @@ +.TH MPI_Pack 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack \- Packs a datatype into contiguous memory +.SH SYNOPSIS +.nf +int MPI_Pack(const void *inbuf, + int incount, + MPI_Datatype datatype, void *outbuf, int outsize, int *position, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B incount +- number of input data items (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each input data item (handle) +.PD 1 +.PD 0 +.TP +.B outsize +- output buffer size, in bytes (non-negative integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator for packed message (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in buffer, in bytes (integer) +.PD 1 + +.SH NOTES (FROM THE SPECIFICATIONS) + +The input value of position is the first location in the output buffer to be +used for packing. position is incremented by the size of the packed message, +and the output value of position is the first location in the output buffer +following the locations occupied by the packed message. The comm argument is +the communicator that will be subsequently used for sending the packed +message. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack_external.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external.3 new file mode 100644 index 00000000..61e9e8ca --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external.3 @@ -0,0 +1,140 @@ +.TH MPI_Pack_external 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack_external \- Packs a datatype into contiguous memory, using the external32 format +.SH SYNOPSIS +.nf +int MPI_Pack_external(const char datarep[], + const void *inbuf, + int incount, + MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint * position) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B incount +- number of input data items (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each input data item (handle) +.PD 1 +.PD 0 +.TP +.B outsize +- output buffer size, in bytes (address integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in buffer, in bytes (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack_external_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external_size.3 new file mode 100644 index 00000000..dbb3883d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack_external_size.3 @@ -0,0 +1,115 @@ +.TH MPI_Pack_external_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack_external_size \- Returns the upper bound on the amount of space needed to pack a message using MPI_Pack_external. +.SH SYNOPSIS +.nf +int MPI_Pack_external_size(const char datarep[], + int incount, MPI_Datatype datatype, MPI_Aint * size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B incount +- number of input data items (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each input data item (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- output buffer size, in bytes (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pack_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pack_size.3 new file mode 100644 index 00000000..1a4d4602 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pack_size.3 @@ -0,0 +1,142 @@ +.TH MPI_Pack_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pack_size \- Returns the upper bound on the amount of space needed to pack a message +.SH SYNOPSIS +.nf +int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B incount +- count argument to packing call (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype argument to packing call (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator argument to packing call (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- upper bound on size of packed message, in bytes (integer) +.PD 1 + +.SH NOTES +The MPI standard document describes this in terms of +.I MPI_Pack +, but it +applies to both +.I MPI_Pack +and +.I MPI_Unpack +\&. +That is, the value +.I size +is +the maximum that is needed by either +.I MPI_Pack +or +.I MPI_Unpack +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Pcontrol.3 b/macx64/mpi/mpich/share/man/man3/MPI_Pcontrol.3 new file mode 100644 index 00000000..fb6ca015 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Pcontrol.3 @@ -0,0 +1,85 @@ +.TH MPI_Pcontrol 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Pcontrol \- Controls profiling +.SH SYNOPSIS +.nf +int MPI_Pcontrol(const int level, ...) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B level +- Profiling level +.PD 1 +.PD 0 +.TP +.B ... +- other arguments (see notes) +.PD 1 + +.SH NOTES +This routine provides a common interface for profiling control. The +interpretation of +.I level +and any other arguments is left to the +profiling library. The intention is that a profiling library will +provide a replacement for this routine and define the interpretation +of the parameters. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Probe.3 b/macx64/mpi/mpich/share/man/man3/MPI_Probe.3 new file mode 100644 index 00000000..2d8ebb58 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Probe.3 @@ -0,0 +1,145 @@ +.TH MPI_Probe 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Probe \- Blocking test for a message +.SH SYNOPSIS +.nf +int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B source +- source rank, or +.I MPI_ANY_SOURCE +(integer) +.PD 1 +.PD 0 +.TP +.B tag +- tag value or +.I MPI_ANY_TAG +(integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Publish_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Publish_name.3 new file mode 100644 index 00000000..b7462a99 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Publish_name.3 @@ -0,0 +1,119 @@ +.TH MPI_Publish_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Publish_name \- Publish a service name for use with MPI_Comm_connect +.SH SYNOPSIS +.nf +int MPI_Publish_name(const char *service_name, MPI_Info info, const char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B service_name +- a service name to associate with the port (string) +.PD 1 +.PD 0 +.TP +.B info +- implementation-specific information (handle) +.PD 1 +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + +.SH NOTES +The maximum size string that may be supplied for +.I port_name +is +.I MPI_MAX_PORT_NAME +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Put.3 b/macx64/mpi/mpich/share/man/man3/MPI_Put.3 new file mode 100644 index 00000000..a1da20d2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Put.3 @@ -0,0 +1,166 @@ +.TH MPI_Put 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Put \- Put data into a memory window on a remote process +.SH SYNOPSIS +.nf +int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of origin buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 + +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Rput +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Query_thread.3 b/macx64/mpi/mpich/share/man/man3/MPI_Query_thread.3 new file mode 100644 index 00000000..f36f2262 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Query_thread.3 @@ -0,0 +1,120 @@ +.TH MPI_Query_thread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Query_thread \- Return the level of thread support provided by the MPI library +.SH SYNOPSIS +.nf +int MPI_Query_thread(int *provided) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B provided +- Level of thread support provided. This is the same value +that was returned in the +.I provided +argument in +.I MPI_Init_thread +\&. + +.PD 1 + +.SH NOTES +The valid values for the level of thread support are: +.PD 0 +.TP +.B MPI_THREAD_SINGLE +- Only one thread will execute. +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- The process may be multi-threaded, but only the main +thread will make MPI calls (all MPI calls are funneled to the +main thread). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- The process may be multi-threaded, and multiple +threads may make MPI calls, but only one at a time: MPI calls are not +made concurrently from two distinct threads (all MPI calls are serialized). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may call MPI, with no restrictions. +.PD 1 + +If +.I MPI_Init +was called instead of +.I MPI_Init_thread +, the level of +thread support is defined by the implementation. This routine allows +you to find out the provided level. It is also useful for library +routines that discover that MPI has already been initialized and +wish to determine what level of thread support is available. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Raccumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Raccumulate.3 new file mode 100644 index 00000000..6d4dec66 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Raccumulate.3 @@ -0,0 +1,191 @@ +.TH MPI_Raccumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Raccumulate \- Accumulate data into the target process using remote memory access and return a request handle for the operation. +.SH SYNOPSIS +.nf +int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint + target_disp, int target_count, MPI_Datatype + target_datatype, MPI_Op op, MPI_Win win, MPI_Request * request) +.fi + +.I MPI_Raccumulate +is similar to +.I MPI_Accumulate +, except that it allocates a +communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an +.I MPI_Raccumulate +operation indicates that the origin buffer is +free to be updated. It does not indicate that the operation has completed at +the target window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH NOTES +The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all +.I MPI_INT +or all +.I MPI_DOUBLE_PRECISION +). + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Accumulate +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Recv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Recv.3 new file mode 100644 index 00000000..ddb900b8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Recv.3 @@ -0,0 +1,192 @@ +.TH MPI_Recv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Recv \- Blocking receive for a message +.SH SYNOPSIS +.nf +int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status * status) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- maximum number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each receive buffer element (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +The +.I count +argument indicates the maximum length of a message; the actual +length of the message can be determined with +.I MPI_Get_count +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Recv_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Recv_init.3 new file mode 100644 index 00000000..0ebeadb8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Recv_init.3 @@ -0,0 +1,186 @@ +.TH MPI_Recv_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Recv_init \- Create a persistent request for a receive +.SH SYNOPSIS +.nf +int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements received (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source or +.I MPI_ANY_SOURCE +(integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag or +.I MPI_ANY_TAG +(integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Start, MPI_Startall, MPI_Request_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 new file mode 100644 index 00000000..738fb41e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce.3 @@ -0,0 +1,175 @@ +.TH MPI_Reduce 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce \- Reduces values on all processes to a single value +.SH SYNOPSIS +.nf +int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of send buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of root process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice, +significant only at +.I root +) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce_local.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_local.3 new file mode 100644 index 00000000..390d4716 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_local.3 @@ -0,0 +1,152 @@ +.TH MPI_Reduce_local 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce_local \- Applies a reduction operator to local arguments. +.SH SYNOPSIS +.nf +int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B inbuf +- address of the input buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in each buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements in the buffers (handle) +.PD 1 +.PD 0 +.TP +.B op +- reduction operation (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B inoutbuf +- address of input-output buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter.3 new file mode 100644 index 00000000..3ea4f7bd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter.3 @@ -0,0 +1,182 @@ +.TH MPI_Reduce_scatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce_scatter \- Combines values and scatters the results +.SH SYNOPSIS +.nf +int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcounts +- integer array specifying the +number of elements in result distributed to each process. +Array must be identical on all calling processes. +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter_block.3 new file mode 100644 index 00000000..e6002883 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Reduce_scatter_block.3 @@ -0,0 +1,180 @@ +.TH MPI_Reduce_scatter_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Reduce_scatter_block \- Combines values and scatters the results +.SH SYNOPSIS +.nf +int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, + int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B recvcount +- element count per block (non-negative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OP +- Invalid operation. MPI operations (objects of type +.I MPI_Op +) +must either be one of the predefined operations (e.g., +.I MPI_SUM +) or +created with +.I MPI_Op_create +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Register_datarep.3 b/macx64/mpi/mpich/share/man/man3/MPI_Register_datarep.3 new file mode 100644 index 00000000..eaeb5dc1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Register_datarep.3 @@ -0,0 +1,73 @@ +.TH MPI_Register_datarep 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Register_datarep \- Register functions for user-defined data representations +.SH SYNOPSIS +.nf +int MPI_Register_datarep(ROMIO_CONST char *datarep, + MPI_Datarep_conversion_function * read_conversion_fn, + MPI_Datarep_conversion_function * write_conversion_fn, + MPI_Datarep_extent_function * dtype_file_extent_fn, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation name (string) +.PD 1 +.PD 0 +.TP +.B read_conversion_fn +- function invoked to convert from file representation to +native representation (function) +.PD 1 +.PD 0 +.TP +.B write_conversion_fn +- function invoked to convert from native representation to +file representation (function) +.PD 1 +.PD 0 +.TP +.B dtype_file_extent_fn +- function invoked to get the exted of a datatype as represented +in the file (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- pointer to extra state that is passed to each of the +three functions +.PD 1 + +.SH NOTES +This function allows the user to provide routines to convert data from +an external representation, used within a file, and the native representation, +used within the CPU. There is one predefined data representation, +.I external32 +\&. +Please consult the MPI-2 standard for details on this +function. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Request_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Request_free.3 new file mode 100644 index 00000000..df1e2f11 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Request_free.3 @@ -0,0 +1,132 @@ +.TH MPI_Request_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Request_free \- Frees a communication request object +.SH SYNOPSIS +.nf +int MPI_Request_free(MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH NOTES + +This routine is normally used to free inactive persistent requests created with +either +.I MPI_Recv_init +or +.I MPI_Send_init +and friends. It +.B is +also +permissible to free an active request. However, once freed, the request can no +longer be used in a wait or test routine (e.g., +.I MPI_Wait +) to determine +completion. + +This routine may also be used to free a non-persistent requests such as those +created with +.I MPI_Irecv +or +.I MPI_Isend +and friends. Like active persistent +requests, once freed, the request can no longer be used with test/wait routines +to determine completion. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +also: MPI_Isend, MPI_Irecv, MPI_Issend, MPI_Ibsend, MPI_Irsend, +.br +MPI_Recv_init, MPI_Send_init, MPI_Ssend_init, MPI_Rsend_init, MPI_Wait, +MPI_Test, MPI_Waitall, MPI_Waitany, MPI_Waitsome, MPI_Testall, MPI_Testany, +MPI_Testsome diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Request_get_status.3 b/macx64/mpi/mpich/share/man/man3/MPI_Request_get_status.3 new file mode 100644 index 00000000..2e5a746e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Request_get_status.3 @@ -0,0 +1,108 @@ +.TH MPI_Request_get_status 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Request_get_status \- Nondestructive test for the completion of a Request +.SH SYNOPSIS +.nf +int MPI_Request_get_status(MPI_Request request, int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- request (handle). May be +.I MPI_REQUEST_NULL +\&. + +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if operation has completed (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES +Unlike +.I MPI_Test +, +.I MPI_Request_get_status +does not deallocate or +deactivate the request. A call to one of the test/wait routines or +.I MPI_Request_free +should be made to release the request object. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rget.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rget.3 new file mode 100644 index 00000000..1b03eadb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rget.3 @@ -0,0 +1,185 @@ +.TH MPI_Rget 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rget \- Get data from a memory window on a remote process +.SH SYNOPSIS +.nf +int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request) +.fi + +.I MPI_Rget +is similar to +.I MPI_Get +, except that it allocates a communication +request object and associates it with the request handle (the argument request) +that can be used to wait or test for completion. The completion of an +.I MPI_Rget +operation indicates that the data is available in the origin buffer. If +origin_addr points to memory attached to a window, then the data becomes +available in the private copy of this window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- Address of the buffer in which to receive the data +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from window start to the beginning of the +target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Get +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rget_accumulate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rget_accumulate.3 new file mode 100644 index 00000000..c4dc052a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rget_accumulate.3 @@ -0,0 +1,214 @@ +.TH MPI_Rget_accumulate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rget_accumulate \- Perform an atomic, one-sided read-and-accumulate operation and return a request handle for the operation. +.SH SYNOPSIS +.nf +int MPI_Rget_accumulate(const void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, void *result_addr, int result_count, + MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, + MPI_Request * request) +.fi + +.I MPI_Rget_accumulate +is similar to +.I MPI_Get_accumulate +, except that it allocates +a communication request object and associates it with the request handle (the +argument request) that can be used to wait or test for completion. The +completion of an +.I MPI_Rget_accumulate +operation indicates that the data is +available in the result buffer and the origin buffer is free to be updated. It +does not indicate that the operation has been completed at the target window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each buffer entry (handle) +.PD 1 +.PD 0 +.TP +.B result_addr +- initial address of result buffer (choice) +.PD 1 +.PD 0 +.TP +.B result_count +- number of entries in result buffer (non-negative integer) +.PD 1 +.PD 0 +.TP +.B result_datatype +- datatype of each entry in result buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to beginning of target +buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- predefined reduce operation (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH NOTES +This operations is atomic with respect to other "accumulate" operations. + +The get and accumulate steps are executed atomically for each basic element in +the datatype (see MPI 3.0 Section 11.7 for details). The predefined operation +.I MPI_REPLACE +provides fetch-and-set behavior. + +The basic components of both the origin and target datatype must be the same +predefined datatype (e.g., all +.I MPI_INT +or all +.I MPI_DOUBLE_PRECISION +). + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Get_accumulate MPI_Fetch_and_op +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rput.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rput.3 new file mode 100644 index 00000000..7f9dafee --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rput.3 @@ -0,0 +1,194 @@ +.TH MPI_Rput 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rput \- Put data into a memory window on a remote process and return a request handle for the operation. +.SH SYNOPSIS +.nf +int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype + origin_datatype, int target_rank, MPI_Aint target_disp, + int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request * request) +.fi + +.I MPI_Rput +is similar to +.I MPI_Put +, except that it allocates a +communication request object and associates it with the request handle (the +argument request). The completion of an +.I MPI_Rput +operation (i.e., after the +corresponding test or wait) indicates that the sender is now free to update +the locations in the origin buffer. It does not indicate that the data is +available at the target window. If remote completion is required, +.I MPI_Win_flush +, +.I MPI_Win_flush_all +, +.I MPI_Win_unlock +, or +.I MPI_Win_unlock_all +can be +used. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B origin_addr +- initial address of origin buffer (choice) +.PD 1 +.PD 0 +.TP +.B origin_count +- number of entries in origin buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B origin_datatype +- datatype of each entry in origin buffer (handle) +.PD 1 +.PD 0 +.TP +.B target_rank +- rank of target (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_disp +- displacement from start of window to target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_count +- number of entries in target buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B target_datatype +- datatype of each entry in target buffer (handle) +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- RMA request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Put +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 new file mode 100644 index 00000000..075173f8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rsend.3 @@ -0,0 +1,165 @@ +.TH MPI_Rsend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rsend \- Blocking ready send +.SH SYNOPSIS +.nf +int MPI_Rsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Rsend_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Rsend_init.3 new file mode 100644 index 00000000..ec1f961e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Rsend_init.3 @@ -0,0 +1,182 @@ +.TH MPI_Rsend_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Rsend_init \- Creates a persistent request for a ready send +.SH SYNOPSIS +.nf +int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements sent (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Start, MPI_Request_free, MPI_Send_init +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Scan.3 b/macx64/mpi/mpich/share/man/man3/MPI_Scan.3 new file mode 100644 index 00000000..ecd1eea6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Scan.3 @@ -0,0 +1,166 @@ +.TH MPI_Scan 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Scan \- Computes the scan (partial reductions) of data on a collection of processes +.SH SYNOPSIS +.nf +int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, + MPI_Op op, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- starting address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in input buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- data type of elements of input buffer (handle) +.PD 1 +.PD 0 +.TP +.B op +- operation (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- starting address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- This error class is associcated with an error code that +indicates that two buffer arguments are +.B aliased +; that is, the +describe overlapping storage (often the exact same storage). This +is prohibited in MPI (because it is prohibited by the Fortran +standard, and rather than have a separate case for C and Fortran, the +MPI Forum adopted the more restrictive requirements of Fortran). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 b/macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 new file mode 100644 index 00000000..f89cdf25 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Scatter.3 @@ -0,0 +1,156 @@ +.TH MPI_Scatter 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Scatter \- Sends data from one process to all other processes in a communicator +.SH SYNOPSIS +.nf +int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (choice, significant +only at +.I root +) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements sent to each process +(integer, significant only at +.I root +) +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (significant only at +.I root +) +(handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Scatterv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Scatterv.3 new file mode 100644 index 00000000..54ea828e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Scatterv.3 @@ -0,0 +1,161 @@ +.TH MPI_Scatterv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Scatterv \- Scatters a buffer in parts to all processes in a communicator +.SH SYNOPSIS +.nf +int MPI_Scatterv(const void *sendbuf, const int *sendcounts, const int *displs, + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- address of send buffer (choice, significant only at +.I root +) +.PD 1 +.PD 0 +.TP +.B sendcounts +- integer array (of length group size) +specifying the number of elements to send to each processor +.PD 1 +.PD 0 +.TP +.B displs +- integer array (of length group size). Entry +.I i +specifies the displacement (relative to sendbuf from +which to take the outgoing data to process +.I i + +.PD 1 +.PD 0 +.TP +.B sendtype +- data type of send buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- data type of receive buffer elements (handle) +.PD 1 +.PD 0 +.TP +.B root +- rank of sending process (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- address of receive buffer (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_BUFFER +- Invalid buffer pointer. Usually a null buffer where +one is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Send.3 b/macx64/mpi/mpich/share/man/man3/MPI_Send.3 new file mode 100644 index 00000000..21319a6c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Send.3 @@ -0,0 +1,172 @@ +.TH MPI_Send 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Send \- Performs a blocking send +.SH SYNOPSIS +.nf +int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH NOTES +This routine may block until the message is received by the destination +process. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + +.SH SEE ALSO +MPI_Isend, MPI_Bsend +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Send_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Send_init.3 new file mode 100644 index 00000000..a10f3acb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Send_init.3 @@ -0,0 +1,182 @@ +.TH MPI_Send_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Send_init \- Create a persistent request for a standard send +.SH SYNOPSIS +.nf +int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements sent (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + +.SH SEE ALSO +MPI_Start, MPI_Startall, MPI_Request_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv.3 b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv.3 new file mode 100644 index 00000000..31b9eba1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv.3 @@ -0,0 +1,210 @@ +.TH MPI_Sendrecv 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Sendrecv \- Sends and receives a message +.SH SYNOPSIS +.nf +int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + int dest, int sendtag, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int source, int recvtag, MPI_Comm comm, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B sendbuf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B sendcount +- number of elements in send buffer (integer) +.PD 1 +.PD 0 +.TP +.B sendtype +- type of elements in send buffer (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B sendtag +- send tag (integer) +.PD 1 +.PD 0 +.TP +.B recvcount +- number of elements in receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B recvtype +- type of elements in receive buffer (handle) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B recvtag +- receive tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B recvbuf +- initial address of receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). This refers to the receive operation. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv_replace.3 b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv_replace.3 new file mode 100644 index 00000000..c96a1127 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Sendrecv_replace.3 @@ -0,0 +1,207 @@ +.TH MPI_Sendrecv_replace 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Sendrecv_replace \- Sends and receives using a single buffer +.SH SYNOPSIS +.nf +int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, + int dest, int sendtag, int source, int recvtag, + MPI_Comm comm, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of elements in send and receive buffer (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of elements in send and receive buffer (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B sendtag +- send message tag (integer) +.PD 1 +.PD 0 +.TP +.B source +- rank of source (integer) +.PD 1 +.PD 0 +.TP +.B recvtag +- receive message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send and receive buffer (choice) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TRUNCATE +- Message truncated on receive. The buffer size specified +was too small for the received message. This is a recoverable error in +the MPICH implementation. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 new file mode 100644 index 00000000..2390dfeb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ssend.3 @@ -0,0 +1,164 @@ +.TH MPI_Ssend 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ssend \- Blocking synchronous send +.SH SYNOPSIS +.nf +int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements in send buffer (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each send buffer element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Ssend_init.3 b/macx64/mpi/mpich/share/man/man3/MPI_Ssend_init.3 new file mode 100644 index 00000000..4ebcebb8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Ssend_init.3 @@ -0,0 +1,172 @@ +.TH MPI_Ssend_init 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Ssend_init \- Creates a persistent request for a synchronous send +.SH SYNOPSIS +.nf +int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of send buffer (choice) +.PD 1 +.PD 0 +.TP +.B count +- number of elements sent (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- type of each element (handle) +.PD 1 +.PD 0 +.TP +.B dest +- rank of destination (integer) +.PD 1 +.PD 0 +.TP +.B tag +- message tag (integer) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TAG +- Invalid tag argument. Tags must be non-negative; tags +in a receive ( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may +also be +.I MPI_ANY_TAG +\&. +The largest tag value is available through the +the attribute +.I MPI_TAG_UB +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Start.3 b/macx64/mpi/mpich/share/man/man3/MPI_Start.3 new file mode 100644 index 00000000..066a8fed --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Start.3 @@ -0,0 +1,93 @@ +.TH MPI_Start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Start \- Initiates a communication with a persistent request handle +.SH SYNOPSIS +.nf +int MPI_Start(MPI_Request * request) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- communication request (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Startall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Startall.3 new file mode 100644 index 00000000..e1dd2bb0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Startall.3 @@ -0,0 +1,121 @@ +.TH MPI_Startall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Startall \- Starts a collection of persistent requests +.SH SYNOPSIS +.nf +int MPI_Startall(int count, MPI_Request array_of_requests[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handle) +.PD 1 + +.SH NOTES + +Unlike +.I MPI_Waitall +, +.I MPI_Startall +does not provide a mechanism for +returning multiple errors nor pinpointing the request(s) involved. +Furthermore, the behavior of +.I MPI_Startall +after an error occurs is not +defined by the MPI standard. If well-defined error reporting and behavior +are required, multiple calls to +.I MPI_Start +should be used instead. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Status_set_cancelled.3 b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_cancelled.3 new file mode 100644 index 00000000..f6269b79 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_cancelled.3 @@ -0,0 +1,93 @@ +.TH MPI_Status_set_cancelled 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Status_set_cancelled \- Sets the cancelled state associated with a Status object +.SH SYNOPSIS +.nf +int MPI_Status_set_cancelled(MPI_Status * status, int flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- status to associate cancel flag with (Status) +.PD 1 +.PD 0 +.TP +.B flag +- if true indicates request was cancelled (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements.3 b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements.3 new file mode 100644 index 00000000..54f4b9b1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements.3 @@ -0,0 +1,107 @@ +.TH MPI_Status_set_elements 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Status_set_elements \- Set the number of elements in a status +.SH SYNOPSIS +.nf +int MPI_Status_set_elements(MPI_Status * status, MPI_Datatype datatype, int count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- status to associate count with (Status) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype associated with count (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements to associate with status (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements_x.3 new file mode 100644 index 00000000..c3419d20 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Status_set_elements_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Status_set_elements_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Status_set_elements_x \- Set the number of elements in a status +.SH SYNOPSIS +.nf +int MPI_Status_set_elements_x(MPI_Status * status, MPI_Datatype datatype, MPI_Count count) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status with which to associate count (Status) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype associated with count (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements to associate with status (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_changed.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_changed.3 new file mode 100644 index 00000000..518f7768 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_changed.3 @@ -0,0 +1,67 @@ +.TH MPI_T_category_changed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_changed \- Get the timestamp indicating the last change to the categories +.SH SYNOPSIS +.nf +int MPI_T_category_changed(int *stamp) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B stamp +- a virtual time stamp to indicate the last change to the categories (integer) +.PD 1 + +.SH NOTES +If two subsequent calls to this routine return the same timestamp, it is guaranteed that +the category information has not changed between the two calls. If the timestamp retrieved +from the second call is higher, then some categories have been added or expanded. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_categories.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_categories.3 new file mode 100644 index 00000000..5d3aa1bb --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_categories.3 @@ -0,0 +1,79 @@ +.TH MPI_T_category_get_categories 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_categories \- Get sub-categories in a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_categories(int cat_index, int len, int indices[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried, in the range [0,N-1] (integer) +.PD 1 +.PD 0 +.TP +.B len +- the length of the indices array (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indices +- an integer array of size len, indicating category variable indices (array of integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_cvars.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_cvars.3 new file mode 100644 index 00000000..03424429 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_cvars.3 @@ -0,0 +1,79 @@ +.TH MPI_T_category_get_cvars 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_cvars \- Get control variables in a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_cvars(int cat_index, int len, int indices[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried, in the range [0,N-1] (integer) +.PD 1 +.PD 0 +.TP +.B len +- the length of the indices array (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indices +- an integer array of size len, indicating control variable indices (array of integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_index.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_index.3 new file mode 100644 index 00000000..5d89f804 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_index.3 @@ -0,0 +1,74 @@ +.TH MPI_T_category_get_index 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_index \- Get the index of a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_index(const char *name, int *cat_index) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- the name of the category (string) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- the index of the category (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- The variable or category name is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_info.3 new file mode 100644 index 00000000..61dffc15 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_info.3 @@ -0,0 +1,107 @@ +.TH MPI_T_category_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_info \- Get the information about a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_info(int cat_index, char *name, int *name_len, char *desc, + int *desc_len, int *num_cvars, int *num_pvars, int *num_categories) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 +.PD 0 +.TP +.B desc_len +- length of the string and/or buffer for desc (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the category (string) +.PD 1 +.PD 0 +.TP +.B desc +- buffer to return the string containing the description of the category (string) +.PD 1 +.PD 0 +.TP +.B num_cvars +- number of control variables contained in the category (integer) +.PD 1 +.PD 0 +.TP +.B num_pvars +- number of performance variables contained in the category (integer) +.PD 1 +.PD 0 +.TP +.B num_categories +- number of categories contained in the category (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_num.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_num.3 new file mode 100644 index 00000000..dbfb5a29 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_num.3 @@ -0,0 +1,62 @@ +.TH MPI_T_category_get_num 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_num \- Get the number of categories +.SH SYNOPSIS +.nf +int MPI_T_category_get_num(int *num_cat) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_cat +- current number of categories (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_pvars.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_pvars.3 new file mode 100644 index 00000000..e29adb83 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_category_get_pvars.3 @@ -0,0 +1,79 @@ +.TH MPI_T_category_get_pvars 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_category_get_pvars \- Get performance variables in a category +.SH SYNOPSIS +.nf +int MPI_T_category_get_pvars(int cat_index, int len, int indices[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cat_index +- index of the category to be queried, in the range [0,N-1] (integer) +.PD 1 +.PD 0 +.TP +.B len +- the length of the indices array (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indices +- an integer array of size len, indicating performance variable indices (array of integers) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_index.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_index.3 new file mode 100644 index 00000000..30912d43 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_index.3 @@ -0,0 +1,74 @@ +.TH MPI_T_cvar_get_index 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_get_index \- Get the index of a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_get_index(const char *name, int *cvar_index) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- name of the control variable (string) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B cvar_index +- index of the control variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- The variable or category name is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_info.3 new file mode 100644 index 00000000..42961034 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_info.3 @@ -0,0 +1,118 @@ +.TH MPI_T_cvar_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_get_info \- Get the information about a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_get_info(int cvar_index, char *name, int *name_len, + int *verbosity, MPI_Datatype * datatype, MPI_T_enum * enumtype, + char *desc, int *desc_len, int *binding, int *scope) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 +.PD 0 +.TP +.B desc_len +- length of the string and/or buffer for desc (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cvar_index +- index of the control variable to be queried, value between 0 and num_cvar-1 (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the control variable (string) +.PD 1 +.PD 0 +.TP +.B verbosity +- verbosity level of this variable (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- MPI datatype of the information stored in the control variable (handle) +.PD 1 +.PD 0 +.TP +.B enumtype +- optional descriptor for enumeration information (handle) +.PD 1 +.PD 0 +.TP +.B desc +- buffer to return the string containing a description of the control variable (string) +.PD 1 +.PD 0 +.TP +.B binding +- type of MPI object this variable is associated with +.PD 1 +.PD 0 +.TP +.B scope +- scope of when changes to this variable are possible (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_num.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_num.3 new file mode 100644 index 00000000..9b1e30de --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_get_num.3 @@ -0,0 +1,62 @@ +.TH MPI_T_cvar_get_num 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_get_num \- Get the number of control variables +.SH SYNOPSIS +.nf +int MPI_T_cvar_get_num(int *num_cvar) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_cvar +- returns number of control variables (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_alloc.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_alloc.3 new file mode 100644 index 00000000..d049037f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_alloc.3 @@ -0,0 +1,95 @@ +.TH MPI_T_cvar_handle_alloc 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_handle_alloc \- Allocate a handle for a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_handle_alloc(int cvar_index, void *obj_handle, MPI_T_cvar_handle * handle, + int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B cvar_index +- index of control variable for which handle is to be allocated (index) +.PD 1 +.PD 0 +.TP +.B obj_handle +- reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B handle +- allocated handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements used to represent this variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_HANDLES +- No more handles available. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_free.3 new file mode 100644 index 00000000..5057c259 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_handle_free.3 @@ -0,0 +1,67 @@ +.TH MPI_T_cvar_handle_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_handle_free \- Free an existing handle for a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_handle_free(MPI_T_cvar_handle * handle) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B handle +- handle to be freed (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_read.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_read.3 new file mode 100644 index 00000000..e39957b2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_read.3 @@ -0,0 +1,74 @@ +.TH MPI_T_cvar_read 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_read \- Read the value of a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_read(MPI_T_cvar_handle handle, void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B handle +- handle to the control variable to be read (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of storage location for variable value +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_write.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_write.3 new file mode 100644 index 00000000..6cad5590 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_cvar_write.3 @@ -0,0 +1,82 @@ +.TH MPI_T_cvar_write 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_cvar_write \- Write a control variable +.SH SYNOPSIS +.nf +int MPI_T_cvar_write(MPI_T_cvar_handle handle, const void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B handle +- handle of the control variable to be written (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NOT_NOW +- The control variable can not be set at this moment. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_CVAR_SET_NEVER +- The control variable can not be set until end of execution. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_info.3 new file mode 100644 index 00000000..55837be9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_info.3 @@ -0,0 +1,86 @@ +.TH MPI_T_enum_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_enum_get_info \- Get the information about an enumeration +.SH SYNOPSIS +.nf +int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B enumtype +- enumeration to be queried (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num +- number of discrete values represented by this enumeration (integer) +.PD 1 +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the enumeration (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_item.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_item.3 new file mode 100644 index 00000000..ce2c2081 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_enum_get_item.3 @@ -0,0 +1,96 @@ +.TH MPI_T_enum_get_item 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_enum_get_item \- Get the information about an item in an enumeration +.SH SYNOPSIS +.nf +int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, int *name_len) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B enumtype +- enumeration to be queried (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B index +- number of the value to be queried in this enumeration (integer) +.PD 1 +.PD 0 +.TP +.B value +- variable value (integer) +.PD 1 +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the enumeration item (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_ITEM +- Item index queried is out of range. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_finalize.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_finalize.3 new file mode 100644 index 00000000..331be045 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_finalize.3 @@ -0,0 +1,74 @@ +.TH MPI_T_finalize 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_finalize \- Finalize the MPI tool information interface +.SH SYNOPSIS +.nf +int MPI_T_finalize(void) +.fi +.SH NOTES +This routine may be called as often as the corresponding MPI_T_init_thread() routine +up to the current point of execution. Calling it more times returns a corresponding +error code. As long as the number of calls to MPI_T_finalize() is smaller than the +number of calls to MPI_T_init_thread() up to the current point of execution, the MPI +tool information interface remains initialized and calls to its routines are permissible. +Further, additional calls to MPI_T_init_thread() after one or more calls to MPI_T_finalize() +are permissible. Once MPI_T_finalize() is called the same number of times as the routine +MPI_T_init_thread() up to the current point of execution, the MPI tool information +interface is no longer initialized. The interface can be reinitialized by subsequent calls +to MPI_T_init_thread(). + +At the end of the program execution, unless MPI_Abort() is called, an application must +have called MPI_T_init_thread() and MPI_T_finalize() an equal number of times. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 + +.SH SEE ALSO +MPI_T_init_thread +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_init_thread.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_init_thread.3 new file mode 100644 index 00000000..3b02e444 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_init_thread.3 @@ -0,0 +1,95 @@ +.TH MPI_T_init_thread 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_init_thread \- Initialize the MPI_T execution environment +.SH SYNOPSIS +.nf +int MPI_T_init_thread(int required, int *provided) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B required +- desired level of thread support (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B provided +- provided level of thread support (integer) +.PD 1 + +.SH NOTES +.SH THE VALID VALUES FOR THE LEVEL OF THREAD SUPPORT ARE +.PD 0 +.TP +.B MPI_THREAD_SINGLE +- Only one thread will execute. +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_FUNNELED +- The process may be multi-threaded, but only the main +thread will make MPI_T calls (all MPI_T calls are funneled to the +main thread). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_SERIALIZED +- The process may be multi-threaded, and multiple +threads may make MPI_T calls, but only one at a time: MPI_T calls are not +made concurrently from two distinct threads (all MPI_T calls are serialized). +.PD 1 +.PD 0 +.TP +.B MPI_THREAD_MULTIPLE +- Multiple threads may call MPI_T, with no restrictions. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 + +.SH SEE ALSO +MPI_T_finalize +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_index.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_index.3 new file mode 100644 index 00000000..f5e893d0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_index.3 @@ -0,0 +1,79 @@ +.TH MPI_T_pvar_get_index 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_get_index \- Get the index of a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_get_index(const char *name, int var_class, int *pvar_index) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B name +- the name of the performance variable (string) +.PD 1 +.PD 0 +.TP +.B var_class +- the class of the performance variable (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B pvar_index +- the index of the performance variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_NAME +- The variable or category name is invalid +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_info.3 new file mode 100644 index 00000000..01bb7c00 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_info.3 @@ -0,0 +1,133 @@ +.TH MPI_T_pvar_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_get_info \- Get the inforamtion about a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, int *verbosity, + int *var_class, MPI_Datatype * datatype, MPI_T_enum * enumtype, char *desc, + int *desc_len, int *binding, int *readonly, int *continuous, int *atomic) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B name_len +- length of the string and/or buffer for name (integer) +.PD 1 +.PD 0 +.TP +.B desc_len +- length of the string and/or buffer for desc (integer) +.PD 1 + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B pvar_index +- index of the performance variable to be queried between 0 and num_pvar-1 (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B name +- buffer to return the string containing the name of the performance variable (string) +.PD 1 +.PD 0 +.TP +.B verbosity +- verbosity level of this variable (integer) +.PD 1 +.PD 0 +.TP +.B var_class +- class of performance variable (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- MPI type of the information stored in the performance variable (handle) +.PD 1 +.PD 0 +.TP +.B enumtype +- optional descriptor for enumeration information (handle) +.PD 1 +.PD 0 +.TP +.B desc +- buffer to return the string containing a description of the performance variable (string) +.PD 1 +.PD 0 +.TP +.B binding +- type of MPI object to which this variable must be bound (integer) +.PD 1 +.PD 0 +.TP +.B readonly +- flag indicating whether the variable can be written/reset (integer) +.PD 1 +.PD 0 +.TP +.B continuous +- flag indicating whether the variable can be started and stopped or is continuously active (integer) +.PD 1 +.PD 0 +.TP +.B atomic +- flag indicating whether the variable can be atomically read and reset (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_num.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_num.3 new file mode 100644 index 00000000..fdc4a193 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_get_num.3 @@ -0,0 +1,62 @@ +.TH MPI_T_pvar_get_num 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_get_num \- Get the number of performance variables +.SH SYNOPSIS +.nf +int MPI_T_pvar_get_num(int *num_pvar) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_pvar +- returns number of performance variables (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_alloc.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_alloc.3 new file mode 100644 index 00000000..c91e6359 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_alloc.3 @@ -0,0 +1,100 @@ +.TH MPI_T_pvar_handle_alloc 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_handle_alloc \- Allocate a handle for a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, + void *obj_handle, MPI_T_pvar_handle * handle, int *count) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B pvar_index +- index of performance variable for which handle is to be allocated (integer) +.PD 1 +.PD 0 +.TP +.B obj_handle +- reference to a handle of the MPI object to which this variable is supposed to be bound (pointer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B handle +- allocated handle (handle) +.PD 1 +.PD 0 +.TP +.B count +- number of elements used to represent this variable (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_INDEX +- Index is invalid or has been deleted. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_HANDLES +- No more handles available. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_free.3 new file mode 100644 index 00000000..30e8fc76 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_handle_free.3 @@ -0,0 +1,77 @@ +.TH MPI_T_pvar_handle_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_handle_free \- Free an existing handle for a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle * handle) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle to be freed (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_read.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_read.3 new file mode 100644 index 00000000..dceef5a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_read.3 @@ -0,0 +1,95 @@ +.TH MPI_T_pvar_read 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_read \- Read the value of a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH NOTES +The MPI_T_pvar_read() call queries the value of the performance variable with the +handle "handle" in the session identified by the parameter session and stores the result +in the buffer identified by the parameter buf. The user is responsible to ensure that the +buffer is of the appropriate size to hold the entire value of the performance variable +(based on the datatype and count returned by the corresponding previous calls to +MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). + +The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_read(). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_readreset.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_readreset.3 new file mode 100644 index 00000000..1fa5d22c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_readreset.3 @@ -0,0 +1,94 @@ +.TH MPI_T_pvar_readreset 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_readreset \- Read the value of a performance variable and then reset it +.SH SYNOPSIS +.nf +int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- The performance variable can not be written or reset. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_ATOMIC +- The performance variable can not be read/write atomically. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_reset.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_reset.3 new file mode 100644 index 00000000..7a0e64d3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_reset.3 @@ -0,0 +1,92 @@ +.TH MPI_T_pvar_reset 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_reset \- Reset a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH NOTES +The MPI_T_pvar_reset() call sets the performance variable with the handle identified +by the parameter handle to its starting value. If it is not possible +to change the variable, the function returns MPI_T_ERR_PVAR_NO_WRITE. +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to reset all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are reset successfully, otherwise MPI_T_ERR_PVAR_NO_WRITE is returned. Readonly +variables are ignored when MPI_T_PVAR_ALL_HANDLES is specified. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- The performance variable can not be written or reset. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_create.3 new file mode 100644 index 00000000..2d8c8f45 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_create.3 @@ -0,0 +1,67 @@ +.TH MPI_T_pvar_session_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_session_create \- Create a new session for accessing performance variables +.SH SYNOPSIS +.nf +int MPI_T_pvar_session_create(MPI_T_pvar_session * session) +.fi +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance session (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_OUT_OF_SESSIONS +- No more sessions available. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_free.3 new file mode 100644 index 00000000..ae6860cd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_session_free.3 @@ -0,0 +1,72 @@ +.TH MPI_T_pvar_session_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_session_free \- Free an existing performance variable session +.SH SYNOPSIS +.nf +int MPI_T_pvar_session_free(MPI_T_pvar_session * session) +.fi +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 + +.SH NOTES +Calls to the MPI tool information interface can no longer be made +within the context of a session after it is freed. On a successful +return, MPI sets the session identifier to MPI_T_PVAR_SESSION_NULL. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_start.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_start.3 new file mode 100644 index 00000000..c72532c0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_start.3 @@ -0,0 +1,90 @@ +.TH MPI_T_pvar_start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_start \- Start a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH NOTES +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to start all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are started successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already started are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_STARTSTOP +- The performance variable can not be started or stopped. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_stop.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_stop.3 new file mode 100644 index 00000000..a2c141fa --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_stop.3 @@ -0,0 +1,93 @@ +.TH MPI_T_pvar_stop 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_stop \- Stop a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 + +.SH NOTES +This functions stops the performance variable with the handle identified by the parameter +handle in the session identified by the parameter session. + +If the constant MPI_T_PVAR_ALL_HANDLES is passed in handle, the MPI implementation +attempts to stop all variables within the session identified by the parameter session for +which handles have been allocated. In this case, the routine returns MPI_SUCCESS if all +variables are stopped successfully, otherwise MPI_T_ERR_PVAR_NO_STARTSTOP is returned. +Continuous variables and variables that are already stopped are ignored when +MPI_T_PVAR_ALL_HANDLES is specified. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_STARTSTOP +- The performance variable can not be started or stopped. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_write.3 b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_write.3 new file mode 100644 index 00000000..b33f5c65 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_T_pvar_write.3 @@ -0,0 +1,98 @@ +.TH MPI_T_pvar_write 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_T_pvar_write \- Write a performance variable +.SH SYNOPSIS +.nf +int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, const void *buf) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B session +- identifier of performance experiment session (handle) +.PD 1 +.PD 0 +.TP +.B handle +- handle of a performance variable (handle) +.PD 1 +.PD 0 +.TP +.B buf +- initial address of storage location for variable value (choice) +.PD 1 + +.SH NOTES +The MPI_T_pvar_write() call attempts to write the value of the performance variable +with the handle identified by the parameter handle in the session identified by the parameter +session. The value to be written is passed in the buffer identified by the parameter buf. The +user must ensure that the buffer is of the appropriate size to hold the entire value of the +performance variable (based on the datatype and count returned by the corresponding previous +calls to MPI_T_pvar_get_info() and MPI_T_pvar_handle_alloc(), respectively). + +The constant MPI_T_PVAR_ALL_HANDLES cannot be used as an argument for the function +MPI_T_pvar_write(). + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_NOT_INITIALIZED +- The MPI tool information interface is not initialized. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_SESSION +- Session argument is not valid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_INVALID_HANDLE +- The handle is invalid. +.PD 1 +.PD 0 +.TP +.B MPI_T_ERR_PVAR_NO_WRITE +- The performance variable can not be written or reset. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Test.3 b/macx64/mpi/mpich/share/man/man3/MPI_Test.3 new file mode 100644 index 00000000..aaa90c73 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Test.3 @@ -0,0 +1,167 @@ +.TH MPI_Test 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Test \- Tests for the completion of a request +.SH SYNOPSIS +.nf +int MPI_Test(MPI_Request * request, int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- MPI request (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if operation completed (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Test_cancelled.3 b/macx64/mpi/mpich/share/man/man3/MPI_Test_cancelled.3 new file mode 100644 index 00000000..5f5e9b37 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Test_cancelled.3 @@ -0,0 +1,95 @@ +.TH MPI_Test_cancelled 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Test_cancelled \- Tests to see if a request was cancelled +.SH SYNOPSIS +.nf +int MPI_Test_cancelled(const MPI_Status * status, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- true if the request was cancelled, false otherwise (logical) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Testall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Testall.3 new file mode 100644 index 00000000..ae86abfc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Testall.3 @@ -0,0 +1,243 @@ +.TH MPI_Testall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Testall \- Tests for the completion of all previously initiated requests +.SH SYNOPSIS +.nf +int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- lists length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- True if all requests have completed; false otherwise (logical) +.PD 1 +.PD 0 +.TP +.B array_of_statuses +- array of status objects (array of Status). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES +.I flag +is true only if all requests have completed. Otherwise, flag is +false and neither the +.I array_of_requests +nor the +.I array_of_statuses +is +modified. + +If one or more of the requests completes with an error, +.I MPI_ERR_IN_STATUS +is +returned. An error value will be present is elements of +.I array_of_status +associated with the requests. Likewise, the +.I MPI_ERROR +field in the status +elements associated with requests that have successfully completed will be +.I MPI_SUCCESS +\&. +Finally, those requests that have not completed will have a +value of +.I MPI_ERR_PENDING +\&. + + +While it is possible to list a request handle more than once in the +.I array_of_requests +, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Testany.3 b/macx64/mpi/mpich/share/man/man3/MPI_Testany.3 new file mode 100644 index 00000000..dee4ffe6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Testany.3 @@ -0,0 +1,158 @@ +.TH MPI_Testany 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Testany \- Tests for completion of any previdously initiated requests +.SH SYNOPSIS +.nf +int MPI_Testany(int count, MPI_Request array_of_requests[], int *indx, + int *flag, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indx +- index of operation that completed, or +.I MPI_UNDEFINED +if none +completed (integer) +.PD 1 +.PD 0 +.TP +.B flag +- true if one of the operations is complete (logical) +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES + +While it is possible to list a request handle more than once in the +.I array_of_requests +, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Testsome.3 b/macx64/mpi/mpich/share/man/man3/MPI_Testsome.3 new file mode 100644 index 00000000..a49f394a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Testsome.3 @@ -0,0 +1,206 @@ +.TH MPI_Testsome 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Testsome \- Tests for some given requests to complete +.SH SYNOPSIS +.nf +int MPI_Testsome(int incount, MPI_Request array_of_requests[], int *outcount, + int array_of_indices[], MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B incount +- length of array_of_requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outcount +- number of completed requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_indices +- array of indices of operations that +completed (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_statuses +- array of status objects for +operations that completed (array of Status). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES + +While it is possible to list a request handle more than once in the +.I array_of_requests +, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Topo_test.3 b/macx64/mpi/mpich/share/man/man3/MPI_Topo_test.3 new file mode 100644 index 00000000..856d1ad3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Topo_test.3 @@ -0,0 +1,110 @@ +.TH MPI_Topo_test 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Topo_test \- Determines the type of topology (if any) associated with a communicator +.SH SYNOPSIS +.nf +int MPI_Topo_test(MPI_Comm comm, int *status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- topology type of communicator +.I comm +(integer). If the +communicator has no associated topology, returns +.I MPI_UNDEFINED +\&. + +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Graph_create, MPI_Cart_create +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_commit.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_commit.3 new file mode 100644 index 00000000..94cd4247 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_commit.3 @@ -0,0 +1,89 @@ +.TH MPI_Type_commit 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_commit \- Commits the datatype +.SH SYNOPSIS +.nf +int MPI_Type_commit(MPI_Datatype * datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_contiguous.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_contiguous.3 new file mode 100644 index 00000000..e8e0da7d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_contiguous.3 @@ -0,0 +1,113 @@ +.TH MPI_Type_contiguous 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_contiguous \- Creates a contiguous datatype +.SH SYNOPSIS +.nf +int MPI_Type_contiguous(int count, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- replication count (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_darray.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_darray.3 new file mode 100644 index 00000000..5e5864d3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_darray.3 @@ -0,0 +1,151 @@ +.TH MPI_Type_create_darray 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_darray \- Create a datatype representing a distributed array +.SH SYNOPSIS +.nf +int MPI_Type_create_darray(int size, + int rank, + int ndims, + const int array_of_gsizes[], + const int array_of_distribs[], + const int array_of_dargs[], + const int array_of_psizes[], + int order, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of process group (positive integer) +.PD 1 +.PD 0 +.TP +.B rank +- rank in process group (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B ndims +- number of array dimensions as well as process grid dimensions (positive integer) +.PD 1 +.PD 0 +.TP +.B array_of_gsizes +- number of elements of type oldtype in each dimension of global array (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_distribs +- distribution of array in each dimension (array of state) +.PD 1 +.PD 0 +.TP +.B array_of_dargs +- distribution argument in each dimension (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_psizes +- size of process grid in each dimension (array of positive integers) +.PD 1 +.PD 0 +.TP +.B order +- array storage order flag (state) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed.3 new file mode 100644 index 00000000..a67a9370 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed.3 @@ -0,0 +1,123 @@ +.TH MPI_Type_create_hindexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_hindexed \- Create a datatype for an indexed datatype with displacements in bytes +.SH SYNOPSIS +.nf +int MPI_Type_create_hindexed(int count, + const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks --- also number of entries in +array_of_displacements and array_of_blocklengths (integer) +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array of address integers) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed_block.3 new file mode 100644 index 00000000..bcd3e711 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hindexed_block.3 @@ -0,0 +1,122 @@ +.TH MPI_Type_create_hindexed_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_hindexed_block \- Create an hindexed datatype with constant-sized blocks +.SH SYNOPSIS +.nf +int MPI_Type_create_hindexed_block(int count, + int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- length of array of displacements (integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- size of block (integer) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- array of displacements (array of integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hvector.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hvector.3 new file mode 100644 index 00000000..840dbbf2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_hvector.3 @@ -0,0 +1,121 @@ +.TH MPI_Type_create_hvector 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_hvector \- Create a datatype with a constant stride given in bytes +.SH SYNOPSIS +.nf +int MPI_Type_create_hvector(int count, + int blocklength, + MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B stride +- number of bytes between start of each block (address integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_indexed_block.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_indexed_block.3 new file mode 100644 index 00000000..a9b28533 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_indexed_block.3 @@ -0,0 +1,148 @@ +.TH MPI_Type_create_indexed_block 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_indexed_block \- Create an indexed datatype with constant-sized blocks +.SH SYNOPSIS +.nf +int MPI_Type_create_indexed_block(int count, + int blocklength, + const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- length of array of displacements (integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- size of block (integer) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- array of displacements (array of integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH NOTES +The indices are displacements, and are based on a zero origin. A common error +is to do something like the following +.nf +integer a(100) +integer blens(10), indices(10) +do i=1,10 +10 indices(i) = 1 + (i-1)*10 +call MPI_TYPE_CREATE_INDEXED_BLOCK(10,1,indices,MPI_INTEGER,newtype,ierr) +call MPI_TYPE_COMMIT(newtype,ierr) +call MPI_SEND(a,1,newtype,...) +.fi + +expecting this to send "a(1),a(11),..." because the indices have values +"1,11,...". Because these are +.B displacements +from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". + +If you wish to consider the displacements as indices into a Fortran array, +consider declaring the Fortran array with a zero origin +.nf +integer a(0:99) +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_keyval.3 new file mode 100644 index 00000000..91f874ec --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_keyval.3 @@ -0,0 +1,139 @@ +.TH MPI_Type_create_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_keyval \- Create an attribute keyval for MPI datatypes +.SH SYNOPSIS +.nf +int MPI_Type_create_keyval(MPI_Type_copy_attr_function * type_copy_attr_fn, + MPI_Type_delete_attr_function * type_delete_attr_fn, + int *type_keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B type_copy_attr_fn +- copy callback function for type_keyval (function) +.PD 1 +.PD 0 +.TP +.B type_delete_attr_fn +- delete callback function for type_keyval (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B type_keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES + +Default copy and delete functions are available. These are +.PD 0 +.TP +.B MPI_TYPE_NULL_COPY_FN +- empty copy function +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_NULL_DELETE_FN +- empty delete function +.PD 1 +.PD 0 +.TP +.B MPI_TYPE_DUP_FN +- simple dup function +.PD 1 + + +.SH RETURN VALUE FROM ATTRIBUTE CALLBACKS +The MPI-2 versions of the attribute callbacks should return either +.I MPI_SUCCESS +on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines +.I MPI_Add_error_class +and +.I MPI_Add_error_code +that allow the +user to define and use MPI error codes and classes. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_resized.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_resized.3 new file mode 100644 index 00000000..b2953516 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_resized.3 @@ -0,0 +1,107 @@ +.TH MPI_Type_create_resized 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_resized \- Create a datatype with a new lower bound and extent from an existing datatype +.SH SYNOPSIS +.nf +int MPI_Type_create_resized(MPI_Datatype oldtype, + MPI_Aint lb, MPI_Aint extent, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B oldtype +- input datatype (handle) +.PD 1 +.PD 0 +.TP +.B lb +- new lower bound of datatype (address integer) +.PD 1 +.PD 0 +.TP +.B extent +- new extent of datatype (address integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- output datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_struct.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_struct.3 new file mode 100644 index 00000000..99423772 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_struct.3 @@ -0,0 +1,124 @@ +.TH MPI_Type_create_struct 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_struct \- Create an MPI datatype from a general set of datatypes, displacements, and block sizes +.SH SYNOPSIS +.nf +int MPI_Type_create_struct(int count, + const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (integer) --- also number of entries in arrays +array_of_types, array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of integer) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array of address integer) +.PD 1 +.PD 0 +.TP +.B array_of_types +- type of elements in each block (array of handles to +datatype objects) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_create_subarray.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_subarray.3 new file mode 100644 index 00000000..026d29e3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_create_subarray.3 @@ -0,0 +1,136 @@ +.TH MPI_Type_create_subarray 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_create_subarray \- Create a datatype for a subarray of a regular, multidimensional array +.SH SYNOPSIS +.nf +int MPI_Type_create_subarray(int ndims, + const int array_of_sizes[], + const int array_of_subsizes[], + const int array_of_starts[], + int order, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B ndims +- number of array dimensions (positive integer) +.PD 1 +.PD 0 +.TP +.B array_of_sizes +- number of elements of type oldtype in each dimension of the +full array (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_subsizes +- number of elements of type oldtype in each dimension of +the subarray (array of positive integers) +.PD 1 +.PD 0 +.TP +.B array_of_starts +- starting coordinates of the subarray in each dimension +(array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B order +- array storage order flag (state) +.PD 1 +.PD 0 +.TP +.B oldtype +- array element datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_delete_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_delete_attr.3 new file mode 100644 index 00000000..4d706b3a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_delete_attr.3 @@ -0,0 +1,98 @@ +.TH MPI_Type_delete_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_delete_attr \- Deletes an attribute value associated with a key on a datatype +.SH SYNOPSIS +.nf +int MPI_Type_delete_attr(MPI_Datatype datatype, int type_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- MPI datatype to which attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B type_keyval +- The key value of the deleted attribute (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_dup.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_dup.3 new file mode 100644 index 00000000..5050874c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_dup.3 @@ -0,0 +1,100 @@ +.TH MPI_Type_dup 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_dup \- Duplicate a datatype +.SH SYNOPSIS +.nf +#undef FUNCNAME +#define FUNCNAME MPI_Type_dup +#undef FCNAME +#define FCNAME MPL_QUOTE(FUNCNAME) +int MPI_Type_dup(MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B oldtype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- copy of type (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_extent.3 new file mode 100644 index 00000000..811af5c4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_extent.3 @@ -0,0 +1,103 @@ +.TH MPI_Type_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_extent \- Returns the extent of a datatype +.SH SYNOPSIS +.nf +int MPI_Type_extent(MPI_Datatype datatype, MPI_Aint * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B extent +- datatype extent (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_get_extent +\&. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_free.3 new file mode 100644 index 00000000..a1ad702a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_free.3 @@ -0,0 +1,110 @@ +.TH MPI_Type_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_free \- Frees the datatype +.SH SYNOPSIS +.nf +int MPI_Type_free(MPI_Datatype * datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype that is freed (handle) +.PD 1 + +.SH PREDEFINED TYPES + +The MPI standard states that (in Opaque Objects) +.in 1cm + +MPI provides certain predefined opaque objects and predefined, static handles +to these objects. Such objects may not be destroyed. +.in + + +Thus, it is an error to free a predefined datatype. The same section makes +it clear that it is an error to free a null datatype. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_free_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_free_keyval.3 new file mode 100644 index 00000000..3f2d734d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_free_keyval.3 @@ -0,0 +1,93 @@ +.TH MPI_Type_free_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_free_keyval \- Frees an attribute key for datatypes +.SH SYNOPSIS +.nf +int MPI_Type_free_keyval(int *type_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B type_keyval +- Frees the integer key value (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_attr.3 new file mode 100644 index 00000000..82dbfb89 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_attr.3 @@ -0,0 +1,127 @@ +.TH MPI_Type_get_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_attr \- Retrieves attribute value by key +.SH SYNOPSIS +.nf +int MPI_Type_get_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to which the attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B type_keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless flag = false +.PD 1 +.PD 0 +.TP +.B flag +- false if no attribute is associated with the key (logical) +.PD 1 + +.SH NOTES +Attributes must be extracted from the same language as they were inserted +in with +.I MPI_Type_set_attr +\&. +The notes for C and Fortran below explain +why. + +.SH NOTES FOR C +Even though the +.I attr_value +argument is declared as +.I void * +, it is +really the address of a void pointer. See the rationale in the +standard for more details. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_contents.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_contents.3 new file mode 100644 index 00000000..638340a7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_contents.3 @@ -0,0 +1,110 @@ +.TH MPI_Type_get_contents 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_contents \- get type contents +.SH SYNOPSIS +.nf +int MPI_Type_get_contents(MPI_Datatype datatype, + int max_integers, + int max_addresses, + int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], MPI_Datatype array_of_datatypes[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to access (handle) +.PD 1 +.PD 0 +.TP +.B max_integers +- number of elements in array_of_integers (non-negative integer) +.PD 1 +.PD 0 +.TP +.B max_addresses +- number of elements in array_of_addresses (non-negative integer) +.PD 1 +.PD 0 +.TP +.B max_datatypes +- number of elements in array_of_datatypes (non-negative integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B array_of_integers +- contains integer arguments used in constructing the datatype (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_addresses +- contains address arguments used in constructing the datatype (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_datatypes +- contains datatype arguments used in constructing the datatype (array of handles) +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_envelope.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_envelope.3 new file mode 100644 index 00000000..7fe4af97 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_envelope.3 @@ -0,0 +1,96 @@ +.TH MPI_Type_get_envelope 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_envelope \- get type envelope +.SH SYNOPSIS +.nf +int MPI_Type_get_envelope(MPI_Datatype datatype, + int *num_integers, int *num_addresses, int *num_datatypes, int *combiner) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to access (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B num_integers +- number of input integers used in the call constructing combiner (non-negative integer) +.PD 1 +.PD 0 +.TP +.B num_addresses +- number of input addresses used in the call constructing combiner (non-negative integer) +.PD 1 +.PD 0 +.TP +.B num_datatypes +- number of input datatypes used in the call constructing combiner (non-negative integer) +.PD 1 +.PD 0 +.TP +.B combiner +- combiner (state) +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent.3 new file mode 100644 index 00000000..11143f0e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent.3 @@ -0,0 +1,106 @@ +.TH MPI_Type_get_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_extent \- Get the lower bound and extent for a Datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint * lb, MPI_Aint * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to get information on (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B lb +- lower bound of datatype (address integer) +.PD 1 +.PD 0 +.TP +.B extent +- extent of datatype (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent_x.3 new file mode 100644 index 00000000..5efa1757 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_extent_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Type_get_extent_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_extent_x \- Get the lower bound and extent as MPI_Count values for a Datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_extent_x(MPI_Datatype datatype, MPI_Count * lb, MPI_Count * extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B lb +- lower bound of datatype (integer) +.PD 1 +.PD 0 +.TP +.B extent +- extent of datatype (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_name.3 new file mode 100644 index 00000000..393cb463 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_name.3 @@ -0,0 +1,131 @@ +.TH MPI_Type_get_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_name \- Get the print name for a datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_name(MPI_Datatype datatype, char *type_name, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype whose name is to be returned (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B type_name +- the name previously stored on the datatype, or a empty string +if no such name exists (string) +.PD 1 +.PD 0 +.TP +.B resultlen +- length of returned name (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NULL HANDLES +The MPI 1.1 specification, in the section on opaque objects, explicitly +disallows freeing a null communicator. The text from the standard is: +.nf +A null handle argument is an erroneous IN argument in MPI calls, unless an +exception is explicitly stated in the text that defines the function. Such +exception is allowed for handles to request objects in Wait and Test calls +(sections Communication Completion and Multiple Completions ). Otherwise, a +null handle can only be passed to a function that allocates a new object and +returns a reference to it in the handle. +.fi + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent.3 new file mode 100644 index 00000000..d5b40edd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent.3 @@ -0,0 +1,106 @@ +.TH MPI_Type_get_true_extent 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_true_extent \- Get the true lower bound and extent for a datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint * true_lb, MPI_Aint * true_extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype to get information on (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B true_lb +- true lower bound of datatype (address integer) +.PD 1 +.PD 0 +.TP +.B true_extent +- true size of datatype (address integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent_x.3 new file mode 100644 index 00000000..17169174 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_get_true_extent_x.3 @@ -0,0 +1,87 @@ +.TH MPI_Type_get_true_extent_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_get_true_extent_x \- Get the true lower bound and extent as MPI_Count values for a datatype +.SH SYNOPSIS +.nf +int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count * true_lb, MPI_Count * true_extent) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B true_lb +- true lower bound of datatype (integer) +.PD 1 +.PD 0 +.TP +.B true_extent +- true extent of datatype (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_hindexed.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_hindexed.3 new file mode 100644 index 00000000..8f14096d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_hindexed.3 @@ -0,0 +1,170 @@ +.TH MPI_Type_hindexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_hindexed \- Creates an indexed datatype with offsets in bytes +.SH SYNOPSIS +.nf +int MPI_Type_hindexed(int count, + int *array_of_blocklengths, + MPI_Aint * array_of_displacements, + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array of MPI_Aint) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +This routine is replaced by +.I MPI_Type_create_hindexed +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +.nf +integer a(100) +integer array_of_blocklengths(10), array_of_displacements(10) +do i=1,10 +array_of_blocklengths(i) = 1 +10 array_of_displacements(i) = (1 + (i-1)*10) * sizeofint +call MPI_TYPE_HINDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr) +call MPI_TYPE_COMMIT(newtype,ierr) +call MPI_SEND(a,1,newtype,...) +.fi + +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are +.B displacements +from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". + +If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +.nf +integer a(0:99) +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_hvector.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_hvector.3 new file mode 100644 index 00000000..b1281e46 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_hvector.3 @@ -0,0 +1,97 @@ +.TH MPI_Type_hvector 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_hvector \- type_hvector +.SH SYNOPSIS +.nf +int MPI_Type_hvector(int count, + int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block +(nonnegative integer) +.PD 1 +.PD 0 +.TP +.B stride +- number of bytes between start of each block (integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH NOTES + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_indexed.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_indexed.3 new file mode 100644 index 00000000..249e975a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_indexed.3 @@ -0,0 +1,156 @@ +.TH MPI_Type_indexed 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_indexed \- Creates an indexed datatype +.SH SYNOPSIS +.nf +int MPI_Type_indexed(int count, + const int *array_of_blocklengths, + const int *array_of_displacements, + MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks -- also number of entries in array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array of nonnegative integers) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- displacement of each block in multiples of oldtype (array of +integers) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The array_of_displacements are displacements, and are based on a zero origin. A common error +is to do something like to following +.nf +integer a(100) +integer array_of_blocklengths(10), array_of_displacements(10) +do i=1,10 +array_of_blocklengths(i) = 1 +10 array_of_displacements(i) = 1 + (i-1)*10 +call MPI_TYPE_INDEXED(10,array_of_blocklengths,array_of_displacements,MPI_INTEGER,newtype,ierr) +call MPI_TYPE_COMMIT(newtype,ierr) +call MPI_SEND(a,1,newtype,...) +.fi + +expecting this to send "a(1),a(11),..." because the array_of_displacements have values +"1,11,...". Because these are +.B displacements +from the beginning of "a", +it actually sends "a(1+1),a(1+11),...". + +If you wish to consider the displacements as array_of_displacements into a Fortran array, +consider declaring the Fortran array with a zero origin +.nf +integer a(0:99) +.fi + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 new file mode 100644 index 00000000..1f0538a8 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_lb.3 @@ -0,0 +1,112 @@ +.TH MPI_Type_lb 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_lb \- Returns the lower-bound of a datatype +.SH SYNOPSIS +.nf +int MPI_Type_lb(MPI_Datatype datatype, MPI_Aint * displacement) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B displacement +- displacement of lower bound from origin, +in bytes (address integer) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_Get_extent +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_match_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_match_size.3 new file mode 100644 index 00000000..74e262a3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_match_size.3 @@ -0,0 +1,114 @@ +.TH MPI_Type_match_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_match_size \- Find an MPI datatype matching a specified size +.SH SYNOPSIS +.nf +int MPI_Type_match_size(int typeclass, int size, MPI_Datatype * datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B typeclass +- generic type specifier (integer) +.PD 1 +.PD 0 +.TP +.B size +- size, in bytes, of representation (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype with correct type, size (handle) +.PD 1 + +.SH NOTES +.I typeclass +is one of +.I MPI_TYPECLASS_REAL +, +.I MPI_TYPECLASS_INTEGER +and +.I MPI_TYPECLASS_COMPLEX +, corresponding to the desired typeclass. +The function returns an MPI datatype matching a local variable of type +.I (typeclass, size) +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_set_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_attr.3 new file mode 100644 index 00000000..12506340 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_attr.3 @@ -0,0 +1,107 @@ +.TH MPI_Type_set_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_set_attr \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Type_set_attr(MPI_Datatype datatype, int type_keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- MPI Datatype to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B type_keyval +- key value, as returned by +.I MPI_Type_create_keyval +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES + +The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer ( +.I void * +); in Fortran, it is an +address-sized integer. + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_set_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_name.3 new file mode 100644 index 00000000..cec0bcff --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_set_name.3 @@ -0,0 +1,101 @@ +.TH MPI_Type_set_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_set_name \- set datatype name +.SH SYNOPSIS +.nf +int MPI_Type_set_name(MPI_Datatype datatype, const char *type_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype whose identifier is to be set (handle) +.PD 1 +.PD 0 +.TP +.B type_name +- the character string which is remembered as the name (string) +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_size.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_size.3 new file mode 100644 index 00000000..452e28fc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_size.3 @@ -0,0 +1,101 @@ +.TH MPI_Type_size 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_size \- Return the number of bytes occupied by entries in the datatype +.SH SYNOPSIS +.nf +int MPI_Type_size(MPI_Datatype datatype, int *size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- datatype size (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_size_x.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_size_x.3 new file mode 100644 index 00000000..e22674ca --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_size_x.3 @@ -0,0 +1,82 @@ +.TH MPI_Type_size_x 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_size_x \- Return the number of bytes occupied by entries in the datatype +.SH SYNOPSIS +.nf +int MPI_Type_size_x(MPI_Datatype datatype, MPI_Count * size) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- datatype size (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_struct.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_struct.3 new file mode 100644 index 00000000..5a045c64 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_struct.3 @@ -0,0 +1,193 @@ +.TH MPI_Type_struct 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_struct \- Creates a struct datatype +.SH SYNOPSIS +.nf +int MPI_Type_struct(int count, + int *array_of_blocklengths, + MPI_Aint * array_of_displacements, + MPI_Datatype * array_of_types, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (integer) -- also number of +entries in arrays array_of_types , +array_of_displacements and array_of_blocklengths +.PD 1 +.PD 0 +.TP +.B array_of_blocklengths +- number of elements in each block (array) +.PD 1 +.PD 0 +.TP +.B array_of_displacements +- byte displacement of each block (array) +.PD 1 +.PD 0 +.TP +.B array_of_types +- type of elements in each block (array +of handles to datatype objects) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_create_struct + + +.SH NOTES +If an upperbound is set explicitly by using the MPI datatype +.I MPI_UB +, the +corresponding index must be positive. + +The MPI standard originally made vague statements about padding and alignment; +this was intended to allow the simple definition of structures that could +be sent with a count greater than one. For example, +.nf +struct { int a; char b; } foo; +.fi + +may have +.I sizeof(foo) > sizeof(int) + sizeof(char) +; for example, +.I sizeof(foo) == 2*sizeof(int) +\&. +The initial version of the MPI standard +defined the extent of a datatype as including an +.B epsilon +that would have +allowed an implementation to make the extent an MPI datatype +for this structure equal to +.I 2*sizeof(int) +\&. + +However, since different systems might define different paddings, there was +much discussion by the MPI Forum about what was the correct value of +epsilon, and one suggestion was to define epsilon as zero. +This would have been the best thing to do in MPI 1.0, particularly since +the +.I MPI_UB +type allows the user to easily set the end of the structure. +Unfortunately, this change did not make it into the final document. +Currently, this routine does not add any padding, since the amount of +padding needed is determined by the compiler that the user is using to +build their code, not the compiler used to construct the MPI library. +A later version of MPICH may provide for some natural choices of padding +(e.g., multiple of the size of the largest basic member), but users are +advised to never depend on this, even with vendor MPI implementations. +Instead, if you define a structure datatype and wish to send or receive +multiple items, you should explicitly include an +.I MPI_UB +entry as the +last member of the structure. For example, the following code can be used +for the structure foo +.nf +blen[0] = 1; array_of_displacements[0] = 0; oldtypes[0] = MPI_INT; +blen[1] = 1; array_of_displacements[1] = &foo.b - &foo; oldtypes[1] = MPI_CHAR; +blen[2] = 1; array_of_displacements[2] = sizeof(foo); oldtypes[2] = MPI_UB; +MPI_Type_struct(3, blen, array_of_displacements, oldtypes, &newtype); +.fi + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INTERN +- This error is returned when some part of the MPICH +implementation is unable to acquire memory. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 new file mode 100644 index 00000000..7947f382 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_ub.3 @@ -0,0 +1,111 @@ +.TH MPI_Type_ub 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_ub \- Returns the upper bound of a datatype +.SH SYNOPSIS +.nf +int MPI_Type_ub(MPI_Datatype datatype, MPI_Aint * displacement) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datatype +- datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B displacement +- displacement of upper bound from origin, +in bytes (address integer) +.PD 1 + +.SH DEPRECATED FUNCTION +The MPI-2 standard deprecated a number of routines because MPI-2 provides +better versions. This routine is one of those that was deprecated. The +routine may continue to be used, but new code should use the replacement +routine. +The replacement for this routine is +.I MPI_Type_get_extent + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is both thread- and interrupt-safe. +This means that this routine may safely be used by multiple threads and +from within a signal handler. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Type_vector.3 b/macx64/mpi/mpich/share/man/man3/MPI_Type_vector.3 new file mode 100644 index 00000000..e2233da4 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Type_vector.3 @@ -0,0 +1,120 @@ +.TH MPI_Type_vector 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Type_vector \- Creates a vector (strided) datatype +.SH SYNOPSIS +.nf +int MPI_Type_vector(int count, + int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype * newtype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- number of blocks (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B blocklength +- number of elements in each block +(nonnegative integer) +.PD 1 +.PD 0 +.TP +.B stride +- number of elements between start of each block (integer) +.PD 1 +.PD 0 +.TP +.B oldtype +- old datatype (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B newtype +- new datatype (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 b/macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 new file mode 100644 index 00000000..84e548d2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Unpack.3 @@ -0,0 +1,151 @@ +.TH MPI_Unpack 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Unpack \- Unpack a buffer according to a datatype into contiguous memory +.SH SYNOPSIS +.nf +int MPI_Unpack(const void *inbuf, int insize, int *position, + void *outbuf, int outcount, MPI_Datatype datatype, MPI_Comm comm) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B insize +- size of input buffer, in bytes (integer) +.PD 1 +.PD 0 +.TP +.B outcount +- number of items to be unpacked (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of each output data item (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator for packed message (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH INOUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in bytes (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Pack, MPI_Pack_size +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Unpack_external.3 b/macx64/mpi/mpich/share/man/man3/MPI_Unpack_external.3 new file mode 100644 index 00000000..408d12ac --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Unpack_external.3 @@ -0,0 +1,134 @@ +.TH MPI_Unpack_external 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Unpack_external \- Unpack a buffer (packed with MPI_Pack_external) according to a datatype into contiguous memory +.SH SYNOPSIS +.nf +int MPI_Unpack_external(const char datarep[], + const void *inbuf, + MPI_Aint insize, + MPI_Aint * position, void *outbuf, int outcount, MPI_Datatype datatype) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B datarep +- data representation (string) +.PD 1 +.PD 0 +.TP +.B inbuf +- input buffer start (choice) +.PD 1 +.PD 0 +.TP +.B insize +- input buffer size, in bytes (address integer) +.PD 1 +.PD 0 +.TP +.B outcount +- number of output data items (integer) +.PD 1 +.PD 0 +.TP +.B datatype +- datatype of output data item (handle) +.PD 1 + +.SH INPUT/OUTPUT PARAMETERS +.PD 0 +.TP +.B position +- current position in buffer, in bytes (address integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outbuf +- output buffer start (choice) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Unpublish_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Unpublish_name.3 new file mode 100644 index 00000000..d3d6d69a --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Unpublish_name.3 @@ -0,0 +1,119 @@ +.TH MPI_Unpublish_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Unpublish_name \- Unpublish a service name published with MPI_Publish_name +.SH SYNOPSIS +.nf +int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B service_name +- a service name (string) +.PD 1 +.PD 0 +.TP +.B info +- implementation-specific information (handle) +.PD 1 +.PD 0 +.TP +.B port_name +- a port name (string) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Wait.3 b/macx64/mpi/mpich/share/man/man3/MPI_Wait.3 new file mode 100644 index 00000000..0207ba2f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Wait.3 @@ -0,0 +1,162 @@ +.TH MPI_Wait 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Wait \- Waits for an MPI request to complete +.SH SYNOPSIS +.nf +int MPI_Wait(MPI_Request * request, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B request +- request (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +The +.I status +argument must be declared as an array of size +.I MPI_STATUS_SIZE +, +as in +.I integer status(MPI_STATUS_SIZE) +\&. + + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 b/macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 new file mode 100644 index 00000000..0f228102 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Waitall.3 @@ -0,0 +1,228 @@ +.TH MPI_Waitall 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Waitall \- Waits for all given MPI Requests to complete +.SH SYNOPSIS +.nf +int MPI_Waitall(int count, MPI_Request array_of_requests[], MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of request handles (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B array_of_statuses +- array of status objects (array of Statuses). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES + +If one or more of the requests completes with an error, +.I MPI_ERR_IN_STATUS +is +returned. An error value will be present is elements of +.I array_of_status +associated with the requests. Likewise, the +.I MPI_ERROR +field in the status +elements associated with requests that have successfully completed will be +.I MPI_SUCCESS +\&. +Finally, those requests that have not completed will have a +value of +.I MPI_ERR_PENDING +\&. + + +While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 b/macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 new file mode 100644 index 00000000..b3427ba9 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Waitany.3 @@ -0,0 +1,188 @@ +.TH MPI_Waitany 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Waitany \- Waits for any specified MPI Request to complete +.SH SYNOPSIS +.nf +int MPI_Waitany(int count, MPI_Request array_of_requests[], int *indx, MPI_Status * status) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B count +- list length (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B indx +- index of handle for operation that completed (integer). In the +range +.I 0 +to +.I count-1 +\&. +In Fortran, the range is +.I 1 +to +.I count +\&. + +.PD 1 +.PD 0 +.TP +.B status +- status object (Status). May be +.I MPI_STATUS_IGNORE +\&. + +.PD 1 + +.SH NOTES +If all of the requests are +.I MPI_REQUEST_NULL +, then +.I indx +is returned as +.I MPI_UNDEFINED +, and +.I status +is returned as an empty status. + +While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Waitsome.3 b/macx64/mpi/mpich/share/man/man3/MPI_Waitsome.3 new file mode 100644 index 00000000..fdeb1faf --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Waitsome.3 @@ -0,0 +1,266 @@ +.TH MPI_Waitsome 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Waitsome \- Waits for some given MPI Requests to complete +.SH SYNOPSIS +.nf +int MPI_Waitsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], MPI_Status array_of_statuses[]) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B incount +- length of array_of_requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_requests +- array of requests (array of handles) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B outcount +- number of completed requests (integer) +.PD 1 +.PD 0 +.TP +.B array_of_indices +- array of indices of operations that +completed (array of integers) +.PD 1 +.PD 0 +.TP +.B array_of_statuses +- array of status objects for +operations that completed (array of Status). May be +.I MPI_STATUSES_IGNORE +\&. + +.PD 1 + +.SH NOTES +The array of indicies are in the range +.I 0 +to +.I incount - 1 +for C and +in the range +.I 1 +to +.I incount +for Fortran. + +Null requests are ignored; if all requests are null, then the routine +returns with +.I outcount +set to +.I MPI_UNDEFINED +\&. + + +While it is possible to list a request handle more than once in the +array_of_requests, such an action is considered erroneous and may cause the +program to unexecpectedly terminate or produce incorrect results. + +.I MPI_Waitsome +provides an interface much like the Unix +.I select +or +.I poll +calls and, in a high qualilty implementation, indicates all of the requests +that have completed when +.I MPI_Waitsome +is called. +However, +.I MPI_Waitsome +only guarantees that at least one +request has completed; there is no guarantee that +.B all +completed requests +will be returned, or that the entries in +.I array_of_indices +will be in +increasing order. Also, requests that are completed while +.I MPI_Waitsome +is +executing may or may not be returned, depending on the timing of the +completion of the message. + +.SH NOTES ON THE MPI_STATUS ARGUMENT + +The +.I MPI_ERROR +field of the status return is only set if +the return from the MPI routine is +.I MPI_ERR_IN_STATUS +\&. +That error class +is only returned by the routines that take an array of status arguments +( +.I MPI_Testall +, +.I MPI_Testsome +, +.I MPI_Waitall +, and +.I MPI_Waitsome +). In +all other cases, the value of the +.I MPI_ERROR +field in the status is +unchanged. See section 3.2.5 in the MPI-1.1 specification for the +exact text. + +For send operations, the only use of status is for +.I MPI_Test_cancelled +or +in the case that there is an error in one of the four routines that +may return the error class +.I MPI_ERR_IN_STATUS +, in which case the +.I MPI_ERROR +field of status will be set. In that case, the value +will be set to +.I MPI_SUCCESS +for any send or receive operation that completed +successfully, or +.I MPI_ERR_PENDING +for any operation which has neither +failed nor completed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_REQUEST +- Invalid +.I MPI_Request +\&. +Either null or, in the case of a +.I MPI_Start +or +.I MPI_Startall +, not a persistent request. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_IN_STATUS +- The actual error value is in the +.I MPI_Status +argument. +This error class is returned only from the multiple-completion routines +( +.I MPI_Testall +, +.I MPI_Testany +, +.I MPI_Testsome +, +.I MPI_Waitall +, +.I MPI_Waitany +, +and +.I MPI_Waitsome +). The field +.I MPI_ERROR +in the status argument +contains the error value or +.I MPI_SUCCESS +(no error and complete) or +.I MPI_ERR_PENDING +to indicate that the request has not completed. +.PD 1 +The MPI Standard does not specify what the result of the multiple +completion routines is when an error occurs. For example, in an +.I MPI_WAITALL +, does the routine wait for all requests to either fail or +complete, or does it return immediately (with the MPI definition of +immediately, which means independent of actions of other MPI processes)? +MPICH has chosen to make the return immediate (alternately, local in MPI +terms), and to use the error class +.I MPI_ERR_PENDING +(introduced in MPI 1.1) +to indicate which requests have not completed. In most cases, only +one request with an error will be detected in each call to an MPI routine +that tests multiple requests. The requests that have not been processed +(because an error occured in one of the requests) will have their +.I MPI_ERROR +field marked with +.I MPI_ERR_PENDING +\&. + diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate.3 new file mode 100644 index 00000000..1f9e9866 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate.3 @@ -0,0 +1,158 @@ +.TH MPI_Win_allocate 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_allocate \- Create and allocate an MPI Window object for one-sided communication. +.SH SYNOPSIS +.nf +int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win * win) +.fi + +This is a collective call executed by all processes in the group of comm. On +each process, it allocates memory of at least size bytes, returns a pointer to +it, and returns a window object that can be used by all processes in comm to +perform RMA operations. The returned memory consists of size bytes local to +each process, starting at address baseptr and is associated with the window as +if the user called +.I MPI_Win_create +on existing memory. The size argument may be +different at each process and size = 0 is valid; however, a library might +allocate and expose more memory in order to create a fast, globally symmetric +allocation. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of window in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B baseptr +- base address of the window in local memory +.PD 1 +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate_shared MPI_Win_create MPI_Win_create_dynamic MPI_Win_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate_shared.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate_shared.3 new file mode 100644 index 00000000..e587a8f5 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_allocate_shared.3 @@ -0,0 +1,167 @@ +.TH MPI_Win_allocate_shared 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_allocate_shared \- Create an MPI Window object for one-sided communication and shared memory access, and allocate memory at each process. +.SH SYNOPSIS +.nf +int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, + void *baseptr, MPI_Win * win) +.fi +This is a collective call executed by all processes in the group of comm. On +each process i, it allocates memory of at least size bytes that is shared among +all processes in comm, and returns a pointer to the locally allocated segment +in baseptr that can be used for load/store accesses on the calling process. The +locally allocated memory can be the target of load/store accesses by remote +processes; the base pointers for other processes can be queried using the +function +.I MPI_Win_shared_query +\&. + + +The call also returns a window object that can be used by all processes in comm +to perform RMA operations. The size argument may be different at each process +and size = 0 is valid. It is the user's responsibility to ensure that the +communicator comm represents a group of processes that can create a shared +memory segment that can be accessed by all processes in the group. The +allocated memory is contiguous across process ranks unless the info key +alloc_shared_noncontig is specified. Contiguous across process ranks means that +the first address in the memory segment of process i is consecutive with the +last address in the memory segment of process i − 1. This may enable the user +to calculate remote address offsets with local information only. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of window in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B baseptr +- initial address of window (choice) +.PD 1 +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate MPI_Win_create MPI_Win_create_dynamic MPI_Win_free MPI_Win_shared_query +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_attach.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_attach.3 new file mode 100644 index 00000000..07396bea --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_attach.3 @@ -0,0 +1,149 @@ +.TH MPI_Win_attach 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_attach \- Attach memory to a dynamic window. +.SH SYNOPSIS +.nf +int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size) +.fi + +Attaches a local memory region beginning at base for remote access within the +given window. The memory region specified must not contain any part that is +already attached to the window win, that is, attaching overlapping memory +concurrently within the same window is erroneous. The argument win must be a +window that was created with +.I MPI_Win_create_dynamic +\&. +Multiple (but +non-overlapping) memory regions may be attached to the same window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B size +- size of memory to be attached in bytes +.PD 1 +.PD 0 +.TP +.B base +- initial address of memory to be attached +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Win_create_dynamic MPI_Win_detach +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_call_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_call_errhandler.3 new file mode 100644 index 00000000..f9c46b90 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_call_errhandler.3 @@ -0,0 +1,102 @@ +.TH MPI_Win_call_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_call_errhandler \- Call the error handler installed on a window object +.SH SYNOPSIS +.nf +int MPI_Win_call_errhandler(MPI_Win win, int errorcode) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window with error handler (handle) +.PD 1 +.PD 0 +.TP +.B errorcode +- error code (integer) +.PD 1 + +.SH NOTE +Assuming the input parameters are valid, when the error handler is set to +MPI_ERRORS_RETURN, this routine will always return MPI_SUCCESS. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_complete.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_complete.3 new file mode 100644 index 00000000..3cf9ace7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_complete.3 @@ -0,0 +1,93 @@ +.TH MPI_Win_complete 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_complete \- Completes an RMA operations begun after an MPI_Win_start. +.SH SYNOPSIS +.nf +int MPI_Win_complete(MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create.3 new file mode 100644 index 00000000..8e5ffac6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create.3 @@ -0,0 +1,203 @@ +.TH MPI_Win_create 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create \- Create an MPI Window object for one-sided communication +.SH SYNOPSIS +.nf +int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, MPI_Win * win) +.fi + +This is a collective call executed by all processes in the group of comm. It +returns a window object that can be used by these processes to perform RMA +operations. Each process specifies a window of existing memory that it exposes +to RMA accesses by the processes in the group of comm. The window consists of +size bytes, starting at address base. In C, base is the starting address of a +memory region. In Fortran, one can pass the first element of a memory region or +a whole array, which must be 'simply contiguous' (for 'simply contiguous', see +also MPI 3.0, Section 17.1.12 on page 626). A process may elect to expose no +memory by specifying size = 0. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- initial address of window (choice) +.PD 1 +.PD 0 +.TP +.B size +- size of window in bytes (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH NOTES + +The displacement unit argument is provided to facilitate address arithmetic in +RMA operations: the target displacement argument of an RMA operation is scaled +by the factor disp_unit specified by the target process, at window creation. + +The info argument provides optimization hints to the runtime about the expected +usage pattern of the window. The following info keys are predefined. + +.PD 0 +.TP +.B no_locks +- If set to true, then the implementation may assume that passive +target synchronization (i.e., +.I MPI_Win_lock +, +.I MPI_Win_lock_all +) will not be used on +the given window. This implies that this window is not used for 3-party +communication, and RMA can be implemented with no (less) asynchronous agent +activity at this process. +.PD 1 + +.PD 0 +.TP +.B accumulate_ordering +- Controls the ordering of accumulate operations at the +target. The argument string should contain a comma-separated list of the +following read/write ordering rules, where e.g. "raw" means read-after-write: +"rar,raw,war,waw". +.PD 1 + +.PD 0 +.TP +.B accumulate_ops +- If set to same_op, the implementation will assume that all +concurrent accumulate calls to the same target address will use the same +operation. If set to same_op_no_op, then the implementation will assume that +all concurrent accumulate calls to the same target address will use the same +operation or +.I MPI_NO_OP +\&. +This can eliminate the need to protect access for +certain operation types where the hardware can guarantee atomicity. The default +is same_op_no_op. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create_dynamic MPI_Win_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create_dynamic.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_dynamic.3 new file mode 100644 index 00000000..f109fffe --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_dynamic.3 @@ -0,0 +1,177 @@ +.TH MPI_Win_create_dynamic 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create_dynamic \- Create an MPI Window object for one-sided communication. This window allows memory to be dynamically exposed and un-exposed for RMA operations. +.SH SYNOPSIS +.nf +int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win * win) +.fi + +This is a collective call executed by all processes in the group of comm. It +returns a window win without memory attached. Existing process memory can be +attached as described below. This routine returns a window object that can be +used by these processes to perform RMA operations on attached memory. Because +this window has special properties, it will sometimes be referred to as a +dynamic window. The info argument can be used to specify hints similar to the +info argument for +.I MPI_Win_create +\&. + + +In the case of a window created with +.I MPI_Win_create_dynamic +, the target_disp +for all RMA functions is the address at the target; i.e., the effective +window_base is +.I MPI_BOTTOM +and the disp_unit is one. For dynamic windows, the +target_disp argument to RMA communication operations is not restricted to +non-negative values. Users should use +.I MPI_Get_address +at the target process to +determine the address of a target memory location and communicate this address +to the origin process. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 +.PD 0 +.TP +.B comm +- communicator (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win +- window object returned by the call (handle) +.PD 1 + +.SH NOTES + +Users are cautioned that displacement arithmetic can overflow in variables of +type +.I MPI_Aint +and result in unexpected values on some platforms. This issue may +be addressed in a future version of MPI. + +Memory in this window may not be used as the target of one-sided accesses in +this window until it is attached using the function +.I MPI_Win_attach +\&. +That is, in +addition to using +.I MPI_Win_create_dynamic +to create an MPI window, the user must +use +.I MPI_Win_attach +before any local memory may be the target of an MPI RMA +operation. Only memory that is currently accessible may be attached. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COMM +- Invalid communicator. A common error is to use a null +communicator in a call (not even allowed in +.I MPI_Comm_rank +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_SIZE +- +.PD 1 + +.SH SEE ALSO +MPI_Win_attach MPI_Win_detach MPI_Win_allocate MPI_Win_allocate_shared MPI_Win_create MPI_Win_free +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_errhandler.3 new file mode 100644 index 00000000..ed4d2145 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_errhandler.3 @@ -0,0 +1,96 @@ +.TH MPI_Win_create_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create_errhandler \- Create an error handler for use with MPI window objects +.SH SYNOPSIS +.nf +int MPI_Win_create_errhandler(MPI_Win_errhandler_function * win_errhandler_fn, + MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win_errhandler_fn +- user defined error handling procedure (function) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- MPI error handler (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_create_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_keyval.3 new file mode 100644 index 00000000..06b9fc55 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_create_keyval.3 @@ -0,0 +1,146 @@ +.TH MPI_Win_create_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_create_keyval \- Create an attribute keyval for MPI window objects +.SH SYNOPSIS +.nf +int MPI_Win_create_keyval(MPI_Win_copy_attr_function * win_copy_attr_fn, + MPI_Win_delete_attr_function * win_delete_attr_fn, + int *win_keyval, void *extra_state) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win_copy_attr_fn +- copy callback function for win_keyval (function) +.PD 1 +.PD 0 +.TP +.B win_delete_attr_fn +- delete callback function for win_keyval (function) +.PD 1 +.PD 0 +.TP +.B extra_state +- extra state for callback functions +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win_keyval +- key value for future access (integer) +.PD 1 + +.SH NOTES +Default copy and delete functions are available. These are +.PD 0 +.TP +.B MPI_WIN_NULL_COPY_FN +- empty copy function +.PD 1 +.PD 0 +.TP +.B MPI_WIN_NULL_DELETE_FN +- empty delete function +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DUP_FN +- simple dup function +.PD 1 + + +.SH RETURN VALUE FROM ATTRIBUTE CALLBACKS +The MPI-2 versions of the attribute callbacks should return either +.I MPI_SUCCESS +on success or a valid MPI error code or class on failure. +The MPI standard is ambiguous on this point, but as MPI-2 provides +the routines +.I MPI_Add_error_class +and +.I MPI_Add_error_code +that allow the +user to define and use MPI error codes and classes. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_delete_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_delete_attr.3 new file mode 100644 index 00000000..ec75437e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_delete_attr.3 @@ -0,0 +1,103 @@ +.TH MPI_Win_delete_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_delete_attr \- Deletes an attribute value associated with a key on a datatype +.SH SYNOPSIS +.nf +int MPI_Win_delete_attr(MPI_Win win, int win_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window from which the attribute is deleted (handle) +.PD 1 +.PD 0 +.TP +.B win_keyval +- key value (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_detach.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_detach.3 new file mode 100644 index 00000000..448a9dbf --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_detach.3 @@ -0,0 +1,143 @@ +.TH MPI_Win_detach 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_detach \- Detach memory from a dynamic window +.SH SYNOPSIS +.nf +int MPI_Win_detach(MPI_Win win, const void *base) +.fi + +Detaches a previously attached memory region beginning at base. The arguments +base and win must match the arguments passed to a previous call to +.I MPI_Win_attach +\&. + + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B base +- initial address of memory to be detached +.PD 1 +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 + +.SH NOTES +Memory also becomes detached when the associated dynamic memory window is freed. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_COUNT +- Invalid count argument. Count arguments must be +non-negative; a count of zero is often valid. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_TYPE +- Invalid datatype argument. Additionally, this error can +occur if an uncommitted MPI_Datatype (see +.I MPI_Type_commit +) is used +in a communication call. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Win_create_dynamic MPI_Win_attach +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_fence.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_fence.3 new file mode 100644 index 00000000..63d957d7 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_fence.3 @@ -0,0 +1,136 @@ +.TH MPI_Win_fence 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_fence \- Perform an MPI fence synchronization on a MPI window +.SH SYNOPSIS +.nf +int MPI_Win_fence(int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B assert +- program assertion (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_fence +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for +.I MPI_Win_fence +are: + +.PD 0 +.TP +.B MPI_MODE_NOSTORE +- the local window was not updated by local stores +(or local get or receive calls) since last synchronization. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPUT +- the local window will not be updated by put or accumulate +calls after the fence call, until the ensuing (fence) synchronization. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPRECEDE +- the fence does not complete any sequence of locally +issued RMA calls. If this assertion is given by any process in the window +group, then it must be given by all processes in the group. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOSUCCEED +- the fence does not start any sequence of locally +issued RMA calls. If the assertion is given by any process in the window +group, then it must be given by all processes in the group. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush.3 new file mode 100644 index 00000000..69dc9664 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush.3 @@ -0,0 +1,124 @@ +.TH MPI_Win_flush 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush \- Complete all outstanding RMA operations at the given target. +.SH SYNOPSIS +.nf +int MPI_Win_flush(int rank, MPI_Win win) +.fi + +.I MPI_Win_flush +completes all outstanding RMA operations initiated by the calling +process to the target rank on the specified window. The operations are +completed both at the origin and at the target. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_all.3 new file mode 100644 index 00000000..2915e16c --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_all.3 @@ -0,0 +1,118 @@ +.TH MPI_Win_flush_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush_all \- Complete all outstanding RMA operations at all targets +.SH SYNOPSIS +.nf +int MPI_Win_flush_all(MPI_Win win) +.fi + +All RMA operations issued by the calling process to any target on the specified +window prior to this call and in the specified window will have completed +both at the origin and at the target when this call returns. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_local MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local.3 new file mode 100644 index 00000000..35755ac6 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local.3 @@ -0,0 +1,124 @@ +.TH MPI_Win_flush_local 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush_local \- Complete locally all outstanding RMA operations at the given target +.SH SYNOPSIS +.nf +int MPI_Win_flush_local(int rank, MPI_Win win) +.fi + +Locally completes at the origin all outstanding RMA operations initiated by the +calling process to the target process specified by rank on the specified +window. For example, after this routine completes, the user may reuse any +buffers provided to put, get, or accumulate operations. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local_all MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local_all.3 new file mode 100644 index 00000000..95bfa900 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_flush_local_all.3 @@ -0,0 +1,119 @@ +.TH MPI_Win_flush_local_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_flush_local_all \- Complete locally all outstanding RMA operations at all targets +.SH SYNOPSIS +.nf +int MPI_Win_flush_local_all(MPI_Win win) +.fi + +All RMA operations issued to any target prior to this call in this window will +have completed at the origin when +.I MPI_Win_flush_local_all +returns. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_lock MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_free.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_free.3 new file mode 100644 index 00000000..655e13d1 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_free.3 @@ -0,0 +1,101 @@ +.TH MPI_Win_free 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_free \- Free an MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_free(MPI_Win * win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +If successfully freed, +.I win +is set to +.I MPI_WIN_NULL +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_free_keyval.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_free_keyval.3 new file mode 100644 index 00000000..49d8098e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_free_keyval.3 @@ -0,0 +1,98 @@ +.TH MPI_Win_free_keyval 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_free_keyval \- Frees an attribute key for MPI RMA windows +.SH SYNOPSIS +.nf +int MPI_Win_free_keyval(int *win_keyval) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win_keyval +- key value (integer) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_attr.3 new file mode 100644 index 00000000..8b96bd6f --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_attr.3 @@ -0,0 +1,134 @@ +.TH MPI_Win_get_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_attr \- Get attribute cached on an MPI window object +.SH SYNOPSIS +.nf +int MPI_Win_get_attr(MPI_Win win, int win_keyval, void *attribute_val, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window to which the attribute is attached (handle) +.PD 1 +.PD 0 +.TP +.B win_keyval +- key value (integer) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B attribute_val +- attribute value, unless flag is false +.PD 1 +.PD 0 +.TP +.B flag +- false if no attribute is associated with the key (logical) +.PD 1 + +.SH NOTES +The following attributes are predefined for all MPI Window objects: + +.PD 0 +.TP +.B MPI_WIN_BASE +- window base address. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_SIZE +- window size, in bytes. +.PD 1 +.PD 0 +.TP +.B MPI_WIN_DISP_UNIT +- displacement unit associated with the window. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_errhandler.3 new file mode 100644 index 00000000..48723d2e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_errhandler.3 @@ -0,0 +1,100 @@ +.TH MPI_Win_get_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_errhandler \- Get the error handler for the MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler * errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B errhandler +- error handler currently associated with window (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_group.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_group.3 new file mode 100644 index 00000000..da28b313 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_group.3 @@ -0,0 +1,121 @@ +.TH MPI_Win_get_group 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_group \- Get the MPI Group of the window object +.SH SYNOPSIS +.nf +int MPI_Win_get_group(MPI_Win win, MPI_Group * group) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B group +- group of processes which share access to the window (handle) +.PD 1 + +.SH NOTES +The group is a duplicate of the group from the communicator used to +create the MPI window, and should be freed with +.I MPI_Group_free +when +it is no longer needed. This group can be used to form the group of +neighbors for the routines +.I MPI_Win_post +and +.I MPI_Win_start +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_info.3 new file mode 100644 index 00000000..5b3f41a2 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_info.3 @@ -0,0 +1,133 @@ +.TH MPI_Win_get_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_info \- Returns a new info object containing the hints of the window associated with win. +.SH SYNOPSIS +.nf +int MPI_Win_get_info(MPI_Win win, MPI_Info * info_used) +.fi + +The current setting of all hints actually used by the system related to this +window is returned in info_used. If no such hints exist, a handle to a newly +created info object is returned that contains no key/value pair. The user is +responsible for freeing info_used via +.I MPI_Info_free +\&. + + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B info_used +- new info argument (handle) +.PD 1 + +.SH NOTES + +The info object returned in info_used will contain all hints currently active +for this window. This set of hints may be greater or smaller than the set of +hints specified when the window was created, as the system may not recognize +some hints set by the user, and may recognize other hints that the user has not +set. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_set_info +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_get_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_name.3 new file mode 100644 index 00000000..6f1ed623 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_get_name.3 @@ -0,0 +1,122 @@ +.TH MPI_Win_get_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_get_name \- Get the print name associated with the MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window whose name is to be returned (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B win_name +- the name previously stored on the window, or a empty string if +no such name exists (string) +.PD 1 +.PD 0 +.TP +.B resultlen +- length of returned name (integer) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_lock.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock.3 new file mode 100644 index 00000000..a9fdff56 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock.3 @@ -0,0 +1,164 @@ +.TH MPI_Win_lock 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_lock \- Begin an RMA access epoch at the target process. +.SH SYNOPSIS +.nf +int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B lock_type +- Indicates whether other processes may access the target +window at the same time (if +.I MPI_LOCK_SHARED +) or not ( +.I MPI_LOCK_EXCLUSIVE +) +.PD 1 +.PD 0 +.TP +.B rank +- rank of locked window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES + +The name of this routine is misleading. In particular, this +routine need not block, except when the target process is the calling +process. + +Implementations may restrict the use of RMA communication that is +synchronized +by lock calls to windows in memory allocated by +.I MPI_Alloc_mem +\&. +Locks can +be used portably only in such memory. + +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_lock +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for +.I MPI_Win_lock +are: + +.PD 0 +.TP +.B MPI_MODE_NOCHECK +- no other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_lock_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock_all.3 new file mode 100644 index 00000000..9b9ffe7d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_lock_all.3 @@ -0,0 +1,169 @@ +.TH MPI_Win_lock_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_lock_all \- Begin an RMA access epoch at all processes on the given window. +.SH SYNOPSIS +.nf +int MPI_Win_lock_all(int assert, MPI_Win win) +.fi + +Starts an RMA access epoch to all processes in win, with a lock type of +.I MPI_Lock_shared +\&. +During the epoch, the calling process can access the window +memory on all processes in win by using RMA operations. A window locked with +.I MPI_Win_lock_all +must be unlocked with +.I MPI_Win_unlock_all +\&. +This routine is not +collective -- the ALL refers to a lock on all members of the group of the +window. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES + +This call is not collective. + +The +.I assert +argument is used to indicate special conditions for the fence that +an implementation may use to optimize the +.I MPI_Win_lock_all +operation. The +value zero is always correct. Other assertion values may be or'ed together. +Assertions that are valid for +.I MPI_Win_lock_all +are: + +.PD 0 +.TP +.B +.I MPI_MODE_NOCHECK + +- No other process holds, or will attempt to acquire a +conflicting lock, while the caller holds the window lock. This is useful +when mutual exclusion is achieved by other means, but the coherence +operations that may be attached to the lock and unlock calls are still +required. +.PD 1 + +There may be additional overheads associated with using +.I MPI_Win_lock +and +.I MPI_Win_lock_all +concurrently on the same window. These overheads could be +avoided by specifying the assertion +.I MPI_MODE_NOCHECK +when possible + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_unlock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_post.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_post.3 new file mode 100644 index 00000000..93181250 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_post.3 @@ -0,0 +1,120 @@ +.TH MPI_Win_post 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_post \- Start an RMA exposure epoch +.SH SYNOPSIS +.nf +int MPI_Win_post(MPI_Group group, int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group of origin processes (handle) +.PD 1 +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_post +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions that are valid for +.I MPI_Win_post +are: + +.PD 0 +.TP +.B MPI_MODE_NOCHECK +- the matching calls to +.I MPI_WIN_START +have not yet +occurred on any origin processes when the call to +.I MPI_WIN_POST +is made. +The nocheck option can be specified by a post call if and only if it is +specified by each matching start call. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOSTORE +- the local window was not updated by local stores (or +local get or receive calls) since last synchronization. This may avoid +the need for cache synchronization at the post call. +.PD 1 +.PD 0 +.TP +.B MPI_MODE_NOPUT +- the local window will not be updated by put or accumulate +calls after the post call, until the ensuing (wait) synchronization. This +may avoid the need for cache synchronization at the wait call. +.PD 1 + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_attr.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_attr.3 new file mode 100644 index 00000000..b62700de --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_attr.3 @@ -0,0 +1,113 @@ +.TH MPI_Win_set_attr 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_attr \- Stores attribute value associated with a key +.SH SYNOPSIS +.nf +int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- MPI window object to which attribute will be attached (handle) +.PD 1 +.PD 0 +.TP +.B win_keyval +- key value, as returned by +.I MPI_Win_create_keyval +(integer) +.PD 1 +.PD 0 +.TP +.B attribute_val +- attribute value +.PD 1 + +.SH NOTES + +The type of the attribute value depends on whether C or Fortran is being used. +In C, an attribute value is a pointer ( +.I void * +); in Fortran, it is an +address-sized integer. + +If an attribute is already present, the delete function (specified when the +corresponding keyval was created) will be called. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_KEYVAL +- Invalid keyval +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_errhandler.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_errhandler.3 new file mode 100644 index 00000000..607054fd --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_errhandler.3 @@ -0,0 +1,98 @@ +.TH MPI_Win_set_errhandler 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_errhandler \- Set window error handler +.SH SYNOPSIS +.nf +int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window (handle) +.PD 1 +.PD 0 +.TP +.B errhandler +- new error handler for window (handle) +.PD 1 + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread and interrupt safe only if no MPI routine that +updates or frees the same MPI object may be called concurrently +with this routine. + +The MPI standard defined a thread-safe interface but this does not +mean that all routines may be called without any thread locks. For +example, two threads must not attempt to change the contents of the +same +.I MPI_Info +object concurrently. The user is responsible in this +case for using some mechanism, such as thread locks, to ensure that +only one thread at a time makes use of this routine. + + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_info.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_info.3 new file mode 100644 index 00000000..708254bc --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_info.3 @@ -0,0 +1,127 @@ +.TH MPI_Win_set_info 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_info \- Set new values for the hints of the window associated with win. +.SH SYNOPSIS +.nf +int MPI_Win_set_info(MPI_Win win, MPI_Info info) +.fi + +The call is collective on the group of win. The info object may be different on +each process, but any info entries that an implementation requires to be the +same on all processes must appear with the same value in each process' info +object. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 +.PD 0 +.TP +.B info +- info argument (handle) +.PD 1 + +.SH NOTES + +Some info items that an implementation can use when it creates a window cannot +easily be changed once the window has been created. Thus, an implementation may +ignore hints issued in this call that it would have accepted in a creation +call. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_INFO +- Invalid Info +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_get_info +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_set_name.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_name.3 new file mode 100644 index 00000000..5cf8fd63 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_set_name.3 @@ -0,0 +1,106 @@ +.TH MPI_Win_set_name 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_set_name \- Set the print name for an MPI RMA window +.SH SYNOPSIS +.nf +int MPI_Win_set_name(MPI_Win win, const char *win_name) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window whose identifier is to be set (handle) +.PD 1 +.PD 0 +.TP +.B win_name +- the character string which is remembered as the name (string) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_shared_query.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_shared_query.3 new file mode 100644 index 00000000..615cd35e --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_shared_query.3 @@ -0,0 +1,164 @@ +.TH MPI_Win_shared_query 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_shared_query \- Query the size and base pointer for a patch of a shared memory window. +.SH SYNOPSIS +.nf +int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint * size, int *disp_unit, void *baseptr) +.fi + +This function queries the process-local address for remote memory segments +created with +.I MPI_Win_allocate_shared +\&. +This function can return different +process-local addresses for the same physical memory on different processes. + +The returned memory can be used for load/store accesses subject to the +constraints defined in MPI 3.0, Section 11.7. This function can only be called +with windows of type +.I MPI_Win_flavor_shared +\&. +If the passed window is not of +flavor +.I MPI_Win_flavor_shared +, the error +.I MPI_ERR_RMA_FLAVOR +is raised. When rank +is +.I MPI_PROC_NULL +, the pointer, disp_unit, and size returned are the pointer, +disp_unit, and size of the memory segment belonging the lowest rank that +specified size > 0. If all processes in the group attached to the window +specified size = 0, then the call returns size = 0 and a baseptr as if +.I MPI_Alloc_mem +was called with size = 0. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object used for communication (handle) +.PD 1 +.PD 0 +.TP +.B rank +- target rank +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B size +- size of the segment at the given rank +.PD 1 +.PD 0 +.TP +.B disp_unit +- local unit size for displacements, in bytes (positive integer) +.PD 1 +.PD 0 +.TP +.B baseptr +- base pointer in the calling process' address space of the shared +segment belonging to the target rank. +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 + +.SH SEE ALSO +MPI_Win_allocate_shared +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_start.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_start.3 new file mode 100644 index 00000000..2a08e523 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_start.3 @@ -0,0 +1,131 @@ +.TH MPI_Win_start 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_start \- Start an RMA access epoch for MPI +.SH SYNOPSIS +.nf +int MPI_Win_start(MPI_Group group, int assert, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B group +- group of target processes (handle) +.PD 1 +.PD 0 +.TP +.B assert +- Used to optimize this call; zero may be used as a default. +See notes. (integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +The +.I assert +argument is used to indicate special conditions for the +fence that an implementation may use to optimize the +.I MPI_Win_start +operation. The value zero is always correct. Other assertion values +may be or'ed together. Assertions tha are valid for +.I MPI_Win_start +are: + +.PD 0 +.TP +.B MPI_MODE_NOCHECK +- the matching calls to +.I MPI_WIN_POST +have already +completed on all target processes when the call to +.I MPI_WIN_START +is made. +The nocheck option can be specified in a start call if and only if it is +specified in each matching post call. This is similar to the optimization +of ready-send that may save a handshake when the handshake is implicit in +the code. (However, ready-send is matched by a regular receive, whereas +both start and post must specify the nocheck option.) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_sync.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_sync.3 new file mode 100644 index 00000000..a594f681 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_sync.3 @@ -0,0 +1,123 @@ +.TH MPI_Win_sync 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_sync \- Synchronize public and private copies of the given window. +.SH SYNOPSIS +.nf +int MPI_Win_sync(MPI_Win win) +.fi + +The call +.I MPI_Win_sync +synchronizes the private and public window copies of win. +For the purposes of synchronizing the private and public window, +.I MPI_Win_sync +has the effect of ending and reopening an access and exposure epoch on the +window (note that it does not actually end an epoch or complete any pending MPI +RMA operations). + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_flush MPI_Win_flush_all MPI_Win_flush_local MPI_Win_flush_local_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_test.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_test.3 new file mode 100644 index 00000000..895177d0 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_test.3 @@ -0,0 +1,118 @@ +.TH MPI_Win_test 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_test \- Test whether an RMA exposure epoch has completed +.SH SYNOPSIS +.nf +int MPI_Win_test(MPI_Win win, int *flag) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH OUTPUT PARAMETERS +.PD 0 +.TP +.B flag +- success flag (logical) +.PD 1 + +.SH NOTES +This is the nonblocking version of +.I MPI_Win_wait +\&. + + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_ARG +- Invalid argument. Some argument is invalid and is not +identified by a specific error class (e.g., +.I MPI_ERR_RANK +). +.PD 1 + +.SH SEE ALSO +MPI_Win_wait, MPI_Win_post +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock.3 new file mode 100644 index 00000000..7347767d --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock.3 @@ -0,0 +1,118 @@ +.TH MPI_Win_unlock 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_unlock \- Completes an RMA access epoch at the target process +.SH SYNOPSIS +.nf +int MPI_Win_unlock(int rank, MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B rank +- rank of window (nonnegative integer) +.PD 1 +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_lock +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock_all.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock_all.3 new file mode 100644 index 00000000..aa6ccf74 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_unlock_all.3 @@ -0,0 +1,123 @@ +.TH MPI_Win_unlock_all 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_unlock_all \- Completes an RMA access epoch at all processes on the given window. +.SH SYNOPSIS +.nf +int MPI_Win_unlock_all(MPI_Win win) +.fi + +Completes a shared RMA access epoch started by a call to +.I MPI_Win_lock_all +\&. +RMA operations issued during this epoch will +have completed both at the origin and at the target when the call returns. + +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH NOTES +This call is not collective. + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_RANK +- Invalid source or destination rank. Ranks must be between +zero and the size of the communicator minus one; ranks in a receive +( +.I MPI_Recv +, +.I MPI_Irecv +, +.I MPI_Sendrecv +, etc.) may also be +.I MPI_ANY_SOURCE +\&. + +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 + +.SH SEE ALSO +MPI_Win_lock_all +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Win_wait.3 b/macx64/mpi/mpich/share/man/man3/MPI_Win_wait.3 new file mode 100644 index 00000000..058b0274 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Win_wait.3 @@ -0,0 +1,93 @@ +.TH MPI_Win_wait 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Win_wait \- Completes an RMA exposure epoch begun with MPI_Win_post +.SH SYNOPSIS +.nf +int MPI_Win_wait(MPI_Win win) +.fi +.SH INPUT PARAMETERS +.PD 0 +.TP +.B win +- window object (handle) +.PD 1 + +.SH THREAD AND INTERRUPT SAFETY + +This routine is thread-safe. This means that this routine may be +safely used by multiple threads without the need for any user-provided +thread locks. However, the routine is not interrupt safe. Typically, +this is due to the use of memory allocation routines such as +.I malloc +or other non-MPICH runtime routines that are themselves not interrupt-safe. + +.SH NOTES FOR FORTRAN +All MPI routines in Fortran (except for +.I MPI_WTIME +and +.I MPI_WTICK +) have +an additional argument +.I ierr +at the end of the argument list. +.I ierr +is an integer and has the same meaning as the return value of the routine +in C. In Fortran, MPI routines are subroutines, and are invoked with the +.I call +statement. + +All MPI objects (e.g., +.I MPI_Datatype +, +.I MPI_Comm +) are of type +.I INTEGER +in Fortran. + +.SH ERRORS + +All MPI routines (except +.I MPI_Wtime +and +.I MPI_Wtick +) return an error value; +C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with +.I MPI_Comm_set_errhandler +(for communicators), +.I MPI_File_set_errhandler +(for files), and +.I MPI_Win_set_errhandler +(for +RMA windows). The MPI-1 routine +.I MPI_Errhandler_set +may be used but +its use is deprecated. The predefined error handler +.I MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does +.B not +guarentee that an MPI program can continue past +an error; however, MPI implementations will attempt to continue whenever +possible. + +.PD 0 +.TP +.B MPI_SUCCESS +- No error; MPI routine completed successfully. +.PD 1 +.PD 0 +.TP +.B MPI_ERR_WIN +- Invalid MPI window object +.PD 1 +.PD 0 +.TP +.B MPI_ERR_OTHER +- Other error; use +.I MPI_Error_string +to get more information +about this error code. +.PD 1 diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 b/macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 new file mode 100644 index 00000000..84c52947 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Wtick.3 @@ -0,0 +1,18 @@ +.TH MPI_Wtick 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Wtick \- Returns the resolution of MPI_Wtime +.SH SYNOPSIS +.nf +double MPI_Wtick(void) +.fi +.SH RETURN VALUE +Time in seconds of resolution of MPI_Wtime + +.SH NOTES FOR FORTRAN +This is a function, declared as +.I DOUBLE PRECISION MPI_WTICK() +in Fortran. + +.SH SEE ALSO +also: MPI_Wtime, MPI_Comm_get_attr, MPI_Attr_get +.br diff --git a/macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 b/macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 new file mode 100644 index 00000000..cb810be3 --- /dev/null +++ b/macx64/mpi/mpich/share/man/man3/MPI_Wtime.3 @@ -0,0 +1,34 @@ +.TH MPI_Wtime 3 "6/5/2019" " " "MPI" +.SH NAME +MPI_Wtime \- Returns an elapsed time on the calling processor +.SH SYNOPSIS +.nf +double MPI_Wtime(void) +.fi +.SH RETURN VALUE +Time in seconds since an arbitrary time in the past. + +.SH NOTES +This is intended to be a high-resolution, elapsed (or wall) clock. +See +.I MPI_WTICK +to determine the resolution of +.I MPI_WTIME +\&. + +If the attribute +.I MPI_WTIME_IS_GLOBAL +is defined and true, then the +value is synchronized across all processes in +.I MPI_COMM_WORLD +\&. + + +.SH NOTES FOR FORTRAN +This is a function, declared as +.I DOUBLE PRECISION MPI_WTIME() +in Fortran. + +.SH SEE ALSO +also: MPI_Wtick, MPI_Comm_get_attr, MPI_Attr_get +.br diff --git a/macx64/mpi/openmpi/bin/mpic++ b/macx64/mpi/openmpi/bin/mpic++ new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpic++ @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpicc b/macx64/mpi/openmpi/bin/mpicc new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpicc @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpicxx b/macx64/mpi/openmpi/bin/mpicxx new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpicxx @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpiexec b/macx64/mpi/openmpi/bin/mpiexec new file mode 120000 index 00000000..98ef9742 --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpiexec @@ -0,0 +1 @@ +orterun \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpif77 b/macx64/mpi/openmpi/bin/mpif77 new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpif77 @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpif90 b/macx64/mpi/openmpi/bin/mpif90 new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpif90 @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpifort b/macx64/mpi/openmpi/bin/mpifort new file mode 120000 index 00000000..ef7843dc --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpifort @@ -0,0 +1 @@ +opal_wrapper \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/mpirun b/macx64/mpi/openmpi/bin/mpirun new file mode 120000 index 00000000..98ef9742 --- /dev/null +++ b/macx64/mpi/openmpi/bin/mpirun @@ -0,0 +1 @@ +orterun \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/ompi-clean b/macx64/mpi/openmpi/bin/ompi-clean new file mode 120000 index 00000000..43bba2b2 --- /dev/null +++ b/macx64/mpi/openmpi/bin/ompi-clean @@ -0,0 +1 @@ +orte-clean \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/ompi-server b/macx64/mpi/openmpi/bin/ompi-server new file mode 120000 index 00000000..b4abb5e5 --- /dev/null +++ b/macx64/mpi/openmpi/bin/ompi-server @@ -0,0 +1 @@ +orte-server \ No newline at end of file diff --git a/macx64/mpi/openmpi/bin/ompi_info b/macx64/mpi/openmpi/bin/ompi_info new file mode 100755 index 0000000000000000000000000000000000000000..563092e3ff6722ef6c57238c264b1d4134de84c9 GIT binary patch literal 23932 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 CJH;3P literal 0 HcmV?d00001 diff --git a/macx64/mpi/openmpi/bin/orte-clean b/macx64/mpi/openmpi/bin/orte-clean new file mode 100755 index 0000000000000000000000000000000000000000..4637c249f4eead53847c151c312fd0247b18954e GIT binary patch literal 14576 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 Kw=11JB>oSDB4QK( literal 0 HcmV?d00001 diff --git a/macx64/mpi/openmpi/bin/orte-server b/macx64/mpi/openmpi/bin/orte-server new file mode 100755 index 0000000000000000000000000000000000000000..64c991cd3b1ba41062f1078cdf0133b18d5baff5 GIT binary patch literal 15692 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 F=x-oldRhPg literal 0 HcmV?d00001 diff --git a/macx64/mpi/openmpi/bin/orterun b/macx64/mpi/openmpi/bin/orterun new file mode 100755 index 0000000000000000000000000000000000000000..a2b8945677044e6fb3f88693b450e85b9ba3b009 GIT binary patch literal 10156 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 literal 0 HcmV?d00001 diff --git a/macx64/mpi/openmpi/etc/openmpi-default-hostfile b/macx64/mpi/openmpi/etc/openmpi-default-hostfile new file mode 100644 index 00000000..ad5a0f79 --- /dev/null +++ b/macx64/mpi/openmpi/etc/openmpi-default-hostfile @@ -0,0 +1,36 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the default hostfile for Open MPI. Notice that it does not +# contain any hosts (not even localhost). This file should only +# contain hosts if a system administrator wants users to always have +# the same set of default hosts, and is not using a batch scheduler +# (such as SLURM, PBS, etc.). +# +# Note that this file is *not* used when running in "managed" +# environments (e.g., running in a job under a job scheduler, such as +# SLURM or PBS / Torque). +# +# If you are primarily interested in running Open MPI on one node, you +# should *not* simply list "localhost" in here (contrary to prior MPI +# implementations, such as LAM/MPI). A localhost-only node list is +# created by the RAS component named "localhost" if no other RAS +# components were able to find any hosts to run on (this behavior can +# be disabled by excluding the localhost RAS component by specifying +# the value "^localhost" [without the quotes] to the "ras" MCA +# parameter). + diff --git a/macx64/mpi/openmpi/etc/openmpi-mca-params.conf b/macx64/mpi/openmpi/etc/openmpi-mca-params.conf new file mode 100644 index 00000000..09c1ac30 --- /dev/null +++ b/macx64/mpi/openmpi/etc/openmpi-mca-params.conf @@ -0,0 +1,59 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# This is the default system-wide MCA parameters defaults file. +# Specifically, the MCA parameter "mca_param_files" defaults to a +# value of +# "$HOME/.openmpi/mca-params.conf:$sysconf/openmpi-mca-params.conf" +# (this file is the latter of the two). So if the default value of +# mca_param_files is not changed, this file is used to set system-wide +# MCA parameters. This file can therefore be used to set system-wide +# default MCA parameters for all users. Of course, users can override +# these values if they want, but this file is an excellent location +# for setting system-specific MCA parameters for those users who don't +# know / care enough to investigate the proper values for them. + +# Note that this file is only applicable where it is visible (in a +# filesystem sense). Specifically, MPI processes each read this file +# during their startup to determine what default values for MCA +# parameters should be used. mpirun does not bundle up the values in +# this file from the node where it was run and send them to all nodes; +# the default value decisions are effectively distributed. Hence, +# these values are only applicable on nodes that "see" this file. If +# $sysconf is a directory on a local disk, it is likely that changes +# to this file will need to be propagated to other nodes. If $sysconf +# is a directory that is shared via a networked filesystem, changes to +# this file will be visible to all nodes that share this $sysconf. + +# The format is straightforward: one per line, mca_param_name = +# rvalue. Quoting is ignored (so if you use quotes or escape +# characters, they'll be included as part of the value). For example: + +# Disable run-time MPI parameter checking +# mpi_param_check = 0 + +# Note that the value "~/" will be expanded to the current user's home +# directory. For example: + +# Change component loading path +# mca_base_component_path = /usr/local/lib/openmpi:~/my_openmpi_components + +# See "ompi_info --param all all --level 9" for a full listing of Open +# MPI MCA parameters available and their default values. diff --git a/macx64/mpi/openmpi/etc/openmpi-totalview.tcl b/macx64/mpi/openmpi/etc/openmpi-totalview.tcl new file mode 100644 index 00000000..27edbc4f --- /dev/null +++ b/macx64/mpi/openmpi/etc/openmpi-totalview.tcl @@ -0,0 +1,38 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# Check if the newly loaded image is one of the MPI starter programs +# and start it immediately if it is. + +proc mpi_auto_run_starter {loaded_id} { + set starter_programs {mpirun mpiexec orterun} + set executable_name [TV::symbol get $loaded_id full_pathname] + set file_component [file tail $executable_name] + + if {[lsearch -exact $starter_programs $file_component] != -1} { + puts "**************************************" + puts "Automatically starting $file_component" + puts "**************************************" + dgo + } +} + +# Append this function to TotalView's image load callbacks so that +# TotalView run this program automatically. + +dlappend TV::image_load_callbacks mpi_auto_run_starter diff --git a/macx64/mpi/openmpi/etc/pmix-mca-params.conf b/macx64/mpi/openmpi/etc/pmix-mca-params.conf new file mode 100644 index 00000000..794dc52e --- /dev/null +++ b/macx64/mpi/openmpi/etc/pmix-mca-params.conf @@ -0,0 +1,59 @@ +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +# This is the default system-wide MCA parameters defaults file. +# Specifically, the MCA parameter "mca_param_files" defaults to a +# value of +# "$HOME/.pmix/mca-params.conf:$sysconf/pmix-mca-params.conf" +# (this file is the latter of the two). So if the default value of +# mca_param_files is not changed, this file is used to set system-wide +# MCA parameters. This file can therefore be used to set system-wide +# default MCA parameters for all users. Of course, users can override +# these values if they want, but this file is an excellent location +# for setting system-specific MCA parameters for those users who don't +# know / care enough to investigate the proper values for them. + +# Note that this file is only applicable where it is visible (in a +# filesystem sense). Specifically, processes each read this file +# during their call to PMIx_Init to determine what default values for MCA +# parameters should be used. Launchers generally do not bundle up the values in +# this file from the node where they are run and send them to all nodes; +# the default value decisions are effectively distributed. Hence, +# these values are typically only applicable on nodes that "see" this file. If +# $sysconf is a directory on a local disk, it is likely that changes +# to this file will need to be propagated to other nodes. If $sysconf +# is a directory that is shared via a networked filesystem, changes to +# this file will be visible to all nodes that share this $sysconf. + +# The format is straightforward: one per line, mca_param_name = +# rvalue. Quoting is ignored (so if you use quotes or escape +# characters, they'll be included as part of the value). For example: + +# Set debugging verbosity on the PTL framework +# ptl_base_verbose = 10 + +# Note that the value "~/" will be expanded to the current user's home +# directory. For example: + +# Change component loading path +# mca_base_component_path = /usr/local/lib/pmix:~/my_pmix_components + +# See "pinfo --param all all --level 9" for a full listing of PMIx +# MCA parameters available and their default values. diff --git a/macx64/mpi/openmpi/include/mpi-ext.h b/macx64/mpi/openmpi/include/mpi-ext.h new file mode 100644 index 00000000..950ccfb9 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpi-ext.h @@ -0,0 +1,32 @@ +/* + * $HEADER$ + */ + +#ifndef OMPI_MPI_EXT_H +#define OMPI_MPI_EXT_H 1 + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + +#define OMPI_HAVE_MPI_EXT 1 + +/* Enabled Extension: affinity */ +#define OMPI_HAVE_MPI_EXT_AFFINITY 1 +#include "openmpi/mpiext/mpiext_affinity_c.h" + +/* Enabled Extension: cuda */ +#define OMPI_HAVE_MPI_EXT_CUDA 1 +#include "openmpi/mpiext/mpiext_cuda_c.h" + +/* Enabled Extension: pcollreq */ +#define OMPI_HAVE_MPI_EXT_PCOLLREQ 1 +#include "openmpi/mpiext/mpiext_pcollreq_c.h" + + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +#endif /* OMPI_MPI_EXT_H */ + diff --git a/macx64/mpi/openmpi/include/mpi.h b/macx64/mpi/openmpi/include/mpi.h new file mode 100644 index 00000000..2c9479a0 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpi.h @@ -0,0 +1,2846 @@ +/* ompi/include/mpi.h. Generated from mpi.h.in by configure. */ +/* + * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana + * University Research and Technology + * Corporation. All rights reserved. + * Copyright (c) 2004-2013 The University of Tennessee and The University + * of Tennessee Research Foundation. All rights + * reserved. + * Copyright (c) 2004-2007 High Performance Computing Center Stuttgart, + * University of Stuttgart. All rights reserved. + * Copyright (c) 2004-2005 The Regents of the University of California. + * All rights reserved. + * Copyright (c) 2007-2019 Cisco Systems, Inc. All rights reserved + * Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. + * Copyright (c) 2009-2012 Oak Rigde National Laboratory. All rights reserved. + * Copyright (c) 2011 Sandia National Laboratories. All rights reserved. + * Copyright (c) 2012-2018 Los Alamos National Security, LLC. All rights + * reserved. + * Copyright (c) 2011-2013 INRIA. All rights reserved. + * Copyright (c) 2015 University of Houston. All rights reserved. + * Copyright (c) 2015-2018 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * Copyright (c) 2017-2019 IBM Corporation. All rights reserved. + * Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + */ + +#ifndef OMPI_MPI_H +#define OMPI_MPI_H + +/* The comment below (and the ending partner) are for building fat + distributions on platforms that support it. Please do not remove */ + +/* @OMPI_BEGIN_CONFIGURE_SECTION@ */ + +#ifndef OMPI_CONFIG_H + +/* Only include these if OMPI_CONFIG_H isn't defined (meaning if + ompi_config.h hasn't already been included). Otherwise, we'll + duplicate all those symbols. OMPI coding standards say that + ompi_config.h must be included before all other files, so this + should be good enough */ + +/* The compiler id which OMPI was built with */ +#define OPAL_BUILD_PLATFORM_COMPILER_FAMILYID 1 + +/* The compiler version which OMPI was built with */ +#define OPAL_BUILD_PLATFORM_COMPILER_VERSION 262657 + +/* Define to 1 if you have the ANSI C header files. */ +#define OPAL_STDC_HEADERS 1 + +/* Whether your compiler has __attribute__ deprecated or not */ +#define OPAL_HAVE_ATTRIBUTE_DEPRECATED 1 + +/* Whether your compiler has __attribute__ deprecated with the optional argument */ +#define OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT 1 + +/* Whether you compiler has __attribute__ error or not */ +#define OPAL_HAVE_ATTRIBUTE_ERROR 0 + +/* Define to 1 if you have the header file. */ +#define OPAL_HAVE_SYS_TIME_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef OPAL_HAVE_SYS_SYNCH_H */ + +/* Define to 1 if the system has the type `long long'. */ +#define OPAL_HAVE_LONG_LONG 1 + +/* The size of a `bool', as computed by sizeof. */ +/* #undef OPAL_SIZEOF_BOOL */ + +/* The size of a `int', as computed by sizeof. */ +/* #undef OPAL_SIZEOF_INT */ + +/* Maximum length of datarep string (default is 128) */ +#define OPAL_MAX_DATAREP_STRING 128 + +/* Maximum length of error strings (default is 256) */ +#define OPAL_MAX_ERROR_STRING 256 + +/* Maximum length of info keys (default is 36) */ +#define OPAL_MAX_INFO_KEY 36 + +/* Maximum length of info vals (default is 256) */ +#define OPAL_MAX_INFO_VAL 256 + +/* Maximum length of object names (default is 64) */ +#define OPAL_MAX_OBJECT_NAME 64 + +/* Maximum length of port names (default is 1024) */ +#define OPAL_MAX_PORT_NAME 1024 + +/* Maximum length of processor names (default is 256) */ +#define OPAL_MAX_PROCESSOR_NAME 256 + +/* Whether we have FORTRAN LOGICAL*1 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL1 0 + +/* Whether we have FORTRAN LOGICAL*2 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL2 0 + +/* Whether we have FORTRAN LOGICAL*4 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL4 0 + +/* Whether we have FORTRAN LOGICAL*8 or not */ +#define OMPI_HAVE_FORTRAN_LOGICAL8 0 + +/* Whether we have FORTRAN INTEGER*1 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER1 0 + +/* Whether we have FORTRAN INTEGER*16 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER16 0 + +/* Whether we have FORTRAN INTEGER*2 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER2 0 + +/* Whether we have FORTRAN INTEGER*4 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER4 0 + +/* Whether we have FORTRAN INTEGER*8 or not */ +#define OMPI_HAVE_FORTRAN_INTEGER8 0 + +/* Whether we have FORTRAN REAL*16 or not */ +#define OMPI_HAVE_FORTRAN_REAL16 0 + +/* Whether we have FORTRAN REAL*2 or not */ +#define OMPI_HAVE_FORTRAN_REAL2 0 + +/* Whether we have FORTRAN REAL*4 or not */ +#define OMPI_HAVE_FORTRAN_REAL4 0 + +/* Whether we have FORTRAN REAL*8 or not */ +#define OMPI_HAVE_FORTRAN_REAL8 0 + +/* Whether in include MPI-1 compatibility */ +#define OMPI_ENABLE_MPI1_COMPAT 0 + +/* Whether we have float _Complex or not */ +#define HAVE_FLOAT__COMPLEX 1 + +/* Whether we have double _Complex or not */ +#define HAVE_DOUBLE__COMPLEX 1 + +/* Whether we have long double _Complex or not */ +#define HAVE_LONG_DOUBLE__COMPLEX 1 + +/* Type of MPI_Aint */ +#define OMPI_MPI_AINT_TYPE ptrdiff_t + +/* Type of MPI_Offset */ +#define OMPI_MPI_OFFSET_TYPE long long + +/* MPI datatype corresponding to MPI_Offset */ +#define OMPI_OFFSET_DATATYPE MPI_LONG_LONG + +/* Size of the MPI_Offset corresponding type */ +#define OMPI_MPI_OFFSET_SIZE 8 + +/* Type of MPI_Count */ +#define OMPI_MPI_COUNT_TYPE long long + +/* type to use for ptrdiff_t, if it does not exist, set to ptrdiff_t if it does exist */ +/* #undef ptrdiff_t */ + +/* Whether we want MPI cxx support or not */ +#define OMPI_BUILD_CXX_BINDINGS 0 + +/* do we want to try to work around C++ bindings SEEK_* issue? */ +#define OMPI_WANT_MPI_CXX_SEEK 1 + +/* Whether a const_cast on a 2-d array will work with the C++ compiler */ +#define OMPI_CXX_SUPPORTS_2D_CONST_CAST 0 + +/* Whether OMPI was built with parameter checking or not */ +#define OMPI_PARAM_CHECK 1 + +/* Enable warnings in wrong usage (e.g. deprecated) in user-level code */ +#ifndef OMPI_WANT_MPI_INTERFACE_WARNING +#define OMPI_WANT_MPI_INTERFACE_WARNING 1 +#endif + +/* Whether or not we have compiled with C++ exceptions support */ +#define OMPI_HAVE_CXX_EXCEPTION_SUPPORT 0 + +/* Major, minor, and release version of Open MPI */ +#define OMPI_MAJOR_VERSION 4 +#define OMPI_MINOR_VERSION 0 +#define OMPI_RELEASE_VERSION 1 + +/* A type that allows us to have sentinel type values that are still + valid */ +#define ompi_fortran_bogus_type_t int + +/* C type corresponding to FORTRAN INTEGER */ +#define ompi_fortran_integer_t ompi_fortran_bogus_type_t + +/* Whether C compiler supports -fvisibility */ +#define OPAL_C_HAVE_VISIBILITY 1 + +#ifndef OMPI_DECLSPEC +# if defined(WIN32) || defined(_WIN32) +# if defined(OMPI_IMPORTS) +# define OMPI_DECLSPEC __declspec(dllimport) +# else +# define OMPI_DECLSPEC +# endif /* defined(OMPI_IMPORTS) */ +# else +# if OPAL_C_HAVE_VISIBILITY == 1 +# define OMPI_DECLSPEC __attribute__((visibility("default"))) +# else +# define OMPI_DECLSPEC +# endif +# endif +#endif + +#ifndef MPI_Fint +/* MPI_Fint is the same as ompi_fortran_INTEGER_t */ +#define MPI_Fint ompi_fortran_integer_t +#endif + +#endif /* #ifndef OMPI_CONFIG_H */ + +/* @OMPI_END_CONFIGURE_SECTION@ */ + +/* include for ptrdiff_t */ +#ifdef OPAL_STDC_HEADERS +#include +#endif + +#ifndef OMPI_BUILDING +#define OMPI_BUILDING 0 +#endif + + +/* + * Just in case you need it. :-) + */ +#define OPEN_MPI 1 + +/* + * MPI version + */ +#define MPI_VERSION 3 +#define MPI_SUBVERSION 1 + + +/* + * Do we want MPI interface deprecated function warnings? This is + * only relevant if we're not building Open MPI (i.e., we're compiling an + * MPI application). + */ +#if !(OMPI_BUILDING || \ + (defined(OMPI_BUILDING_CXX_BINDINGS_LIBRARY) && \ + OMPI_BUILDING_CXX_BINDINGS_LIBRARY)) + + /* + * Figure out which compiler is being invoked (in order to compare if + * it was different than what OMPI was built with). + */ +# include "mpi_portable_platform.h" + + /* + * If we're currently using the same compiler that was used to + * build Open MPI, enable compile-time warning of user-level code + * (e.g. usage of deprecated functions). + */ +# if (OPAL_BUILD_PLATFORM_COMPILER_FAMILYID == PLATFORM_COMPILER_FAMILYID) && \ + (OPAL_BUILD_PLATFORM_COMPILER_VERSION == PLATFORM_COMPILER_VERSION) + +# if OMPI_WANT_MPI_INTERFACE_WARNING +# if OPAL_HAVE_ATTRIBUTE_DEPRECATED +# if OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT +# define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__(msg))) +# else +# define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__)) +# endif +# endif +# endif + + /* For MPI removed APIs, there is no generally portable way to cause + * the C compiler to error with a nice message, on the _usage_ of + * one of these symbols. We've gone with tiered appraoch: + * + * If the user configured with --enable-mpi1-compatibility, + * just emit a compiletime warning (via the deprecation function + * attribute) that they're using an MPI1 removed function. + * + * Otherwise, we'd like to issue a fatal error directing the user + * that they've used an MPI1 removed function. If the user's + * compiler supports C11 _Static_assert feature, we #define + * the MPI routines to instead be a call to _Static_assert + * with an appropreate message suggesting the new MPI3 equivalent. + * + * Otherwise, if the user's compiler supports the error function + * attribute, define the MPI routines with that error attribute. + * This is supported by most modern GNU compilers. + * + * Finally if the compiler doesn't support any of those, just + * Don't declare those MPI routines at all in mpi.h + * + * Don't do MACRO magic for building Profiling library as it + * interferes with the above. + */ +# if defined(OMPI_OMIT_MPI1_COMPAT_DECLS) + /* The user set OMPI_OMIT_MPI1_COMPAT_DECLS, do what he commands */ +# elif (OMPI_ENABLE_MPI1_COMPAT || OMPI_BUILDING) +# define OMPI_OMIT_MPI1_COMPAT_DECLS 0 +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +# define __mpi_interface_removed__(func, newfunc) __mpi_interface_deprecated__(#func " was removed in MPI-3.0. Use " #newfunc " instead. continuing...") +# elif (__STDC_VERSION__ >= 201112L) +# define OMPI_OMIT_MPI1_COMPAT_DECLS 1 +# define OMPI_REMOVED_USE_STATIC_ASSERT 1 +// This macro definition may show up in compiler output. So we both +// outdent it back to column 0 and give it a user-friendly name to +// help users grok what we are trying to tell them here. +#define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.") +# elif OPAL_HAVE_ATTRIBUTE_ERROR +# define OMPI_OMIT_MPI1_COMPAT_DECLS 0 +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +# define __mpi_interface_removed__(func, newfunc) __attribute__((__error__(#func " was removed in MPI-3.0. Use " #newfunc " instead."))) +# else +# define OMPI_OMIT_MPI1_COMPAT_DECLS 1 +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +# endif +# endif +#endif + +/* + * If we didn't define __mpi_interface_deprecated__ above, then we + * don't want it, so define it to empty (can't use #undef in the logic + * above because autoconf will comment it out). + */ +#if !defined(__mpi_interface_deprecated__) +# define __mpi_interface_deprecated__(msg) +#endif + +#if !defined(__mpi_interface_removed__) +# define __mpi_interface_removed__(A,B) +#endif + +#if !defined(THIS_SYMBOL_WAS_REMOVED_IN_MPI30) +# define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(func, newfunc) +#endif + +#if !defined(OMPI_REMOVED_USE_STATIC_ASSERT) +# define OMPI_REMOVED_USE_STATIC_ASSERT 0 +#endif + +#if !defined(OMPI_OMIT_MPI1_COMPAT_DECLS) +# define OMPI_OMIT_MPI1_COMPAT_DECLS !OMPI_ENABLE_MPI1_COMPAT +#endif + +/* + * To accomodate programs written for MPI implementations that use a + * straight ROMIO import + */ +#if !OMPI_BUILDING +#define MPIO_Request MPI_Request +#define MPIO_Test MPI_Test +#define MPIO_Wait MPI_Wait +#endif + +/* + * When initializing global pointers to Open MPI internally-defined + * structs, some compilers warn about type-punning to incomplete + * types. Therefore, when full struct definitions are unavailable + * (when not building Open MPI), cast to an opaque (void *) pointer to + * disable any strict-aliasing optimizations. Don't cast to (void *) + * when building Open MPI so that we actually get the benefit of type + * checking (because we *do* have the full type definitions available + * when building OMPI). + */ +#if !OMPI_BUILDING +#if defined(c_plusplus) || defined(__cplusplus) +#define OMPI_PREDEFINED_GLOBAL(type, global) (static_cast (static_cast (&(global)))) +#else +#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global))) +#endif +#else +#define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global)) +#endif + +#if defined(c_plusplus) || defined(__cplusplus) +extern "C" { +#endif + +/* + * Typedefs + */ + +typedef OMPI_MPI_AINT_TYPE MPI_Aint; +typedef OMPI_MPI_OFFSET_TYPE MPI_Offset; +typedef OMPI_MPI_COUNT_TYPE MPI_Count; +typedef struct ompi_communicator_t *MPI_Comm; +typedef struct ompi_datatype_t *MPI_Datatype; +typedef struct ompi_errhandler_t *MPI_Errhandler; +typedef struct ompi_file_t *MPI_File; +typedef struct ompi_group_t *MPI_Group; +typedef struct ompi_info_t *MPI_Info; +typedef struct ompi_op_t *MPI_Op; +typedef struct ompi_request_t *MPI_Request; +typedef struct ompi_message_t *MPI_Message; +typedef struct ompi_status_public_t MPI_Status; +typedef struct ompi_win_t *MPI_Win; +typedef struct mca_base_var_enum_t *MPI_T_enum; +typedef struct ompi_mpit_cvar_handle_t *MPI_T_cvar_handle; +typedef struct mca_base_pvar_handle_t *MPI_T_pvar_handle; +typedef struct mca_base_pvar_session_t *MPI_T_pvar_session; + +/* + * MPI_Status + */ +struct ompi_status_public_t { + /* These fields are publicly defined in the MPI specification. + User applications may freely read from these fields. */ + int MPI_SOURCE; + int MPI_TAG; + int MPI_ERROR; + /* The following two fields are internal to the Open MPI + implementation and should not be accessed by MPI applications. + They are subject to change at any time. These are not the + droids you're looking for. */ + int _cancelled; + size_t _ucount; +}; +typedef struct ompi_status_public_t ompi_status_public_t; + +/* + * User typedefs + */ +typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *); +typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, + int, void *, MPI_Offset, void *); +typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...); + + /* This is a little hackish, but errhandler.h needs space for a + MPI_File_errhandler_fn. While it could just be removed, this + allows us to maintain a stable ABI within OMPI, at least for + apps that don't use MPI I/O. */ +typedef void (ompi_file_errhandler_fn)(MPI_File *, int *, ...); +typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...); +typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *); +typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *, + void *, void *, int *); +typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *); +typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *, + void *, void *, int *); +typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int, + void *, void *); +typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *, + void *, void *, int *); +typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *); +typedef int (MPI_Grequest_query_function)(void *, MPI_Status *); +typedef int (MPI_Grequest_free_function)(void *); +typedef int (MPI_Grequest_cancel_function)(void *, int); + +/* + * Deprecated typedefs. Usage is discouraged, as these may be deleted + * in future versions of the MPI Standard. + */ +typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn + __mpi_interface_deprecated__("MPI_Comm_errhandler_fn was deprecated in MPI-2.2; use MPI_Comm_errhandler_function instead"); +typedef ompi_file_errhandler_fn MPI_File_errhandler_fn + __mpi_interface_deprecated__("MPI_File_errhandler_fn was deprecated in MPI-2.2; use MPI_File_errhandler_function instead"); +typedef ompi_file_errhandler_fn MPI_File_errhandler_function; +typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn + __mpi_interface_deprecated__("MPI_Win_errhandler_fn was deprecated in MPI-2.2; use MPI_Win_errhandler_function instead"); + + +/* + * Miscellaneous constants + */ +#define MPI_ANY_SOURCE -1 /* match any source rank */ +#define MPI_PROC_NULL -2 /* rank of null process */ +#define MPI_ROOT -4 /* special value for intercomms */ +#define MPI_ANY_TAG -1 /* match any message tag */ +#define MPI_MAX_PROCESSOR_NAME OPAL_MAX_PROCESSOR_NAME /* max proc. name length */ +#define MPI_MAX_ERROR_STRING OPAL_MAX_ERROR_STRING /* max error message length */ +#define MPI_MAX_OBJECT_NAME OPAL_MAX_OBJECT_NAME /* max object name length */ +#define MPI_MAX_LIBRARY_VERSION_STRING 256 /* max length of library version string */ +#define MPI_UNDEFINED -32766 /* undefined stuff */ +#define MPI_DIST_GRAPH 3 /* dist graph topology */ +#define MPI_CART 1 /* cartesian topology */ +#define MPI_GRAPH 2 /* graph topology */ +#define MPI_KEYVAL_INVALID -1 /* invalid key value */ + +/* + * More constants + */ +#define MPI_UNWEIGHTED ((int *) 2) /* unweighted graph */ +#define MPI_WEIGHTS_EMPTY ((int *) 3) /* empty weights */ +#define MPI_BOTTOM ((void *) 0) /* base reference address */ +#define MPI_IN_PLACE ((void *) 1) /* in place buffer */ +#define MPI_BSEND_OVERHEAD 128 /* size of bsend header + ptr */ +#define MPI_MAX_INFO_KEY OPAL_MAX_INFO_KEY /* max info key length */ +#define MPI_MAX_INFO_VAL OPAL_MAX_INFO_VAL /* max info value length */ +#define MPI_ARGV_NULL ((char **) 0) /* NULL argument vector */ +#define MPI_ARGVS_NULL ((char ***) 0) /* NULL argument vectors */ +#define MPI_ERRCODES_IGNORE ((int *) 0) /* don't return error codes */ +#define MPI_MAX_PORT_NAME OPAL_MAX_PORT_NAME /* max port name length */ +#define MPI_ORDER_C 0 /* C row major order */ +#define MPI_ORDER_FORTRAN 1 /* Fortran column major order */ +#define MPI_DISTRIBUTE_BLOCK 0 /* block distribution */ +#define MPI_DISTRIBUTE_CYCLIC 1 /* cyclic distribution */ +#define MPI_DISTRIBUTE_NONE 2 /* not distributed */ +#define MPI_DISTRIBUTE_DFLT_DARG (-1) /* default distribution arg */ + +/* + * Since these values are arbitrary to Open MPI, we might as well make + * them the same as ROMIO for ease of mapping. These values taken + * from ROMIO's mpio.h file. + */ +#define MPI_MODE_CREATE 1 /* ADIO_CREATE */ +#define MPI_MODE_RDONLY 2 /* ADIO_RDONLY */ +#define MPI_MODE_WRONLY 4 /* ADIO_WRONLY */ +#define MPI_MODE_RDWR 8 /* ADIO_RDWR */ +#define MPI_MODE_DELETE_ON_CLOSE 16 /* ADIO_DELETE_ON_CLOSE */ +#define MPI_MODE_UNIQUE_OPEN 32 /* ADIO_UNIQUE_OPEN */ +#define MPI_MODE_EXCL 64 /* ADIO_EXCL */ +#define MPI_MODE_APPEND 128 /* ADIO_APPEND */ +#define MPI_MODE_SEQUENTIAL 256 /* ADIO_SEQUENTIAL */ + +#define MPI_DISPLACEMENT_CURRENT -54278278 + +#define MPI_SEEK_SET 600 +#define MPI_SEEK_CUR 602 +#define MPI_SEEK_END 604 + +/* Max data representation length */ +#define MPI_MAX_DATAREP_STRING OPAL_MAX_DATAREP_STRING + +/* + * MPI-2 One-Sided Communications asserts + */ +#define MPI_MODE_NOCHECK 1 +#define MPI_MODE_NOPRECEDE 2 +#define MPI_MODE_NOPUT 4 +#define MPI_MODE_NOSTORE 8 +#define MPI_MODE_NOSUCCEED 16 + +#define MPI_LOCK_EXCLUSIVE 1 +#define MPI_LOCK_SHARED 2 + +#define MPI_WIN_FLAVOR_CREATE 1 +#define MPI_WIN_FLAVOR_ALLOCATE 2 +#define MPI_WIN_FLAVOR_DYNAMIC 3 +#define MPI_WIN_FLAVOR_SHARED 4 + +#define MPI_WIN_UNIFIED 0 +#define MPI_WIN_SEPARATE 1 + +/* + * Predefined attribute keyvals + * + * DO NOT CHANGE THE ORDER WITHOUT ALSO CHANGING THE ORDER IN + * src/attribute/attribute_predefined.c and mpif.h.in. + */ +enum { + /* MPI-1 */ + MPI_TAG_UB, + MPI_HOST, + MPI_IO, + MPI_WTIME_IS_GLOBAL, + + /* MPI-2 */ + MPI_APPNUM, + MPI_LASTUSEDCODE, + MPI_UNIVERSE_SIZE, + MPI_WIN_BASE, + MPI_WIN_SIZE, + MPI_WIN_DISP_UNIT, + MPI_WIN_CREATE_FLAVOR, + MPI_WIN_MODEL, + + /* Even though these four are IMPI attributes, they need to be there + for all MPI jobs */ + IMPI_CLIENT_SIZE, + IMPI_CLIENT_COLOR, + IMPI_HOST_SIZE, + IMPI_HOST_COLOR +}; + +/* + * Error classes and codes + * Do not change the values of these without also modifying mpif.h.in. + */ +#define MPI_SUCCESS 0 +#define MPI_ERR_BUFFER 1 +#define MPI_ERR_COUNT 2 +#define MPI_ERR_TYPE 3 +#define MPI_ERR_TAG 4 +#define MPI_ERR_COMM 5 +#define MPI_ERR_RANK 6 +#define MPI_ERR_REQUEST 7 +#define MPI_ERR_ROOT 8 +#define MPI_ERR_GROUP 9 +#define MPI_ERR_OP 10 +#define MPI_ERR_TOPOLOGY 11 +#define MPI_ERR_DIMS 12 +#define MPI_ERR_ARG 13 +#define MPI_ERR_UNKNOWN 14 +#define MPI_ERR_TRUNCATE 15 +#define MPI_ERR_OTHER 16 +#define MPI_ERR_INTERN 17 +#define MPI_ERR_IN_STATUS 18 +#define MPI_ERR_PENDING 19 +#define MPI_ERR_ACCESS 20 +#define MPI_ERR_AMODE 21 +#define MPI_ERR_ASSERT 22 +#define MPI_ERR_BAD_FILE 23 +#define MPI_ERR_BASE 24 +#define MPI_ERR_CONVERSION 25 +#define MPI_ERR_DISP 26 +#define MPI_ERR_DUP_DATAREP 27 +#define MPI_ERR_FILE_EXISTS 28 +#define MPI_ERR_FILE_IN_USE 29 +#define MPI_ERR_FILE 30 +#define MPI_ERR_INFO_KEY 31 +#define MPI_ERR_INFO_NOKEY 32 +#define MPI_ERR_INFO_VALUE 33 +#define MPI_ERR_INFO 34 +#define MPI_ERR_IO 35 +#define MPI_ERR_KEYVAL 36 +#define MPI_ERR_LOCKTYPE 37 +#define MPI_ERR_NAME 38 +#define MPI_ERR_NO_MEM 39 +#define MPI_ERR_NOT_SAME 40 +#define MPI_ERR_NO_SPACE 41 +#define MPI_ERR_NO_SUCH_FILE 42 +#define MPI_ERR_PORT 43 +#define MPI_ERR_QUOTA 44 +#define MPI_ERR_READ_ONLY 45 +#define MPI_ERR_RMA_CONFLICT 46 +#define MPI_ERR_RMA_SYNC 47 +#define MPI_ERR_SERVICE 48 +#define MPI_ERR_SIZE 49 +#define MPI_ERR_SPAWN 50 +#define MPI_ERR_UNSUPPORTED_DATAREP 51 +#define MPI_ERR_UNSUPPORTED_OPERATION 52 +#define MPI_ERR_WIN 53 +#define MPI_T_ERR_MEMORY 54 +#define MPI_T_ERR_NOT_INITIALIZED 55 +#define MPI_T_ERR_CANNOT_INIT 56 +#define MPI_T_ERR_INVALID_INDEX 57 +#define MPI_T_ERR_INVALID_ITEM 58 +#define MPI_T_ERR_INVALID_HANDLE 59 +#define MPI_T_ERR_OUT_OF_HANDLES 60 +#define MPI_T_ERR_OUT_OF_SESSIONS 61 +#define MPI_T_ERR_INVALID_SESSION 62 +#define MPI_T_ERR_CVAR_SET_NOT_NOW 63 +#define MPI_T_ERR_CVAR_SET_NEVER 64 +#define MPI_T_ERR_PVAR_NO_STARTSTOP 65 +#define MPI_T_ERR_PVAR_NO_WRITE 66 +#define MPI_T_ERR_PVAR_NO_ATOMIC 67 +#define MPI_ERR_RMA_RANGE 68 +#define MPI_ERR_RMA_ATTACH 69 +#define MPI_ERR_RMA_FLAVOR 70 +#define MPI_ERR_RMA_SHARED 71 +#define MPI_T_ERR_INVALID 72 +#define MPI_T_ERR_INVALID_NAME 73 + +/* Per MPI-3 p349 47, MPI_ERR_LASTCODE must be >= the last predefined + MPI_ERR_ code. Set the last code to allow some room for adding + error codes without breaking ABI. */ +#define MPI_ERR_LASTCODE 92 + +/* + * Comparison results. Don't change the order of these, the group + * comparison functions rely on it. + * Do not change the order of these without also modifying mpif.h.in. + */ +enum { + MPI_IDENT, + MPI_CONGRUENT, + MPI_SIMILAR, + MPI_UNEQUAL +}; + +/* + * MPI_Init_thread constants + * Do not change the order of these without also modifying mpif.h.in. + */ +enum { + MPI_THREAD_SINGLE, + MPI_THREAD_FUNNELED, + MPI_THREAD_SERIALIZED, + MPI_THREAD_MULTIPLE +}; + +/* + * Datatype combiners. + * Do not change the order of these without also modifying mpif.h.in. + * (see also mpif-common.h.fin). + */ +enum { + MPI_COMBINER_NAMED, + MPI_COMBINER_DUP, + MPI_COMBINER_CONTIGUOUS, + MPI_COMBINER_VECTOR, + MPI_COMBINER_HVECTOR_INTEGER, + MPI_COMBINER_HVECTOR, + MPI_COMBINER_INDEXED, + MPI_COMBINER_HINDEXED_INTEGER, + MPI_COMBINER_HINDEXED, + MPI_COMBINER_INDEXED_BLOCK, + MPI_COMBINER_STRUCT_INTEGER, + MPI_COMBINER_STRUCT, + MPI_COMBINER_SUBARRAY, + MPI_COMBINER_DARRAY, + MPI_COMBINER_F90_REAL, + MPI_COMBINER_F90_COMPLEX, + MPI_COMBINER_F90_INTEGER, + MPI_COMBINER_RESIZED, + MPI_COMBINER_HINDEXED_BLOCK +}; + +/* + * Communicator split type constants. + * Do not change the order of these without also modifying mpif.h.in + * (see also mpif-common.h.fin). + */ +enum { + MPI_COMM_TYPE_SHARED, + OMPI_COMM_TYPE_HWTHREAD, + OMPI_COMM_TYPE_CORE, + OMPI_COMM_TYPE_L1CACHE, + OMPI_COMM_TYPE_L2CACHE, + OMPI_COMM_TYPE_L3CACHE, + OMPI_COMM_TYPE_SOCKET, + OMPI_COMM_TYPE_NUMA, + OMPI_COMM_TYPE_BOARD, + OMPI_COMM_TYPE_HOST, + OMPI_COMM_TYPE_CU, + OMPI_COMM_TYPE_CLUSTER +}; +#define OMPI_COMM_TYPE_NODE MPI_COMM_TYPE_SHARED + +/* + * MPIT Verbosity Levels + */ +enum { + MPI_T_VERBOSITY_USER_BASIC, + MPI_T_VERBOSITY_USER_DETAIL, + MPI_T_VERBOSITY_USER_ALL, + MPI_T_VERBOSITY_TUNER_BASIC, + MPI_T_VERBOSITY_TUNER_DETAIL, + MPI_T_VERBOSITY_TUNER_ALL, + MPI_T_VERBOSITY_MPIDEV_BASIC, + MPI_T_VERBOSITY_MPIDEV_DETAIL, + MPI_T_VERBOSITY_MPIDEV_ALL +}; + +/* + * MPIT Scopes + */ +enum { + MPI_T_SCOPE_CONSTANT, + MPI_T_SCOPE_READONLY, + MPI_T_SCOPE_LOCAL, + MPI_T_SCOPE_GROUP, + MPI_T_SCOPE_GROUP_EQ, + MPI_T_SCOPE_ALL, + MPI_T_SCOPE_ALL_EQ +}; + +/* + * MPIT Object Binding + */ +enum { + MPI_T_BIND_NO_OBJECT, + MPI_T_BIND_MPI_COMM, + MPI_T_BIND_MPI_DATATYPE, + MPI_T_BIND_MPI_ERRHANDLER, + MPI_T_BIND_MPI_FILE, + MPI_T_BIND_MPI_GROUP, + MPI_T_BIND_MPI_OP, + MPI_T_BIND_MPI_REQUEST, + MPI_T_BIND_MPI_WIN, + MPI_T_BIND_MPI_MESSAGE, + MPI_T_BIND_MPI_INFO +}; + +/* + * MPIT pvar classes + */ +enum { + MPI_T_PVAR_CLASS_STATE, + MPI_T_PVAR_CLASS_LEVEL, + MPI_T_PVAR_CLASS_SIZE, + MPI_T_PVAR_CLASS_PERCENTAGE, + MPI_T_PVAR_CLASS_HIGHWATERMARK, + MPI_T_PVAR_CLASS_LOWWATERMARK, + MPI_T_PVAR_CLASS_COUNTER, + MPI_T_PVAR_CLASS_AGGREGATE, + MPI_T_PVAR_CLASS_TIMER, + MPI_T_PVAR_CLASS_GENERIC +}; + +/* + * NULL handles + */ +#define MPI_GROUP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_null) +#define MPI_COMM_NULL OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_null) +#define MPI_REQUEST_NULL OMPI_PREDEFINED_GLOBAL(MPI_Request, ompi_request_null) +#define MPI_MESSAGE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Message, ompi_message_null) +#define MPI_OP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_null) +#define MPI_ERRHANDLER_NULL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errhandler_null) +#define MPI_INFO_NULL OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_null) +#define MPI_WIN_NULL OMPI_PREDEFINED_GLOBAL(MPI_Win, ompi_mpi_win_null) +#define MPI_FILE_NULL OMPI_PREDEFINED_GLOBAL(MPI_File, ompi_mpi_file_null) +#define MPI_T_ENUM_NULL ((MPI_T_enum) NULL) + +/* + * MPI_INFO_ENV handle + */ +#define MPI_INFO_ENV OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_env) + +#if defined(c_plusplus) || defined(__cplusplus) +#define MPI_STATUS_IGNORE (static_cast (0)) +#define MPI_STATUSES_IGNORE (static_cast (0)) +#else +#define MPI_STATUS_IGNORE ((MPI_Status *) 0) +#define MPI_STATUSES_IGNORE ((MPI_Status *) 0) +#endif + +/* + * Special MPI_T handles + */ +#define MPI_T_PVAR_ALL_HANDLES ((MPI_T_pvar_handle) -1) +#define MPI_T_PVAR_HANDLE_NULL ((MPI_T_pvar_handle) 0) +#define MPI_T_PVAR_SESSION_NULL ((MPI_T_pvar_session) 0) +#define MPI_T_CVAR_HANDLE_NULL ((MPI_T_cvar_handle) 0) + +/* MPI-2 specifies that the name "MPI_TYPE_NULL_DELETE_FN" (and all + related friends) must be accessible in C, C++, and Fortran. This is + unworkable if the back-end Fortran compiler uses all caps for its + linker symbol convention -- it results in two functions with + different signatures that have the same name (i.e., both C and + Fortran use the symbol MPI_TYPE_NULL_DELETE_FN). So we have to + #define the C names to be something else, so that they names are + *accessed* through MPI_TYPE_NULL_DELETE_FN, but their actual symbol + name is different. + + However, this file is included when the fortran wrapper functions + are compiled in Open MPI, so we do *not* want these #defines in + this case (i.e., we need the Fortran wrapper function to be + compiled as MPI_TYPE_NULL_DELETE_FN). So add some #if kinds of + protection for this case. */ + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) + +#define MPI_TYPE_NULL_DELETE_FN OMPI_C_MPI_TYPE_NULL_DELETE_FN +#define MPI_TYPE_NULL_COPY_FN OMPI_C_MPI_TYPE_NULL_COPY_FN +#define MPI_TYPE_DUP_FN OMPI_C_MPI_TYPE_DUP_FN + +#define MPI_COMM_NULL_DELETE_FN OMPI_C_MPI_COMM_NULL_DELETE_FN +#define MPI_COMM_NULL_COPY_FN OMPI_C_MPI_COMM_NULL_COPY_FN +#define MPI_COMM_DUP_FN OMPI_C_MPI_COMM_DUP_FN + +#define MPI_WIN_NULL_DELETE_FN OMPI_C_MPI_WIN_NULL_DELETE_FN +#define MPI_WIN_NULL_COPY_FN OMPI_C_MPI_WIN_NULL_COPY_FN +#define MPI_WIN_DUP_FN OMPI_C_MPI_WIN_DUP_FN + +/* MPI_CONVERSION_FN_NULL is a sentinel value, but it has to be large + enough to be the same size as a valid function pointer. It + therefore shares many characteristics between Fortran constants and + Fortran sentinel functions. For example, it shares the problem of + having Fortran compilers have all-caps versions of the symbols that + must be able to be present, and therefore has to be in this + conditional block in mpi.h. */ +#define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function*) 0) +#endif + +OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_DELETE_FN( MPI_Datatype datatype, + int type_keyval, + void* attribute_val_out, + void* extra_state ); +OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_COPY_FN( MPI_Datatype datatype, + int type_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_TYPE_DUP_FN( MPI_Datatype datatype, + int type_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_DELETE_FN( MPI_Comm comm, + int comm_keyval, + void* attribute_val_out, + void* extra_state ); +OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_COPY_FN( MPI_Comm comm, + int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_COMM_DUP_FN( MPI_Comm comm, int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_DELETE_FN( MPI_Win window, + int win_keyval, + void* attribute_val_out, + void* extra_state ); +OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_COPY_FN( MPI_Win window, int win_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); +OMPI_DECLSPEC int OMPI_C_MPI_WIN_DUP_FN( MPI_Win window, int win_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ); + +/* + * External variables + * + * The below externs use the ompi_predefined_xxx_t structures to maintain + * back compatibility between MPI library versions. + * See ompi/communicator/communicator.h comments with struct ompi_communicator_t + * for full explanation why we chose to use the ompi_predefined_xxx_t structure. + */ +OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_world; +OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_self; +OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_null; + +OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_empty; +OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_null; + +OMPI_DECLSPEC extern struct ompi_predefined_request_t ompi_request_null; + +OMPI_DECLSPEC extern struct ompi_predefined_message_t ompi_message_null; +OMPI_DECLSPEC extern struct ompi_predefined_message_t ompi_message_no_proc; + +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_null; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_min; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_max; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_sum; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_prod; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_land; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_band; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lxor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bxor; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_maxloc; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_minloc; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_replace; +OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_no_op; + + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_datatype_null; + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_byte; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_short; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_long_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long_long; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_double; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_double; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_wchar; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_packed; + +/* + * Following are the C++/C99 datatypes + */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_bool; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_cplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_dblcplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_ldblcplex; + +/* + * Following are the Fortran datatypes + */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_character; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblprec; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblcplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ldblcplex; + +/* Aggregate struct datatypes are not const */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2integer; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2real; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2dblprec; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2cplex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2dblcplex; + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_double_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_longdbl_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short_int; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_int; + +/* Optional MPI2 datatypes, always declared and defined, but not "exported" as MPI_LOGICAL1 */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical1; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical2; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical4; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer1; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer2; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer4; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer16; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real2; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real4; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real16; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex8; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex16; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex32; + +/* New datatypes from the MPI 2.2 standard */ +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int8_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint8_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int16_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint16_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int32_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint32_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int64_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint64_t; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_aint; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_offset; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_count; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_bool; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_float_complex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_double_complex; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_long_double_complex; + +OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errhandler_null; +OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal; +OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_return; + +OMPI_DECLSPEC extern struct ompi_predefined_win_t ompi_mpi_win_null; +OMPI_DECLSPEC extern struct ompi_predefined_file_t ompi_mpi_file_null; + +OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_null; +OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_env; + +OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE; +OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE; + +/* + * Removed datatypes. These datatypes are only available if Open MPI + * was configured with --enable-mpi1-compatibility. + * + * These datatypes were formally removed from the MPI specification + * and should no longer be used in MPI applications. + */ +#if (OMPI_ENABLE_MPI1_COMPAT || OMPI_BUILDING) +# define MPI_UB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_ub) +# define MPI_LB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_lb) + +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_lb; +OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub; + +#else +/* If not building or configured --enable-mpi1-compatibility, then + * we don't want these datatypes, instead we define MPI_UB and + * MPI_LB to our Static Assert message if the compiler supports + * that staticly assert with a nice message. + */ +# if (OMPI_REMOVED_USE_STATIC_ASSERT) +# define MPI_UB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_UB, MPI_Type_create_resized); +# define MPI_LB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_LB, MPI_Type_create_resized); +# endif /* OMPI_REMOVED_USE_STATIC_ASSERT */ +#endif /* Removed datatypes */ + + +/* + * MPI predefined handles + */ +#define MPI_COMM_WORLD OMPI_PREDEFINED_GLOBAL( MPI_Comm, ompi_mpi_comm_world) +#define MPI_COMM_SELF OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_self) + +#define MPI_GROUP_EMPTY OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_empty) + +#define MPI_MESSAGE_NO_PROC OMPI_PREDEFINED_GLOBAL(MPI_Message, ompi_message_no_proc) + +#define MPI_MAX OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_max) +#define MPI_MIN OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_min) +#define MPI_SUM OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_sum) +#define MPI_PROD OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_prod) +#define MPI_LAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_land) +#define MPI_BAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_band) +#define MPI_LOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lor) +#define MPI_BOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bor) +#define MPI_LXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lxor) +#define MPI_BXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bxor) +#define MPI_MAXLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_maxloc) +#define MPI_MINLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_minloc) +#define MPI_REPLACE OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_replace) +#define MPI_NO_OP OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_no_op) + +/* C datatypes */ +#define MPI_DATATYPE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_datatype_null) +#define MPI_BYTE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_byte) +#define MPI_PACKED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_packed) +#define MPI_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_char) +#define MPI_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short) +#define MPI_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int) +#define MPI_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long) +#define MPI_FLOAT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float) +#define MPI_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double) +#define MPI_LONG_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_double) +#define MPI_UNSIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_char) +#define MPI_SIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_signed_char) +#define MPI_UNSIGNED_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_short) +#define MPI_UNSIGNED_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long) +#define MPI_UNSIGNED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned) +#define MPI_FLOAT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float_int) +#define MPI_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double_int) +#define MPI_LONG_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_longdbl_int) +#define MPI_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_int) +#define MPI_SHORT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short_int) +#define MPI_2INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2int) + +#define MPI_WCHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_wchar) +#if OPAL_HAVE_LONG_LONG +#define MPI_LONG_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int) +#define MPI_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int) +#define MPI_UNSIGNED_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long_long) +#endif /* OPAL_HAVE_LONG_LONG */ +#define MPI_2COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2cplex) +#define MPI_2DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblcplex) + +/* Fortran datatype bindings */ +#define MPI_CHARACTER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_character) +#define MPI_LOGICAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical) +#if OMPI_HAVE_FORTRAN_LOGICAL1 +#define MPI_LOGICAL1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical1) +#endif +#if OMPI_HAVE_FORTRAN_LOGICAL2 +#define MPI_LOGICAL2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical2) +#endif +#if OMPI_HAVE_FORTRAN_LOGICAL4 +#define MPI_LOGICAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical4) +#endif +#if OMPI_HAVE_FORTRAN_LOGICAL8 +#define MPI_LOGICAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical8) +#endif +#define MPI_INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer) +#if OMPI_HAVE_FORTRAN_INTEGER1 +#define MPI_INTEGER1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer1) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER2 +#define MPI_INTEGER2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer2) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER4 +#define MPI_INTEGER4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer4) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER8 +#define MPI_INTEGER8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer8) +#endif +#if OMPI_HAVE_FORTRAN_INTEGER16 +#define MPI_INTEGER16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer16) +#endif +#define MPI_REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real) +#if OMPI_HAVE_FORTRAN_REAL4 +#define MPI_REAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real4) +#endif +#if OMPI_HAVE_FORTRAN_REAL8 +#define MPI_REAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real8) +#endif +#if OMPI_HAVE_FORTRAN_REAL16 +#define MPI_REAL16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real16) +#endif +#define MPI_DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblprec) +#define MPI_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cplex) +#if OMPI_HAVE_FORTRAN_REAL4 +#define MPI_COMPLEX8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex8) +#endif +#if OMPI_HAVE_FORTRAN_REAL8 +#define MPI_COMPLEX16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex16) +#endif +#if OMPI_HAVE_FORTRAN_REAL16 +#define MPI_COMPLEX32 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex32) +#endif +#define MPI_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblcplex) +#define MPI_2REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2real) +#define MPI_2DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblprec) +#define MPI_2INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2integer) + +/* New datatypes from the MPI 2.2 standard */ +#define MPI_INT8_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int8_t) +#define MPI_UINT8_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint8_t) +#define MPI_INT16_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int16_t) +#define MPI_UINT16_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint16_t) +#define MPI_INT32_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int32_t) +#define MPI_UINT32_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint32_t) +#define MPI_INT64_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int64_t) +#define MPI_UINT64_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint64_t) +#define MPI_AINT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_aint) +#define MPI_OFFSET OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_offset) +#define MPI_C_BOOL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_bool) +#if HAVE_FLOAT__COMPLEX +#define MPI_C_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_float_complex) +#define MPI_C_FLOAT_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_float_complex) +#endif +#if HAVE_DOUBLE__COMPLEX +#define MPI_C_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_double_complex) +#endif +#if HAVE_LONG_DOUBLE__COMPLEX +#define MPI_C_LONG_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_long_double_complex) +#endif +#define MPI_CXX_BOOL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_bool) +#define MPI_CXX_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_cplex) +#define MPI_CXX_FLOAT_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_cplex) +#define MPI_CXX_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_dblcplex) +#define MPI_CXX_LONG_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_ldblcplex) + +/* New datatypes from the 3.0 standard */ +#define MPI_COUNT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_count) + +#define MPI_ERRORS_ARE_FATAL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_are_fatal) +#define MPI_ERRORS_RETURN OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_return) + +/* Typeclass definition for MPI_Type_match_size */ +#define MPI_TYPECLASS_INTEGER 1 +#define MPI_TYPECLASS_REAL 2 +#define MPI_TYPECLASS_COMPLEX 3 + +/* Aint helper macros (MPI-3.1) */ +#define MPI_Aint_add(base, disp) ((MPI_Aint) ((char *) (base) + (disp))) +#define MPI_Aint_diff(addr1, addr2) ((MPI_Aint) ((char *) (addr1) - (char *) (addr2))) +#define PMPI_Aint_add(base, disp) MPI_Aint_add(base, disp) +#define PMPI_Aint_diff(addr1, addr2) MPI_Aint_diff(addr1, addr2) + +/* + * MPI API + */ + +OMPI_DECLSPEC int MPI_Abort(MPI_Comm comm, int errorcode); +OMPI_DECLSPEC int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int MPI_Add_error_class(int *errorclass); +OMPI_DECLSPEC int MPI_Add_error_code(int errorclass, int *errorcode); +OMPI_DECLSPEC int MPI_Add_error_string(int errorcode, const char *string); +OMPI_DECLSPEC int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, + void *baseptr); +OMPI_DECLSPEC int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Barrier(MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Buffer_attach(void *buffer, int size); +OMPI_DECLSPEC int MPI_Buffer_detach(void *buffer, int *size); +OMPI_DECLSPEC int MPI_Cancel(MPI_Request *request); +OMPI_DECLSPEC int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]); +OMPI_DECLSPEC int MPI_Cart_create(MPI_Comm old_comm, int ndims, const int dims[], + const int periods[], int reorder, MPI_Comm *comm_cart); +OMPI_DECLSPEC int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], + int periods[], int coords[]); +OMPI_DECLSPEC int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], + const int periods[], int *newrank); +OMPI_DECLSPEC int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank); +OMPI_DECLSPEC int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, + int *rank_source, int *rank_dest); +OMPI_DECLSPEC int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *new_comm); +OMPI_DECLSPEC int MPI_Cartdim_get(MPI_Comm comm, int *ndims); +OMPI_DECLSPEC int MPI_Close_port(const char *port_name); +OMPI_DECLSPEC int MPI_Comm_accept(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Fint MPI_Comm_c2f(MPI_Comm comm); +OMPI_DECLSPEC int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); +OMPI_DECLSPEC int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); +OMPI_DECLSPEC int MPI_Comm_connect(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, + int *comm_keyval, void *extra_state); +OMPI_DECLSPEC int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); +OMPI_DECLSPEC int MPI_Comm_disconnect(MPI_Comm *comm); +OMPI_DECLSPEC int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Comm MPI_Comm_f2c(MPI_Fint comm); +OMPI_DECLSPEC int MPI_Comm_free_keyval(int *comm_keyval); +OMPI_DECLSPEC int MPI_Comm_free(MPI_Comm *comm); +OMPI_DECLSPEC int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[], + const int degrees[], const int targets[], + const int weights[], MPI_Info info, + int reorder, MPI_Comm * newcomm); +OMPI_DECLSPEC int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old, + int indegree, const int sources[], + const int sourceweights[], + int outdegree, + const int destinations[], + const int destweights[], + MPI_Info info, int reorder, + MPI_Comm *comm_dist_graph); +OMPI_DECLSPEC int MPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, + int sources[], int sourceweights[], + int maxoutdegree, + int destinations[], + int destweights[]); +OMPI_DECLSPEC int MPI_Dist_graph_neighbors_count(MPI_Comm comm, + int *inneighbors, + int *outneighbors, + int *weighted); +OMPI_DECLSPEC int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler); +OMPI_DECLSPEC int MPI_Comm_get_info(MPI_Comm comm, MPI_Info *info_used); +OMPI_DECLSPEC int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); +OMPI_DECLSPEC int MPI_Comm_get_parent(MPI_Comm *parent); +OMPI_DECLSPEC int MPI_Comm_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int MPI_Comm_join(int fd, MPI_Comm *intercomm); +OMPI_DECLSPEC int MPI_Comm_rank(MPI_Comm comm, int *rank); +OMPI_DECLSPEC int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int MPI_Comm_remote_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); +OMPI_DECLSPEC int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); +OMPI_DECLSPEC int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info); +OMPI_DECLSPEC int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name); +OMPI_DECLSPEC int MPI_Comm_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC int MPI_Comm_test_inter(MPI_Comm comm, int *flag); +OMPI_DECLSPEC int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win); +OMPI_DECLSPEC int MPI_Dims_create(int nnodes, int ndims, int dims[]); +OMPI_DECLSPEC MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler); +OMPI_DECLSPEC MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler); +OMPI_DECLSPEC int MPI_Errhandler_free(MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Error_class(int errorcode, int *errorclass); +OMPI_DECLSPEC int MPI_Error_string(int errorcode, char *string, int *resultlen); +OMPI_DECLSPEC int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, + int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_File_c2f(MPI_File file); +OMPI_DECLSPEC MPI_File MPI_File_f2c(MPI_Fint file); +OMPI_DECLSPEC int MPI_File_call_errhandler(MPI_File fh, int errorcode); +OMPI_DECLSPEC int MPI_File_create_errhandler(MPI_File_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler); +OMPI_DECLSPEC int MPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_File_open(MPI_Comm comm, const char *filename, int amode, + MPI_Info info, MPI_File *fh); +OMPI_DECLSPEC int MPI_File_close(MPI_File *fh); +OMPI_DECLSPEC int MPI_File_delete(const char *filename, MPI_Info info); +OMPI_DECLSPEC int MPI_File_set_size(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int MPI_File_preallocate(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int MPI_File_get_size(MPI_File fh, MPI_Offset *size); +OMPI_DECLSPEC int MPI_File_get_group(MPI_File fh, MPI_Group *group); +OMPI_DECLSPEC int MPI_File_get_amode(MPI_File fh, int *amode); +OMPI_DECLSPEC int MPI_File_set_info(MPI_File fh, MPI_Info info); +OMPI_DECLSPEC int MPI_File_get_info(MPI_File fh, MPI_Info *info_used); +OMPI_DECLSPEC int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, + MPI_Datatype filetype, const char *datarep, MPI_Info info); +OMPI_DECLSPEC int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, + MPI_Datatype *etype, + MPI_Datatype *filetype, char *datarep); +OMPI_DECLSPEC int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_read(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_iread(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iread_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int MPI_File_get_position(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, + MPI_Offset *disp); +OMPI_DECLSPEC int MPI_File_read_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_iread_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int MPI_File_read_ordered(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_ordered(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, + MPI_Aint *extent); +OMPI_DECLSPEC int MPI_File_set_atomicity(MPI_File fh, int flag); +OMPI_DECLSPEC int MPI_File_get_atomicity(MPI_File fh, int *flag); +OMPI_DECLSPEC int MPI_File_sync(MPI_File fh); +OMPI_DECLSPEC int MPI_Finalize(void); +OMPI_DECLSPEC int MPI_Finalized(int *flag); +OMPI_DECLSPEC int MPI_Free_mem(void *base); +OMPI_DECLSPEC int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Get_address(const void *location, MPI_Aint *address); +OMPI_DECLSPEC int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count); +OMPI_DECLSPEC int MPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count); +OMPI_DECLSPEC int MPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count); +OMPI_DECLSPEC int MPI_Get(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, + MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int MPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int MPI_Get_library_version(char *version, int *resultlen); +OMPI_DECLSPEC int MPI_Get_processor_name(char *name, int *resultlen); +OMPI_DECLSPEC int MPI_Get_version(int *version, int *subversion); +OMPI_DECLSPEC int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int index[], + const int edges[], int reorder, MPI_Comm *comm_graph); +OMPI_DECLSPEC int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, + int index[], int edges[]); +OMPI_DECLSPEC int MPI_Graph_map(MPI_Comm comm, int nnodes, const int index[], const int edges[], + int *newrank); +OMPI_DECLSPEC int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); +OMPI_DECLSPEC int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, + int neighbors[]); +OMPI_DECLSPEC int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); +OMPI_DECLSPEC int MPI_Grequest_complete(MPI_Request request); +OMPI_DECLSPEC int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + void *extra_state, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_Group_c2f(MPI_Group group); +OMPI_DECLSPEC int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); +OMPI_DECLSPEC int MPI_Group_difference(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_excl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC MPI_Group MPI_Group_f2c(MPI_Fint group); +OMPI_DECLSPEC int MPI_Group_free(MPI_Group *group); +OMPI_DECLSPEC int MPI_Group_incl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Group_rank(MPI_Group group, int *rank); +OMPI_DECLSPEC int MPI_Group_size(MPI_Group group, int *size); +OMPI_DECLSPEC int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], + MPI_Group group2, int ranks2[]); +OMPI_DECLSPEC int MPI_Group_union(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Improbe(int source, int tag, MPI_Comm comm, + int *flag, MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Imrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_Info_c2f(MPI_Info info); +OMPI_DECLSPEC int MPI_Info_create(MPI_Info *info); +OMPI_DECLSPEC int MPI_Info_delete(MPI_Info info, const char *key); +OMPI_DECLSPEC int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo); +OMPI_DECLSPEC MPI_Info MPI_Info_f2c(MPI_Fint info); +OMPI_DECLSPEC int MPI_Info_free(MPI_Info *info); +OMPI_DECLSPEC int MPI_Info_get(MPI_Info info, const char *key, int valuelen, + char *value, int *flag); +OMPI_DECLSPEC int MPI_Info_get_nkeys(MPI_Info info, int *nkeys); +OMPI_DECLSPEC int MPI_Info_get_nthkey(MPI_Info info, int n, char *key); +OMPI_DECLSPEC int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, + int *flag); +OMPI_DECLSPEC int MPI_Info_set(MPI_Info info, const char *key, const char *value); +OMPI_DECLSPEC int MPI_Init(int *argc, char ***argv); +OMPI_DECLSPEC int MPI_Initialized(int *flag); +OMPI_DECLSPEC int MPI_Init_thread(int *argc, char ***argv, int required, + int *provided); +OMPI_DECLSPEC int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, + MPI_Comm bridge_comm, int remote_leader, + int tag, MPI_Comm *newintercomm); +OMPI_DECLSPEC int MPI_Intercomm_merge(MPI_Comm intercomm, int high, + MPI_Comm *newintercomm); +OMPI_DECLSPEC int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Is_thread_main(int *flag); +OMPI_DECLSPEC int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Fint MPI_Message_c2f(MPI_Message message); +OMPI_DECLSPEC MPI_Message MPI_Message_f2c(MPI_Fint message); +OMPI_DECLSPEC int MPI_Mprobe(int source, int tag, MPI_Comm comm, + MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Mrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Status *status); +OMPI_DECLSPEC int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint MPI_Op_c2f(MPI_Op op); +OMPI_DECLSPEC int MPI_Op_commutative(MPI_Op op, int *commute); +OMPI_DECLSPEC int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op); +OMPI_DECLSPEC int MPI_Open_port(MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Op MPI_Op_f2c(MPI_Fint op); +OMPI_DECLSPEC int MPI_Op_free(MPI_Op *op); +OMPI_DECLSPEC int MPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, + MPI_Aint outsize, MPI_Aint *position); +OMPI_DECLSPEC int MPI_Pack_external_size(const char datarep[], int incount, + MPI_Datatype datatype, MPI_Aint *size); +OMPI_DECLSPEC int MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, + void *outbuf, int outsize, int *position, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, + int *size); +OMPI_DECLSPEC int MPI_Pcontrol(const int level, ...); +OMPI_DECLSPEC int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int MPI_Publish_name(const char *service_name, MPI_Info info, + const char *port_name); +OMPI_DECLSPEC int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int MPI_Query_thread(int *provided); +OMPI_DECLSPEC int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, + MPI_Datatype datatype, MPI_Op op); +OMPI_DECLSPEC int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Register_datarep(const char *datarep, + MPI_Datarep_conversion_function *read_conversion_fn, + MPI_Datarep_conversion_function *write_conversion_fn, + MPI_Datarep_extent_function *dtype_file_extent_fn, + void *extra_state); +OMPI_DECLSPEC MPI_Fint MPI_Request_c2f(MPI_Request request); +OMPI_DECLSPEC MPI_Request MPI_Request_f2c(MPI_Fint request); +OMPI_DECLSPEC int MPI_Request_free(MPI_Request *request); +OMPI_DECLSPEC int MPI_Request_get_status(MPI_Request request, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_cout, + MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int MPI_Rsend(const void *ibuf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Scan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Scatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + int dest, int sendtag, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype, + int dest, int sendtag, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int MPI_Start(MPI_Request *request); +OMPI_DECLSPEC int MPI_Startall(int count, MPI_Request array_of_requests[]); +OMPI_DECLSPEC int MPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status); +OMPI_DECLSPEC int MPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status); +OMPI_DECLSPEC int MPI_Status_set_cancelled(MPI_Status *status, int flag); +OMPI_DECLSPEC int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, + int count); +OMPI_DECLSPEC int MPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, + MPI_Count count); +OMPI_DECLSPEC int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int MPI_Testany(int count, MPI_Request array_of_requests[], int *index, + int *flag, MPI_Status *status); +OMPI_DECLSPEC int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status); +OMPI_DECLSPEC int MPI_Test_cancelled(const MPI_Status *status, int *flag); +OMPI_DECLSPEC int MPI_Testsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int MPI_Topo_test(MPI_Comm comm, int *status); +OMPI_DECLSPEC MPI_Fint MPI_Type_c2f(MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_Type_commit(MPI_Datatype *type); +OMPI_DECLSPEC int MPI_Type_contiguous(int count, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_darray(int size, int rank, int ndims, + const int gsize_array[], const int distrib_array[], + const int darg_array[], const int psize_array[], + int order, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state); +OMPI_DECLSPEC int MPI_Type_create_indexed_block(int count, int blocklength, + const int array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_struct(int count, const int array_of_block_lengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], + MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_subarray(int ndims, const int size_array[], const int subsize_array[], + const int start_array[], int order, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, + MPI_Aint extent, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval); +OMPI_DECLSPEC int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_free(MPI_Datatype *type); +OMPI_DECLSPEC int MPI_Type_free_keyval(int *type_keyval); +OMPI_DECLSPEC MPI_Datatype MPI_Type_f2c(MPI_Fint datatype); +OMPI_DECLSPEC int MPI_Type_get_attr(MPI_Datatype type, int type_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int MPI_Type_get_contents(MPI_Datatype mtype, int max_integers, + int max_addresses, int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], + MPI_Datatype array_of_datatypes[]); +OMPI_DECLSPEC int MPI_Type_get_envelope(MPI_Datatype type, int *num_integers, + int *num_addresses, int *num_datatypes, + int *combiner); +OMPI_DECLSPEC int MPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb, + MPI_Aint *extent); +OMPI_DECLSPEC int MPI_Type_get_extent_x(MPI_Datatype type, MPI_Count *lb, + MPI_Count *extent); +OMPI_DECLSPEC int MPI_Type_get_name(MPI_Datatype type, char *type_name, + int *resultlen); +OMPI_DECLSPEC int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, + MPI_Aint *true_extent); +OMPI_DECLSPEC int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb, + MPI_Count *true_extent); +OMPI_DECLSPEC int MPI_Type_indexed(int count, const int array_of_blocklengths[], + const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); +OMPI_DECLSPEC int MPI_Type_set_attr(MPI_Datatype type, int type_keyval, + void *attr_val); +OMPI_DECLSPEC int MPI_Type_set_name(MPI_Datatype type, const char *type_name); +OMPI_DECLSPEC int MPI_Type_size(MPI_Datatype type, int *size); +OMPI_DECLSPEC int MPI_Type_size_x(MPI_Datatype type, MPI_Count *size); +OMPI_DECLSPEC int MPI_Type_vector(int count, int blocklength, int stride, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int MPI_Unpack(const void *inbuf, int insize, int *position, + void *outbuf, int outcount, MPI_Datatype datatype, + MPI_Comm comm); +OMPI_DECLSPEC int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name); +OMPI_DECLSPEC int MPI_Unpack_external (const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, + MPI_Datatype datatype); +OMPI_DECLSPEC int MPI_Waitall(int count, MPI_Request array_of_requests[], + MPI_Status *array_of_statuses); +OMPI_DECLSPEC int MPI_Waitany(int count, MPI_Request array_of_requests[], + int *index, MPI_Status *status); +OMPI_DECLSPEC int MPI_Wait(MPI_Request *request, MPI_Status *status); +OMPI_DECLSPEC int MPI_Waitsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size); +OMPI_DECLSPEC MPI_Fint MPI_Win_c2f(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_call_errhandler(MPI_Win win, int errorcode); +OMPI_DECLSPEC int MPI_Win_complete(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, + MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_create_errhandler(MPI_Win_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, + int *win_keyval, void *extra_state); +OMPI_DECLSPEC int MPI_Win_delete_attr(MPI_Win win, int win_keyval); +OMPI_DECLSPEC int MPI_Win_detach(MPI_Win win, const void *base); +OMPI_DECLSPEC MPI_Win MPI_Win_f2c(MPI_Fint win); +OMPI_DECLSPEC int MPI_Win_fence(int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush(int rank, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush_all(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush_local(int rank, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_flush_local_all(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_free(MPI_Win *win); +OMPI_DECLSPEC int MPI_Win_free_keyval(int *win_keyval); +OMPI_DECLSPEC int MPI_Win_get_attr(MPI_Win win, int win_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int MPI_Win_get_group(MPI_Win win, MPI_Group *group); +OMPI_DECLSPEC int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used); +OMPI_DECLSPEC int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); +OMPI_DECLSPEC int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_lock_all(int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_post(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); +OMPI_DECLSPEC int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); +OMPI_DECLSPEC int MPI_Win_set_info(MPI_Win win, MPI_Info info); +OMPI_DECLSPEC int MPI_Win_set_name(MPI_Win win, const char *win_name); +OMPI_DECLSPEC int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr); +OMPI_DECLSPEC int MPI_Win_start(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_sync(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_test(MPI_Win win, int *flag); +OMPI_DECLSPEC int MPI_Win_unlock(int rank, MPI_Win win); +OMPI_DECLSPEC int MPI_Win_unlock_all(MPI_Win win); +OMPI_DECLSPEC int MPI_Win_wait(MPI_Win win); +OMPI_DECLSPEC double MPI_Wtick(void); +OMPI_DECLSPEC double MPI_Wtime(void); + + /* + * Profiling MPI API + */ +OMPI_DECLSPEC int PMPI_Abort(MPI_Comm comm, int errorcode); +OMPI_DECLSPEC int PMPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int PMPI_Add_error_class(int *errorclass); +OMPI_DECLSPEC int PMPI_Add_error_code(int errorclass, int *errorcode); +OMPI_DECLSPEC int PMPI_Add_error_string(int errorcode, const char *string); +OMPI_DECLSPEC int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], + const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info, + void *baseptr); +OMPI_DECLSPEC int PMPI_Allreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], + MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], + const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[], + const int degrees[], const int targets[], + const int weights[], MPI_Info info, + int reorder, MPI_Comm * newcomm); +OMPI_DECLSPEC int PMPI_Dist_graph_create_adjacent(MPI_Comm comm_old, + int indegree, const int sources[], + const int sourceweights[], + int outdegree, + const int destinations[], + const int destweights[], + MPI_Info info, int reorder, + MPI_Comm *comm_dist_graph); +OMPI_DECLSPEC int PMPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree, + int sources[], int sourceweights[], + int maxoutdegree, + int destinations[], + int destweights[]); +OMPI_DECLSPEC int PMPI_Dist_graph_neighbors_count(MPI_Comm comm, + int *inneighbors, + int *outneighbors, + int *weighted); +OMPI_DECLSPEC int PMPI_Barrier(MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, + int root, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Bsend(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Buffer_attach(void *buffer, int size); +OMPI_DECLSPEC int PMPI_Buffer_detach(void *buffer, int *size); +OMPI_DECLSPEC int PMPI_Cancel(MPI_Request *request); +OMPI_DECLSPEC int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]); +OMPI_DECLSPEC int PMPI_Cart_create(MPI_Comm old_comm, int ndims, const int dims[], + const int periods[], int reorder, MPI_Comm *comm_cart); +OMPI_DECLSPEC int PMPI_Cart_get(MPI_Comm comm, int maxdims, int dims[], + int periods[], int coords[]); +OMPI_DECLSPEC int PMPI_Cart_map(MPI_Comm comm, int ndims, const int dims[], + const int periods[], int *newrank); +OMPI_DECLSPEC int PMPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank); +OMPI_DECLSPEC int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp, + int *rank_source, int *rank_dest); +OMPI_DECLSPEC int PMPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *new_comm); +OMPI_DECLSPEC int PMPI_Cartdim_get(MPI_Comm comm, int *ndims); +OMPI_DECLSPEC int PMPI_Close_port(const char *port_name); +OMPI_DECLSPEC int PMPI_Comm_accept(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Fint PMPI_Comm_c2f(MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); +OMPI_DECLSPEC int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); +OMPI_DECLSPEC int PMPI_Comm_connect(const char *port_name, MPI_Info info, int root, + MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, + MPI_Comm_delete_attr_function *comm_delete_attr_fn, + int *comm_keyval, void *extra_state); +OMPI_DECLSPEC int PMPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); +OMPI_DECLSPEC int PMPI_Comm_disconnect(MPI_Comm *comm); +OMPI_DECLSPEC int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC MPI_Comm PMPI_Comm_f2c(MPI_Fint comm); +OMPI_DECLSPEC int PMPI_Comm_free_keyval(int *comm_keyval); +OMPI_DECLSPEC int PMPI_Comm_free(MPI_Comm *comm); +OMPI_DECLSPEC int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler); +OMPI_DECLSPEC int PMPI_Comm_get_info(MPI_Comm comm, MPI_Info *info_used); +OMPI_DECLSPEC int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); +OMPI_DECLSPEC int PMPI_Comm_get_parent(MPI_Comm *parent); +OMPI_DECLSPEC int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int PMPI_Comm_join(int fd, MPI_Comm *intercomm); +OMPI_DECLSPEC int PMPI_Comm_rank(MPI_Comm comm, int *rank); +OMPI_DECLSPEC int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); +OMPI_DECLSPEC int PMPI_Comm_remote_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); +OMPI_DECLSPEC int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); +OMPI_DECLSPEC int PMPI_Comm_set_info(MPI_Comm comm, MPI_Info info); +OMPI_DECLSPEC int PMPI_Comm_set_name(MPI_Comm comm, const char *comm_name); +OMPI_DECLSPEC int PMPI_Comm_size(MPI_Comm comm, int *size); +OMPI_DECLSPEC int PMPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info, + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int PMPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[], + const int array_of_maxprocs[], const MPI_Info array_of_info[], + int root, MPI_Comm comm, MPI_Comm *intercomm, + int array_of_errcodes[]); +OMPI_DECLSPEC int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm); +OMPI_DECLSPEC int PMPI_Comm_test_inter(MPI_Comm comm, int *flag); +OMPI_DECLSPEC int PMPI_Compare_and_swap(const void *origin_addr, const void *compare_addr, + void *result_addr, MPI_Datatype datatype, int target_rank, + MPI_Aint target_disp, MPI_Win win); +OMPI_DECLSPEC int PMPI_Dims_create(int nnodes, int ndims, int dims[]); +OMPI_DECLSPEC MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhandler); +OMPI_DECLSPEC MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_free(MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Error_class(int errorcode, int *errorclass); +OMPI_DECLSPEC int PMPI_Error_string(int errorcode, char *string, int *resultlen); +OMPI_DECLSPEC int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype, + int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int PMPI_Iexscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_File_c2f(MPI_File file); +OMPI_DECLSPEC MPI_File PMPI_File_f2c(MPI_Fint file); +OMPI_DECLSPEC int PMPI_File_call_errhandler(MPI_File fh, int errorcode); +OMPI_DECLSPEC int PMPI_File_create_errhandler(MPI_File_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler); +OMPI_DECLSPEC int PMPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_File_open(MPI_Comm comm, const char *filename, int amode, + MPI_Info info, MPI_File *fh); +OMPI_DECLSPEC int PMPI_File_close(MPI_File *fh); +OMPI_DECLSPEC int PMPI_File_delete(const char *filename, MPI_Info info); +OMPI_DECLSPEC int PMPI_File_set_size(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int PMPI_File_preallocate(MPI_File fh, MPI_Offset size); +OMPI_DECLSPEC int PMPI_File_get_size(MPI_File fh, MPI_Offset *size); +OMPI_DECLSPEC int PMPI_File_get_group(MPI_File fh, MPI_Group *group); +OMPI_DECLSPEC int PMPI_File_get_amode(MPI_File fh, int *amode); +OMPI_DECLSPEC int PMPI_File_set_info(MPI_File fh, MPI_Info info); +OMPI_DECLSPEC int PMPI_File_get_info(MPI_File fh, MPI_Info *info_used); +OMPI_DECLSPEC int PMPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, + MPI_Datatype filetype, const char *datarep, MPI_Info info); +OMPI_DECLSPEC int PMPI_File_get_view(MPI_File fh, MPI_Offset *disp, + MPI_Datatype *etype, + MPI_Datatype *filetype, char *datarep); +OMPI_DECLSPEC int PMPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_read(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_iread(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iread_all(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_all(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_seek(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int PMPI_File_get_position(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int PMPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, + MPI_Offset *disp); +OMPI_DECLSPEC int PMPI_File_read_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_iread_shared(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Request *request); +OMPI_DECLSPEC int PMPI_File_read_ordered(MPI_File fh, void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_ordered(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence); +OMPI_DECLSPEC int PMPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset); +OMPI_DECLSPEC int PMPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, + int count, MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_all_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_all_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status); +OMPI_DECLSPEC int PMPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, + MPI_Aint *extent); +OMPI_DECLSPEC int PMPI_File_set_atomicity(MPI_File fh, int flag); +OMPI_DECLSPEC int PMPI_File_get_atomicity(MPI_File fh, int *flag); +OMPI_DECLSPEC int PMPI_File_sync(MPI_File fh); +OMPI_DECLSPEC int PMPI_Finalize(void); +OMPI_DECLSPEC int PMPI_Finalized(int *flag); +OMPI_DECLSPEC int PMPI_Free_mem(void *base); +OMPI_DECLSPEC int PMPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Get_address(const void *location, MPI_Aint *address); +OMPI_DECLSPEC int PMPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count); +OMPI_DECLSPEC int PMPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, + int *count); +OMPI_DECLSPEC int PMPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, + MPI_Count *count); +OMPI_DECLSPEC int PMPI_Get(void *origin_addr, int origin_count, + MPI_Datatype origin_datatype, int target_rank, + MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int PMPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); +OMPI_DECLSPEC int PMPI_Get_library_version(char *version, int *resultlen); +OMPI_DECLSPEC int PMPI_Get_processor_name(char *name, int *resultlen); +OMPI_DECLSPEC int PMPI_Get_version(int *version, int *subversion); +OMPI_DECLSPEC int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, const int index[], + const int edges[], int reorder, MPI_Comm *comm_graph); +OMPI_DECLSPEC int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, + int index[], int edges[]); +OMPI_DECLSPEC int PMPI_Graph_map(MPI_Comm comm, int nnodes, const int index[], const int edges[], + int *newrank); +OMPI_DECLSPEC int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); +OMPI_DECLSPEC int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, + int neighbors[]); +OMPI_DECLSPEC int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); +OMPI_DECLSPEC int PMPI_Grequest_complete(MPI_Request request); +OMPI_DECLSPEC int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn, + MPI_Grequest_free_function *free_fn, + MPI_Grequest_cancel_function *cancel_fn, + void *extra_state, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_Group_c2f(MPI_Group group); +OMPI_DECLSPEC int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); +OMPI_DECLSPEC int PMPI_Group_difference(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_excl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC MPI_Group PMPI_Group_f2c(MPI_Fint group); +OMPI_DECLSPEC int PMPI_Group_free(MPI_Group *group); +OMPI_DECLSPEC int PMPI_Group_incl(MPI_Group group, int n, const int ranks[], + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Group_rank(MPI_Group group, int *rank); +OMPI_DECLSPEC int PMPI_Group_size(MPI_Group group, int *size); +OMPI_DECLSPEC int PMPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[], + MPI_Group group2, int ranks2[]); +OMPI_DECLSPEC int PMPI_Group_union(MPI_Group group1, MPI_Group group2, + MPI_Group *newgroup); +OMPI_DECLSPEC int PMPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Improbe(int source, int tag, MPI_Comm comm, + int *flag, MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Imrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_Info_c2f(MPI_Info info); +OMPI_DECLSPEC int PMPI_Info_create(MPI_Info *info); +OMPI_DECLSPEC int PMPI_Info_delete(MPI_Info info, const char *key); +OMPI_DECLSPEC int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo); +OMPI_DECLSPEC MPI_Info PMPI_Info_f2c(MPI_Fint info); +OMPI_DECLSPEC int PMPI_Info_free(MPI_Info *info); +OMPI_DECLSPEC int PMPI_Info_get(MPI_Info info, const char *key, int valuelen, + char *value, int *flag); +OMPI_DECLSPEC int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys); +OMPI_DECLSPEC int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key); +OMPI_DECLSPEC int PMPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, + int *flag); +OMPI_DECLSPEC int PMPI_Info_set(MPI_Info info, const char *key, const char *value); +OMPI_DECLSPEC int PMPI_Init(int *argc, char ***argv); +OMPI_DECLSPEC int PMPI_Initialized(int *flag); +OMPI_DECLSPEC int PMPI_Init_thread(int *argc, char ***argv, int required, + int *provided); +OMPI_DECLSPEC int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader, + MPI_Comm bridge_comm, int remote_leader, + int tag, MPI_Comm *newintercomm); +OMPI_DECLSPEC int PMPI_Intercomm_merge(MPI_Comm intercomm, int high, + MPI_Comm *newintercomm); +OMPI_DECLSPEC int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Is_thread_main(int *flag); +OMPI_DECLSPEC int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Fint PMPI_Message_c2f(MPI_Message message); +OMPI_DECLSPEC MPI_Message PMPI_Message_f2c(MPI_Fint message); +OMPI_DECLSPEC int PMPI_Mprobe(int source, int tag, MPI_Comm comm, + MPI_Message *message, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Mrecv(void *buf, int count, MPI_Datatype type, + MPI_Message *message, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int displs[], + MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, + void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], + void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], + MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC MPI_Fint PMPI_Op_c2f(MPI_Op op); +OMPI_DECLSPEC int PMPI_Op_commutative(MPI_Op op, int *commute); +OMPI_DECLSPEC int PMPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op); +OMPI_DECLSPEC int PMPI_Open_port(MPI_Info info, char *port_name); +OMPI_DECLSPEC MPI_Op PMPI_Op_f2c(MPI_Fint op); +OMPI_DECLSPEC int PMPI_Op_free(MPI_Op *op); +OMPI_DECLSPEC int PMPI_Pack_external(const char datarep[], const void *inbuf, int incount, + MPI_Datatype datatype, void *outbuf, + MPI_Aint outsize, MPI_Aint *position); +OMPI_DECLSPEC int PMPI_Pack_external_size(const char datarep[], int incount, + MPI_Datatype datatype, MPI_Aint *size); +OMPI_DECLSPEC int PMPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype, + void *outbuf, int outsize, int *position, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, + int *size); +OMPI_DECLSPEC int PMPI_Pcontrol(const int level, ...); +OMPI_DECLSPEC int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Publish_name(const char *service_name, MPI_Info info, + const char *port_name); +OMPI_DECLSPEC int PMPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Win win); +OMPI_DECLSPEC int PMPI_Query_thread(int *provided); +OMPI_DECLSPEC int PMPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, + int tag, MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Reduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ireduce(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Reduce_local(const void *inbuf, void *inoutbuf, int count, + MPI_Datatype datatype, MPI_Op); +OMPI_DECLSPEC int PMPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Register_datarep(const char *datarep, + MPI_Datarep_conversion_function *read_conversion_fn, + MPI_Datarep_conversion_function *write_conversion_fn, + MPI_Datarep_extent_function *dtype_file_extent_fn, + void *extra_state); +OMPI_DECLSPEC MPI_Fint PMPI_Request_c2f(MPI_Request request); +OMPI_DECLSPEC MPI_Request PMPI_Request_f2c(MPI_Fint request); +OMPI_DECLSPEC int PMPI_Request_free(MPI_Request *request); +OMPI_DECLSPEC int PMPI_Request_get_status(MPI_Request request, int *flag, + MPI_Status *status); +OMPI_DECLSPEC int PMPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + void *result_addr, int result_count, MPI_Datatype result_datatype, + int target_rank, MPI_Aint target_disp, int target_count, + MPI_Datatype target_datatype, MPI_Op op, + MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype, + int target_rank, MPI_Aint target_disp, int target_cout, + MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Rsend(const void *ibuf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Scan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iscan(const void *sendbuf, void *recvbuf, int count, + MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Scatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], + MPI_Datatype sendtype, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request); +OMPI_DECLSPEC int PMPI_Send_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + int dest, int sendtag, void *recvbuf, int recvcount, + MPI_Datatype recvtype, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype, + int dest, int sendtag, int source, int recvtag, + MPI_Comm comm, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, + int dest, int tag, MPI_Comm comm, + MPI_Request *request); +OMPI_DECLSPEC int PMPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest, + int tag, MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Start(MPI_Request *request); +OMPI_DECLSPEC int PMPI_Startall(int count, MPI_Request array_of_requests[]); +OMPI_DECLSPEC int PMPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status); +OMPI_DECLSPEC int PMPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status); +OMPI_DECLSPEC int PMPI_Status_set_cancelled(MPI_Status *status, int flag); +OMPI_DECLSPEC int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, + int count); +OMPI_DECLSPEC int PMPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, + MPI_Count count); +OMPI_DECLSPEC int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag, + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Testany(int count, MPI_Request array_of_requests[], int *index, int *flag, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Test_cancelled(const MPI_Status *status, int *flag); +OMPI_DECLSPEC int PMPI_Testsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Topo_test(MPI_Comm comm, int *status); +OMPI_DECLSPEC MPI_Fint PMPI_Type_c2f(MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_Type_commit(MPI_Datatype *type); +OMPI_DECLSPEC int PMPI_Type_contiguous(int count, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_darray(int size, int rank, int ndims, + const int gsize_array[], const int distrib_array[], + const int darg_array[], const int psize_array[], + int order, MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_hindexed(int count, const int array_of_blocklengths[], + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, + MPI_Type_delete_attr_function *type_delete_attr_fn, + int *type_keyval, void *extra_state); +OMPI_DECLSPEC int PMPI_Type_create_hindexed_block(int count, int blocklength, + const MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_indexed_block(int count, int blocklength, + const int array_of_displacements[], + MPI_Datatype oldtype, + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_struct(int count, const int array_of_block_lengths[], + const MPI_Aint array_of_displacements[], + const MPI_Datatype array_of_types[], + MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_subarray(int ndims, const int size_array[], const int subsize_array[], + const int start_array[], int order, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, + MPI_Aint extent, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_delete_attr(MPI_Datatype type, int type_keyval); +OMPI_DECLSPEC int PMPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_free(MPI_Datatype *type); +OMPI_DECLSPEC int PMPI_Type_free_keyval(int *type_keyval); +OMPI_DECLSPEC MPI_Datatype PMPI_Type_f2c(MPI_Fint datatype); +OMPI_DECLSPEC int PMPI_Type_get_attr(MPI_Datatype type, int type_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int PMPI_Type_get_contents(MPI_Datatype mtype, int max_integers, + int max_addresses, int max_datatypes, + int array_of_integers[], + MPI_Aint array_of_addresses[], + MPI_Datatype array_of_datatypes[]); +OMPI_DECLSPEC int PMPI_Type_get_envelope(MPI_Datatype type, int *num_integers, + int *num_addresses, int *num_datatypes, + int *combiner); +OMPI_DECLSPEC int PMPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb, + MPI_Aint *extent); +OMPI_DECLSPEC int PMPI_Type_get_extent_x(MPI_Datatype type, MPI_Count *lb, + MPI_Count *extent); +OMPI_DECLSPEC int PMPI_Type_get_name(MPI_Datatype type, char *type_name, + int *resultlen); +OMPI_DECLSPEC int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, + MPI_Aint *true_extent); +OMPI_DECLSPEC int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb, + MPI_Count *true_extent); +OMPI_DECLSPEC int PMPI_Type_indexed(int count, const int array_of_blocklengths[], + const int array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); +OMPI_DECLSPEC int PMPI_Type_set_attr(MPI_Datatype type, int type_keyval, + void *attr_val); +OMPI_DECLSPEC int PMPI_Type_set_name(MPI_Datatype type, const char *type_name); +OMPI_DECLSPEC int PMPI_Type_size(MPI_Datatype type, int *size); +OMPI_DECLSPEC int PMPI_Type_size_x(MPI_Datatype type, MPI_Count *size); +OMPI_DECLSPEC int PMPI_Type_vector(int count, int blocklength, int stride, + MPI_Datatype oldtype, MPI_Datatype *newtype); +OMPI_DECLSPEC int PMPI_Unpack(const void *inbuf, int insize, int *position, + void *outbuf, int outcount, MPI_Datatype datatype, + MPI_Comm comm); +OMPI_DECLSPEC int PMPI_Unpublish_name(const char *service_name, MPI_Info info, + const char *port_name); +OMPI_DECLSPEC int PMPI_Unpack_external (const char datarep[], const void *inbuf, MPI_Aint insize, + MPI_Aint *position, void *outbuf, int outcount, + MPI_Datatype datatype); +OMPI_DECLSPEC int PMPI_Waitall(int count, MPI_Request array_of_requests[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Waitany(int count, MPI_Request array_of_requests[], + int *index, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Wait(MPI_Request *request, MPI_Status *status); +OMPI_DECLSPEC int PMPI_Waitsome(int incount, MPI_Request array_of_requests[], + int *outcount, int array_of_indices[], + MPI_Status array_of_statuses[]); +OMPI_DECLSPEC int PMPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info, + MPI_Comm comm, void *baseptr, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_attach(MPI_Win win, void *base, MPI_Aint size); +OMPI_DECLSPEC MPI_Fint PMPI_Win_c2f(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_call_errhandler(MPI_Win win, int errorcode); +OMPI_DECLSPEC int PMPI_Win_complete(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit, + MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_create_errhandler(MPI_Win_errhandler_function *function, + MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, + MPI_Win_delete_attr_function *win_delete_attr_fn, + int *win_keyval, void *extra_state); +OMPI_DECLSPEC int PMPI_Win_delete_attr(MPI_Win win, int win_keyval); +OMPI_DECLSPEC int PMPI_Win_detach(MPI_Win win, const void *base); +OMPI_DECLSPEC MPI_Win PMPI_Win_f2c(MPI_Fint win); +OMPI_DECLSPEC int PMPI_Win_fence(int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush(int rank, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush_all(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush_local(int rank, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_flush_local_all(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_free(MPI_Win *win); +OMPI_DECLSPEC int PMPI_Win_free_keyval(int *win_keyval); +OMPI_DECLSPEC int PMPI_Win_get_attr(MPI_Win win, int win_keyval, + void *attribute_val, int *flag); +OMPI_DECLSPEC int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); +OMPI_DECLSPEC int PMPI_Win_get_group(MPI_Win win, MPI_Group *group); +OMPI_DECLSPEC int PMPI_Win_get_info(MPI_Win win, MPI_Info *info_used); +OMPI_DECLSPEC int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); +OMPI_DECLSPEC int PMPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_lock_all(int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); +OMPI_DECLSPEC int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); +OMPI_DECLSPEC int PMPI_Win_set_info(MPI_Win win, MPI_Info info); +OMPI_DECLSPEC int PMPI_Win_set_name(MPI_Win win, const char *win_name); +OMPI_DECLSPEC int PMPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr); +OMPI_DECLSPEC int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_sync(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_test(MPI_Win win, int *flag); +OMPI_DECLSPEC int PMPI_Win_unlock(int rank, MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_unlock_all(MPI_Win win); +OMPI_DECLSPEC int PMPI_Win_wait(MPI_Win win); +OMPI_DECLSPEC double PMPI_Wtick(void); +OMPI_DECLSPEC double PMPI_Wtime(void); +OMPI_DECLSPEC int PMPI_T_init_thread (int required, int *provided); +OMPI_DECLSPEC int PMPI_T_finalize (void); +OMPI_DECLSPEC int PMPI_T_cvar_get_num (int *num_cvar); +OMPI_DECLSPEC int PMPI_T_cvar_get_info (int cvar_index, char *name, int *name_len, + int *verbosity, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, + int *desc_len, int *bind, int *scope); +OMPI_DECLSPEC int PMPI_T_cvar_get_index (const char *name, int *cvar_index); +OMPI_DECLSPEC int PMPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle, + MPI_T_cvar_handle *handle, int *count); +OMPI_DECLSPEC int PMPI_T_cvar_handle_free (MPI_T_cvar_handle *handle); +OMPI_DECLSPEC int PMPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf); +OMPI_DECLSPEC int PMPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf); +OMPI_DECLSPEC int PMPI_T_category_get_num(int *num_cat); +OMPI_DECLSPEC int PMPI_T_category_get_info(int cat_index, char *name, int *name_len, + char *desc, int *desc_len, int *num_cvars, + int *num_pvars, int *num_categories); +OMPI_DECLSPEC int PMPI_T_category_get_index (const char *name, int *category_index); +OMPI_DECLSPEC int PMPI_T_category_get_cvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int PMPI_T_category_get_pvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int PMPI_T_category_get_categories(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int PMPI_T_category_changed(int *stamp); + +OMPI_DECLSPEC int PMPI_T_pvar_get_num(int *num_pvar); +OMPI_DECLSPEC int PMPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, + int *verbosity, int *var_class, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, int *desc_len, int *bind, + int *readonly, int *continuous, int *atomic); +OMPI_DECLSPEC int PMPI_T_pvar_get_index (const char *name, int var_class, int *pvar_index); +OMPI_DECLSPEC int PMPI_T_pvar_session_create(MPI_T_pvar_session *session); +OMPI_DECLSPEC int PMPI_T_pvar_session_free(MPI_T_pvar_session *session); +OMPI_DECLSPEC int PMPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, + void *obj_handle, MPI_T_pvar_handle *handle, int *count); +OMPI_DECLSPEC int PMPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle); +OMPI_DECLSPEC int PMPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int PMPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int PMPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int PMPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + const void *buf); +OMPI_DECLSPEC int PMPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int PMPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int PMPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len); +OMPI_DECLSPEC int PMPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, + int *name_len); + + /* + * Tool MPI API + */ +OMPI_DECLSPEC int MPI_T_init_thread (int required, int *provided); +OMPI_DECLSPEC int MPI_T_finalize (void); +OMPI_DECLSPEC int MPI_T_cvar_get_num (int *num_cvar); +OMPI_DECLSPEC int MPI_T_cvar_get_info (int cvar_index, char *name, int *name_len, + int *verbosity, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, + int *desc_len, int *bind, int *scope); +OMPI_DECLSPEC int MPI_T_cvar_get_index (const char *name, int *cvar_index); +OMPI_DECLSPEC int MPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle, + MPI_T_cvar_handle *handle, int *count); +OMPI_DECLSPEC int MPI_T_cvar_handle_free (MPI_T_cvar_handle *handle); +OMPI_DECLSPEC int MPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf); +OMPI_DECLSPEC int MPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf); +OMPI_DECLSPEC int MPI_T_category_get_num(int *num_cat); +OMPI_DECLSPEC int MPI_T_category_get_info(int cat_index, char *name, int *name_len, + char *desc, int *desc_len, int *num_cvars, + int *num_pvars, int *num_categories); +OMPI_DECLSPEC int MPI_T_category_get_index (const char *name, int *category_index); +OMPI_DECLSPEC int MPI_T_category_get_cvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int MPI_T_category_get_pvars(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int MPI_T_category_get_categories(int cat_index, int len, int indices[]); +OMPI_DECLSPEC int MPI_T_category_changed(int *stamp); + +OMPI_DECLSPEC int MPI_T_pvar_get_num(int *num_pvar); +OMPI_DECLSPEC int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len, + int *verbosity, int *var_class, MPI_Datatype *datatype, + MPI_T_enum *enumtype, char *desc, int *desc_len, int *bind, + int *readonly, int *continuous, int *atomic); +OMPI_DECLSPEC int MPI_T_pvar_get_index (const char *name, int var_class, int *pvar_index); +OMPI_DECLSPEC int MPI_T_pvar_session_create(MPI_T_pvar_session *session); +OMPI_DECLSPEC int MPI_T_pvar_session_free(MPI_T_pvar_session *session); +OMPI_DECLSPEC int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index, + void *obj_handle, MPI_T_pvar_handle *handle, int *count); +OMPI_DECLSPEC int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle); +OMPI_DECLSPEC int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + const void *buf); +OMPI_DECLSPEC int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle); +OMPI_DECLSPEC int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle, + void *buf); +OMPI_DECLSPEC int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len); +OMPI_DECLSPEC int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name, + int *name_len); +/* + * Deprecated prototypes. Usage is discouraged, as these may be + * deleted in future versions of the MPI Standard. + */ +OMPI_DECLSPEC int MPI_Attr_delete(MPI_Comm comm, int keyval) + __mpi_interface_deprecated__("MPI_Attr_delete was deprecated in MPI-2.0; use MPI_Comm_delete_attr instead"); +OMPI_DECLSPEC int PMPI_Attr_delete(MPI_Comm comm, int keyval) + __mpi_interface_deprecated__("PMPI_Attr_delete was deprecated in MPI-2.0; use PMPI_Comm_delete_attr instead"); +OMPI_DECLSPEC int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) + __mpi_interface_deprecated__("MPI_Attr_get was deprecated in MPI-2.0; use MPI_Comm_get_attr instead"); +OMPI_DECLSPEC int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag) + __mpi_interface_deprecated__("PMPI_Attr_get was deprecated in MPI-2.0; use PMPI_Comm_get_attr instead"); +OMPI_DECLSPEC int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) + __mpi_interface_deprecated__("MPI_Attr_put was deprecated in MPI-2.0; use MPI_Comm_set_attr instead"); +OMPI_DECLSPEC int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val) + __mpi_interface_deprecated__("PMPI_Attr_put was deprecated in MPI-2.0; use PMPI_Comm_set_attr instead"); + +/* + * Even though MPI_Copy_function and MPI_Delete_function are + * deprecated, we do not use the attributes marking them as such, + * because otherwise the compiler will warn for all the functions that + * are declared using them (e.g., MPI_Keyval_create). + */ +typedef int (MPI_Copy_function)(MPI_Comm, int, void *, + void *, void *, int *); +/* MPI_Copy_function was deprecated in MPI-2.0; use MPI_Comm_copy_attr_function instead. */ +typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *); +/* MPI_Delete_function was deprecated in MPI-2.0; use MPI_Comm_delete_attr_function instead. */ +OMPI_DECLSPEC int MPI_Keyval_create(MPI_Copy_function *copy_fn, + MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) + __mpi_interface_deprecated__("MPI_Keyval_create was deprecated in MPI-2.0; use MPI_Comm_create_keyval instead."); +OMPI_DECLSPEC int PMPI_Keyval_create(MPI_Copy_function *copy_fn, + MPI_Delete_function *delete_fn, + int *keyval, void *extra_state) + __mpi_interface_deprecated__("PMPI_Keyval_create was deprecated in MPI-2.0; use PMPI_Comm_create_keyval instead."); +OMPI_DECLSPEC int MPI_Keyval_free(int *keyval) + __mpi_interface_deprecated__("MPI_Keyval_free was deprecated in MPI-2.0; MPI_Comm_free_keyval instead."); +OMPI_DECLSPEC int PMPI_Keyval_free(int *keyval) + __mpi_interface_deprecated__("PMPI_Keyval_free was deprecated in MPI-2.0; PMPI_Comm_free_keyval instead."); + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) +#define MPI_DUP_FN OMPI_C_MPI_DUP_FN +#endif +OMPI_DECLSPEC int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ) + __mpi_interface_deprecated__("MPI_DUP_FN was deprecated in MPI-2.0; use MPI_COMM_DUP_FN instead."); + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) +#define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN +#endif +OMPI_DECLSPEC int OMPI_C_MPI_NULL_COPY_FN( MPI_Comm comm, int comm_keyval, + void* extra_state, + void* attribute_val_in, + void* attribute_val_out, + int* flag ) + __mpi_interface_deprecated__("MPI_NULL_COPY_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_COPY_FN instead."); + +#if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS) +#define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN +#endif +OMPI_DECLSPEC int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval, + void* attribute_val_out, + void* extra_state ) + __mpi_interface_deprecated__("MPI_NULL_DELETE_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_DELETE_FN instead."); + +#if (!OMPI_OMIT_MPI1_COMPAT_DECLS || OMPI_BUILDING) +/* + * Removed typedefs. These typedefs are only available if Open MPI + * was configured with --enable-mpi1-compatibility. + * + * These typedefs were formally removed from the MPI specification + * and should no longer be used in MPI applications. + * + * Even though MPI_Handler_function is removed, we do not use the + * attributes marking it as such, because otherwise the compiler + * will warn for all the functions that are declared using them + * (e.g., MPI_Errhandler_create). + */ +typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...); +/* MPI_Handler_function was removed in MPI-3.0; use MPI_Comm_use_errhandler_function instead. */ + +/* + * Removed prototypes. These prototypes are only available if Open + * MPI was configured with --enable-mpi1-compatibility. + * + * These functions were formally removed from the MPI specification + * and should no longer be used in MPI applications. + */ +OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address) + __mpi_interface_removed__(MPI_Address, MPI_Get_address); +OMPI_DECLSPEC int PMPI_Address(void *location, MPI_Aint *address) + __mpi_interface_removed__(PMPI_Address, PMPI_Get_address); +OMPI_DECLSPEC int MPI_Errhandler_create(MPI_Handler_function *function, + MPI_Errhandler *errhandler) + __mpi_interface_removed__(MPI_Errhandler_create, MPI_Comm_create_errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_create(MPI_Handler_function *function, + MPI_Errhandler *errhandler) + __mpi_interface_removed__(PMPI_Errhandler_create, PMPI_Comm_create_errhandler); +OMPI_DECLSPEC int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) + __mpi_interface_removed__(MPI_Errhandler_get, MPI_Comm_get_errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler) + __mpi_interface_removed__(PMPI_Errhandler_get, PMPI_Comm_get_errhandler); +OMPI_DECLSPEC int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) + __mpi_interface_removed__(MPI_Errhandler_set, MPI_Comm_set_errhandler); +OMPI_DECLSPEC int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler) + __mpi_interface_removed__(PMPI_Errhandler_set, PMPI_Comm_set_errhandler); +OMPI_DECLSPEC int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent) + __mpi_interface_removed__(MPI_Type_extent, MPI_Type_get_extent); +OMPI_DECLSPEC int PMPI_Type_extent(MPI_Datatype type, MPI_Aint *extent) + __mpi_interface_removed__(PMPI_Type_extent, PMPI_Type_get_extent); +OMPI_DECLSPEC int MPI_Type_hindexed(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(MPI_Type_hindexed, MPI_Type_create_hindexed); +OMPI_DECLSPEC int PMPI_Type_hindexed(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(PMPI_Type_hindexed, PMPI_Type_create_hindexed); +OMPI_DECLSPEC int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(MPI_Type_hvector, MPI_Type_create_hvector); +OMPI_DECLSPEC int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride, + MPI_Datatype oldtype, MPI_Datatype *newtype) + __mpi_interface_removed__(PMPI_Type_hvector, PMPI_Type_create_hvector); +OMPI_DECLSPEC int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb) + __mpi_interface_removed__(MPI_Type_lb, MPI_Type_get_extent); +OMPI_DECLSPEC int PMPI_Type_lb(MPI_Datatype type, MPI_Aint *lb) + __mpi_interface_removed__(PMPI_Type_lb, PMPI_Type_get_extent); +OMPI_DECLSPEC int MPI_Type_struct(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype array_of_types[], + MPI_Datatype *newtype) + __mpi_interface_removed__(MPI_Type_struct, MPI_Type_create_struct); +OMPI_DECLSPEC int PMPI_Type_struct(int count, int array_of_blocklengths[], + MPI_Aint array_of_displacements[], + MPI_Datatype array_of_types[], + MPI_Datatype *newtype) + __mpi_interface_removed__(PMPI_Type_struct, PMPI_Type_create_struct); +OMPI_DECLSPEC int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub) + __mpi_interface_removed__(MPI_Type_ub, MPI_Type_get_extent); +OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub) + __mpi_interface_removed__(PMPI_Type_ub, PMPI_Type_get_extent); +#endif /* !OMPI_OMIT_MPI1_COMPAT_DECLS */ + +#if OMPI_REMOVED_USE_STATIC_ASSERT +#define MPI_Address(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Address, MPI_Get_address) +#define MPI_Errhandler_create(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_create, MPI_Comm_create_errhandler) +#define MPI_Errhandler_get(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_get, MPI_Comm_get_errhandler) +#define MPI_Errhandler_set(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Errhandler_set, MPI_Comm_set_errhandler) +#define MPI_Type_extent(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_extent, MPI_Type_get_extent) +#define MPI_Type_hindexed(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_hindexed, MPI_Type_create_hindexed) +#define MPI_Type_hvector(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_hvector, MPI_Type_create_hvector) +#define MPI_Type_lb(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_lb, MPI_Type_get_extent) +#define MPI_Type_struct(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_struct, MPI_Type_create_struct) +#define MPI_Type_ub(...) THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_Type_ub, MPI_Type_get_extent) +#endif + +#if defined(c_plusplus) || defined(__cplusplus) +} +#endif + +/* + * Conditional MPI 2 C++ bindings support. Include if: + * - The user does not explicitly request us to skip it (when a C++ compiler + * is used to compile C code). + * - We want C++ bindings support + * - We are not building OMPI itself + * - We are using a C++ compiler + */ +#if !defined(OMPI_SKIP_MPICXX) && OMPI_BUILD_CXX_BINDINGS && !OMPI_BUILDING +#if defined(c_plusplus) || defined(__cplusplus) +#include "openmpi/ompi/mpi/cxx/mpicxx.h" +#endif +#endif + +#endif /* OMPI_MPI_H */ diff --git a/macx64/mpi/openmpi/include/mpi_portable_platform.h b/macx64/mpi/openmpi/include/mpi_portable_platform.h new file mode 100644 index 00000000..e54db913 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpi_portable_platform.h @@ -0,0 +1,401 @@ +/* + * Header file with preprocessor magic to figure out, which compiler the user has been calling! + * + * This code is adapted from the file other/portable_platform.h of GASnet-1.14.0: + * - Ripping out the required parts. + * - Get rid of brackets as it messes up autoconf + * - Delete version tests for older PGI versions (#include "omp.h" not acceptabe) + * - Indent ('#' should be in column 0) + * + * External packages (i.e., romio) depend on top_build_dir/ompi/include, therefore + * although this is not changed in the configure process, this has to be set as + * a .in file... + * --------------------------------------------------------------------------- + */ +#ifndef OPAL_PORTABLE_PLATFORM_H +#define OPAL_PORTABLE_PLATFORM_H + +/* All files in this directory and all sub-directories (except where otherwise noted) + * are subject to the following licensing terms: + * + * --------------------------------------------------------------------------- + * "Copyright (c) 2000-2003 The Regents of the University of California. + * All rights reserved. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation for any purpose, without fee, and without written agreement is + * hereby granted, provided that the above copyright notice and the following + * two paragraphs appear in all copies of this software. + * + * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR + * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT + * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF + * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO + * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS." + * --------------------------------------------------------------------------- + * + * Please see the license.txt files within the gm-conduit, lapi-conduit and + * vapi-conduit directories for the licensing terms governing those + * contributed components. + * + * The authors/contributors of GASNet include: + * + * Dan Bonachea : + * General infrastructure & documentation + * mpi-conduit + * elan-conduit + * smp-conduit + * udp-conduit + * extended-ref + * template-conduit + * Christian Bell : gm-conduit, shmem-conduit + * Mike Welcome : lapi-conduit, portals-conduit + * Paul H. Hargrove : vapi-conduit, ibv-conduit + * Rajesh Nishtala : collectives, dcmf-conduit + * Parry Husbands (PJRHusbands@lbl.gov): lapi-conduit + * + * For more information about GASNet, visit our home page at: + * http://gasnet.cs.berkeley.edu/ + * Or send email to: + * + * + * Source code contributions (fixes, patches, extensions etc.) should be + * sent to to be reviewed for acceptance into the primary + * distribution. Contributions are most likely to be accepted if they + * are provided as public domain, or under a BSD-style license such as + * the one above. + * + */ +#ifndef _STRINGIFY +#define _STRINGIFY_HELPER(x) #x +#define _STRINGIFY(x) _STRINGIFY_HELPER(x) +#endif + +#if defined(__INTEL_COMPILER) +# define PLATFORM_COMPILER_FAMILYNAME INTEL +# define PLATFORM_COMPILER_FAMILYID 2 +# ifdef __cplusplus +# define PLATFORM_COMPILER_INTEL_CXX 1 +# else +# define PLATFORM_COMPILER_INTEL_C 1 +# endif +# define _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE 19700000 /* year 1970: predates most intel products :) */ +# ifdef __INTEL_COMPILER_BUILD_DATE +# define _PLATFORM_INTEL_COMPILER_BUILD_DATE __INTEL_COMPILER_BUILD_DATE +# else +# define _PLATFORM_INTEL_COMPILER_BUILD_DATE _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE +# endif + /* patch number is a decimal build date: YYYYMMDD */ +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + (((((maj) * 10) | (min)) << 20) | \ + ((pat) < _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE ? \ + _PLATFORM_COMPILER_INTEL_MIN_BUILDDATE : ((pat)-_PLATFORM_COMPILER_INTEL_MIN_BUILDDATE))) +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__INTEL_COMPILER/10, __INTEL_COMPILER/100, _PLATFORM_INTEL_COMPILER_BUILD_DATE) +# define PLATFORM_COMPILER_VERSION_STR \ + _STRINGIFY(__INTEL_COMPILER) "." _STRINGIFY(_PLATFORM_INTEL_COMPILER_BUILD_DATE) + +#elif defined(__PATHSCALE__) +# define PLATFORM_COMPILER_PATHSCALE 1 +# define PLATFORM_COMPILER_FAMILYNAME PATHSCALE +# define PLATFORM_COMPILER_FAMILYID 3 +# ifdef __cplusplus +# define PLATFORM_COMPILER_PATHSCALE_CXX 1 +# else +# define PLATFORM_COMPILER_PATHSCALE_C 1 +# endif +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__PATHCC__,__PATHCC_MINOR__,__PATHCC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION_STR __PATHSCALE__ + +#elif defined(__PGI) +# define PLATFORM_COMPILER_PGI 1 +# define PLATFORM_COMPILER_FAMILYNAME PGI +# define PLATFORM_COMPILER_FAMILYID 4 +# ifdef __cplusplus +# define PLATFORM_COMPILER_PGI_CXX 1 +# else +# define PLATFORM_COMPILER_PGI_C 1 +# endif +# if __PGIC__ == 99 + /* bug 2230: PGI versioning was broken for some platforms in 7.0 + no way to know exact version, but provide something slightly more accurate */ +# define PLATFORM_COMPILER_VERSION 0x070000 +# define PLATFORM_COMPILER_VERSION_STR "7.?-?" +# elif defined(__PGIC__) && defined(__PGIC_MINOR__) && defined(__PGIC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__PGIC__,__PGIC_MINOR__,__PGIC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION_STR \ + _STRINGIFY(__PGIC__) "." _STRINGIFY(__PGIC_MINOR__) "-" _STRINGIFY(__PGIC_PATCHLEVEL__) +# else + /* PGI before 6.1-4 lacks any version ID preprocessor macros - so use this filthy hack */ + /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + * We cannot do these within mpi.h.in, as we should not include ompi.h + * Hopefully, compilers with integrated preprocessors will not analyse code within the #if 0-block + * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + */ +#if 0 +# ifdef PLATFORM_PGI_IS_ANCIENT + /* Include below might fail for ancient versions lacking this header, but testing shows it + works back to at least 5.1-3 (Nov 2003), and based on docs probably back to 3.2 (Sep 2000) */ +# define PLATFORM_COMPILER_VERSION 0 +# elif defined(__x86_64__) /* bug 1753 - 64-bit omp.h upgrade happenned in <6.0-8,6.1-1) */ +# include "omp.h" +# if defined(_PGOMP_H) + /* 6.1.1 or newer */ +# define PLATFORM_COMPILER_VERSION 0x060101 +# define PLATFORM_COMPILER_VERSION_STR ">=6.1-1" +# else + /* 6.0.8 or older */ +# define PLATFORM_COMPILER_VERSION 0 +# define PLATFORM_COMPILER_VERSION_STR "<=6.0-8" +# endif +# else /* 32-bit omp.h upgrade happenned in <5.2-4,6.0-8 */ +# include "omp.h" +# if defined(_PGOMP_H) + /* 6.0-8 or newer */ +# define PLATFORM_COMPILER_VERSION 0x060008 +# define PLATFORM_COMPILER_VERSION_STR ">=6.0-8" +# else + /* 5.2-4 or older */ +# define PLATFORM_COMPILER_VERSION 0 +# define PLATFORM_COMPILER_VERSION_STR "<=5.2-4" +# endif +# endif +#endif /* 0 */ + /* XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX */ +# endif + +#elif defined(__xlC__) +# define PLATFORM_COMPILER_XLC 1 +# define PLATFORM_COMPILER_FAMILYNAME XLC +# define PLATFORM_COMPILER_FAMILYID 5 +# ifdef __cplusplus +# define PLATFORM_COMPILER_XLC_CXX 1 +# else +# define PLATFORM_COMPILER_XLC_C 1 +# endif +# define PLATFORM_COMPILER_VERSION __xlC__ +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 8) | ((min) << 4) | (pat) ) + +#elif defined(__DECC) || defined(__DECCXX) +# define PLATFORM_COMPILER_COMPAQ 1 +# define PLATFORM_COMPILER_FAMILYNAME COMPAQ +# define PLATFORM_COMPILER_FAMILYID 6 +# ifdef __cplusplus +# define PLATFORM_COMPILER_COMPAQ_CXX 1 +# else +# define PLATFORM_COMPILER_COMPAQ_C 1 +# endif +# if defined(__DECC_VER) +# define PLATFORM_COMPILER_VERSION __DECC_VER +# elif defined(__DECCXX_VER) +# define PLATFORM_COMPILER_VERSION __DECCXX_VER +# endif + +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) * 10000000) + ((min) * 100000) + (90000) + (pat) ) + /* 90000 = official ver, 80000 = customer special ver, 60000 = field test ver */ + +#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define PLATFORM_COMPILER_SUN 1 +# define PLATFORM_COMPILER_FAMILYNAME SUN +# define PLATFORM_COMPILER_FAMILYID 7 +# ifdef __cplusplus +# define PLATFORM_COMPILER_SUN_CXX 1 +# else +# define PLATFORM_COMPILER_SUN_C 1 +# endif +# if defined(__SUNPRO_C) && __SUNPRO_C > 0 +# define PLATFORM_COMPILER_VERSION __SUNPRO_C +# elif defined(__SUNPRO_CC) && __SUNPRO_CC > 0 +# define PLATFORM_COMPILER_VERSION __SUNPRO_CC +# endif +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 8) | ((min) << 4) | (pat) ) + +#elif defined(__HP_cc) || defined(__HP_aCC) +# define PLATFORM_COMPILER_HP 1 +# define PLATFORM_COMPILER_FAMILYNAME HP +# define PLATFORM_COMPILER_FAMILYID 8 +# ifdef __cplusplus +# define PLATFORM_COMPILER_HP_CXX 1 +# else +# define PLATFORM_COMPILER_HP_C 1 +# endif +# if defined(__HP_cc) && __HP_cc > 0 +# define PLATFORM_COMPILER_VERSION __HP_cc +# elif defined(__HP_aCC) && __HP_aCC > 0 +# define PLATFORM_COMPILER_VERSION __HP_aCC +# endif +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 16) | ((min) << 8) | (pat) ) + +#elif defined(_SGI_COMPILER_VERSION) || \ + (defined(_COMPILER_VERSION) && defined(__sgi) && !defined(__GNUC__)) /* 7.3.0 and earlier lack _SGI_COMPILER_VERSION */ +# define PLATFORM_COMPILER_SGI 1 +# define PLATFORM_COMPILER_FAMILYNAME SGI +# define PLATFORM_COMPILER_FAMILYID 9 +# ifdef __cplusplus +# define PLATFORM_COMPILER_SGI_CXX 1 +# else +# define PLATFORM_COMPILER_SGI_C 1 +# endif +# if defined(_SGI_COMPILER_VERSION) && _SGI_COMPILER_VERSION > 0 +# define PLATFORM_COMPILER_VERSION _SGI_COMPILER_VERSION +# elif defined(_COMPILER_VERSION) && _COMPILER_VERSION > 0 +# define PLATFORM_COMPILER_VERSION _COMPILER_VERSION +# endif +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + ( ((maj) << 8) | ((min) << 4) | (pat) ) + +#elif defined(_CRAYC) +# define PLATFORM_COMPILER_CRAY 1 +# define PLATFORM_COMPILER_FAMILYNAME CRAY +# define PLATFORM_COMPILER_FAMILYID 10 +# ifdef __cplusplus +# define PLATFORM_COMPILER_CRAY_CXX 1 +# else +# define PLATFORM_COMPILER_CRAY_C 1 +# endif +# if defined(_RELEASE) && defined(_RELEASE_MINOR) /* X1 and XT */ +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(_RELEASE,_RELEASE_MINOR,0) +# elif defined(_RELEASE) /* T3E */ +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(_RELEASE,0,0) +# endif +# ifdef _RELEASE_STRING /* X1 and XT */ +# define PLATFORM_COMPILER_VERSION_STR _RELEASE_STRING +# endif + +#elif defined(__KCC) +# define PLATFORM_COMPILER_KAI 1 +# define PLATFORM_COMPILER_FAMILYNAME KAI +# define PLATFORM_COMPILER_FAMILYID 11 +# ifdef __cplusplus +# define PLATFORM_COMPILER_KAI_CXX 1 +# else +# define PLATFORM_COMPILER_KAI_C 1 +# endif + +#elif defined(__MTA__) +# define PLATFORM_COMPILER_MTA 1 +# define PLATFORM_COMPILER_FAMILYNAME MTA +# define PLATFORM_COMPILER_FAMILYID 12 +# ifdef __cplusplus +# define PLATFORM_COMPILER_MTA_CXX 1 +# else +# define PLATFORM_COMPILER_MTA_C 1 +# endif + +#elif defined(_SX) +# define PLATFORM_COMPILER_NECSX 1 +# define PLATFORM_COMPILER_FAMILYNAME NECSX +# define PLATFORM_COMPILER_FAMILYID 13 +# ifdef __cplusplus +# define PLATFORM_COMPILER_NECSX_CXX 1 +# else +# define PLATFORM_COMPILER_NECSX_C 1 +# endif + +#elif defined(_MSC_VER) +# define PLATFORM_COMPILER_MICROSOFT 1 +# define PLATFORM_COMPILER_FAMILYNAME MICROSOFT +# define PLATFORM_COMPILER_FAMILYID 14 +# ifdef __cplusplus +# define PLATFORM_COMPILER_MICROSOFT_CXX 1 +# else +# define PLATFORM_COMPILER_MICROSOFT_C 1 +# endif +# define PLATFORM_COMPILER_VERSION _MSC_VER + +#elif defined(__TINYC__) +# define PLATFORM_COMPILER_TINY 1 +# define PLATFORM_COMPILER_FAMILYNAME TINY +# define PLATFORM_COMPILER_FAMILYID 15 +# ifdef __cplusplus +# define PLATFORM_COMPILER_TINY_CXX 1 +# else +# define PLATFORM_COMPILER_TINY_C 1 +# endif + +#elif defined(__LCC__) +# define PLATFORM_COMPILER_LCC 1 +# define PLATFORM_COMPILER_FAMILYNAME LCC +# define PLATFORM_COMPILER_FAMILYID 16 +# ifdef __cplusplus +# define PLATFORM_COMPILER_LCC_CXX 1 +# else +# define PLATFORM_COMPILER_LCC_C 1 +# endif + +#else /* unknown compiler */ +# define PLATFORM_COMPILER_UNKNOWN 1 +#endif + +/* this stanza comes last, because many vendor compilers lie and claim + to be GNU C for compatibility reasons and/or because they share a frontend */ +#if defined(__GNUC__) +# undef PLATFORM_COMPILER_UNKNOWN +# ifndef PLATFORM_COMPILER_FAMILYID +# define PLATFORM_COMPILER_GNU 1 +# define PLATFORM_COMPILER_FAMILYNAME GNU +# define PLATFORM_COMPILER_FAMILYID 1 +# ifdef __cplusplus +# define PLATFORM_COMPILER_GNU_CXX 1 +# else +# define PLATFORM_COMPILER_GNU_C 1 +# endif +# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__GNUC__,__GNUC_MINOR__,__GNUC_PATCHLEVEL__) +# elif defined(__GNUC_MINOR__) /* older versions of egcs lack __GNUC_PATCHLEVEL__ */ +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__GNUC__,__GNUC_MINOR__,0) +# else +# define PLATFORM_COMPILER_VERSION \ + PLATFORM_COMPILER_VERSION_INT(__GNUC__,0,0) +# endif +# define PLATFORM_COMPILER_VERSION_STR __PLATFORM_COMPILER_GNU_VERSION_STR +# else +# define _PLATFORM_COMPILER_GNU_VERSION_STR __PLATFORM_COMPILER_GNU_VERSION_STR +# endif + /* gather any advertised GNU version number info, even for non-gcc compilers */ +# if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__) +# define __PLATFORM_COMPILER_GNU_VERSION_STR \ + _STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) "." _STRINGIFY(__GNUC_PATCHLEVEL__) +# elif defined(__GNUC_MINOR__) +# define __PLATFORM_COMPILER_GNU_VERSION_STR \ + _STRINGIFY(__GNUC__) "." _STRINGIFY(__GNUC_MINOR__) ".?" +# else +# define __PLATFORM_COMPILER_GNU_VERSION_STR \ + _STRINGIFY(__GNUC__) ".?.?" +# endif +#elif defined(PLATFORM_COMPILER_UNKNOWN) /* unknown compiler */ +# define PLATFORM_COMPILER_FAMILYNAME UNKNOWN +# define PLATFORM_COMPILER_FAMILYID 0 +#endif + +/* Default Values */ +#ifndef PLATFORM_COMPILER_VERSION +# define PLATFORM_COMPILER_VERSION 0 /* don't know */ +#endif + +#ifndef PLATFORM_COMPILER_VERSION_STR +# define PLATFORM_COMPILER_VERSION_STR _STRINGIFY(PLATFORM_COMPILER_VERSION) +#endif + +#ifndef PLATFORM_COMPILER_VERSION_INT +# define PLATFORM_COMPILER_VERSION_INT(maj,min,pat) \ + (((maj) << 16) | ((min) << 8) | (pat)) +#endif + + +#endif /* OPAL_PORTABLE_PLATFORM_H */ diff --git a/macx64/mpi/openmpi/include/mpif-c-constants-decl.h b/macx64/mpi/openmpi/include/mpif-c-constants-decl.h new file mode 100644 index 00000000..e69de29b diff --git a/macx64/mpi/openmpi/include/mpif-ext.h b/macx64/mpi/openmpi/include/mpif-ext.h new file mode 100644 index 00000000..473bf02e --- /dev/null +++ b/macx64/mpi/openmpi/include/mpif-ext.h @@ -0,0 +1,32 @@ +! -*- fortran -*- +! $HEADER$ +! +! *** THIS FILE IS AUTOMATICALLY GENERATED! +! *** Any manual edits will be lost! +! + integer OMPI_HAVE_MPI_EXT + parameter (OMPI_HAVE_MPI_EXT=1) +! +! +! Enabled Extension: affinity +! No mpif.h bindings available +! + integer OMPI_HAVE_MPI_EXT_AFFINITY + parameter (OMPI_HAVE_MPI_EXT_AFFINITY=0) + +! +! Enabled Extension: cuda +! No mpif.h bindings available +! + integer OMPI_HAVE_MPI_EXT_CUDA + parameter (OMPI_HAVE_MPI_EXT_CUDA=0) + +! +! Enabled Extension: pcollreq +! + integer OMPI_HAVE_MPI_EXT_PCOLLREQ + parameter (OMPI_HAVE_MPI_EXT_PCOLLREQ=1) + + include 'openmpi/mpiext/mpiext_pcollreq_mpifh.h' + +! diff --git a/macx64/mpi/openmpi/include/mpif-sizeof.h b/macx64/mpi/openmpi/include/mpif-sizeof.h new file mode 100644 index 00000000..ffadd2e4 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpif-sizeof.h @@ -0,0 +1,30 @@ +! -*- f90 -*- +! WARNING: This is a generated file! Edits will be lost! +! +! Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +! $COPYRIGHT$ +! +! This file was generated by gen-mpi-sizeof.pl for all the MPI_SIZEOF +! interface possibilities for intrinsic types. Once TS 29113 is +! supported in all compilers, we can simply have *one* procedure for +! each type and use dimension(..) to indicate scalars+all array ranks. +! But until more compilers support this, we simply generate a +! procedure for scalars and all possible ranks in an attempt to +! support lots of Fortran compilers. + +! *** ATTENTION! +! +! Sad panda. +! +! This compiler does not support the Right Stuff to enable MPI_SIZEOF. +! Specifically: we need support for the INTERFACE keyword, +! ISO_FORTRAN_ENV, and the STORAGE_SIZE() intrinsic on all types. +! Apparently, this compiler does not support both of those things, so +! this file will be (effecitvely) blank (i.e., we didn't bother +! generating the necessary stuff for MPI_SIZEOF because the compiler +! doesn't support +! it). +! +! If you want support for MPI_SIZEOF, please use a different Fortran +! compiler to build Open MPI. + diff --git a/macx64/mpi/openmpi/include/mpif.h b/macx64/mpi/openmpi/include/mpif.h new file mode 100644 index 00000000..d4cbd138 --- /dev/null +++ b/macx64/mpi/openmpi/include/mpif.h @@ -0,0 +1,63 @@ +! -*- fortran -*- +! +! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +! University Research and Technology +! Corporation. All rights reserved. +! Copyright (c) 2004-2005 The University of Tennessee and The University +! of Tennessee Research Foundation. All rights +! reserved. +! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +! University of Stuttgart. All rights reserved. +! Copyright (c) 2004-2005 The Regents of the University of California. +! All rights reserved. +! Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. +! Copyright (c) 2017 Research Organization for Information Science +! and Technology (RIST). All rights reserved. +! $COPYRIGHT$ +! +! Additional copyrights may follow +! +! $HEADER$ +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! +! Do ***not*** copy this file to the directory where your Fortran +! fortran application is compiled unless it is absolutely necessary! Most +! modern Fortran compilers now support the -I command line flag, which +! tells the compiler where to find .h files (specifically, this one). For +! example: +! +! shell$ mpifort foo.f -o foo -I$OMPI_HOME/include +! +! will probably do the trick (assuming that you have set OMPI_HOME +! properly). +! +! That being said, OMPI's "mpifort" wrapper compiler should +! automatically include the -I option for you. The following command +! should be equivalent to the command listed above: +! +! shell$ mpifort foo.f -o foo +! +! You should not copy this file to your local directory because it is +! possible that this file will be changed between versions of Open MPI. +! Indeed, this mpif.h is incompatible with the mpif.f of other +! implementations of MPI. Using this mpif.h with other implementations +! of MPI, or with other versions of Open MPI will result in undefined +! behavior (to include incorrect results, segmentation faults, +! unexplainable "hanging" in your application, etc.). Always use the +! -I command line option instead (or let mpifort do it for you). +! +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +! WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + + include 'mpif-config.h' + include 'mpif-constants.h' + include 'mpif-handles.h' + include 'mpif-io-constants.h' + include 'mpif-io-handles.h' + include 'mpif-externals.h' + include 'mpif-sentinels.h' + include 'mpif-sizeof.h' diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_affinity_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_affinity_c.h new file mode 100644 index 00000000..bf94f283 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_affinity_c.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2004-2009 The Trustees of Indiana University. + * All rights reserved. + * Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +#define OMPI_AFFINITY_STRING_MAX 1024 + +typedef enum ompi_affinity_fmt { + OMPI_AFFINITY_RSRC_STRING_FMT, + OMPI_AFFINITY_LAYOUT_FMT +} ompi_affinity_fmt_t; + +OMPI_DECLSPEC int OMPI_Affinity_str(ompi_affinity_fmt_t fmt_type, + char ompi_bound[OMPI_AFFINITY_STRING_MAX], + char current_binding[OMPI_AFFINITY_STRING_MAX], + char exists[OMPI_AFFINITY_STRING_MAX]); diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_cuda_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_cuda_c.h new file mode 100644 index 00000000..e8f3eec5 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_cuda_c.h @@ -0,0 +1,17 @@ +/* ompi/mpiext/cuda/c/mpiext_cuda_c.h. Generated from mpiext_cuda_c.h.in by configure. */ +/* + * Copyright (c) 2004-2009 The Trustees of Indiana University. + * All rights reserved. + * Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. + * Copyright (c) 2010 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015 NVIDIA, Inc. All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +#define MPIX_CUDA_AWARE_SUPPORT 0 +OMPI_DECLSPEC int MPIX_Query_cuda_support(void); diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_pcollreq_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_pcollreq_c.h new file mode 100644 index 00000000..11bdb993 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/mpiext_pcollreq_c.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2017 FUJITSU LIMITED. All rights reserved. + * Copyright (c) 2018 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); + + /* + * Profiling MPI API + */ +OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); diff --git a/macx64/mpi/openmpi/include/openmpi/mpiext/pmpiext_pcollreq_c.h b/macx64/mpi/openmpi/include/openmpi/mpiext/pmpiext_pcollreq_c.h new file mode 100644 index 00000000..11bdb993 --- /dev/null +++ b/macx64/mpi/openmpi/include/openmpi/mpiext/pmpiext_pcollreq_c.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2017 FUJITSU LIMITED. All rights reserved. + * Copyright (c) 2018 Research Organization for Information Science + * and Technology (RIST). All rights reserved. + * $COPYRIGHT$ + * + * Additional copyrights may follow + * + * $HEADER$ + * + */ + +OMPI_DECLSPEC int MPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int MPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int MPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); + + /* + * Profiling MPI API + */ +OMPI_DECLSPEC int PMPIX_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request); + +OMPI_DECLSPEC int PMPIX_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request); +OMPI_DECLSPEC int PMPIX_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[], void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[], MPI_Comm comm, MPI_Info info, MPI_Request *request); diff --git a/macx64/mpi/openmpi/lib/libmpi.40.dylib b/macx64/mpi/openmpi/lib/libmpi.40.dylib new file mode 100755 index 0000000000000000000000000000000000000000..c408ed7f473d31d7ca599912ba8e95d5620d2484 GIT binary patch literal 2285884 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 z zYVZF=|Iji03$#W0hi608Nmr!uFK+&!uV_ynZs_#xhSF)xw;CP9WpiA6cLlx_`Hfz; zQfOcu=)~Qu8OW?nc?IHM z_mb<36oS-<1c@H#NNaa``iB`xLDA#)@Z>$Tx7tRuH-%@hPpd#H@sF*X=vWD#1!nQ) zkqXtCk%0YoaBP2evbZGJgW-vEy*n1vJE4YA{6I8&$B1U5JcDS$lL#P;{alN@u95h# zvbae!EpiHd3bSF%6R2U0``DELyT)v>QJy|-#oy30bNvLLyEiZvO_VSUu>-@mBYG|> zAjM)(#F_#LiNY15&nPkK|Z;U*GX-u;>Pv~@n=+_woHRGs`*yS;%EMLN_v3pd|;6}Hpz_(^#w9JWMP z%?K9HKO87taJaPa>j`a33qN;;CZ<>Z9BJiPOja4mg)J1Dv>}|ueE=((8T7RY$F|9w-Mlfv*(?&3D zjMH1w2B!3l5PTD$agH<8$WKb--1n`yUqYz{yS40Q4N$1zZmoGU^cZELD?LA!7Ov8K z8fbTT1N24-_$li5AJfpxRk2;`$!65Ec zJ5*^LQihys!i)IYhSSt_j>Tkr-tk4pXb(OqivE%|JdTVl4VDX+E^`E%1WFJ~YM*`r z*hR2x4bLR~z;-VK+cnN4it8d0biJO2OtCWwTZpt*@xJ#^a$fI3(AgXse$x{2oSZcyKWFm4IY#-+kvimb5ovedMb8eZL zniV-wad9$uT-E2Pp%Zy5AB~fU962(A&Mtvtf)!o$Qx+elT?LLScOw&yD`j#DL18$m z4i3a&sX5ZHRj)D6DMdJ^1WUT{tfHxtOL6VbO}yWyOU@$Zw9+$~PVXK@cJ`>aR&VOv zo*qcoCoVD(=V-?nfe*l#Gg#uUH_@$v1H81Tj+ByTKDvFL7+Y%>LF+GKECptIOcXX1h z`uix&El8NP#NBLBM|J^w=>zV!hBEFvpoVlI4k!8`lyL=nE$9x&b%y$;!{2s;drs6J zLe)5E(8vG>4MX0bJCQkd-ViacF<29yr2gZK`cJ~)p<3$o9*MdeI}6A6cWY8gkWrps z@S(3?fNo3d5xo_fg~`Wuqy)Ybu~rV6lt$QpbpHMQxo{zkT|Zp(g&Kvpw^3Vee4B-D zJP&k;&G(g8h#}t*{Z6*wJp>yd9>V9J&52tTDOFU#6}+wsYy#WBF-~dWUiSr#g}qU& zwU?22dJyRinN(4nR&g9_s6Y+=ni8$#FmNjyr99v19nl8lOECl0Yw(^hKa{tkPw+*t zPr9o4LTCvNuk_F6ABO*>o`cUZE=#@I5ttWP4#`pXF1E{3!Jb`_L+^umBC2&iT2QAm z;%`eqevOTMygW$)e3S*+E@;O^F4?5tiZ0kzSKSYdkxX+=g`b|Sy6?W3zPb?445&BC z8O*9dS0@#wd2Wt6GlR}dNaK1y1QsvlYQ>&Oe^Sf0F6n@Q$H})K)oLaS70IaXg}#cM zNiMH0Q&yf@trJF`Xl-r8nr}?9zh1$^d1l`^_cSw)>etOP;NcXm<{Y$%m>G*5sGS?* z$WRk7h66BG0Wj)I3lF(V91EEPE>(+h-*^GH@@XDmX`dnWMJ4IDx`(Q6l&Sz2et?!#m4Wr;C@Wb<^vb+8$}1fPcnhvYkU?Kx795oa4!zS|B=W*tx*JrO?6EhB_DYl& z?t@8zJ_yYQe5cSSamWYb=KfJLTB*0!WHe!VY^S$ zC!#n)g-M@Puk2QM#;k0{k-SEzj4>(0L3Lo{2hl>*-2)TTEpcLgf(S*w47o5dD~lUq zUS=8dK~_d8;ph2#l1zzQe6c3Lf|s>>)TsN$jEr=pEOu)mk>+wLeXjoa+!&~w(N;j^ zRiya0RJ$+>TJf?3Zez7(?f=yI&uH>e?D!BdMp;|jlhi7NCsFs=`su1wnb?E6>nv%w zQ(VI!RfGo{sj|lR>+gx<%S>v?7~jYLiH+|X)yxW{{PXb*z9Kf7S6oVeMg8&iNN&uH ze|i7XV9u_N;4#6&=<%clH2T0+z{|fd&~J#4pQRe4C!wCt@y1A~VAm5Z%pi~@f!`g` z;}wtzyMF8?hE&d}{w}8V$(sd*Hq12R@KxFG(#>O*(XCVQ?6P%B^LjwHfP(PJjt6}k z{C)XrDz1mf9`Wn0gAGlPzVlD)OW*l3#d-1)u=i41%f)qMy5xQI!D$awu3Lk1gH*h`Q16NNfoD8mB?Jh37E!%ycE4tD- zvazdhW#zUoJqsrI)YU){?S-V8(+vN(D%xeJU^^P4_gvNpSHx|JwEB*A%B5~X-v4ke zneTz%Wi7%H9I&u{8b)hq?M6LHtutgkDaP@RchnHgg>mjg( z|Kq*_m`ZVs_da0@I5qEgSShG-r!XcGJ`TP%H?1&Nd+2-hdYQaVxC|5g_E1=@6keM* zMw_+*9}&p*y!O2GG696Z{}WQoSrfl-d37Lcn(t|(J0@4=Wi##=Zp+|RK+cN?F!R~l zY(TdK4Je>{vH0(SuKC0N3+RTU2H;lRRsh|FXbZ4YiljuKn~m=Z=#FPcQv=;z%z=ux zY60Da?F8tY_+$XxKZ3U#lHu)nkR5a82&5_DZ4BB;g15U-l8FiMR*bwByzN%-wq#2T z-u{?@Ifrj*O@UiMpX6zI7`a7po&avH5I{9lnb(HuhM)4RjvGs^fWg-QH8aOLi{s#MzQK z;XEGtPsNl#p6cw$J=s`MOdgA*Q2%sw{CNUS$dun;&@5g}xUhHf=s)}>2cB6DSga*H z;GqP!q`=@1av2!>60i^*X=Ur37P<~g9eLI^W^=rzJR}za4_pWM!ipw;gHmC;@8vje#2Q)`eE?F?F#sCH5H#>khxG-*yLXMl{(1HLNc5lY2 zW?<^{$wBy{4eTll{0>=Jaj;~K5tlw4w-~(9bZu4*16a&l3Igj}r}@iKc?ouN&BM3g zsW?zm+*H?mn^6-kT-+>4zm^6*p?BNpm`ul2(QM3}a{Q_JF2HwjP^1MUs!J&AWz18| z98sJ0C+blbEWSTeOyKqo!J61i;LdVd&V$s=iW^aundrRM$Z=+ zyyihJNhss%@8iI@PV=@9Fs>&U7u*f^R0L!3xlb^rjT5l)#a>t?QNAta3~l*t%LsF6buhqsP`$6+DhSKp@4I2p+@` zV)SPKeRPiOG6p&ZM`vWq$K`DT%WyFhMonwjiFhdw)^*#d=ulb4~P>-N=+a5&Z zpH1O%atzk3mc0vJlM0=MLdLS!$9FvZIBVHF?r|)Ar@)O4OrkfVztIM+!WEU@gdOM!7l2zI%DKKi)nW$>^CuCYPZPe$ z?F(~E^E57|@F7FXg4*Gy` zc@N|1RXibw(frX=wCk=7m^2hmi}Yph z+{XrLy*toJI@L`gbiJ9GyMV~aN#EM?8|f>Epac~ZbWO?@T`$BIm{#r+O#3`luQnr> zGLn2B0QxE3@}mLI8p0>pw}gy)88{a7tWgo;$^e?6pbWMZ-i99_pAUfb-at8$YSUgq z$CR&#KQQgUy$pPD@!aAR^Mx!w-g&X?Gz$g0>W;$evfbBP?tZ_8aVswa-q6a9bY1D^ z>RD7vZg(QMT_NfMx0{M2*5Fx;V2vzxA&TMi$?EfM=I7@f!OL5O*JB<8ZNqhO7?rqx zX)iL9HO{~W!6(Lly~D(*CoVGBz^@oChQDsB9k0H`GLur`Qg`P&PXb;Y>j;W>;MrXy z0_;oOl5y(JFR&2Yya1+cDuwVz_v4m~z%_wY!Sz}^0j}wfO7m@#WWu$hnot4ZhURNV zIPKoLspN4FM9q_2D;#0KbN*(1W|<_|m5{2O3U`Y;{y~M-!g|3l{yH*nyx8%ZdZFu0V}` z`DD00xgu3pHX^G+k?BB@m3T`;5nP}jR-;z}%>+$`)c{qhxmzTW@$Vz5G)6a}ltCoy zz=xbw_&4uoU<~OMtmT3^%dlENn2ndmBg~b^7>6*W!5*6!h|hh!GYb2|bZ6l*#Ll@! zAU{9XLKx-)!rYE(O@zrrU1;fQBuOYg6JZ*o7!W3mrt$eA^D_`;xEUZPehRUhTew!H zFt9niMDQpcewyGK!S;#A_EzNFH~F!uF^6d*=)z2?U)aqs;2Cb z2gq;2@(_!J0sGQ|;RVSk)EylXrv_o#Qc&)AasCz@CWf8}6da5~UW8#S4ZTx??v{r9 z3-M<@&rxFe6V~588z#N$y^ENh=F&>OjN}<=1g=iTXDw9syO*rfeACcCn4#nH*JEc1 zLag^X9ups6pcv06G_|B_a{r$G4E<||LSmO6!kclv>J1#{hy%v~{!sY-6os#2VR8ih zl`4>P-0{xnZuQ910ys8#Ij7uaU8z5**%XTL>m&ALI5TMeFzn-K0kTXAFe^ip>O{8@f7CmaurKAA>Q2$s1PQuU~EsZ!ujZ@qrM37h0lPdCEGEn zdN)dfFkXufR&e2sK5W7+aE+Wo`x)Tz+70L`EkC^nq7oYT^AQm9+(QC@TC8$IQ4ZOE z`4o+Y5Q!3O@qj+zIQab_%@jhGg9D2v8#^|4L0REXo-VlL-=LDyG5@^e>39Vd32D-| zR-*UMq7q|2QiI^PXuh<2#z6Rr(tM5Z!ei=`@6cmxNQ$`2#vx0xYyKYrrulM?^^s-* z9=w=SAiCz?&H{#q7Thi;xpoGf?VW*UG>4PxjM!S$B1pRnCx!lPK$uXx*ep(aLCeTo z^KoGiL0-hVnlFO4Fwe9Y;ICepoOPerCuc+!664kkCy7{8Eq@Tr)i1k-fQ-=B*Z*cz`jOr_6E&>vEy z(-eIw4g6pZ7p{oo*fF@p?^@tiv@g5&Q0I?bIAMDsBCHw@S`#{}CEm^5P7NmYH!P)` z&CT6TjCl6~@up=2srOfro}k_}dO3-RaWXNe_q(bB_otHKI%E*Sy_81+9u&gc4x=-8 zP+OYM@n#$n67fAZhU`kE4dnhJ-$3?P2qK}3rW@_ZJ{G9T^B}e{S+B#T6t^*xNieaE zp=@c(xyj(Yq0YqizsAw+#quzh76^Z8a|_{%6~fOW5aH;j`MLEDufUIEA*0s2g7XwV zf7sX!OhB!rfwjef9r|miHhd%MR5*WDDGupzXit-V3w^gu0@@c^X#e%+snDJ$R-+=T z==CTHXiP`j7Up}80p{m%ws>Z>Fu#kd@LSK>g85`mHRmKxP4y}R^TXQ#=Z=Nk!63@8 z=3`_ZVEwfku|5qig7w^4+OQrXXq3XnA{$?65Omf|%&6g#=@9b@!uNwU^kgEu?9brT z&p`CDz-Q4p-H^^5S{Ld6@@(L}QNePlpr813VwaR@@h*t1fC-w9=pI%PoU=NA0SFHq zgHPdak&MCW6J??{t+Y?nHBFI-(6T8BfxdmL00&^YPJawJ!`xXq7Ghb`!bgZ*h%JWd z6cvE{LkK}DkPgU$A^F%L$E+Jk3*0eU&=511L<{IDE}jsaq|673Fhi;EADt-+7z6hl z57%D_XG}<6Dq1J)g|@Dcy-@fX>3hbDP;odG9*5DunxyIr>>oloe^ERi>TMo_s+ffu z9JrvopN0U=V53dNg=4baSJ`)Uvt(B{6#NG0IbS6Flg!-CKuL{M0Yz=rIn=6zavql~ zB{i(c^N|rBuRV%KwiE|Pv=HCeN2d>;mjsr(7=nJCBk()-1HoaqP?7OwXCV`?(18D6 zAdnTndo3Xe`vFE$^TExNJ(3#tNPv#HXD6e=!sP~)h@af>Y7e&1%CRRnD!CghR9wM+ zxDm73O`n+tWEVr;8(3P(c<?mjN>UpRJ? z+E|Qt2i|~!o8c5m^KHaS3648cplT)x_NOGE=%aK91Khb`UItZF+>a+Y#Cyi)*Bf=g zof^&6LGVIS7uSknvMSVbl_62^+#6U5NBX;JkNAPT{y4=kQ8^Gxd6q`)Jf{| zt>$N(XCO%X1Kn2K@@G87L~2R=QZV5w$bVh98UPWnfep_<)y-{|?_@$)C}ZOqJ4SGC zXYP>if%7KY4w=q@UT>egR10cTW5a@bc=U$^-T+x1#||;5y0N^5G`JOGrh117gB38n$A; ztAKZ<=Oow2jL1`X?{|3bK?oAG$^eIruP72qjQ|-t7G65(HTXYDhLWJ zoTZE|0cSC1r|Jn24PJ7zwV; zOhN+s1v8Q0eAERb@F6J<3Gz`4NYFxkzR~=wkYFvRjT|bx98W}oMEHmNYpn>s{(>0~ zgkQrT{F*>^@HBM8f&l;J0){d+thOV-K&%DN-Ys!a{%-h4av$e_-2?%&sD70p|2ivq zL67FsJ zku&pXY2zB%>=CD88jT(U^7R4o!4{8~HF3RkV4}GSL^i`082}$SCB;_PeyDHkhh?uNIelt)iN#y77UX)hR z+&INb#W>2sSd^HXqAzn7azphKVlmIX1Li+-fSE5L3HKeaJW4uUB4Rf#m7Wd+=b$-w z04n5fCDjzD_$#PrEp&QR;2RCR>8 z0!NRWo{XdCEJ%%`$KQ_Whc?TGr%;y@PkGYRioX>+y%UNgvp0NjBhcw>?ya=M6 zg_?n=TP2lJo&0)lj}L*2XW-e6r!S&}fu}@a8=h)@KdV-_x>SZz<(RZ5-BV#AD`ZWN zra;zVK-MzKifaUE2d6-V>Un>Mv`_J?iL|3)NP8EM7Qi7VFf5FLxKt6#ZS_xxymNTE zzQRD@89Z?Vhr1{oejLL|!eMXse}lql=$S&{J+}absbBh~Ist{DU>Y`uE6A19F9ND_ z8q{=fT87P$10PX&08x2l43(z=s4s#Z#mhaXg~}5F%|PWD7sjD-b7cIdsQg=6A}XJa zI!#nw#fpPDxk!pb-zK>H3tiZEPKPrlxUdf{ietCupPG!y_k5fhmHXaIc6%V*1*00R zcx!0@h*Z468Q2XpUP+SbyPa@C?BxMV@c9}^0Us129r9gn@dUMq^Q_Kfz~|!KK1t$YoxI%M@l&;Vs#fA@*_@XiF9t<|TzN!j_lA)|tr}OGV zkG&3YXI5!h+RQU9;GlDmuSXK1uEYKm4{;q*_|LXy)7!6sdwQy3uk~O z)GQb_Q^2z#WG6zOZkSHNuyA{EVR^QDsAV?wUHBZ-LiP+Ur04#1g2|zo865gb)J(K) zjrw+r;v&bP8XJf=*5>)Z5TNWje1dq`8{Z=QO$>t*@wc1Y#mCkZ_&W&vI1YzzQd(ulR;J04%rIth=tNf(U#nGhm){0*M$2)PdL33x0=T4F!Xl?LPHvDaSgNxa+e zcs56>EJv`{CWdPM*IDz(e}vOuR}-oM`ZeyVBvi`!;OIF0`};PW?hFt+3OcSvJ_8+} zy#eTWso*}gSu5GqNYmJ>K?)SZ2Vx!+hR@BrW1yl5Ge&Tk!0?4Ect$IdV1pyr$>&^+ z_5{^y3{(d$0h6(?WdXFxb^TQL-YDo^17#A(+MF`@G?Q5nlvg_NJfeI-4CS@J8AQ!c zMn#u6v~Lze`;Xz83TR(P6@!KLE@c1TXulHkXQKV-2NKbK7-}}r{(xvOaxPVk4aHj= z+V9>UL;HJTXrCl6x}tyVip1nx;nWb}hB6k-w=lfiLy-{TWVRl@57=$Ei|*oPtiV|( zCS&&R?^&3giE9y#;lsl3jNmLk+8(Qh65GW{k2PXn`g@Ax!N>ImuJ|8nO!ajBhS{IqCu< z*wr}(kcDYg_bVRMalZg#cYHH}(GG<)!=;sNJoD*eFdsTZf4cqz&?dXh?$>|=6AH^& zZ!l*$lF;cdJD~@tEyjFqMPYicoX{ftn;i;c>k%I>{U@Tq=*EaYl zc@4x9Es--JUdqSAu*9k2r8vc+KHC`V2!LSe$JSsq?=-@&VX5%*UJTf>R4BxVPdg!b z#IL>`hjk_-hR;VIVp<7Y5D#)6nqT7`m))SUl_};7j=7mv>H3c_rJ0^{;~|XL*as~b zQ*k-bnb>$O;3Rx2ezd?`_BoU>5*m|)W6kV80ra7>=0VVJmm(G-Cn3>hOP5NNu1teY z{DVMfnZ05QGyv5S3TaFCizpFtdLb!JiWu1o3L45C*#LBK;5lxP^NXDU1j8nG~iu z8U%&8K{Zj1CgS|#W}+}DjHgAoCx&7W{1|tm8~8AV_}AL7dAXPMC{!dOPB<<+ zipxhwRTKytD_k0MRzMS89KijJ@4+%?P27KsiK3dX3$lty2jw{!hYnSPpxzs-EFX^g zaykRrfO@^~#g2N5@lMo>UBHWp2S-`r!EeK|ou*0Z6T6eJZ^Q2v_T42qj+`1K3HB{8 zM1*&s7$By<`uw8#`57v*B7+QV&`$Sd5VoK48)h0_0e`9J2FcWwd8W4UT(No{GCSRK z7kx@i2?@dq5tFcn(_aHuiQESR?6XqpQC@#tAQ&6Hjzg$NNhE6t0AGRZ!eApsXs+S} zEE13Js;Ta5O2a~US2yq;IHLJFA|VlFE?^Cr>?Ks3yRm5mW0u%S1T`ojC70>ZS9$9@eeJuLSZh!X`6)_k>W4fZeZ+rjvJ1B_|x_WCbzEQCa7 zYqMk!_P=IsL{<~2fP;Dua z;-LR76a(}RRG(iqKP%|ZNC~YCUp1k%a*zS7wuNB8@i_9l@f8zV&!w84HUF{#tv zN&%cNvw#VlCn5t(L?l)kfO$Njdo7@~3YiqNQY50^0KB0fM4Ra=*(UoJ1NwvL%)J83xH&SK?sGb#Q&ne)0(&&Pb+i&g z%GnJ(wJz_3+%yOo4WC8tN195lpn0#+njH ze_Q>cn*C*g+Ax9oX!H~zd;y#=k=O@u7gfWPlv-NzQCy1m>bL9wN)aRX1>D39))N8r zp(e=ydMP?$-iolHarlJ+1kh;3C9r_VV@-Vx*sRf}bYv^AuWw8EoJ9E49y$?egwc*E zVD!{T2LXmKZ-@)ngm>Y|0N5-8U^V}GBvO9qTaE|9l;-~emAmLs={J3`>kzE6<$|5B z4jBTQv_K=(lSfZ8z~MKfs}tp>Fu|d77?OEc2!6Jd#_?8UBs3uUiE&o!frI7nZ1+gJ zRFhj1Q973Bwmn~u?by#xMztn5v_@qBhdYrZx6u|FJBn5)1#mbbN`ahy=I3V#4&i~U z8$PSfBBJawkp#}_cQ^*Q0^49^M3;MR6`73Etav6iWM_Y4FUyMuk;z~pfn^n^p%)VyB#%FYa^QrM zFqWcLxoKh?0CcNbr?zUoABDxtf~LT}Rm(xvf52iSNVC4@ha?u$8P%Gowpz3hIVU42 zj>W7(F`(L;>hmE?hbTYiJTEL@uWvgQx zCQtt!Q*Ap;%8bMQF+F**?tI$d9O0L+80!4_2GyeQ!I!WH?8B_bB3EQA*h4qcGCDo_ zshGhze#iX?5ejI2suPlJBJLti;bs8ngHFfZk*AW}wr50j09zT*f^LHP42O0zMVv zXGGr8e(QddUn+auX$&HCARE*Z0;3ud4fV`oCbMeg-Q()!i;FUo3_tJ_7NzEw_ z4eqdUF7aWo3M)$}qcUzJ>kj7p2T5pYMau+f#Wg5wNGlkpR}sfV_`?1f@g}~cueO62 zik@a1^h&w9h=2349mM_upN1M)^L2p16E0THhbte=cM4t{!TSj_xVrDp!Yj{U8TgBx z-<0i`a(A(82)^VJ@_ytRJkT`Vw~P-on7Ut%Xu!s1t#u%D%{czY;cthw1h6q#2YczDAqpL@A?+K31)o+7_^n8Q^eD7Rge7( z4uV(533H@v94qUD*1jFdM`E4c1I3w$D#}?!auMlm`OO`wiauN zlP7ex>-5)LV)zO_6#Jn<&;YMdmRhH9lMN;nsf%rEm`f8ejdq9gTm)%yR2PdCk5p;1rg~|2}lKQ;N>s zJj>{8m{$9L%O!d;t8j^1EiOU1asO@xf1n9iO8(G>jA3>n)&1{G1DBE+!x#LNnlZdq zj7bgUyoVeHop0nc=zIoNGJFEpRmq~0==^;sWYGEHs3zP`mOf+e@hRy11>1!B_Qf|F zov*{|zo7FkZ%L%{-)*(%{CL(K%vpmZEYCK`@Z+S?_n@$y&d2W`Bz_lt;6fhll)YXf z7*2pd2w)UFYX=NDj2eLPEt~|!03+W$5iOr^AQ_5>KWYNTL;njfx-zQ(#`P9pD2X#H zUl7|1S5uT)VQeyVP+Z&G{VENnkD-z@gP`(QBB*@vhyg0e8->SuD|kQ-10Mb$+EF&a z+r;5h{tg~c$bg4_s785<3uXL}odO=(0--Qh7vh@@9;)&BFW})(P}&$#6TbiXHx@kH z#=3(!3z3ADK7)oJ4jyhm;eP`Ue?V(Xc%Xiw%hPsv_{|^`)K9GaI(|z@-+E|0TAvIP zLmoDkj5Ti6pf2W>x}-T#UkY5Q*^;KE%@x z<(WWHj!)_>%F*~qJERnm)f<%Kl`n0Sql>!|9oYOwGL&3A-I)6DZY*rQHyu@^b7LI8 z=gws|QjIWgnPHc2oIBu40D;P*1DpnQ@Q!6l=qM9lbH8pBEe$$Gkbn%}IeVCEB%I~I zF!J59ptDVW6t++E(mc%_!A48q(dlAWa7=FZMvEt0fUqCV!mlg0M;=J*-nePTC?bHu zdUrENuqYcFxoOvM{S$^##=JC0Or}ozdkS?r8#xTn8w_L->hvZ-uNpr`1HJlC4D{Yd zHQ{>X1?ZJP?P4fTty9Sqc!+?WV@`KZ=Bm3+p!asE*)or||P z>a-k%<3TST-W0!b*!b0ze<-Nqk$1*pcBqq!WyX>BoDK2xiPoDK>F_6Y>aB z_RUNZ^vz~gfj%BC;wV(HMWOl|F!(0&q=Z4pMauqcngX7>Z4`KN z;hT+=eS+720Z*^4PlTr(SWFY1Ca~@x{7^_s-(@DilN*Kq4xa4v>lmo0$>|75m&~+7 zQe%UDk<;y57Y|93IK!cWoZZQg^u$yXlIVHxZz1UpW)(;h&Kcu%1|91^#DJk^P*F-4 zx)9*wd5PPeXH6;?bd3nQvLQ)>P%55kMgt~5B?(h@@>A+P^F4(EHA|7hphD|<7*Mm5 zP(#XcG%6HAAp>g8Mm6DX3Tl=>S&>AA8myPKJb{V~%V=>XUjGHu+_f$dYTo+7f||ap zJDBqXlCXAfG){n;UML(7H5Lnur$8vR}0b0OrVOL1x`LxQmamlKmAe0~OHA4yU6 z3}j7Zr}rA_f{f^5j67ySqfHx+RZ&vVDnL0D*3&a=Qc%u*oSlX!RpRV4E)u>5P4(`z zoc=f~sk2cfu@;k*wF>oO{&SHe$_CR;V+D%g^KA9`z~{#2XJ{oARu{P9<{$DY_+x?o zY@s@OJkUbYgISmD?P;?!hb;X4vvpq{9FxkSoHbqgM0$P%rK+x-e=+_tpcLlr2IrM9FO;#C6!RpjVC^JY+IVdQP8M&-7gM zN@|2t_9gbtB%W_*KSJR*4fP^n)wvOPZfEP9=A|(nxA!MNjlQCe-E-87uUd6a`{1tR zC0u#Gu^Q;CT_bJoKI#7_^Zqgg}FOpVb8Zf~ly>R*)67GMt8^ z@fK*D0%obtGbhqP!HUUhiKdT)&5(IQkEH=2zl|=`a@MQe7?31Ux@5)q)<)J4f(pCtWa| zmA48DbgZM^Czt8f3Jv)wd4-D63AGW57gOBcML4dz4uD5rJ?p?s zZX=Dk<9W_+)!OV$-psO_lyKE54A`z=3z8YPOf5;!-ie>F?U)iDhi++>foMX z@wwPDOvZ!^I)e33#eJpjvWzYN58V?qJS2s-=tZ#;QDXjVoarS8}IS94v1UHndQ2>zl~m z-_uc>;_uh~6wlvhPO-1Joxh*A0;^K*>C`TL0FF(8G7F`_5@1ODDk%KR_>-ebc5 zBmTZ^M=}(KD*=UPV3m)?-}Mw6`adl6f6d?TWobkBqzBGEI)5)iMjL-$d(J=M@9;Z4 zSgy;((d(y_vfAwidHTv{$KE;{y>{0o)9cyWlP7KCcw_wWXRGkSj-c1wThC%O`P@Ww zBAG6+$aJgQOfv2MM`ZdoHq?}>lgj%?8NYHOL4d<|^EedBDMXq<$DacZ2p#9my>Pxo z$J?c#%5EKwF>|C@%3wF+stqc(;f z1`VHp`b-*r5*h@ZxK%YV9!B>z@agtE3Kv|NBKr(vS8+fj`injWS;Lj_V~pchfbTU9V@pCQ>&MU?W2BnT3y8q` zZo}txLY$AsAt1s-Y^dqv@huo?M}je20}|vyj8O2D$SKg|i<|~drgrEf{03?u zBo9ibLXU*l6jc@IUnAs&li0+#6*uskAWpJ3_DlFpq0NzS8-eqj^N?ns%}qdJ%oMCg zxecV_M~M|u0jJvu9r$Z3aYlk;ENzR`a!Oqpga3@-47NY3l~v`FO9W@$r24_y{+x}h zcGQX8OT_kPx$L2rn5m^i8*bs%r8&0V5!{2b%uHQPWNC!)BvXuZym(JcEd2HHq#$# zC6^4ZO%8Y~p_`&I?#ZApg5cahbGP_fH?mz*U?75yf;$aoY{A@Jme ztlkP)!}L_32!}a-+kN1>x2jR|KJYtLwo%9K1NU1%pf)z*av#{AqUF=sSqpgt`=8B2 zM~`+NxPRB9+z0;J6Puwmz&y;*(e4AkgPaNXfjgqfg!{mV&nO4r2e+t^UW1V?gDt-0 zBC>|qtL!XYu$H`TJ_cN5Pz%q6NV%3N=iuQoKAfdKWqL}SK@|-GH!E?iGIBF3>E81k zWb&-Xq7K`fyh10T&oWP9VLJZIgHio~|8ge8JN4NqO6+nQCG;}nh5=HfA$O>ddzOtj zfV&;LSrda5=|_Q{YDAi!N`&y80t4pytNlXkaCgTyYGy`bX5Of@&kSAZ5%77q z>pKr)PdMC--;_MU%gp{JY!;@UA&cq8m7iVYJKs$(_Xhv$2)DP~KnEV-UdDL8M}jfl zmjUO(`WYxEJQ6>DbA)>nJ!EHzr;df8Grf>gZ#&Qe;SDw z`MzsjBH#C;K9hKzE;@~zdsGu%G!e)5b5Ypf`#hBzd_R8u?C0}0H%Zl+?-9asDC7J4 z?8~^+wv3ZLPF}|Ue3iV6FWeJ{&@t*$*G4U4<4NNoM#DXT_=tlzX^mz{Zn3#gwFw9J zrj_QZ_fN(0k}5lim63Ugccx?UW-R#}AcHJA8}5!Rc_#WF@nMRd|24Mc z)~WsbYFYBV6!%+f%Z;pdw)Hd-k7}h3&x~g`!%PkwYLdk3S;Z}&#-s|t2XxV zkr#l){g7ZR={8`aEa?C)>4?8y(v~P^U~vJuML|r~8mJYLuvi1Y1B=^GsYBW8}PzBs8%olCYKoQP_^f@%SrT>367cx$9^Si0nMpTDbCJinq2@oDEHp ze?7N02>V#o8X+GqMq?7?&(p)y0!i$@u8=n-D!(wlf880I-w6PHsde0&kqxmRf-nBZ zQYRS|N%d}cPKoN%@ip>VO8TSNY8PVwJZav3uQdS88vx`vgAL)$uGxoxyO!{8$9q*7 z$MLOc{UjRUs@-^33@}l1F%bQ>Z75>&$9W21uzN=B2dLz9a>2e=n-ryYGDX3ve7&J% zTI5B{M4B}d<)@(%>Dt|>NAq7#fGf8E4hom^6FXFUhf)=;Y6WPU1!%kOXFIfgruMxr z{zpLJ1F9BMK->SgBcJnO;)Zts>N6?FFQTu=>7|R!&pY;mT zs7PJrwic?qKlisc05D`Xs}6-{oFKb1L~Ap*7X{PTB`?x~+X0J<>5N6~H{UuLbMqcR|;qMEf`FFxiuKg zOSgbL&iLMt2bgKUfCmndclz$1Be1759B%r-ul_uFSdG{vZf3)i@PmtVQFnW1a6x+j ztmqec=|VsEG!yP_lUXui$s=Ff_1)^*P*)zRfq_XV=S{pB^YR-2SclgzZm?9e+l^iPR5+RVA6I6(z6D z11L8nEgq0~0RheY7KM7bAwM982N536K^2~kk%o9eUxI6r``wcLZbtwgflQ@=JK)Q6 zB4Q?a*6G*0eF8M<@#g@ZRCeARTe>iSl{4n2w`a7_Aw>&wkzF>F@im2eo@k>Lsn&~; zot(mEr$Uj{yTwF z&%&}OPJOL9J~!~(=vdhVQv$#*LMK!TwI=C!*^I+)4cZc>w|A%aTCt33sxuh;_1<;m-q7%r1!D&YxD|}{{OR` zZy(mnMdh)G=hyR)U@YnnfaHICem!_&Z0Fk@eUhE;ddL}*cD^|PXH0cld`q<#Nqvfm zonHfQChmM!ye0E2y2tBTX)xylB%z6AP#VOYVuqlwedjCWG@hP1C;zt_q?w?q4#-7= z8QN@A6{HFhuB|gR!|s4o6}88q16DAa(~wf!Gafr<8}hx&&LF+t{sO zAEz_mf8h}6%3S`LpNX%ba9KIR>964Q5uG6-SNQ{8jRVS zgf9m1g^WTj=Bv0?H)XqTvclJF3v(`=fmv$0zSbXoozoS|ugEve>c)r;L-Lgr-jwZG zKuaYxN4KGjGpMQvW%Wfy$?;@K@TL}#ZUDaJ82o&|mjGW&OiOSUleACpjT1wdOha;h zjVz^#%Y#`sMc^miqU+cjcnsO07il0z!HmtX*kJDmG@f%}A4SuY9xGL{ z5b6Scwwu_a6{=^TOM!26GLAXv+DCO*jAyW#&d@BWD&(JyqWSfD-?_4g&Y&a^54eoJ zLhx^zN?oo6dXqB^5`La@?e#Gtcci(&>ifb>38U+^oY)aRy3WWhL{cAdoDqL1qyA-U zi2l~7n<0-TFDLP^Ib-B~MsvS*MSn&_C0((H^DRO&y$zUZ7|7^5U&E|;_am-ehh?tx zmHsUge~4%^^c~Ng0QV4$Jk61?zM{8%OB&3$SNf5wFGQwbH~m~z5vavLMxEFKONZ^F zGk`0tbP*|A;me;VSY%u*#WFFS9^_km9_CkIIU(o2>;E~grtJUef7kzyUgA9F>W80| z{@=war2pBe`#%kpq5l)582f)F`+shV{xfH6|7G*H&|(ij%yDp zx0DMVi1|yCq2jFJ21}MB;w8-lj@;R?OHBDSN(P>=jr#RE1DNCxb=|OVGn545{R-&@ zk&CP&g%(=;5jflX<7~=~%5l`zl+YomoPFt=y zM047jpe779%^K{DS;k<8bFlQ6XbjV&Cysdkr9ENqz`e;JfWf$t)-cOs{!3eNh%ucR z{g)0{l03p^uZ@jR2@k@zHD%w9?!WY{1|pW}019YI1$dsi5)~N>_as4_0G--@X-DKt z@L#$w6MIOT|5D0}471EDYh<7*sxk)q&<)mLHSY{#O*O3PQ_o|-N+m!f9=SMqw4V>f zXwNWVeKK0*If-_izdT2Ph}m_rf-_Q7FpU+&0HO#Ls0f0(1LVgf0im3mkjq5!0>AUz7#!3FqrP0}oHd_>l7s!@_4Zk~g?mY~;hV;X z?ycKkFq&^NUeu)&I%X)x8yz#;hQEy3){5bS>y^5JF$zKom1*HMcoIb%8kD-AlYrF@K z6lpV878ib_gC6GnW<@eyfFsA#*083lG9yT-jp??o08A5Zr|aD%U#FS0jRFY0xt#Shf*9 z3J@Wp#uZ&!R`|X45dFu7Y3ZOknX-dXj7>UNkB3+X!+3GKjA*bU5i?{>X{g6!>EHCk z{w+dY_HQo!s!nZIol5S|edrLJgTYfc1m}0a%|b~H?S4apX463gHW!o!-P)MmA>3y= zC}*+J<3Mf27;H>iT@98B7my#IxnK#RVN95fSGk||J4|;aYD(18raz29q8|8 zXZ#{|50>V&2&ZypIPWSTJx|TynQB8h8wm=%0r~)0{q-h5@?cpTY`y?;SZBfbd(D^soj{PkQ|V%bdl<^?Z9d)0EO`b?6DnBu1!`6jer%Pq1|U0C zgwPxqv(;&PNuejf<8}_mfZ3sknGR1U%KC3a&0I0s_NI$UBxj&%Y$O_EZHC9~I(`3B zO4bjL+qE!QJPJK)ZwAYR;Czn|v@%3}5W}Q#N*As9B&YaiCPu@f*%z(U8ha?4`~6t%e;k$65Q@RUPSR9;!WJpyeY{$nT$-& zNHV0QkK!Rl+KLc9c74??u8{}x*CR|(1NQ|WM2}mDURzwaQVUH+k<2>HHx7RtUXU_S zq9<7mJlGT-tXvampQ_YlMyWnl&P_P9RNd?vd6=yoY2YqExrY;5>tK{S9e+Xg9z$cj zttvi~#*zyC0i0zQB?g`9)~1rcS0FYu#eo|^w&52A5EU9U$3}1tq#upofUs1!K^j(F ziL*63L{E}%vI4%9DMSZmWr*v6z^cH3sHZ)MPOeFJ+Jo+NA>BD((w*hn6jIwnx^pWk zm&$hN-=%@>tQNY{x*SRpOK33`QG_ z_avMWN=N+4!1=A-;)&St`|@Dk{z=`_Jni5X)*19v8}}a!s?&Nq+O(+7iw4!%{y51N z9sZ;$^ES#DREN7fhftk21Sf5@9dmpOV(dn6p(;N0ex#aW+3@QaQ(}gfS!`Qk>hDZl zm6-Y(Q{PWaJ;2nbv8CHF&?Ixka+{>APG8)B_P}Lu;fHApmbDi;H(b%VJ^x9jbI+j) zMdw;5xeL$DiI<8po`5PM76@3I76CPp>n}N9KQ44mr$FAKbGIOS0-Xa_QFP9{1@m3_ zRn%hAImcsmI=3Gu$_c31q;n^UCM4%p)!2A67Dwl@QJ6Z-8(V}KUCW?z=AYR9+}OY6 z!X=P$p6m=9!sdhiK4-w@0gcJc<26^=iQJ!DLF3GJ>r8AxZD%$gzl92({xEr3ZyI1s zYxqTEGH)JZzmV*^FAc z;H|jno{Cdpe_C}6wK*;5zE6WUx2hm$D4ntF^h{2KqUHV3E}14!IljVh)4vYz^z#yO zC@xC(zjTqM4+p*jtiZ4hH^4svF~SV+YZ}%hHZu&B2(kEG|KRX}sCZ__j9&urXxw!e za?QXjfu^S@_BZt6;Bu{y)oxgmT0Jh;VaPJ;AGL$hc7W1(sMZ9fwW3nUIZd_H1#fZc z@f9d+sK<@#F!Aze*cZpygI)zQ1p*GeI6XSZ4mgxL5^#8!&3}Yv7n3WB%Z<_RCj-sE zekRb|kHUWoH0_vGfaWR#XaF#f%^^aL`1(`6oIGO`u-M~~(98!wVz}seA#u6ZULFS( zwvyq!2L&qLMh@fXG~ftQcy!7Ip$yXl*U_M0ED9M=@HVQEV-}{Y2&$DNDDXZiP%yJD z4hnLR^i90 z3lI7K6?SOQfY#NFn@ zO}P8ozk%ju2XHO72Y^nl*=T-VS9C=CX2LgaW?ArEsv61yB2#rl%aB@@35UO{J?Fvi zG^QoyeC|Z5cxNQ(d+8?ljj7NOPHmKjyVic{&+-!$xbb%=!7XQ%8h{1KYPbV=dnjiz z(hN{)4BEiMt$zy%N*F)8*<)9zYK)#Y14?SuZ5fc!cU+xCHS_Qvd9~WI%;@Sl>DV&* zZ$e7A3w~VQm1A)H*MFN1g*~;PT*WwkfP1eHWAO4~2-Xb5Wapck{55)WvLhMy?uf)G5w%6H`T<; z5cS9D2fLy0QS^g0dF#e^)WT7IoZa7AxbiBJU)uA0@DLU)CTOGNNPjDN$=Y6OESZQ| z8`ldwf|V+13j78^BW?gw(!9suh|4WPE<&aU(T-bl1Siwx4iYIJ3PH0`XHl^0peZ5oZ_ZCxXqCf6GA+5v* z5mtyNq)@?$F9A+Mv)FHEDCCo2?b6d zQ$EgBA8pzq=u)>rS704WwxQ23+=k)NDG=|%RHidNmxW*yqn*b690(t30xZRQ@hF=-FFAcer#2+Qry^<9tI^h z6oV`(T`LVrNomOQbmT&OV@>)6sK)qq)Uv8~{u=;Nj^O1jKx%L8i^JcC=p8f!_hJ{Q zO`(;gD>zxif`t{?Rh8Tzjy0AIVmr-$02An#+L*pGe&t*Ob*`dUq=DQoXn-Eaq{_Tf zFq&2%%~-J4W+wy1o=X4}XP~J_p({9#T*eW6m>O;L=_`ICz(jEODB;_Dep5tktsdF~ zLL@+bXL<=DN=K}3H+00Fd!VNjlnBitN&t8SCqjPWL}@6r4u8aC zQFkvj%k(l}3VSo$e zh#3pYFu=^Fb-u$L)8*M?&qd4G{w} zu*ds7d@w}2m1pA$2;H2%jCmIq7%~&i4sgd(c@fmKVn47~o7m_>{1ktfEx&E#w~PE1 z$!~x89U;GC@ay|<5-OAjiudK=1@nPd{UxQwd{}2bY&Rcv;{k4ci=5t7nVNq*<_6t_ z^<>EXVYYMMH}U#dRCdX3{4_?1HjvzSenohAcg|=NUyB2IK}d0tSow#gZ_clQ$i_1Q zkhIlrL6ZL?o;fEkCylkKg#q4STrB67KG}v`h zN#W>h_;-&k!wolQ;j+qYky4Wir!E3NQi^0WL}q;Y3C+r< zcS?ez8Q^T83XqXZA_1(0eU!OC^WS(^XgenDb)Pk9zE8O&tAq?eSXLsxatgot3=($< zq<8>xl`HbYV8-=Q3*Z&jI;+IU29sm4r=BOhM)m|t%P~O2E1h=6v=wGJ+%SVN73@JZ zWK81HgN*4A;RpJkSCVN^Rd0jN=*7PZA=&1&jpTgPs$Vt{GZdIBs}Xosu~1RrS~WNV6S#Z!g3#c{?7RpgAQp8O6{b&Jt8K!O+zQK0%38V7ww zaCa+PapBDfq0}4+B3{kpgBqYUB+dULsIX&d6H@wb@K^$Pp0bTY!S36)5f9u$`aYEh z!~#HZ@)&O^v-xJ_MMuSm2I|>C1WsHc#4- z-mO;iSD-Bj6HB`3-$6Q)Pj% z`1wUx{8Q3p@%;^n1z!NzPQzX- zf-$PNn%$_`CwJn6Z!qb#h5jF(^#zA8zxWkwZ{lNuhfj)9;J*oY{Y+qC+ z4bi^E^w??m$qG)$hU;H_(!)}X!y8o`ua3wR>iHb*dtfDJ%b%=cQ5A^DV}IH?-jaBZ z*9IJKYKVA)aKxFl7T0?YBjaWRrm#XFpw4u6as?;RV8QU!c^BXqv6A*@mKWr&5BJ0e zBX5`r#-N`#3$gXIzDB+#+Jj`8`RidRbsEz?@qRDNa+Sd>?*p^k@2u6qENcQQy+4`E zvW6(&e+|nOrpcYbELVY9_KN1$nEVE;sF4>x#olcBZ6m*3D_LoD1KQJ$1m&2FVP3*zHgKGWzlXl1`b;Tez}tT@)N`a zz?2BTFAns0R1_dzc>V}8ioDE^Gn6Crf+J#;CXVk(XeAt2i-}Cj#h5hlk0soC+ zBk;If6&r&`*i5ZzgAq0IJdb|3^IRd+%(2hdtKHRqH*ze+1KUDQHSVAAB2fYmFW?9Q z2Xt$&dbCzmhuLtqw5Du^qhX_&=6nE*ravrV=@Nw5gH(gNXJ4387kCAr1U41=$YAu- z@Ggvg!z99g!Opp4^z{6oC{ifv24q#t8eaPhYr#A)`bzkN8e(z!tzpqLsePt?A-Iz* zw<-@Abyf@1CS^U#BPScXQay*fER?k$ZL4pyOJMfjBD@b>Hh7#tvJC>b)2RPB<( z2k9u!-}wN^v|X>^RorQTqA#tuhr`_ulkgJCQglp=;kr{Fkr%^-5h4D}f~ zEs+Q4nW)A1ma^=6blR{+mD|6tMrG8iP=@Ow3zv(HDEz$s5B?@V?U8acw(vr5?OBY{E5g@iLMxw%B4Nw+rjYDrrF?ed)Rpl{FZ+ItzIAz23J*}YFC&&bc+3?7&u;hee? z225MVWllaME;4Xc;um)(TsQiZ~C9CSZ!OQ(RmwKsiHj_Wcir;B4FnDFkN=E6FPhKBJ)DP-grK!C9B_Kt_}UxL@zeF;v%UTq!xljuh(>>{T; z>QD<&F+m3RBeK2}6+=#2)z*c0Q{DkTG#tTwisF&4OM-5254uG%#gj^2Zj-l;dP2!t zsq%W^A`3W_yp`&%-eU@!6{ookzwjODdvHI#fczICHr8{s z5HB5ZH=j}m`~BMRX-#V-D3<3$$Q{O=KksDZ)IOFTc=tDSpMjZ?o${l+R0u-<+xY+` zi8oq;su5+)DUl$FvKxUnH6HZ#Qwdq>-Ja#$-^jDrh%4F##D-T_8B`Q16LEVTE(vT$ zSQv>Y>PU_#8W;qdrkn|AQO!A(#Ck7awKF)#QV?$IT(36G;+l zXt5DWavh4{^M~qlBlGj~@sUO2=J~<%)I2k^A!DbSz=gkw@YP-!8}R-T{FW+Jv;^`S zd7&MsUYBz=;wOKCDRFniiov=Y_a7cjhNg~aT%Fx$QO+&uG!kp7|0@xgDt~8j;E=V! zbp+j^G;EpMRg{DEKe_LSf4%3Hz$QEdmO*Y-T=;wC)<}*mKb$P7|)yaw4&2+_mvfFX>3BzXuoF6=f0G6-5-ecqI{33P@Wah9LLif;;ZG<8@&b z3k3>-h=PjXf_rjvQB*__q`%LZdDbMQ@O}S!|A6Lso|!YtS?0_+XU_cNWWJ0{&+>S= zH0;6#W%7k>-A^^6|KyWDL}Iqe{pE749s8HF&F$N~(2mv7(`uA|bm)?b+H#Yt*a;{W z_(^WP^uZHTeY8Bar(zuRTbZhZ%vr1aF>D39%~H>y6GP>^#w1zWS6PAaGFH60W^T^v zqI5<+eKY?B>QSC=p%$~4M$cTIVy+_C`aA#X?`lfi==&4srUYC`Kra(@TOA=PY-OPe zKZk6-WE3EmXsr#HftgEeP%MSCR(%H-HE4iiyE8T)5WwGIm~W zxIu2XPi=aT+vCKd({p>&oSGG$RJX^uQ#*twHRR7(eiEz|muD8Qt{wb1-U&dIDf+@6 z8Bkl5E84-&x~go^c7J42L$mO6G8C)nK+A9;o9Z;uA%%AKxM*rE08x^LKdoFHjOBV> zCsBJNnV#^L9_y+{*|Mm|hU)PV^?19`VdG7@zU+k6 zqptso`KarQJxG1k_0{+ z#`}g=c?G#-tnprqg}`xkv1Ektt+82WlWs$@AW0h{*K{v+8~u#;Ev)yt4LPtSuEy3SntN37}1AJH1o~b?5hR$RjkL%U5O=O;F8_^KYR(6l!;kO`0th_ z7#D8cbE@1p80FXZ>KFElTg%n2b^Ll?{o0IFAVjOYW^f6=I7R<)ut_{en)sJ)f)*~OX{*D`bp4Z`V zcx(C}zR*c|hyyWqij45gmBV^@EU8Bbs)zS;L!ahG2G__V-aayqPr0ED9ruPC;491! zo)2yHFXpsSV zSgcA1FiosGLKf2`dxq$R#Ybuc>lK7PN1N{#9~@ef+mV3Q&)L+oW;Wta?X*CP{Ni?saqz|aTG^YI<-+z=L;Ie*Q9(wl7B?fyw^55FX!ia zJ38+vUJ12{Pw1rl@Cn6J`lkgi4EyUAAFP2hmiu4sO_mr}(oLl(sVUV5E<2MEn);YP zPMyFkkKCETUEP?ws~>V~@+jVE{S zaxtw4aaG=gX_LP{@VAOtzrUR|>&u{Vnf0DbLrm6fYaTxzmpqU3CQza#v4XF$+Z}T! zbLg5s$p>E$+Qb1aZe+!6uF~B|_}t}qyAe5_l0};S?>W;sp(n7$3l&K;R@RO7j=76U zXgTzr~PVe-{PsDNBYjO zQtAaBl!x>@=8!FK@66)e>8STwuUBL)_I+ZI_ELbYVuPFX5K3oA1tVONZSgqudA8_= z{!l~7Oo^>HH}qfQuvzHy%6T*R#!WH+SwGGIlBa-Np<*sY$G?ncHUhF3)43v^Vzc;f zS$&=p?HfC@%w7ES4;lPwfxf@@Nj2Gn6jx;WW-JvmTw379{JYDPYly6JpCVDu&mS{G z=7zoOlD1sNGNv{ui{$uve(}_b(Fi(8-YXF7db!ktV{eiMBSjm;ziF;WJD^Es%X&L-?GH z!B)k+U*LR+#rRJ}f5xWKVYT2%faj%kD>pEcrSHfnLSMOsbaN5X%DT59f{=hZ@L28Vlx9vPYHeg|hKVctb48f1z?uNTR5j z+&OqMlZuZJ7y%4R1^B41^lD$tFXG5MD<{!TnPZ8UxY69=ZTCzO(FIh-%1PsG=nVtpDLOD z+h{2%(Ho-k$Qeb4nD>;f=YyOB4iAzj+Ro69@I-03l&j2BVeev86!ESto}ryeq(=)w z-&8JMAjPhN@A!+bAo`cnS?NDrXFw6zt%K+D>arO*FCldPRHZW-@+cu+n#9lFG>nk; z(2tOhnD0sl08Jmfa-QoU1H5mgS|7NRUI$HD@syvn(ji+TH{w}XYpo9J?A2kME#;q- z>+~F}!^5W~tPbmBbyxs3uq$$`4(+JN>M)+R%+(t5yt=U- z)UXzaJY#`)hL^GN{FfIxJf&rltM)O#%OQk!Rcq-haZOlf+opYl8W!<36L&@A5|fi3 zR^E&B|3YuVl3YVNQ`WMA@L5RxqRhY;+nK*3exI-=Hs9z3)*M60laf%+iv|GU={(hh z_cgo)>g>r%gQxpYi_h)!=ljghkE`Qta;QP{F>^n;W18wwpf@bp_;i~kC*|n-x+Lqu z;Sn(83HSC35E{kf9(hc@tEXJ_UK#t!;A3PxQti!&_ir%y32>2_#~oom>vNb)kn( zD6jq}iaN6|x+__9{?**xF*zW`t^$05e!%$_3Ho2Gea9*T-~U?KsF~DDwDK#AT#uKM zGIz@`$m62@y#qCZ-NgWMg!|C6_mry&Qe+OEMPH1r_o3^63%-FssMKzY8Q?^tmc@Oz zbh{OA6s7sBjozbcb&y$T{gf=7QrA_jE!D(_8lYHgijp@Obph|nWGAa|Kd6ePhl{%* zg~L7du|bu|PL2(}heWoBLEY(oXt-u~Icfip@?m(RyrPMN|1y}?yhdU!m5l>qvXQry zHOKzRkze(60wfS5>i(4xEgk4cxPL_!Je_K{Vl|2u*G*!qO1^)k`6(6--dnG6u##TZ zx+9r%eraZt4u{HA3aV4fsT0ZGJ|($$8O5FVuk0m;{;2n_h(A>+4YDV^@J>BUNr7{F z3wxNJ;<>QCZ&e$H=ZF9hcUJ{7OYn+|0EW>CA%ICV9{-1mPL;%aL^3Vw)dbnFpL}B# z15cI|9KG0ZMABy}AWIdHc_J3D7w($U7x3fw0wvZ1qMHk2O#rTTc1NP&ZFPa=DU~yO zn&ur$2K?-MvF(`QQPWD$j_UrqM(Q0l_;_Z}HSc97K zGNJ5tx~9tABWd_zKOy9ctQhIh4h&M z(Y(^mGq)FSwJ&$|HEJ?G#)yw|#`5J}MR`$(9h1>BntX@tA8PZ1P3Np3&M8pt+#7)` zOR%hot3fslMJxLwj#h$?psFgGBSxX5EV#tC>LhwsykZXj*WhTpoMApv zIln);rCM|X?TtvRuGkr7P$)cKDPAOxq$PleTo|@W-EiVwRYVSaJI6tv)85s4wYFC) z5q>`3%vAznS;C``raLnWs@*WhUM(g$Ewpy`NA$iyiR;Ct!J0N@y|_`phrLUA#UyMD z8|%e?j9{CQR5sR&GpbrI67abv;Kpa$rV03*qekn*XU&1t;PV=)q{3&%lMQ^f=7)jL z8_ES5<@3d#I8M zrMI61N+-jj6Zm1E^xrTJqZ#0Ar5cpBQY}@V zP!l~*`~@~vPon7YVKsJTB39c1*~IE<<&N++(v6+LliG@zT)LFX$yhbl3x_^;IkNAQadQ^Z5zeS;?hx9`A2qKp?)@vna*SG-3m+RC_61RE_AdRVcL9z+-SH;&9p zN=N_QSY1JBBP+4WmGt~no$`=Z2+*Xve;xSx`mk@R3A$GnW7S6|>x@x3QqkooD% zwovk41hRbhUaq#PYzB=5Xpk;Ooki4vy01)JfOedy^H%V}n2A?73PaTi z&gO#uim&v&SC6(a1h5djo*$kz8bXa;ao_-}F~>=Q1fR(5+K$W%<)ZymD1*WbY8rc1 z)XAYVCI$tGGDP-|$DLu_7CY@Dz3jXuX;32B@0HpFEtHHY!O8@t)I!%CcMq70O`9tc z$#^92OfvpUfU^J5O$_Hr>3QbnX78sB8T%sAjRahAOERi;aZPD1EMs zAI7+DfVF6)owJo{77I(C+gtrgF_@N&l_LCB6)Q!fVi}=WwXwfj>pw(Dzs8E!!d@wU z;_>)aiuXWm!v3G>Gg<5*3n_wuBvkZt3TPG7|8) zk|y2wJomC{@EM{?Dtw+&-@s=kKMZ_6@Q%XgU}r1GiqG!V>vPZ7v+%j%KULuK5~eW; zpQZiO6h9~~0~?=BDSCYP{3SmTpPhhg;=eyg-W z0zUsoBW`?N=dT8z%cznHpEuPt@Hv_v20qupHIU{#&Q^{UpW?r%MnB(Q$HHfPaTWNy zZF&lPzMZe|xqg}ppO;ef`0#m}EE=YjSJ~%=0olaop8`JY_3Os2;mL*1pD#UjeA@c? zokSbZfTS)-f2W>}PEWBM4`s4XQ3EzauBW6_-u7r2?h9I{?(c&M^>#6Djq|P2o~!Qz zV+wk-?J1v!;;G8bG9nU!1@3*YQ^{Uvv07haD|~0-R`{+H6l&rvt*v#UdUOpXWT)Kq z_0*X2cBguqYB2>gQaR)meGaZI#DY)WZD!4Z zTFJ!~f12^XiL1d9$4=D#MoJUv)e={PEs{%kJU-M8&rL+_0w9~H?WQ~(-csGzgLfvN zwiA^TQJVt4B>VM+NJe3-vP-nrHz3z?|DNu|uS5)$FHS}Sk9n_F!%7^)r zUDO~(04@4I_9<%k?sgY7Tu<@psX>k&o1(vG??h^t0%VgK8Uqi}e}iu9b{cb0Ljx)s z)Ud%p4axN2k`E8z0;T~^$xMa&^bcz|2_npfmkBvn4csD#QS!D&%V#eVg1CwYO%Q&5 zsdz)ZO(u19XWm$Z;VH@D5#s2n>NS;b4jsT#nyyMa?BSl$e5nzhzW~xGl$!t~lF=zk ze3hi~=VU9H5T$acLY=XboDR_T_dyrB{uX*w(Mo4Pos6m*-yO{RHjjcXt`xB>5;DQ$ zxuK?Q1>dDIi?U%aBh@_>mll@wP%L>s z9>ds5k{$Y+n{>!t)wQe;y8Qt1wk6ptHE0u6rE*Q^Zme=+a5*oyVCZT@(QY6%sAL4;2 z>B0{O3AN`D5<1vJ>NS^dE)uG%O1nrXS89aAI}`~)lR}&cvd346jY?6``BLAYq6Shh zlK#Xb7Zv?sQPG#Z6jFb_%|%5MDV~~&BxcJ=MK3FqNTkdk(LOyBsc1UTh4F=oP6Z}Z zbc=4Vhz2#|$0Px&q9PCVkAaH5Jp>gMvKD^M4_oquUoa(Kz8b7WJwt_hmZzqk2LWMF z&#q^VLOsdyhsbHydeoSR3x=xJqyB$8X~$TP-eklM+A-Fnwih1zdbBa;_}8OMYvW;Q zDXG?@*ZxxT5U*ZKDWRmSN3T4cYP!J67z)@}`QtegD{ubOIsQ^>J*uVN8|EO-Tzfsb z1onXE2Hff*&FwrM-+J^)P9j-GnRFpbaS4?O_^|gAUeVZ(80TH<(OpzN{`IJi_HQd< z=yS+P42Hh?Jgqv2;VEH(9xa=77h*UzeRbsp$EmN*OV&(M>8ooG94jR}LP?>7rx&KA z1TE!*6tboKPw<#6<)31*?MW!L^wnQ+bfnZ*yTAY-$tR8wTVGwnWAzl_)K?$5Adwn68x(Oo`szOIR#qg@<)D)!4EZo$joOr2$~X^6q@RE6 z^5MnoLtr6*ONE2aiP2J$hJQivK*G>)4dO~oR|sINYY7n%WEB=p5TCkYw)>cy^pnfmG* zU4?{>Uti5v^^Qkh-Ti;nSAQPoq9R*g?F<=1MHlhi!SwI(n3{@?rmxQLnn*<-o@-Ol zcxfW+UCApN{NP55iY$F~6!njRiq`yU=&Q^4VN1SUkC~G1VKrEj(Myk}uig#_gL*nW zd=%=bUSGXld!E&LwD314?HKD(EmyD1^(c7Gv9Cv`Q1*E3C(VvcU!A-6Sl6TLDJkpG z;fGR97y4=+3fNf5gD189q!t)=@U*oa4H)YpO?y51cNaw|&)nc5%`A!^-+FZT>_oEc z4rFsZ+AiS3-nP22^LcWuN1Lcz{dy$vy_nSep-s-ipI73>S0W`O>S!cAwAV=%&EaK< zgV8rXic|ik0_lo7lBMA<+?&*f`s&gov8HU!kC*hgGbx=Ln!u%fMRJ^P5q=>#+9F49KJ6^wp}mSuYLZ6a@Z1h^pteFjY~%x{ zaX7;lNxxW4mLr6iTq=B=<}ka zMDm9|$I=(w%oREkUVMh?V$=;n;(R($*9tGbkF7c9h9{maB+_!m7-_msYdgAl>^yy( zn7~DK%K}mEdj+rV_~O1|WmECR%!rOJ{_re017X$CP>3(yz>d1ij4xg&?GZ|>D8-B~ zeu|npzSvbZKv`8z#}{v7^PF`0Cz9TFkAWu+02wE6yeIKaGg7n?W`kBdrCa5k&qw?h z;-H!*v`7y+te(47tZ|`j zh4?al8Kd10E$<|ZV;56_ypmvhp@7L5l^NU=Z=y;*M@in#Hs8M~M>Yk~@p|&Vnz#Hg z`TN}=?C1QiF;w&I1}C& zBbKA!2)A|F3cTnI>uJaCSZ&vta%-YN`PI0&FvKBz?-M*4xR~^y!bR|YX!0BeoH(dS z6xDK01(HR#{X4awOdoo!OYljUl(s}Z+(`+(mqxn;Unh!JFZjAS49B(3OcZ<<1KAXO zy99jLdzNmj7f&w1_i;x{@a-1Nxcvt@IU+_XzdA^BqxLxmkOS$@#BHp2iuJjr>=V>j z%_X^Hme6gFmQy-_s%Z*UQ#gY>fxT&mpM(P%JIBfO^7N3hc=+y*J_cK(k9vWeio1U&I?y0PIrxe)wodkewh z6i&pi7~?Fio27ltfg8YYdCZC5?Meb=w^Kv4@T&|VJz6ekC(2DRMHG&U#4$9{#PRom zn_0>7C=$5VX|D|qa3k4r6KePHVvBb#Gio z(c&nc3L9%j@rBH!1KnZ>QI6t!N4U@}m-cFY-q>EDd*^T$x`$D`dUR(w`1!nciRhjP zWE0&DfCsvV>&7O~m9vk*9c@=En!ss4adJy#Tz`Jwy0$CJzdCQ$^vX**1xY-_87*>^N1xhrJ*0 zipIVgl7RS0RCcms624vj*gBUez)Jr1`QC|dL;gOm25aHlkiX4NuU7u9Ykkb}SBGib znk;`)88|b(s}AAuZ#BZ-Wa&<^&}wt{dJ1Wbi&OK!9E5@up79^%)PeYhf_MqfsHxtk zaDe!rZE$hb)h@(u*JUPxRS?xzqOHX%i}Jm9g95nTdZ28Jf8fGOCFEo(crft*wU28IckJ%RlXNR zo$~n0St+p^Nxz;6ao96$dHf8N$b`K$$c3G3idT;vr##L$EfG8UKsK@SgMbfv&)1Dz z%9CrA{GyeGooeK3_oT$6=FhPdviWletZegVBPKT$e_l7xMFF=fXA6r0j>?}d{rE;A7A*XKl?wlA%t`n^ zwR-$hdWfz{}?3{{!3EgKjOWM0w(U)M~B1kT0d^ilsfQk z>Bl!;<-)tYAivl`;eGj)F1+`kc=dR9F32aJnuzx+fNbJDF5tu7p1QF@o?LkUwz-A( zl=`t;24Lx5leNP;FdBY;^9v`wjs0#DHC7AX#(sD9DIl}z{cetYK92qF3`?L_x!?V9 zS9NG!O9?^qSu?9Z^D`7M7J(_H@OLCThq-eg*xK)g`nwQp?{_yeR|x+63KxQhQoMQu zJNLWio|1^*e*oD;aDCu`;9e21w=RQpn(LEi=Cb~}r9_YSBH&#SrE_64dvQxpXTEBWp zd#9Ct_2Uj3*|vVQ)eF+9-S5t}Fjb{~_0SH5CHPHQ6=(BkuvSah&(yCzmx)W*?~b6T zMuN5~7EMcy#q`=#PN`q@f%0J9f#M~wgFQasv3jgH^{ZFCiCBp>v9VIBoDkkmc|~JC z^-I9YR4N--IjVl8gTXBOQyuM%*888&Y!q4g)$=rK(`bpg|7lz;Kdw9ZIQcQn!tzo1 z@qqyZX`n^XpW z;zagaqR2$Dm(h|n0f7L9jdL1-#qr9haf3c=;)~2$gqwuKrjz?G^HR_A%<4&fQyQzd zH>q-d)KZ&z8!mxBqRQm?M58p-sgvKgYh?a-XBEi&m;wf?p9||Uir<+bYZRW+^JV)g zM~V8V_ZAu@@2oZ>&V*E{H{b6W|F8J$VzFtJ_#C>eYJ6VA zH(|~ucT|DTmJ~4Xc^wQ4Ue0ii!hz38m&)i;;PXExDSVdqb>TCY;>U;27MY3o90Ft$ zpZf%S*qf&t8_bgnpK;GI;?p=eR74DdAXEHr%RaJ^Y5U)vIT74d>3`$G=*szvEaX(V zQhxc7Yo*-6qcPpT!(y^hivR6(H8{5=;u(r+YSJs^fXS&*n7%X5g&5lsaSGH2@H6@D zSSerTv3kTfSIXiO6A>eMDNMu+6Yyd0E4-qycXJaEa}|}HE2W#iSQ&L%_&xY}1s{3f zqvKW^AD-f^2tAdb;9K>BsQD-PfrXCKUQ+l_24YzGUf0WnT zQ~HGzF%mu(hF_b(V_`^5wodU`Shs5#3E9t0Nb=c4@(|2R%0D2n1fe>F72I1pORiX4 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

VH8cvfzQ}L{_};_5;urrD*LlHk~?q)Rk1c5 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 z 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

  • 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 z zj2K)ZvR?9Q8GktTOMUZ)yC^%mhJOs-vJPH{ai2SSkA#l1_5ABOdIMt2_8N6Wcg|HO z8GBFsO3B5qzH`x@$FJsq^6}epadFti8NUt&9U3})jNda=>Ym5%N7IT0F@CSS&>O$H zZnD?-m8<#^YK!_dZ~e{ez8s{n0B5}1>lMpkOEx*)n$B!$OoHw4Q)6EX$zUTXD{;s* z1kS`v*?aHgp=XDln}S_jTlA1DV;VSg$1P0^?nrt;o8CCF$eStBpW=iXQ`xmx3Vx1E zZftyJ?%S#+7Apt1nbR0zXC$tSzn^1`YO2SwV`^fJ0I9gXrAPYvN$-8T;ayW@k{I^BHYu>rHuGP3R{2XtZTsHp3SD$mg7BOxz;&W zRq3MNw_#?ShwS2BOVT{hfI{>-rIE$XM#FfY$h55hP>;8taml_FF2~zM&f<+iY2U+( z%6Z)YlDoVP3!kZE*OgV0zEKqfzsjyks$G%%2rhO*Y*nmT=Em$$N;lY53U+$Ipmm=N z#)8&EGWsHy^cj@nl#*^Q1g(_RIe|=SIS>5^-s^_wnzx-idBceXQz5=M&CN*GGq9Sc z9iQb%H;00qM~^a`>xb|NS~E+s4KB%5IrRJ)MxRG~Dx|=_bU(mD20nS0F3#NM7*=sV ztB3yF%OMK-&J=b8GAR|HAEv=-j+s+tc(wghwRwV4d;)ouqPwpkbIh-(FQVK$b7skZ zkC#XF9qZPoBJ{%ox&ln@>rWg&EkdyyFDwr8P)zU{V(U1gfZO+FAW;St+{2jCalDW{ zzdC=X);{FcNBumq7CoSJIrDQ;eVkp3@w-t8VX1I=EqCe^_8X18LeSVNTyFG1W26uA zr(DOvW26)ECz~lN@rc%ZY%rh3BY%@rJ6S;)l4C@>)}A}c>r5<*o5tNOkEYHa;BJ|* zqg*-FcOfGb^CEy+br+}LjYWk(b8WIZH8d}(jScC}4~)KQtkG9pR1V)#Q?&=*O}rH0 zlj}4OzROJ_Y}^nyxedr++1QMp3PhaE%v$Ywz!-zHxnD+CbI}%^j@gHk86@K|D}=;B za6c>1%I;GuAvV#c2JC1kd$7t*4}NjD@XNt^D~RDmu#Qq7{mVI(5=1w4Hps-};y3Vd z;Ym&q@UB*dEfjt~`yo!4g|q{IWRUj#sYRrju8dK&RC?OL@7xjgKX7r6{)3y=xbg9K z!k#{l^DnMG@3cTcp?6}y)9BTiEh;i)#u{+hA2oIXau}wg(HqhD4F(n@4d-ZpY1o`Q zQB71mUY3w`k;zhQ;kRg^dl_dZTQueNbLL7fN_-D9J$E*5#CkG2hJQV0^J|e|vnTN{ zY@4$I&O7Ic#XBKiE65I8DN!IJLZe0;Guug8BmKUQl}`8B)1SIarJc>ca)NUAkL7Rn z@0i%hjCR9?hARC@c|HO&HCVj42#;>Z9&CF!eLYzDBz|yiwB!lw-Apu5v6DP|H%#JO zd$+JZGodE_V!{3lV>gH48o%Bco|)0jjf@)plKTF|?1J^xbj;fvaffHlXC5Pd2l2V_ zd;!Db022Rarc?VgY%}G5rmXz30uw4w27AV$t;RTp?4chp^H~rhQzkRC0z2i#qUrGO zvmM98`ZRqCSyw!QXrirMfAUKp9xs2-K&-Ex#ANm>(X~EIGX1m3oy^#>pkCkQQwx*X zJL8U;3)9)Ssbr>)$BBJ0osH9Uwy<51{0Nq&v!5(;V|FN|8|*3t zJH24Q`jMtHY+nP`5_d*3JM9$Zlu~am1TC}w&NlpVQ>H*!SensxIm6MqtFz)WSC6q1 zwx{9At(>v`<9mij%%f{djJ4tdL&C93!}i2-MsZ24>AF~%Lv~mH@A8XF;HTmAc=7vq zl5-xjOjlkl$tbZ_Lk%7+zgvO)BE#*c5hhtV9|&8Qc&uZhSchBPgW1za=`O|T><_Om z417Q2lC9;R8MAupp|5I>P)hs74>2<%4_Y))W*)%~RE?OtT@bP0e4e3}uXK2O<%Jjb|7W zw3dmsh$+xk#9A$aidZW|VlCEkLsOHVvD!saA#0gr2+|iwieQ1HBGyWc_)Ob!{_B@% zD-e_$Cy+u?K<0d_%}6uGFh%>Z9ki?1D1Y(@Y%m;%|(>*U$Hu+pSc> zTyx3^IMUxUkMrk7m-9FFyky>p+3&yQZ~oLxlwQVzN<6N1Qg81~Djaq+zzPd26H}r*%ypNqH z3ry@4(-9lWNz8ZOBuLCy96rZaS0d+DPmjRZwG-vJ1jb0uj5X{lGu9=rv0sHIjAb2( z6f7_=PWHM4R&<%qNko^x?h%0*^L9gGz?u+=k;5giM2W=Ev#VTv{EZ>8#B%cri6sgo zrU~Vm`>0&vh*i5sA~P*htNh91MPUs^3KPMVD6IGV0ZI)nxqrjga_|5oJf!_|7@>&m zXQ+2GzLR{nAo@jQ%gX#dQBC{`qEtCI_fnQTink_K;H{PI%@r*UMLT9N1t#W;Qn=?JjiadJ5M}j zwsMuHfOCZlNY~wd!n)eBT$S)sxPW;n2=n)-bKY=p^kg=_my<^JmPdrqY`03DQh=!- zQXfLVW2&eM+E>&wKg8;1X}4S%FtG|HnsW8v5ETFIzyTaYs}1;X-((t3f(lRYK8*1c z_q+O^30g(9)O*V)cT*aE@NBEg4^r=tt+0ynCwHlu#at}q?#~-BEj0~fz+~@H7F}|C z8GTb&3i(rC)K`|ax^7Nr=)NX0Hh@N7(Z_no&7fKIz%c9qoT&i)=yGnme5}5L!qFSQ zPE=N>m^cq({SIlW%Ne4RHyk^+o(o#rIf$W&A$31&Gq6UyGkYMZU5T?mJ)Dids2(sP_NBs+?YnD& zA)FW&$Pdoe6_%77QSq$bFRf*(PNwfI^=2)3X)Pxy(q=6gZ)5S`$`(?!6xV4pdGXe1 zUm`@WF`pfayxvoge@0@16#tO_m8R|x%Pr~_h1aRE$W|=41Wg*x1dUJoQ>JTOiv)l2 zUlib3CHRwX^Ws`2WM3s%oF9xo+T|4H>eJ3Y+f^sI`m`TK{}1$Oo6jlNr|sg+Q!@NV z`n2@f%y$2QK5ZK5Kb1bMUf?12PvuFEPYVAZ=+m~3E7zyBwe;4fajGl0oC$={y)uOB z55$cXxD<%k)0-KGp{Tt^Oj^ruyuR{iv4R^}9*QGl@4Ih=nZsPJD$jD>8Y9BaA^I@7 zl6*xS(@^zmy6OD=41*jA=V2&Q#D;U|T2JA0Gloe<<)kA9TghKyk=uAHQxN%6XHlVU zflc9Xs*Eq5Ky(C7MO!-iR2TKqm+x6$^zK-36Qh(;V*vJ0fDOqxEiAC8KDucgAG1GU zxVkcT@5cL6d5xi?q5PgaPy%EbykcD4S^1}cSDD1l$GGqom>=-YG^5Ccw;X#(Im|0I zAn|5DYTcXui-mtdW^lVaN3OCiFUe#_feKetm{9#6X-Mx|rsii-JLp9Hkh@oht+XhR z;7WpB1Uc>=u+m06i*6+3N(=WH)X@kpFU6EZ1*0~k0n1e?KY|50L8NwuX^H4oJKjtx zUqm<2V>_~VKWxwaNaTyn0dvVU2>)k@b0XF*%0F4c6~CE;C3AIa7{FC~-w7Hyj09x> zg0^NTBVRxt&sMjLU`S8VmihlCHwIzLC&k&`{tHEKUvOIJL&U8pn0X#<{) z&5ouY>L5D_IRs`9Y|qDo-6BAvibj75eFbcz5dB{iq80I49u;+Q z&S&m&-W#KtEVZ4OTz>)@upD}o)(Aku={qHShwVjr++1nOQLEf8cSw$I49BjJ=)q z@pcrx#@`C37j}`%Xj!XGF$-&jGwD%wQ$7m24&GUOzp1zU!i~ITwfJRuKbspd+Xza# z{`7nU??sDx!MjkKIJt{^q`x(3(x22v`Z}dQrAPX8pbC6^xUhHmI#-IZyzGbosGU}D z6;nBa%$7Vhb1s6$GgXhT18nva431DE)P&PZTs)v4)ovR+ZAIArOm}_9$BT`=Vo zJDyY0cur-JiVoJ5F#e6bW7@Y3pu=2HX9t%@tYIA7OKcofzENm>R8Vl%VBhIZLuUrr z@8(>(2%@*5^RMVPJ?8E%(gsV1T36Je;`Rx~;re~5klyn#KJ}ENZlRFu^bZQ6*2}#1 zIDgLh)3wtLNiGs)MrOQzcH+$K6F0YsaURTt;< zZ(E{6bNDX#ZWH6u`1C(O@?3Ac=3R*waDo-aE6}j^Fp%Swh z-aTaQi2d_g181;~i&(br+)x?+Dq!rQ1_K5vZF*`feuaKYf$}TlwP1pE`gRx4q-H*D zeC{BDa~;ehdstb-CE_MtqlJR_lUXfBymRf;Id!(weWXy+lzyHTD{bzjMT# zi&f;4YrzU+rR7CgX?`ez_yo+IASPr5mj&$c$V@AFv{=Ch!}eN7U22cqItC=&yszdR zT_{{OgJ#B02N^KGs|y=*9G=uA0!LTs;-ef!B5dk>NSDzgl(d+V@DdQV{=)D!OHIn< zTJMzM*N$q8& zpce^``VlNFAPKG@hUuq30&B=tB7vP_jC~z__ZIQ_G1WGXq%-5Ey2XqaZ$K$O{;R5~ zU6K34`OzBbt5*d2wO`HO(HiDlo)_46|k1N64Zl)TnXx@26HsQ%S$oa z3qi~Hr2_ors)rxJd)<&Bwf#*q$|R_>aUMl=ANP==j_H1cOa8X{kf*L0W#lO)S==gh zlr@K7Np4zHl$$m!G7=VFhY7X(${+=Qo+#zwk@r?5;Tdw1j`u_LQ;Q@{L6-Jeny_xGSKmt&p{L}k*wJT>iJf|8AU;+r za^#f<>)ZIGmE~*#xs!WE5138#;9k)$U#of+EDzg9cb5sWZAK=TGrA}fh>OH7KpME% z+=Sdy8t7~P<3ExI`kP|^Yk8m(fWsD6&I?vMx4bPq#*q6K;8D{YQ3~VRupI==!`<#QGq6L= zxQGmet;txcMJw#7A-oN(&bQ7t_U557QOGQF%wCf_y*T;P3zN%d&n!$XP+u$f@a~Xc zWQlFVtt+wzAmzAXkr!A5zgHl8VxjiePtHKPmo=JvIBK^3TJB z+7+<=z+MR~=AW9UjDFo-CZQx`kFAT$_}c^bH{x@wkOFpw2EUpdB0uXK+x-rv1dV4BM!MnOl2;Oy9 ziFcW$pi?(e!kJm&AuFq5>K9wm&jVD@AX65-HkO+tV1Da~aj?NMF|K01=i+oy9oxCC z7#EgT)3caq>6c}Vt{8W+*C6YuQn#i~Bu(zSJEX)spP;;(W~GHxfI`Yr=B1C8_Oo!_ zpu2sUJ$wZ9ctYx#B9ipTebHKV-?zg~CEmpe_PR*p># zE^@@T6|DarRj0G*fA0WlsQha*{YyoZ$}<{4^b_d958<-%)0`kLS=p?+@+nZYhDVQ^ zIu8Zxyy?PcdUB^z%`nz_wn=@HA2*9tYz;whc>XAZLl)TDQ;wZWxq(1_iN0!0``+jA zA@(!+S1-@=lKWB#7T2EhZRaT^N_mMM;)Nx%N~?(dt>*>g?anmP6~DhjRZ8jA7|u_a zWg2xIg@90P<@-~08Xw&@NegI;HMIAMU#@5_!|jXQHaVhTU&XzkmRoMp_?y{4?WGo> zAMlRrn|>%JT?hqbmyr}WT-Etx$(h(!#*Zi%^!Ssqe)WucvLhAdMh`X4GPuniOBA&8 zWPj04$(p19MTB@NjzR->y ztxS#uJGoKqW&NW)&)o5a^o4dOk5II~ES&*ze|8eDIN(D{guNA0hL%wDPMu6SC_&V=z&96yc$bnr+sfN)MHbmoIc z1??-3N-Wq?5kJTbOB_Y%&7aglJm_D`go0Mxj<1YZ@9Nq{>w`&w^PT&Um$ku4BWf6^ zi_;`#du7x6(x%9_awTU`;FH-y7z|PCeFVPmpDwN>6Y}fDOwzvaN5)PFPppcLTCe+) z<|6oX)2eq^W+gH;PCfl!XiZ913xUUVJDCc86mnY4AB!&ky5LcGn88Pofjl*iBoWrQ z5&O|vQiSdCOsMf^bmb~5eSb=}f9_p_Og8?chKBQ?WMykvaW<969md>_dxB4MXVV2{ zHeE^H{P=2nqKqm!{)4qm*jnq(rg2ol=6-T}@|J*gr#qXja#uK$(GeTzoQ00~s2zVM zU>SK{3VUmnJE5+1C)7pDNugiaT84$RH=!=lyr!Rw7iX6y)ZIiCCRDR5aAkkD*1`(G ztOQ`)K9(u8Uj1I{0YYeF?LK2nw{W+_vgQ2lHFL{YkU@>hmxqS!z;LOA8V zUH70E`Q>a+F>*msG4ifaj5N73>bO(g8FixDB0iP+H8o63P=_LR&|%qVVN&(cv*;uy zz3tK1gChXm44za>GwY=$M}W=r^1@!wr_b`Q2fyg1U-|F#Uk!yByQu%VwxIty3GiI~ z*NE==FH$%SC;y-7zo_BA(|>)gr~ZowD54rtFe<>k=)bPoi~b9^KDGXfw0qQl-T3!W zB2Md1Tt*bJC)b3HU%rpv31W~@+|n_#a436+Xe6;(GY*{a0p*dWc>k|9hMKf`@GrWH z|47EQhR^zV!LFap#|0}r@gBx;%_-*ClRab^fx`VVw-9!&rB6Bbv;vaEe4PK}r?ld| zRNj3hYm}e|y)lxy+lOoUq#=x1G7>l$?9d@rT2~qnJ3VBjstvuHvhYL6ZAjXRa*hH7 zPQFM7)PiL(lD%4!3xw_SW`)voFeeK&z7+BYH-)V+vm)u!&kL`6y((JOCxYDbb8;Mp zt%-ltO=2#fNfIruP>nG92j>oG>3$0G1{H4u-g9f8$@NX^{B zbu@v?t7hpuT>eg>A3jkRur`6_*s#PJhxGf-J&RK)U4;0|k-owi%1la)u0sc0 zw<+LHE~GfUs$I;aKi8|AAEtj%uZhGg1oxLvkj5HG5nR2X@OC%6nhq)_sAlksOt>H3 z%V+0?Nj}DOnf^bwGSs+!wW@>!)`u;G$n;U+(7IQu!c`YDMsBMYi0o%D3&JTA9i622 z8$BL->^OJZC-!+A=0QA<4{6wpl8mbfow{FOX21KB*u?BBfaA*lnw|FFSydfB-hKCy zj{F}tX?=FJk``q&>DyG)6X@lQXUFgH88=Kqg6@33>128{JAlZD&GinA9doL}R!1PQ zpkkjm(~j~+to6=Me&81WMD{|G%2G;Gn$cp#KC_}Oep16`VOfM+>A!v5I;Y>RuEh4r z0iCg$LTe}{E9EWr2VGK9iPeRx9yC28eU>BSRn4xGsf-~Njk=c(qc+TBMo_EPH}{aJ zfK9Ju=d9r1@P>vCNhXg`rhs#k$G*(Sm4QPSm$@^Tcw=GFAoF2Pi0TwY^X`%{kBM>5 z1{aDTLnltsL-|cO!AJzV5Yw1VSzRu&rTsM{r*IU!!}brp3Li4Q>i(29x! zDq_c#7u%D>Q$tkT@!|Ai^&P4;9q({17^)ek`%p;z6RnNg`3I>_cBqd=Cym`+>|1Pi z?|YK`>0*Wv|CZXX!73Es0<`6FIg`4zgO-Qv2e$DDFAux_qi>=7 zjSi1wM=ZFOIyj9zz!!RkHzbm!(JQatro=1rRP5?U|&~%lsIfnRt&fyPuQP)pJ0oB zZAPcr>;+WM4il7ON4J;-!+8 z<)8z6^=}sz35qpKR)n`ZUh{;vsuQ$8aGR6T0xa;DxxV-gNt)^4^1yFRf0lvNVr7}| zwzTHsHO|s^HO+5CTeJ~4QeSZwHOtvib#UQN0SlJrC(X}d>*IP9(o%!g=QC<^N~d^% za49`+j8@TEz;%Y-%(4cf)f;%|XD;qNoKGBu)9M0MQ*1VJ~82cxFr?47%+FgiLubnu}|b-Ow`JN{U}G6olR9KtaN z^(e(%Riu`C5T6z{*FhXG?2~@2U;v+Mc~B>%!?Z9n`ZoP2Id>G^oopby4eG z?ouz)*ZJ4}S^F&3v(CBDm%4F3=0B-_)&Wh>z6|BDFZa5xO|4~3iYct~0X>5OY(~gc zW6P|(bdvB}ubTaV^NvID)BPkN9rnynZ$SKlPAqIr#;1jh8R%slVcVcFBrDMABh2Oz z8Y=ehHdcG{oooNuuU=71*VuD-Ss=Q=XJ~HeKq2>XFp6aT`3V=Jr~@lv*MkmC%;xwD zENtLd0VMm{qiJ@*zBYb=0K)i9NxPqH?q!eFL!R_9NpJV-AqE_kp`So0*<3v#dK&N& z;5zPSX-egf4?d>T}!4?mpO>XsWx_F?$EpO%`2A>#TfbKH8NxH(I;O{ zJl?8t7@L$|cs>CgC-6-$MK3NCof%UnFhW+liLp8Lmu{b~0vex|58uUZVa92dTiCw& zHWda|)D-=UpX2oeBG&M4?yAO^RwfYTn;4OjF+ym@w8uhrzilgU05*A2l&)h4 zJjQ&dlTtC9Z*6d@-xOD88^55g5Ie8+t`B0eNV?evcDz>Z_9qjG}v?F`KJ__ z4f3yGOS17udV7x+BnL9(L;im{w%8AYA9&9-o#}owl*_a*p9GyT&4nz z_pof5pwXpY-pAg}DZ;^4ki)1S`&VyDxwj5HxcUH#ZJq4Z{9_I+YW&|Q)A$dXUR=21 zu}wsG!1GvT_)}*a*nB@Z#-J-cq@bVZEOwW8l#L!+HI$AI*}mcwYZb-u@f=;^FYH|HQudW0=gRvM=69 z!Qx80Re|k$?(|wqlHWPn?X;6Bn||c5%{p)y{~J1RNp-`a zQujbC$3u_KWFTM7=&YEw!TMl_f8D^@q^tbEq`dyw+?&Q;qnmyReQpSix^sziI}0T- z(tpdDvzB~+f60qT4>2nL?QRNXH@bs#p~@$b>sH81;ky0sUoQ--_7*?Muae8?YvP9l z@=K3`;{*yUi~{yI{p(CzelxKh%s4?#sA9Zg7Orv3C(UX#Jlg2(<_vQ; zj#48LU^%$wmT4Ylp-8^v09O&47szj9iLor-F*>;1f6Gu{%l?di;lk>*zPJ`htlg$8 z{$wK!=KCn&%%8fLH*8n5Hj>;fEZoG59ZoMTEnJtD)~)}@-pT}ry}<}FzzNR`r|;HR z&FS`Onof>l=d^qQ%84F5^kV$NAKI`L(m3r!JUJW+FD=+Kc?L}euk74k`xc@| z>izy@(!->Z)lZoh0{7O^-tGX5fspJk4n9=V^P<9J2^dSKY0)yImMXxrD=@@qmS%7x zFwF9LceSc7xFt~aO3~d&YLC?`sj9ziu&G|J`cZw2TmAR`QEjkFH{+Y&II055l914s zT~XM+Q}d+}68;L3|DBMq$fPV65=>sVWyw}@s()% z*(s*>3-Q^xVNMm3ZIL_4~`Xx35y+NJy24?ZrLv7H%VRLpJ zSi%O!RTQk!D4=VE7gtTNwx}gg?*uH5(EZ7z$#>^&GPp1}CoFT-2aSvfKrD`lsBSuR zl>=e>^m+{nj`_6ImyL>Wre8hf6$VndN&tzpTqCfiY>;Hvlf}~lcv#5IHT+HY>=_-> zzFbK+J6FFa{ZS-c9}cg36&2!4^hc&Kve@aaKT0s|(Hf0MsgO>S3h693))7*=m>q<_ zuzt;bzDyrv^hbf6{pzdZhq(K@Cfz@mkd8Z*3K+Yc`(iw;%55FG?=DceQ5u#{)QkBi z#DD_aih9d%IOa-Dj|~6&;hriSx*m0ruE+SC*iU9rK}Uf3v6KU0`wmw*Z~^?o1S8hB z(G5(j!Bp9N$s0zGB}THE67s&YU)E)~E&Qi>{-rh$z&4&i%5bU<(*#sxs$I}xb~5Tn zs$EV8kW!M#RNU;0y!S%gArb~t5Yb|NaP1~-%dFI`iOoy}+Aa!M6I)$pMv@qMM8WBCg55-wGCWTPUGbZGU4>Opn4y9^x{=`( zwU`Q}N1h81?PcgcS1F(6A9J;ut#yUBA_!ZCqae=84Bh1*o$(yS!D0xUkUvanJnCXLBsX1ByM}b3MW{MO}?rn zif9W#%69@cjORNvJeK^8`0Urj7uuG3>c&N*l#X9P!ssqVEPVu}S622~9(yin8<*}` z*;p*JM`2g0us2ydc&6S)*O;r3)~Q@{SsGNj^`vtffzV}yCbt#ICvf+WeUg8xjY#HS z=iaUAPfZ5d*^i~AvyB;>bJifO!uDja_8XG_)+-`ZEs4&bx>ZFq@~@%8`196$H*qS? zHsoSLHubTKv{zmcUUbP+BVryn*pU0BlMxme#;Hc3csQvuWBaM>hK@y59tQ~P(?Ml$ zSD7;c$)Sq>@Sg(vlBtZK#}6?@`YEzIk4U`;O0r#~^z@eqyvw}8Poa>qF`NwW9?mb( zh>qHickzI@A#e?lfFbm-wNTM=a(7U`zFVx=Yy0@xZ2#Bwvq+Ga{rRA)2WdeJ3`u63NEA2nf?pd7kCy9 zn5#kAloU=tp>ZD(w%b&4q|#~F8s7C@sPWl(Lz$A<)zg%`yvwA#jss*j-?W`DitNL4 z7i&JH>0va!r4RA(r&osUsZ8RizY(Zw%yqTJ`a+Ed$Bv9N?p&ZtD{9$lNOr_?x&4dZ z8#-i@$n1=&bg5>vC?0n&Vm-Ivz1wb6OPjpn zUH^g6&OrX@h&^p3Nc+)w{VU$}*Wgjj?1F+KdSOtm%$^M&yEF3Vq))#=>gb47&xS|K zyVdUn{5380{oeCm)bXx=Dg|c3`6nWyuUzI&9|}yt(T@mQ{#zc`I$T@Bks0qcydVVQ zmEdq7_3&H`eC7BJRcW&{#v z)>p&_8U*w=2)LT^<9lxY-RJhv{Lkb9W%3bpQK&SwGA}uhA|yX!lW7?vy|xUm5>`*?h7>HSYaW9`S|p z9ibV~<*br+y%VjNwbZ~UW+ibx!+>y^eQVX7#E9knnoMt~}^{M>zXQA)v zm>Ke4wPB|JQr}5$2%0bZPBqW#I<)b-ZhKWI-LJV}GvE&VdX^g%WX+^sTaI0{X&pIK zryR1i&m0tyDUbD1*xD8zePQ*y&v9ea1wzHvcl{Sn?tIsOVb@Imu;<_PfBCt0L;jOL z3N`#$&v$A6(;@%ZUAXd#G;Rv}$L|Q8_+D-R3^jgV!wXuIE@0Tl{0xzG+-uhvf6d^e zaw>|t;OeYYUM2m&lu3}mYM^5=Ydm7F6v?H1YbSD-mu)Z=6s!0i(c%bUbP;F<$pEXk zdtGG4w!qEp+j+IRPOnUE4RA+Tpstg`8g^Rif(+)--0(U(WG@vBni~liw~tU5@=oLa z8n4eU;EF+w*Yz5&*1D3v?9FZORQey@9H@LMzp171DSuk_k1dVQUUy%1KSJVFZ0mBR z@ebHqCn2?=;e`VK;lNyFq_Hz#@E`F9=}40*aC6&s5>s3B^vZJR(ubTEvLjC$)?z>` z5wrM_fj89nZh^lTc)RhJ(*d_5P`N3P-wvgNv5NCl?G#pIsRkZF)k-|%Q*w1!x9w8A~X)jkrs=5~xKg;c;uvFj$ zo^R;a>yKv({m~b{j~^eM@sD%TEmyJ!cF0C8w=yjotAV0Ie0WS5<57?K(>wW6?6M>2 zvh1q{!NnIf_}Ztvm9^eTulNI5Il{r(CUU%GD+!-r!) zpUan5Zzq3cY<%wW61EJz{abv&WUz{W*;I8aCO*_OIC3RZc)u-fgSWU1*1dFvX-7mf z(4!##E%KBRNPJuwAEH}eYXW8?IRZ0dqo~Y;MGUelIsR#GJWU^wMmAqPrcJF#2u`Xjal2`gynX zmC_gmtcCHAg`I9@+RiI^Nu(4}iBzPj+W^>Q}45I?v92;zt zs)bYsw4B&AGtk%(usW`OIc#l?rUUcCc7RJwJK`5-e?;*i>x^j|h^q0g3bl~5b8e%` zpL-hNC+C&jRwjCha^H)awz*|yEccB_ zdffa-dJ1dr2}sd_KFjy78V9&tbB+gxPqv)cX|3P&yg$;#O^O1r<;2Za=dNx3$hyY$ z3($(45w_kbs{~c4-C7$?tRDq1V-Co7_*b3X!jyM~*2fWxb5B|)Thwfi5%e)SaSSib zG!eIueB=^oJ$dIc>C70@t6_FGNZaV9BVJxe?GYi<3iL*ENGk-SZyTe?0*w7CK!76&L>Cn*=YvWgP_6W!}$7bQ=&D73SHFaFs zLkUm1t{u&bb?$tgfXX$o))by3u)jsEQ+NVmE#QyfEh&`t{Y#)Z*ovamAB6_ImLH?U|p(qGhpFlO2 z?!&3=i;u0Y2sU0e+rK0NyQ7@@_BDGcuELuQ-o<1++dg2s*|Qr)8qPmO?Ef(u6zg_b zBieKNg{<^)@f_<9&iw;bK9`{SPIz8s7U+xa>*QPPfN=V{`eDwleyq>HmG8_#MZc!d zh@Daaft_u}?mdzonte_xk%v@)XLyOaaMid2W{w_Pi>nq|k?)vkjb+jDcX%A;1h|Ms zNPUjWuueJ{5HJ#9$JO8( zyCYX`am`0P6OB;%A$<#_Z#Ooj>9i=od7FDTK!d^@p_1kr%K(8{5&L4qerSc_6W7-P z`=6x0lq+$6GC{JCeV2>7Ylk^ss6y9akJDI$q46;*4JjTvh7o3bo)u2twSpj1QgQw0 z?ez@qzSraB>9)!9C)p#ATR*lrE#rau+JWT`^rx=mTY(aj3EJ*X^`j@$#^;C9p;0hnrU#TZ?`qI` zQ$*OBQpYp|*MHWZyh<(6i#2DynValy6P9C2;_PoT6I{)6Hi=y!jN)W#$?I@sk;T9lPNK;tHpS`Osm5KxM^ z3!ZT_GBKjyh@Cm$=wBpBnsbxO1c8j$Tn1(MvZh3~1h{XOz80g_Peb#wsLZJLxeAZa zAM2+wrcE`Q0Jo_k?@+0?FYpmMKQqGoDL<5>eSs5r7WM_C5~R4BDbBdYO#Y6D!sfv7 zVl3Jm_}eE{W)K`hgtsfuy+40SuI$yqj_o_k11m{?O6V+)XFdaFiCi@d5O8fTNDx%(t z4NI4f9Toh{ZQ!M-qkoteS2^Fk*(-_9wy6qFPAX7U>SqwK_Wx@fy` zqm=Vy%axGz$B<>_-EewAUC3G^?(Z~z45ulR25jGTpZHuZIto%Q&eYFKPDpJ-Kfcyn zB3IQEqspMR13!pbJDiJ6V&5Admf$e=(>s%QR#iAP5>DJnUq-Oj3Nptf~u z+dioFFN#73XgAZe#nvnfBt>Z0_9>?y%gijKz6B8d)&7EatX?N1&bM`JlRT3$( zC(zv0bbcP?a$%pKLcRXKY@!vcwGO3$|IW2}lnmkY1vqut89H&3TVvHlU7@Orw)3|m zRCNTx1NWe==jhjikv4(-|&sydtmHR$Z(??cQZo6wFgHdmrH{%+o= zu=T_G#k3S+k;?&8de%$%!@|}R@&Vb-2R${8l(3zrmX^ol&Wc*Eg>QUfF{qaN)E)`A z%Q=z3UhwMOh??*rXEkk%R(+1xnsELpY0y#-Heqh!pMTY$nSD`0VyC7bnXHxVvQTT%t2OnJdU##$ zt(L8(=ZP1`1(u_Mr7*T#ew%7nl7%GknjW^cIB$L+`hbu0>#uOu%Szjyx|1%BS{seucU&*N$Ie8T^FIv6Fnwb! zYXgHCXMxf{(=_1@G#O452O8!AW}xvj1C6H{Xgtk8<7oz3*v1KZ*+3ibjk9Ttvw!U~ zCmu+*)I;x)`r;@%pfJkfO}Q!I^khcD>xGd}l91aO4F7ge9O(^;ff^LZYdyxrkT3KY z7kBqHEI359$Q>1Ct6jR`uywaPE?$ivmpdnlyS^JYx#MD$nSZ(^i5WMtM&HJM0K;Rl znHrb9r|}VIE%pQhWJ~-NqjXNQA#6_^#>O&iYT~enbq&+ic-G-J3=8GQkLsaLV#V$f zYn07uK4$s-_p-^I?I(j9^^8ca-^$SZWGNUTz9; zT}bFcj6bn`-wC6rcytzw1N)1oKToxlFR}Z*(j>*5O!`;)7I;i`M5=~fO&z7NYsQ1t zNxR>#(sEJ$B}O~1@sfR#Vp%e_XewT$jaJMXwYHqc%{QxR2ryDs8&4BIf}D_XlVjfN>I>FxYIgP@qL||{r;7j|tT%Lr22|37!aC+?NTKnq*dE)e2-6O+Q#KLJJrQ<|f?3-|)VuLO1^v&k^C?2{Wur z(BH%Pw5d_+sj&5ASQZd?dYp!KcD1y9(ezcr!s&6NLRPRXlK$Fkj!`c5^mY4i1lyl_ z1%&3l;+i~AUA)~K-Fz})JWHL{<;Q>wYv zh2ya0<}~>U)Aep3`Wc00e@c4Uj`l!+as4a=WP;08VJNc+I#G|TFpIPO^^)1(#<`77 znmCMA-~x*|XRy#`h83nxn7W-n>K@&mC3ZUv84vUvhuZe3V(|g63zauAmRxZiy3_ z`?kLSdw5)g$0iE^Y+L&RU`PRgBh{b4<<@a$+ei-LfNj3Y+@bs5$$55=t69#;iW5JBdc?x!P}L;{mGBj z$B&L=X&RT1k=lh?U9%CA7>|$<_jg)*ID|CSb&Q!oDkYZhWqXR2qpA+1ogQ?_iY zMRWNkm18RNZ)8&0Dl$wi$dixqsrN0d5V!n+cg@JDi6|p$@%ar+UdDrj!}V6+c0P}d z=}|T4lSu4JG*e1p_UCe8U7*e!h+d`EVI`=07QN!Lq%u~^aQu$Up72G4flvdHqz9}{ z$MnX?)APyvri+UAq4XWMs2@-EjRYPD#})~I4_ z87aubYM+UJ$7ssX5w1{>V#?}z3OE?%?9qV;*KfISo3cp0FBx{J&{#&U-b;e%zMR+l zy#er}tEjciTdM~x=&ayDurjWvFD?%>cAd57di3a zC-h})*Pc_2px6*d<~)CS#xy6C5(8cIvtU5Xt=?jM?EJyJ{Fw>Ygu!-SLBQ+f4Aoi3 z1n&K?;r@Zk+Tw>IKcLztGcTj-A8}qnL1G}<7Y+NwtGx#(g`V#lRCNXmF`phvEmw`c zoe!j@2mJ^Q+1NR~EPQ5WKbU`AMoL2HD$%H!?^9QCo2leZ6cQQUQ1T?RJIFMVOzKSP zINk&t?O&jSV>sHoMF-*2gGy0dDt3?M&HgKJ*^wd|PDE<)P6Q8>m~t)Zjp4I3mIWN` z)#{PqXbWTJaWs~*21j#cY$AiX((nlDQ{LK;QpmCvjy6~NF|opDY2!c_Li(c3xT^7y z^rh8c>0Ixbv%=}IVCeCA41Hi8L)S^g4zEPW$Gx~VMf!|tpyloWAIJJk2M13F2TunF zAJGj55A=C%`v?ce`XDqdAmCqrt$={>c=7S<6JyTZU2yPwIYip8iAiLUE*GH|VR$lSe8&>ni*^gMY#|MxUkU{W+S|G1%p)w; z2;Rp#<7ASP>!II;c3(44Ic2?CKIcsz0t!s!TqWRdnO_Ni-{2kUvNLg|IG%jgmEs-B z*eWYs*ZfMUv8fn->&wNL=!md8exklfd?DwW{N@*v;8(L>45S(6m9Z1Lx%8yI^Llufphmy=m>dp^as*nExuDOMfo)6v?eWn1jW z%b|24bW^0UEw&Q*5h>B+vMqi;6NVW^j@uX|ki?t3--G(e)?1AF$+|zoDJ)e#@q7GN zsFA$pNdq1{R#9ZB+YjHIx4W|sWd-GB9(xG{R-|kaI2^ecIjuB8jM~ZBeua;!!a(Ch z6)MMPtWa51;Tg63U*)YY3-_ak1vZ?Gbz#>;hca4WC^KlB z$Yb^)N*$1@Ju7THp^EHgIGXj>=+0|4+=J^>RbE%ayt+kMr41D_N@vp57|SQ&Tqx}B zCFPH+mEqdH)k>ME@6+eOw0kWx?^V`I`kIPN4L5o*muq;FwI%f;+#3J;)kt|TAbb04*KUI?>feDlG zL=r#E*WidptoBB>&MKSLqHK2FM|=6oW*1G&%7K|b7uiEBaKviRz$+g*j)UMt_YK1W zsEA@6@HW6^v39_CaJ*N}PoN#J>yMh8Jw*e$g`5G%53C61sfgp0z|7%_!V1UZt#-JZ ztTuY%qIn3!wQf?K;wKrE^^UQ=)nIthUjCxnqC~O(ZA0nSUe<1KwG!l_PfIfB{i

    _EYMVaRQ2Upwrh9U(9a!7eWL_6&ZC$H2 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 literal 0 HcmV?d00001 diff --git a/macx64/mpi/openmpi/lib/libmpi.dylib b/macx64/mpi/openmpi/lib/libmpi.dylib new file mode 120000 index 00000000..b39a9abb --- /dev/null +++ b/macx64/mpi/openmpi/lib/libmpi.dylib @@ -0,0 +1 @@ +libmpi.40.dylib \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/libmpi.la b/macx64/mpi/openmpi/lib/libmpi.la new file mode 100755 index 00000000..7b54f14d --- /dev/null +++ b/macx64/mpi/openmpi/lib/libmpi.la @@ -0,0 +1,41 @@ +# libmpi.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libmpi.40.dylib' + +# Names of this library. +library_names='libmpi.40.dylib libmpi.dylib' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-rte.la /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-pal.la -lm -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libmpi. +current=60 +age=20 +revision=1 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib' diff --git a/macx64/mpi/openmpi/lib/libompitrace.40.dylib b/macx64/mpi/openmpi/lib/libompitrace.40.dylib new file mode 100755 index 0000000000000000000000000000000000000000..0546b51dd0d2a51b01612227b6b81f866eee091f GIT binary patch literal 15316 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%0A3;S;8NzW(l9oO)n=X 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


    YW^~X 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

    &m6D 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�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

    6DVRF=yC(_-Vo9gB$TB(n3cpu#oFJXg8NO$M+ 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 |WhZ<%8=c$F0oZCT_UyN@ZZ-_Rf}st!z8qGd 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 literal 0 HcmV?d00001 diff --git a/macx64/mpi/openmpi/lib/libopen-rte.dylib b/macx64/mpi/openmpi/lib/libopen-rte.dylib new file mode 120000 index 00000000..54ad5bab --- /dev/null +++ b/macx64/mpi/openmpi/lib/libopen-rte.dylib @@ -0,0 +1 @@ +libopen-rte.40.dylib \ No newline at end of file diff --git a/macx64/mpi/openmpi/lib/libopen-rte.la b/macx64/mpi/openmpi/lib/libopen-rte.la new file mode 100755 index 00000000..2022c1b8 --- /dev/null +++ b/macx64/mpi/openmpi/lib/libopen-rte.la @@ -0,0 +1,41 @@ +# libopen-rte.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libopen-rte.40.dylib' + +# Names of this library. +library_names='libopen-rte.40.dylib libopen-rte.dylib' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' /Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/libopen-pal.la -lm -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libopen-rte. +current=60 +age=20 +revision=1 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=no + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib' diff --git a/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.la b/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.la new file mode 100755 index 00000000..3009a9f8 --- /dev/null +++ b/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.la @@ -0,0 +1,41 @@ +# libompi_dbg_msgq.la - a libtool library file +# Generated by libtool (GNU libtool) 2.4.6 +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libompi_dbg_msgq.so' + +# Names of this library. +library_names='libompi_dbg_msgq.so libompi_dbg_msgq.so' + +# The name of the static archive. +old_library='' + +# Linker flags that cannot go in dependency_libs. +inherited_linker_flags=' ' + +# Libraries that this one depends upon. +dependency_libs=' -lz' + +# Names of additional weak libraries provided by this library +weak_library_names='' + +# Version information for libompi_dbg_msgq. +current=0 +age=0 +revision=0 + +# Is this an already installed library? +installed=yes + +# Should we warn about portability when linking against -modules? +shouldnotlink=yes + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/Users/brgirgis/Documents/code/idiscovery/cpp-thirdparty-src/mpi/openmpi/install/4.0.1/lib/openmpi' diff --git a/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.so b/macx64/mpi/openmpi/lib/openmpi/libompi_dbg_msgq.so new file mode 100755 index 0000000000000000000000000000000000000000..1b22a99e405b948c248c51867498182c781e7bc9 GIT binary patch literal 51984 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 +[ ] +.P + +Multiple Instruction Multiple Data (MIMD) Model: + +.B mpirun +[ global_options ] + [ local_options1 ] +.B +[ ] : + [ local_options2 ] +.B +[ ] : + ... : + [ local_optionsN ] +.B +[ ] +.P + +Note that in both models, invoking \fImpirun\fP via an absolute path +name is equivalent to specifying the \fI--prefix\fP option with a +\fI

    \fR value equivalent to the directory where \fImpirun\fR +resides, minus its last subdirectory. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local + +. +.\" ************************** +.\" Quick Summary Section +.\" ************************** +.SH QUICK SUMMARY +. +If you are simply looking for how to run an MPI application, you +probably want to use a command line of the following form: + + \fB%\fP mpirun [ -np X ] [ --hostfile ] + +This will run X copies of \fI\fR in your current run-time +environment (if running under a supported resource manager, Open MPI's +\fImpirun\fR will usually automatically use the corresponding resource manager +process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR, +which require the use of a hostfile, or will default to running all X +copies on the localhost), scheduling (by default) in a round-robin fashion by +CPU slot. See the rest of this page for more details. +.P +Please note that mpirun automatically binds processes as of the start of the +v1.8 series. Three binding patterns are used in the absence of any further directives: +.TP 18 +.B Bind to core: +when the number of processes is <= 2 +. +. +.TP +.B Bind to socket: +when the number of processes is > 2 +. +. +.TP +.B Bind to none: +when oversubscribed +. +. +.P +If your application uses threads, then you probably want to ensure that you are +either not bound at all (by specifying --bind-to none), or bound to multiple cores +using an appropriate binding level or specific number of processing elements per +application process. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +. +.I mpirun +will send the name of the directory where it was invoked on the local +node to each of the remote nodes, and attempt to change to that +directory. See the "Current Working Directory" section below for further +details. +.\" +.\" Start options listing +.\" Indent 10 characters from start of first column to start of second column +.TP 10 +.B +The program executable. This is identified as the first non-recognized argument +to mpirun. +. +. +.TP +.B +Pass these run-time arguments to every new process. These must always +be the last arguments to \fImpirun\fP. If an app context file is used, +\fI\fP will be ignored. +. +. +.TP +.B -h\fR,\fP --help +Display help for this command +. +. +.TP +.B -q\fR,\fP --quiet +Suppress informative messages from orterun during application execution. +. +. +.TP +.B -v\fR,\fP --verbose +Be verbose +. +. +.TP +.B -V\fR,\fP --version +Print version number. If no other arguments are given, this will also +cause orterun to exit. +. +. +.TP +.B -N \fR\fP +.br +Launch num processes per node on all allocated nodes (synonym for npernode). +. +. +. +.TP +.B -display-map\fR,\fP --display-map +Display a table showing the mapped location of each process prior to launch. +. +. +. +.TP +.B -display-allocation\fR,\fP --display-allocation +Display the detected resource allocation. +. +. +. +.TP +.B -output-proctable\fR,\fP --output-proctable +Output the debugger proctable after launch. +. +. +. +.TP +.B -dvm\fR,\fP --dvm +Create a persistent distributed virtual machine (DVM). +. +. +. +.TP +.B -max-vm-size\fR,\fP --max-vm-size \fR\fP +Number of processes to run. +. +. +. +.TP +.B -novm\fR,\fP --novm +Execute without creating an allocation-spanning virtual machine (only start +daemons on nodes hosting application procs). +. +. +. +.TP +.B -hnp\fR,\fP --hnp \fR\fP +Specify the URI of the Head Node Process (HNP), or the name of the file (specified as +file:filename) that contains that info. +. +. +. +.P +Use one of the following options to specify which hosts (nodes) of the cluster to run on. Note +that as of the start of the v1.8 release, mpirun will launch a daemon onto each host in the +allocation (as modified by the following options) at the very beginning of execution, regardless +of whether or not application processes will eventually be mapped to execute there. This is +done to allow collection of hardware topology information from the remote nodes, thus allowing +us to map processes against known topology. However, it is a change from the behavior in prior releases +where daemons were only launched \fRafter\fP mapping was complete, and thus only occurred on +nodes where application processes would actually be executing. +. +. +.TP +.B -H\fR,\fP -host\fR,\fP --host \fR\fP +List of hosts on which to invoke processes. +. +. +.TP +.B -hostfile\fR,\fP --hostfile \fR\fP +Provide a hostfile to use. +.\" JJH - Should have man page for how to format a hostfile properly. +. +. +.TP +.B -default-hostfile\fR,\fP --default-hostfile \fR\fP +Provide a default hostfile. +. +. +.TP +.B -machinefile\fR,\fP --machinefile \fR\fP +Synonym for \fI-hostfile\fP. +. +. +. +. +.TP +.B -cpu-set\fR,\fP --cpu-set \fR\fP +Restrict launched processes to the specified logical cpus on each node (comma-separated +list). Note that the binding options will still apply within the specified envelope - e.g., +you can elect to bind each process to only one cpu within the specified cpu set. +. +. +. +.P +The following options specify the number of processes to launch. Note that none +of the options imply a particular binding policy - e.g., requesting N processes +for each socket does not imply that the processes will be bound to the socket. +. +. +.TP +.B -c\fR,\fP -n\fR,\fP --n\fR,\fP -np \fR<#>\fP +Run this many copies of the program on the given nodes. This option +indicates that the specified file is an executable program and not an +application context. If no value is provided for the number of copies to +execute (i.e., neither the "-np" nor its synonyms are provided on the command +line), Open MPI will automatically execute a copy of the program on +each process slot (see below for description of a "process slot"). This +feature, however, can only be used in the SPMD model and will return an +error (without beginning execution of the application) otherwise. +. +. +.TP +.B —map-by ppr:N: +Launch N times the number of objects of the specified type on each node. +. +. +.TP +.B -npersocket\fR,\fP --npersocket \fR<#persocket>\fP +On each node, launch this many processes times the number of processor +sockets on the node. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option. +(deprecated in favor of --map-by ppr:n:socket) +. +. +.TP +.B -npernode\fR,\fP --npernode \fR<#pernode>\fP +On each node, launch this many processes. +(deprecated in favor of --map-by ppr:n:node) +. +. +.TP +.B -pernode\fR,\fP --pernode +On each node, launch one process -- equivalent to \fI-npernode\fP 1. +(deprecated in favor of --map-by ppr:1:node) +. +. +. +. +.P +To map processes: +. +. +.TP +.B --map-by \fR\fP +Map to the specified object, defaults to \fIsocket\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, socket, numa, +board, node, sequential, distance, and ppr. Any object can include +modifiers by adding a \fR:\fP and any combination of PE=n (bind n +processing elements to each proc), SPAN (load +balance the processes across the allocation), OVERSUBSCRIBE (allow +more processes on a node than processing elements), and NOOVERSUBSCRIBE. +This includes PPR, where the pattern would be terminated by another colon +to separate it from the modifiers. +. +.TP +.B -bycore\fR,\fP --bycore +Map processes by core (deprecated in favor of --map-by core) +. +.TP +.B -byslot\fR,\fP --byslot +Map and rank processes round-robin by slot. +. +.TP +.B -nolocal\fR,\fP --nolocal +Do not run any copies of the launched application on the same node as +orterun is running. This option will override listing the localhost +with \fB--host\fR or any other host-specifying mechanism. +. +.TP +.B -nooversubscribe\fR,\fP --nooversubscribe +Do not oversubscribe any nodes; error (without starting any processes) +if the requested number of processes would cause oversubscription. +This option implicitly sets "max_slots" equal to the "slots" value for +each node. (Enabled by default). +. +.TP +.B -oversubscribe\fR,\fP --oversubscribe +Nodes are allowed to be oversubscribed, even on a managed system, and +overloading of processing elements. +. +.TP +.B -bynode\fR,\fP --bynode +Launch processes one per node, cycling by node in a round-robin +fashion. This spreads processes evenly among nodes and assigns +MPI_COMM_WORLD ranks in a round-robin, "by node" manner. +. +.TP +.B -cpu-list\fR,\fP --cpu-list \fR\fP +Comma-delimited list of processor IDs to which to bind processes +[default=NULL]. Processor IDs are interpreted as hwloc logical core +IDs. Run the hwloc \fIlstopo(1)\fR command to see a list of available +cores and their logical IDs. +. +. +. +. +.P +To order processes' ranks in MPI_COMM_WORLD: +. +. +.TP +.B --rank-by \fR\fP +Rank in round-robin fashion according to the specified object, +defaults to \fIslot\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, +socket, numa, board, and node. +. +. +. +. +.P +For process binding: +. +.TP +.B --bind-to \fR\fP +Bind processes to the specified object, defaults to \fIcore\fP. Supported options +include slot, hwthread, core, l1cache, l2cache, l3cache, socket, numa, board, cpu-list, and none. +. +.TP +.B -cpus-per-proc\fR,\fP --cpus-per-proc \fR<#perproc>\fP +Bind each process to the specified number of cpus. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -cpus-per-rank\fR,\fP --cpus-per-rank \fR<#perrank>\fP +Alias for \fI-cpus-per-proc\fP. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -bind-to-core\fR,\fP --bind-to-core +Bind processes to cores (deprecated in favor of --bind-to core) +. +.TP +.B -bind-to-socket\fR,\fP --bind-to-socket +Bind processes to processor sockets (deprecated in favor of --bind-to socket) +. +.TP +.B -report-bindings\fR,\fP --report-bindings +Report any bindings for launched processes. +. +. +. +. +.P +For rankfiles: +. +. +.TP +.B -rf\fR,\fP --rankfile \fR\fP +Provide a rankfile file. +. +. +. +. +.P +To manage standard I/O: +. +. +.TP +.B -output-filename\fR,\fP --output-filename \fR\fP +Redirect the stdout, stderr, and stddiag of all processes to a process-unique version of +the specified filename. Any directories in the filename will automatically be created. +Each output file will consist of filename.id, where the id will be the +processes' rank in MPI_COMM_WORLD, left-filled with +zero's for correct ordering in listings. A relative path value will be converted to an +absolute path based on the cwd where mpirun is executed. Note that this \fIwill not\fP work +on environments where the file system on compute nodes differs from that where mpirun +is executed. +. +. +.TP +.B -stdin\fR,\fP --stdin\fR \fP +The MPI_COMM_WORLD rank of the process that is to receive stdin. The +default is to forward stdin to MPI_COMM_WORLD rank 0, but this option +can be used to forward stdin to any process. It is also acceptable to +specify \fInone\fP, indicating that no processes are to receive stdin. +. +. +.TP +.B -merge-stderr-to-stdout\fR,\fP --merge-stderr-to-stdout +Merge stderr to stdout for each process. +. +. +.TP +.B -tag-output\fR,\fP --tag-output +Tag each line of output to stdout, stderr, and stddiag with \fB[jobid, MCW_rank]\fP +indicating the process jobid and MPI_COMM_WORLD rank of the process that generated the output, +and the channel which generated it. +. +. +.TP +.B -timestamp-output\fR,\fP --timestamp-output +Timestamp each line of output to stdout, stderr, and stddiag. +. +. +.TP +.B -xml\fR,\fP --xml +Provide all output to stdout, stderr, and stddiag in an xml format. +. +. +.TP +.B -xml-file\fR,\fP --xml-file \fR\fP +Provide all output in XML format to the specified file. +. +. +.TP +.B -xterm\fR,\fP --xterm \fR\fP +Display the output from the processes identified by their +MPI_COMM_WORLD ranks in separate xterm windows. The ranks are specified +as a comma-separated list of ranges, with a -1 indicating all. A separate +window will be created for each specified process. +.B Note: +xterm will normally terminate the window upon termination of the process running +within it. However, by adding a "!" to the end of the list of specified ranks, +the proper options will be provided to ensure that xterm keeps the window open +\fIafter\fP the process terminates, thus allowing you to see the process' output. +Each xterm window will subsequently need to be manually closed. +.B Note: +In some environments, xterm may require that the executable be in the user's +path, or be specified in absolute or relative terms. Thus, it may be necessary +to specify a local executable as "./foo" instead of just "foo". If xterm fails to +find the executable, mpirun will hang, but still respond correctly to a ctrl-c. +If this happens, please check that the executable is being specified correctly +and try again. +. +. +. +. +.P +To manage files and runtime environment: +. +. +.TP +.B -path\fR,\fP --path \fR\fP + that will be used when attempting to locate the requested +executables. This is used prior to using the local PATH setting. +. +. +.TP +.B --prefix \fR\fP +Prefix directory that will be used to set the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote node before invoking Open MPI or +the target process. See the "Remote Execution" section, below. +. +. +.TP +.B --noprefix +Disable the automatic --prefix behavior +. +. +.TP +.B -s\fR,\fP --preload-binary +Copy the specified executable(s) to remote machines prior to starting remote processes. The +executables will be copied to the Open MPI session directory and will be deleted upon +completion of the job. +. +. +.TP +.B --preload-files \fR\fP +Preload the comma separated list of files to the current working directory of the remote +machines where processes will be launched prior to starting those processes. +. +. +.TP +.B -set-cwd-to-session-dir\fR,\fP --set-cwd-to-session-dir +Set the working directory of the started processes to their session directory. +. +. +.TP +.B -wd \fR\fP +Synonym for \fI-wdir\fP. +. +. +.TP +.B -wdir \fR\fP +Change to the directory before the user's program executes. +See the "Current Working Directory" section for notes on relative paths. +.B Note: +If the \fI-wdir\fP option appears both on the command line and in an +application context, the context will take precedence over the command +line. Thus, if the path to the desired wdir is different +on the backend nodes, then it must be specified as an absolute path that +is correct for the backend node. +. +. +.TP +.B -x \fR\fP +Export the specified environment variables to the remote nodes before +executing the program. Only one environment variable can be specified +per \fI-x\fP option. Existing environment variables can be specified +or new variable names specified with corresponding values. For +example: + \fB%\fP mpirun -x DISPLAY -x OFILE=/tmp/out ... + +The parser for the \fI-x\fP option is not very sophisticated; it does +not even understand quoted values. Users are advised to set variables +in the environment, and then use \fI-x\fP to export (not define) them. +. +. +. +. +.P +Setting MCA parameters: +. +. +.TP +.B -gmca\fR,\fP --gmca \fR \fP +Pass global MCA parameters that are applicable to all contexts. \fI\fP is +the parameter name; \fI\fP is the parameter value. +. +. +.TP +.B -mca\fR,\fP --mca \fR \fP +Send arguments to various MCA modules. See the "MCA" section, below. +. +. +.TP +.B -am \fR\fP +Aggregate MCA parameter set file list. +. +. +.TP +.B -tune\fR,\fP --tune \fR\fP +Specify a tune file to set arguments for various MCA modules and environment variables. +See the "Setting MCA parameters and environment variables from file" section, below. +. +. +. +. +.P +For debugging: +. +. +.TP +.B -debug\fR,\fP --debug +Invoke the user-level debugger indicated by the \fIorte_base_user_debugger\fP +MCA parameter. +. +. +.TP +.B --get-stack-traces +When paired with the +.B --timeout +option, +.I mpirun +will obtain and print out stack traces from all launched processes +that are still alive when the timeout expires. Note that obtaining +stack traces can take a little time and produce a lot of output, +especially for large process-count jobs. +. +. +.TP +.B -debugger\fR,\fP --debugger \fR\fP +Sequence of debuggers to search for when \fI--debug\fP is used (i.e. +a synonym for \fIorte_base_user_debugger\fP MCA parameter). +. +. +.TP +.B --timeout \fR +The maximum number of seconds that +.I mpirun +(also known as +.I mpiexec\fR,\fI oshrun\fR,\fI orterun\fR,\fI +etc.) +will run. After this many seconds, +.I mpirun +will abort the launched job and exit with a non-zero exit status. +Using +.B --timeout +can be also useful when combined with the +.B --get-stack-traces +option. +. +. +.TP +.B -tv\fR,\fP --tv +Launch processes under the TotalView debugger. +Deprecated backwards compatibility flag. Synonym for \fI--debug\fP. +. +. +. +. +.P +There are also other options: +. +. +.TP +.B --allow-run-as-root +Allow +.I mpirun +to run when executed by the root user +.RI ( mpirun +defaults to aborting when launched as the root user). Be sure to see +the +.I Running as root +section, below, for more detail. +. +. +.TP +.B --app \fR\fP +Provide an appfile, ignoring all other command line options. +. +. +.TP +.B -cf\fR,\fP --cartofile \fR\fP +Provide a cartography file. +. +. +.TP +.B -continuous\fR,\fP --continuous +Job is to run until explicitly terminated. +. +. +.TP +.B -disable-recovery\fR,\fP --disable-recovery +Disable recovery (resets all recovery options to off). +. +. +.TP +.B -do-not-launch\fR,\fP --do-not-launch +Perform all necessary operations to prepare to launch the application, but do not actually launch it. +. +. +.TP +.B -do-not-resolve\fR,\fP --do-not-resolve +Do not attempt to resolve interfaces. +. +. +.TP +.B -enable-recovery\fR,\fP --enable-recovery +Enable recovery from process failure [Default = disabled]. +. +. +.TP +.B -index-argv-by-rank\fR,\fP --index-argv-by-rank +Uniquely index argv[0] for each process using its rank. +. +. +.TP +.B -leave-session-attached\fR,\fP --leave-session-attached +Do not detach OmpiRTE daemons used by this application. This allows error messages from the daemons +as well as the underlying environment (e.g., when failing to launch a daemon) to be output. +. +. +.TP +.B -max-restarts\fR,\fP --max-restarts \fR\fP +Max number of times to restart a failed process. +. +. +.TP +.B -ompi-server\fR,\fP --ompi-server \fR\fP +Specify the URI of the Open MPI server (or the mpirun to be used as the server), +the name of the file (specified as file:filename) that contains that info, or +the PID (specified as pid:#) of the mpirun to be used as the server. +The Open MPI server is used to support multi-application data exchange via +the MPI-2 MPI_Publish_name and MPI_Lookup_name functions. +. +. +.TP +.B -personality\fR,\fP --personality \fR\fP +Comma-separated list of programming model, languages, and containers being used (default="ompi"). +. +. +.TP +.B --ppr \fR\fP +Comma-separated list of number of processes on a given resource type [default: none]. +. +. +.TP +.B -report-child-jobs-separately\fR,\fP --report-child-jobs-separately +Return the exit status of the primary job only. +. +. +.TP +.B -report-events\fR,\fP --report-events \fR\fP +Report events to a tool listening at the specified URI. +. +. +.TP +.B -report-pid\fR,\fP --report-pid \fR\fP +Print out mpirun's PID during startup. The channel must be either a '-' to indicate +that the pid is to be output to stdout, a '+' to indicate that the pid is to be +output to stderr, or a filename to which the pid is to be written. +. +. +.TP +.B -report-uri\fR,\fP --report-uri \fR\fP +Print out mpirun's URI during startup. The channel must be either a '-' to indicate +that the URI is to be output to stdout, a '+' to indicate that the URI is to be +output to stderr, or a filename to which the URI is to be written. +. +. +.TP +.B -show-progress\fR,\fP --show-progress +Output a brief periodic report on launch progress. +. +. +.TP +.B -terminate\fR,\fP --terminate +Terminate the DVM. +. +. +.TP +.B -use-hwthread-cpus\fR,\fP --use-hwthread-cpus +Use hardware threads as independent cpus. +. +. +.TP +.B -use-regexp\fR,\fP --use-regexp +Use regular expressions for launch. +. +. +. +. +.P +The following options are useful for developers; they are not generally +useful to most ORTE and/or MPI users: +. +.TP +.B -d\fR,\fP --debug-devel +Enable debugging of the OmpiRTE (the run-time layer in Open MPI). +This is not generally useful for most users. +. +. +.TP +.B --debug-daemons +Enable debugging of any OmpiRTE daemons used by this application. +. +. +.TP +.B --debug-daemons-file +Enable debugging of any OmpiRTE daemons used by this application, storing +output in files. +. +. +.TP +.B -display-devel-allocation\fR,\fP --display-devel-allocation +Display a detailed list of the allocation being used by this job. +. +. +.TP +.B -display-devel-map\fR,\fP --display-devel-map +Display a more detailed table showing the mapped location of each process prior to launch. +. +. +.TP +.B -display-diffable-map\fR,\fP --display-diffable-map +Display a diffable process map just before launch. +. +. +.TP +.B -display-topo\fR,\fP --display-topo +Display the topology as part of the process map just before launch. +. +. +.TP +.B -launch-agent\fR,\fP --launch-agent +Name of the executable that is to be used to start processes on the remote nodes. The default +is "orted". This option can be used to test new daemon concepts, or to pass options back to the +daemons without having mpirun itself see them. For example, specifying a launch agent of +\fRorted -mca odls_base_verbose 5\fR allows the developer to ask the orted for debugging output +without clutter from mpirun itself. +. +. +.TP +.B --report-state-on-timeout +When paired with the +.B --timeout +command line option, report the run-time subsystem state of each +process when the timeout expires. +. +. +.P +There may be other options listed with \fImpirun --help\fP. +. +. +.SS Environment Variables +. +.TP +.B MPIEXEC_TIMEOUT +Synonym for the +.B --timeout +command line option. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +One invocation of \fImpirun\fP starts an MPI application running under Open +MPI. If the application is single process multiple data (SPMD), the application +can be specified on the \fImpirun\fP command line. + +If the application is multiple instruction multiple data (MIMD), comprising of +multiple programs, the set of programs and argument can be specified in one of +two ways: Extended Command Line Arguments, and Application Context. +.PP +An application context describes the MIMD program set including all arguments +in a separate file. +.\" See appcontext(5) for a description of the application context syntax. +This file essentially contains multiple \fImpirun\fP command lines, less the +command name itself. The ability to specify different options for different +instantiations of a program is another reason to use an application context. +.PP +Extended command line arguments allow for the description of the application +layout on the command line using colons (\fI:\fP) to separate the specification +of programs and arguments. Some options are globally set across all specified +programs (e.g. --hostfile), while others are specific to a single program +(e.g. -np). +. +. +. +.SS Specifying Host Nodes +. +Host nodes can be identified on the \fImpirun\fP command line with the \fI-host\fP +option or in a hostfile. +. +.PP +For example, +. +.TP 4 +mpirun -H aa,aa,bb ./a.out +launches two processes on node aa and one on bb. +. +.PP +Or, consider the hostfile +. + + \fB%\fP cat myhostfile + aa slots=2 + bb slots=2 + cc slots=2 + +. +.PP +Here, we list both the host names (aa, bb, and cc) but also how many "slots" +there are for each. Slots indicate how many processes can potentially execute +on a node. For best performance, the number of slots may be chosen to be the +number of cores on the node or the number of processor sockets. If the hostfile +does not provide slots information, Open MPI will attempt to discover the number +of cores (or hwthreads, if the use-hwthreads-as-cpus option is set) and set the +number of slots to that value. This default behavior also occurs when specifying +the \fI-host\fP option with a single hostname. Thus, the command +. +.TP 4 +mpirun -H aa ./a.out +launches a number of processes equal to the number of cores on node aa. +. +.PP +. +.TP 4 +mpirun -hostfile myhostfile ./a.out +will launch two processes on each of the three nodes. +. +.TP 4 +mpirun -hostfile myhostfile -host aa ./a.out +will launch two processes, both on node aa. +. +.TP 4 +mpirun -hostfile myhostfile -host dd ./a.out +will find no hosts to run on and abort with an error. +That is, the specified host dd is not in the specified hostfile. +. +.PP +When running under resource managers (e.g., SLURM, Torque, etc.), +Open MPI will obtain both the hostnames and the number of slots directly +from the resource manger. +. +.SS Specifying Number of Processes +. +As we have just seen, the number of processes to run can be set using the +hostfile. Other mechanisms exist. +. +.PP +The number of processes launched can be specified as a multiple of the +number of nodes or processor sockets available. For example, +. +.TP 4 +mpirun -H aa,bb -npersocket 2 ./a.out +launches processes 0-3 on node aa and process 4-7 on node bb, +where aa and bb are both dual-socket nodes. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option, +which is discussed in a later section. +. +.TP 4 +mpirun -H aa,bb -npernode 2 ./a.out +launches processes 0-1 on node aa and processes 2-3 on node bb. +. +.TP 4 +mpirun -H aa,bb -npernode 1 ./a.out +launches one process per host node. +. +.TP 4 +mpirun -H aa,bb -pernode ./a.out +is the same as \fI-npernode\fP 1. +. +. +.PP +Another alternative is to specify the number of processes with the +\fI-np\fP option. Consider now the hostfile +. + + \fB%\fP cat myhostfile + aa slots=4 + bb slots=4 + cc slots=4 + +. +.PP +Now, +. +.TP 4 +mpirun -hostfile myhostfile -np 6 ./a.out +will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining +slots in the hostfile will not be used since the \fI-np\fP option indicated +that only 6 processes should be launched. +. +.SS Mapping Processes to Nodes: Using Policies +. +The examples above illustrate the default mapping of process processes +to nodes. This mapping can also be controlled with various +\fImpirun\fP options that describe mapping policies. +. +. +.PP +Consider the same hostfile as above, again with \fI-np\fP 6: +. + + node aa node bb node cc + + mpirun 0 1 2 3 4 5 + + mpirun --map-by node 0 3 1 4 2 5 + + mpirun -nolocal 0 1 2 3 4 5 +. +.PP +The \fI--map-by node\fP option will load balance the processes across +the available nodes, numbering each process in a round-robin fashion. +. +.PP +The \fI-nolocal\fP option prevents any processes from being mapped onto the +local host (in this case node aa). While \fImpirun\fP typically consumes +few system resources, \fI-nolocal\fP can be helpful for launching very +large jobs where \fImpirun\fP may actually need to use noticeable amounts +of memory and/or processing time. +. +.PP +Just as \fI-np\fP can specify fewer processes than there are slots, it can +also oversubscribe the slots. For example, with the same hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will +then add the remaining two processes to whichever nodes it chooses. +. +.PP +One can also specify limits to oversubscription. For example, with the same +hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out +will produce an error since \fI-nooversubscribe\fP prevents oversubscription. +. +.PP +Limits to oversubscription can also be specified in the hostfile itself: +. + % cat myhostfile + aa slots=4 max_slots=4 + bb max_slots=4 + cc slots=4 +. +.PP +The \fImax_slots\fP field specifies such a limit. When it does, the +\fIslots\fP value defaults to the limit. Now: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +causes the first 12 processes to be launched as before, but the remaining +two processes will be forced onto node cc. The other two nodes are +protected by the hostfile against oversubscription by this job. +. +.PP +Using the \fI--nooversubscribe\fR option can be helpful since Open MPI +currently does not get "max_slots" values from the resource manager. +. +.PP +Of course, \fI-np\fP can also be used with the \fI-H\fP or \fI-host\fP +option. For example, +. +.TP 4 +mpirun -H aa,bb -np 8 ./a.out +launches 8 processes. Since only two hosts are specified, after the first +two processes are mapped, one to aa and one to bb, the remaining processes +oversubscribe the specified hosts. +. +.PP +And here is a MIMD example: +. +.TP 4 +mpirun -H aa -np 1 hostname : -H bb,cc -np 2 uptime +will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2 +each running \fIuptime\fP on nodes bb and cc, respectively. +. +.SS Mapping, Ranking, and Binding: Oh My! +. +Open MPI employs a three-phase procedure for assigning process locations and +ranks: +. +.TP 10 +\fBmapping\fP +Assigns a default location to each process +. +.TP 10 +\fBranking\fP +Assigns an MPI_COMM_WORLD rank value to each process +. +.TP 10 +\fBbinding\fP +Constrains each process to run on specific processors +. +.PP +The \fImapping\fP step is used to assign a default location to each process +based on the mapper being employed. Mapping by slot, node, and sequentially results +in the assignment of the processes to the node level. In contrast, mapping by object, allows +the mapper to assign the process to an actual object on each node. +. +.PP +\fBNote:\fP the location assigned to the process is independent of where it will be bound - the +assignment is used solely as input to the binding algorithm. +. +.PP +The mapping of process processes to nodes can be defined not just +with general policies but also, if necessary, using arbitrary mappings +that cannot be described by a simple policy. One can use the "sequential +mapper," which reads the hostfile line by line, assigning processes +to nodes in whatever order the hostfile specifies. Use the +\fI-mca rmaps seq\fP option. For example, using the same hostfile +as before: +. +.PP +mpirun -hostfile myhostfile -mca rmaps seq ./a.out +. +.PP +will launch three processes, one on each of nodes aa, bb, and cc, respectively. +The slot counts don't matter; one process is launched per line on +whatever node is listed on the line. +. +.PP +Another way to specify arbitrary mappings is with a rankfile, which +gives you detailed control over process binding as well. Rankfiles +are discussed below. +. +.PP +The second phase focuses on the \fIranking\fP of the process within +the job's MPI_COMM_WORLD. Open MPI +separates this from the mapping procedure to allow more flexibility in the +relative placement of MPI processes. This is best illustrated by considering the +following two cases where we used the —map-by ppr:2:socket option: +. +.PP + node aa node bb + + rank-by core 0 1 ! 2 3 4 5 ! 6 7 + + rank-by socket 0 2 ! 1 3 4 6 ! 5 7 + + rank-by socket:span 0 4 ! 1 5 2 6 ! 3 7 +. +.PP +Ranking by core and by slot provide the identical result - a simple +progression of MPI_COMM_WORLD ranks across each node. Ranking by +socket does a round-robin ranking within each node until all processes +have been assigned an MCW rank, and then progresses to the next +node. Adding the \fIspan\fP modifier to the ranking directive causes +the ranking algorithm to treat the entire allocation as a single +entity - thus, the MCW ranks are assigned across all sockets before +circling back around to the beginning. +. +.PP +The \fIbinding\fP phase actually binds each process to a given set of processors. This can +improve performance if the operating system is placing processes +suboptimally. For example, it might oversubscribe some multi-core +processor sockets, leaving other sockets idle; this can lead +processes to contend unnecessarily for common resources. Or, it +might spread processes out too widely; this can be suboptimal if +application performance is sensitive to interprocess communication +costs. Binding can also keep the operating system from migrating +processes excessively, regardless of how optimally those processes +were placed to begin with. +. +.PP +The processors to be used for binding can be identified in terms of +topological groupings - e.g., binding to an l3cache will bind each +process to all processors within the scope of a single L3 cache within +their assigned location. Thus, if a process is assigned by the mapper +to a certain socket, then a \fI—bind-to l3cache\fP directive will +cause the process to be bound to the processors that share a single L3 +cache within that socket. +. +.PP +Alternatively, processes can be assigned to processors based on their +local rank on a node using the \fI--bind-to cpu-list:ordered\fP option +with an associated \fI--cpu-list "0,2,5"\fP. In this example, the +first process on a node will be bound to cpu 0, the second process on +the node will be bound to cpu 2, and the third process on the node +will be bound to cpu 5. \fI--bind-to\fP will also accept +\fIcpulist:ortered\fP as a synonym to \fIcpu-list:ordered\fP. Note +that an error will result if more processes are assigned to a node +than cpus are provided. +. +.PP +To help balance loads, the binding directive uses a round-robin method when binding to +levels lower than used in the mapper. For example, consider the case where a job is +mapped to the socket level, and then bound to core. Each socket will have multiple cores, +so if multiple processes are mapped to a given socket, the binding algorithm will assign +each process located to a socket to a unique core in a round-robin manner. +. +.PP +Alternatively, processes mapped by l2cache and then bound to socket will simply be bound +to all the processors in the socket where they are located. In this manner, users can +exert detailed control over relative MCW rank location and binding. +. +.PP +Finally, \fI--report-bindings\fP can be used to report bindings. +. +.PP +As an example, consider a node with two processor sockets, each comprising +four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and +the following additional options: +. + + % mpirun ... --map-by core --bind-to core + [...] ... binding child [...,0] to cpus 0001 + [...] ... binding child [...,1] to cpus 0002 + [...] ... binding child [...,2] to cpus 0004 + [...] ... binding child [...,3] to cpus 0008 + + % mpirun ... --map-by socket --bind-to socket + [...] ... binding child [...,0] to socket 0 cpus 000f + [...] ... binding child [...,1] to socket 1 cpus 00f0 + [...] ... binding child [...,2] to socket 0 cpus 000f + [...] ... binding child [...,3] to socket 1 cpus 00f0 + + % mpirun ... --map-by core:PE=2 --bind-to core + [...] ... binding child [...,0] to cpus 0003 + [...] ... binding child [...,1] to cpus 000c + [...] ... binding child [...,2] to cpus 0030 + [...] ... binding child [...,3] to cpus 00c0 + + % mpirun ... --bind-to none +. +.PP +Here, \fI--report-bindings\fP shows the binding of each process as a mask. +In the first case, the processes bind to successive cores as indicated by +the masks 0001, 0002, 0004, and 0008. In the second case, processes bind +to all cores on successive sockets as indicated by the masks 000f and 00f0. +The processes cycle through the processor sockets in a round-robin fashion +as many times as are needed. In the third case, the masks show us that +2 cores have been bound per process. In the fourth case, binding is +turned off and no bindings are reported. +. +.PP +Open MPI's support for process binding depends on the underlying +operating system. Therefore, certain process binding options may not be available +on every system. +. +.PP +Process binding can also be set with MCA parameters. +Their usage is less convenient than that of \fImpirun\fP options. +On the other hand, MCA parameters can be set not only on the \fImpirun\fP +command line, but alternatively in a system or user mca-params.conf file +or as environment variables, as described in the MCA section below. +Some examples include: +. +.PP + mpirun option MCA parameter key value + + --map-by core rmaps_base_mapping_policy core + --map-by socket rmaps_base_mapping_policy socket + --rank-by core rmaps_base_ranking_policy core + --bind-to core hwloc_base_binding_policy core + --bind-to socket hwloc_base_binding_policy socket + --bind-to none hwloc_base_binding_policy none +. +. +.SS Rankfiles +. +Rankfiles are text files that specify detailed information about how +individual processes should be mapped to nodes, and to which +processor(s) they should be bound. Each line of a rankfile specifies +the location of one process (for MPI jobs, the process' "rank" refers +to its rank in MPI_COMM_WORLD). The general form of each line in the +rankfile is: +. + + rank = slot= +. +.PP +For example: +. + + $ cat myrankfile + rank 0=aa slot=1:0-2 + rank 1=bb slot=0:0,1 + rank 2=cc slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Means that +. + + Rank 0 runs on node aa, bound to logical socket 1, cores 0-2. + Rank 1 runs on node bb, bound to logical socket 0, cores 0 and 1. + Rank 2 runs on node cc, bound to logical cores 1 and 2. +. +.PP +Rankfiles can alternatively be used to specify \fIphysical\fP processor +locations. In this case, the syntax is somewhat different. Sockets are +no longer recognized, and the slot number given must be the number of +the physical PU as most OS's do not assign a unique physical identifier +to each core in the node. Thus, a proper physical rankfile looks something +like the following: +. + + $ cat myphysicalrankfile + rank 0=aa slot=1 + rank 1=bb slot=8 + rank 2=cc slot=6 +. +.PP +This means that +. + + Rank 0 will run on node aa, bound to the core that contains physical PU 1 + Rank 1 will run on node bb, bound to the core that contains physical PU 8 + Rank 2 will run on node cc, bound to the core that contains physical PU 6 +. +.PP +Rankfiles are treated as \fIlogical\fP by default, and the MCA parameter +rmaps_rank_file_physical must be set to 1 to indicate that the rankfile +is to be considered as \fIphysical\fP. +. +.PP +The hostnames listed above are "absolute," meaning that actual +resolveable hostnames are specified. However, hostnames can also be +specified as "relative," meaning that they are specified in relation +to an externally-specified list of hostnames (e.g., by mpirun's --host +argument, a hostfile, or a job scheduler). +. +.PP +The "relative" specification is of the form "+n", where X is an +integer specifying the Xth hostname in the set of all available +hostnames, indexed from 0. For example: +. + + $ cat myrankfile + rank 0=+n0 slot=1:0-2 + rank 1=+n1 slot=0:0,1 + rank 2=+n2 slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Starting with Open MPI v1.7, all socket/core slot locations are be +specified as +.I logical +indexes (the Open MPI v1.6 series used +.I physical +indexes). You can use tools such as HWLOC's "lstopo" to find the +logical indexes of socket and cores. +. +. +.SS Application Context or Executable Program? +. +To distinguish the two different forms, \fImpirun\fP +looks on the command line for \fI--app\fP option. If +it is specified, then the file named on the command line is +assumed to be an application context. If it is not +specified, then the file is assumed to be an executable program. +. +. +. +.SS Locating Files +. +If no relative or absolute path is specified for a file, Open +MPI will first look for files by searching the directories specified +by the \fI--path\fP option. If there is no \fI--path\fP option set or +if the file is not found at the \fI--path\fP location, then Open MPI +will search the user's PATH environment variable as defined on the +source node(s). +.PP +If a relative directory is specified, it must be relative to the initial +working directory determined by the specific starter used. For example when +using the rsh or ssh starters, the initial directory is $HOME by default. Other +starters may set the initial directory to the current working directory from +the invocation of \fImpirun\fP. +. +. +. +.SS Current Working Directory +. +The \fI\-wdir\fP mpirun option (and its synonym, \fI\-wd\fP) allows +the user to change to an arbitrary directory before the program is +invoked. It can also be used in application context files to specify +working directories on specific nodes and/or for specific +applications. +.PP +If the \fI\-wdir\fP option appears both in a context file and on the +command line, the context file directory will override the command +line value. +.PP +If the \fI-wdir\fP option is specified, Open MPI will attempt to +change to the specified directory on all of the remote nodes. If this +fails, \fImpirun\fP will abort. +.PP +If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send +the directory name where \fImpirun\fP was invoked to each of the +remote nodes. The remote nodes will try to change to that +directory. If they are unable (e.g., if the directory does not exist on +that node), then Open MPI will use the default directory determined by +the starter. +.PP +All directory changing occurs before the user's program is invoked; it +does not wait until \fIMPI_INIT\fP is called. +. +. +. +.SS Standard I/O +. +Open MPI directs UNIX standard input to /dev/null on all processes +except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process +inherits standard input from \fImpirun\fP. +.B Note: +The node that invoked \fImpirun\fP need not be the same as the node where the +MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of +\fImpirun\fP's standard input to the rank 0 process. +.PP +Open MPI directs UNIX standard output and error from remote nodes to the node +that invoked \fImpirun\fP and prints it on the standard output/error of +\fImpirun\fP. +Local processes inherit the standard output/error of \fImpirun\fP and transfer +to it directly. +.PP +Thus it is possible to redirect standard I/O for Open MPI applications by +using the typical shell redirection procedure on \fImpirun\fP. + + \fB%\fP mpirun -np 2 my_app < my_input > my_output + +Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will +receive the stream from \fImy_input\fP on stdin. The stdin on all the other +nodes will be tied to /dev/null. However, the stdout from all nodes will +be collected into the \fImy_output\fP file. +. +. +. +.SS Signal Propagation +. +When orterun receives a SIGTERM and SIGINT, it will attempt to kill +the entire job by sending all processes in the job a SIGTERM, waiting +a small number of seconds, then sending all processes in the job a +SIGKILL. +. +.PP +SIGUSR1 and SIGUSR2 signals received by orterun are propagated to +all processes in the job. +. +.PP +A SIGTSTOP signal to mpirun will cause a SIGSTOP signal to be sent +to all of the programs started by mpirun and likewise a SIGCONT signal +to mpirun will cause a SIGCONT sent. +. +.PP +Other signals are not currently propagated +by orterun. +. +. +.SS Process Termination / Signal Handling +. +During the run of an MPI application, if any process dies abnormally +(either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a +signal), \fImpirun\fP will print out an error message and kill the rest of the +MPI application. +.PP +User signal handlers should probably avoid trying to cleanup MPI state +(Open MPI is currently not async-signal-safe; see MPI_Init_thread(3) +for details about +.I MPI_THREAD_MULTIPLE +and thread safety). For example, if a segmentation fault occurs in +\fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user +signal handler is invoked, if this user handler attempts to invoke +\fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already +"in" MPI when the error occurred. Since \fImpirun\fP will notice that +the process died due to a signal, it is probably not necessary (and +safest) for the user to only clean up non-MPI state. +. +. +. +.SS Process Environment +. +Processes in the MPI application inherit their environment from the +Open RTE daemon upon the node on which they are running. The +environment is typically inherited from the user's shell. On remote +nodes, the exact environment is determined by the boot MCA module +used. The \fIrsh\fR launch module, for example, uses either +\fIrsh\fR/\fIssh\fR to launch the Open RTE daemon on remote nodes, and +typically executes one or more of the user's shell-setup files before +launching the Open RTE daemon. When running dynamically linked +applications which require the \fILD_LIBRARY_PATH\fR environment +variable to be set, care must be taken to ensure that it is correctly +set when booting Open MPI. +.PP +See the "Remote Execution" section for more details. +. +. +.SS Remote Execution +. +Open MPI requires that the \fIPATH\fR environment variable be set to +find executables on remote nodes (this is typically only necessary in +\fIrsh\fR- or \fIssh\fR-based environments -- batch/scheduled +environments typically copy the current environment to the execution +of remote jobs, so if the current environment has \fIPATH\fR and/or +\fILD_LIBRARY_PATH\fR set properly, the remote nodes will also have it +set properly). If Open MPI was compiled with shared library support, +it may also be necessary to have the \fILD_LIBRARY_PATH\fR environment +variable set on remote nodes as well (especially to find the shared +libraries required to run user MPI applications). +.PP +However, it is not always desirable or possible to edit shell +startup files to set \fIPATH\fR and/or \fILD_LIBRARY_PATH\fR. The +\fI--prefix\fR option is provided for some simple configurations where +this is not possible. +.PP +The \fI--prefix\fR option takes a single argument: the base directory +on the remote node where Open MPI is installed. Open MPI will use +this directory to set the remote \fIPATH\fR and \fILD_LIBRARY_PATH\fR +before executing any Open MPI or user applications. This allows +running Open MPI jobs without having pre-configured the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote nodes. +.PP +Open MPI adds the basename of the current +node's "bindir" (the directory where Open MPI's executables are +installed) to the prefix and uses that to set the \fIPATH\fR on the +remote node. Similarly, Open MPI adds the basename of the current +node's "libdir" (the directory where Open MPI's libraries are +installed) to the prefix and uses that to set the +\fILD_LIBRARY_PATH\fR on the remote node. For example: +.TP 15 +Local bindir: +/local/node/directory/bin +.TP +Local libdir: +/local/node/directory/lib64 +.PP +If the following command line is used: + + \fB%\fP mpirun --prefix /remote/node/directory + +Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR +and "/remote/node/directory/lib64" to the \fILD_LIBRARY_PATH\fR on the +remote node before attempting to execute anything. +.PP +The \fI--prefix\fR option is not sufficient if the installation paths +on the remote node are different than the local node (e.g., if "/lib" +is used on the local node, but "/lib64" is used on the remote node), +or if the installation paths are something other than a subdirectory +under a common prefix. +.PP +Note that executing \fImpirun\fR via an absolute pathname is +equivalent to specifying \fI--prefix\fR without the last subdirectory +in the absolute pathname to \fImpirun\fR. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local +. +. +. +.SS Exported Environment Variables +. +All environment variables that are named in the form OMPI_* will automatically +be exported to new processes on the local and remote nodes. Environmental +parameters can also be set/forwarded to the new processes using the MCA +parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fImpirun\fP has +been deprecated, but the syntax of the MCA param follows that prior +example. While the syntax of the \fI\-x\fP option and MCA param +allows the definition of new variables, note that the parser +for these options are currently not very sophisticated - it does not even +understand quoted values. Users are advised to set variables in the +environment and use the option to export them; not to define them. +. +. +. +.SS Setting MCA Parameters +. +The \fI-mca\fP switch allows the passing of parameters to various MCA +(Modular Component Architecture) modules. +.\" Open MPI's MCA modules are described in detail in ompimca(7). +MCA modules have direct impact on MPI programs because they allow tunable +parameters to be set at run time (such as which BTL communication device driver +to use, what parameters to pass to that BTL, etc.). +.PP +The \fI-mca\fP switch takes two arguments: \fI\fP and \fI\fP. +The \fI\fP argument generally specifies which MCA module will receive the value. +For example, the \fI\fP "btl" is used to select which BTL to be used for +transporting MPI messages. The \fI\fP argument is the value that is +passed. +For example: +. +.TP 4 +mpirun -mca btl tcp,self -np 1 foo +Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of +"foo" an allocated node. +. +.TP +mpirun -mca btl self -np 1 foo +Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an +allocated node. +.\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7). +.PP +The \fI-mca\fP switch can be used multiple times to specify different +\fI\fP and/or \fI\fP arguments. If the same \fI\fP is +specified more than once, the \fI\fPs are concatenated with a comma +(",") separating them. +.PP +Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables. +The same effect may be accomplished by setting corresponding environment +variables before running \fImpirun\fP. +The form of the environment variables that Open MPI sets is: + + OMPI_MCA_= +.PP +Thus, the \fI-mca\fP switch overrides any previously set environment +variables. The \fI-mca\fP settings similarly override MCA parameters set +in the +$OPAL_PREFIX/etc/openmpi-mca-params.conf or $HOME/.openmpi/mca-params.conf +file. +. +.PP +Unknown \fI\fP arguments are still set as +environment variable -- they are not checked (by \fImpirun\fP) for correctness. +Illegal or incorrect \fI\fP arguments may or may not be reported -- it +depends on the specific MCA module. +.PP +To find the available component types under the MCA architecture, or to find the +available parameters for a specific component, use the \fIompi_info\fP command. +See the \fIompi_info(1)\fP man page for detailed information on the command. +. +. +. +.SS Setting MCA parameters and environment variables from file. +The \fI-tune\fP command line option and its synonym \fI-mca mca_base_envar_file_prefix\fP allows a user +to set mca parameters and environment variables with the syntax described below. +This option requires a single file or list of files separated by "," to follow. +.PP +A valid line in the file may contain zero or many "-x", "-mca", or “--mca” arguments. +The following patterns are supported: -mca var val -mca var "val" -x var=val -x var. +If any argument is duplicated in the file, the last value read will be used. +.PP +MCA parameters and environment specified on the command line have higher precedence than variables specified in the file. +. +. +. +.SS Running as root +. +The Open MPI team strongly advises against executing +.I mpirun +as the root user. MPI applications should be run as regular +(non-root) users. +. +.PP +Reflecting this advice, mpirun will refuse to run as root by default. +To override this default, you can add the +.I --allow-run-as-root +option to the +.I mpirun +command line, or you can set the environmental parameters +.I OMPI_ALLOW_RUN_AS_ROOT=1 +and +.IR OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 . +Note that it takes setting +.I two +environment variables to effect the same behavior as +.I --allow-run-as-root +in order to stress the Open MPI team's strong advice against running +as the root user. After extended discussions with communities who use +containers (where running as the root user is the default), there was +a persistent desire to be able to enable root execution of +.I mpirun +via an environmental control (vs. the existing +.I --allow-run-as-root +command line parameter). The compromise of using +.I two +environment variables was reached: it allows root execution via an +environmental control, but it conveys the Open MPI team's strong +recomendation against this behavior. +. +.SS Exit status +. +There is no standard definition for what \fImpirun\fP should return as an exit +status. After considerable discussion, we settled on the following method for +assigning the \fImpirun\fP exit status (note: in the following description, +the "primary" job is the initial application started by mpirun - all jobs that +are spawned by that job are designated "secondary" jobs): +. +.IP \[bu] 2 +if all processes in the primary job normally terminate with exit status 0, we return 0 +.IP \[bu] +if one or more processes in the primary job normally terminate with non-zero exit status, +we return the exit status of the process with the lowest MPI_COMM_WORLD rank to have a non-zero status +.IP \[bu] +if all processes in the primary job normally terminate with exit status 0, and one or more +processes in a secondary job normally terminate with non-zero exit status, we (a) return +the exit status of the process with the lowest MPI_COMM_WORLD rank in the lowest jobid to have a non-zero +status, and (b) output a message summarizing the exit status of the primary and all secondary jobs. +.IP \[bu] +if the cmd line option --report-child-jobs-separately is set, we will return -only- the +exit status of the primary job. Any non-zero exit status in secondary jobs will be +reported solely in a summary print statement. +. +.PP +By default, OMPI records and notes that MPI processes exited with non-zero termination status. +This is generally not considered an "abnormal termination" - i.e., OMPI will not abort an MPI +job if one or more processes return a non-zero status. Instead, the default behavior simply +reports the number of processes terminating with non-zero status upon completion of the job. +.PP +However, in some cases it can be desirable to have the job abort when any process terminates +with non-zero status. For example, a non-MPI job might detect a bad result from a calculation +and want to abort, but doesn't want to generate a core file. Or an MPI job might continue past +a call to MPI_Finalize, but indicate that all processes should abort due to some post-MPI result. +.PP +It is not anticipated that this situation will occur frequently. However, in the interest of +serving the broader community, OMPI now has a means for allowing users to direct that jobs be +aborted upon any process exiting with non-zero status. Setting the MCA parameter +"orte_abort_on_non_zero_status" to 1 will cause OMPI to abort all processes once any process + exits with non-zero status. +.PP +Terminations caused in this manner will be reported on the console as an "abnormal termination", +with the first process to so exit identified along with its exit status. +.PP +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +Be sure also to see the examples throughout the sections above. +. +.TP 4 +mpirun -np 4 -mca btl ib,tcp,self prog1 +Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the +transport of MPI messages. +. +. +.TP 4 +mpirun -np 4 -mca btl tcp,sm,self +.br +--mca btl_tcp_if_include eth0 prog1 +.br +Run 4 copies of prog1 using the "tcp", "sm" and "self" BTLs for the +transport of MPI messages, with TCP using only the eth0 interface to +communicate. Note that other BTLs have similar if_include MCA +parameters. +. +.\" ************************** +.\" Diagnostics Section +.\" ************************** +. +.\" .SH DIAGNOSTICS +.\" .TP 4 +.\" Error Msg: +.\" Description +. +.\" ************************** +.\" Return Value Section +.\" ************************** +. +.SH RETURN VALUE +. +\fImpirun\fP returns 0 if all processes started by \fImpirun\fP exit after calling +MPI_FINALIZE. A non-zero value is returned if an internal error occurred in +mpirun, or one or more processes exited before calling MPI_FINALIZE. If an +internal error occurred in mpirun, the corresponding error code is returned. +In the event that one or more processes exit before calling MPI_FINALIZE, the +return value of the MPI_COMM_WORLD rank of the process that \fImpirun\fP first notices died +before calling MPI_FINALIZE will be returned. Note that, in general, this will +be the first process that died but is not guaranteed to be so. +. +.PP +If the +.B --timeout +command line option is used and the timeout expires before the job +completes (thereby forcing +.I mpirun +to kill the job) +.I mpirun +will return an exit status equivalent to the value of +.B ETIMEDOUT +(which is typically 110 on Linux and OS X systems). + +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +MPI_Init_thread(3) diff --git a/macx64/mpi/openmpi/share/man/man1/mpif77.1 b/macx64/mpi/openmpi/share/man/man1/mpif77.1 new file mode 100644 index 00000000..4f55a089 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpif77.1 @@ -0,0 +1,48 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH "mpif77,mpif90" 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpif77, mpif90 -- Deprecated Open MPI Fortran wrapper compilers +. +.SH SYNTAX +mpif90 ... +. +.\" ************************** +.\" Description Section +.\" ************************** +. +.SH DESCRIPTION +.PP +The +.I mpif77 +and +.I mpif90 +wrapper compiler names are deprecated, and will disappear in a future +version of Open MPI. You should use the +.I mpifort +wrapper compiler, instead. While they are deprecated, +.I mpif77 +and +.I mpif90 +accept all the same parameters as +.IR mpifort , +and behaves the same as +.IR mpifort . +. +.PP +With +.IR mpifort , +you can compile any Fortran program that uses the "mpif.h", "use mpi", +and/or "use mpi_f08" MPI Fortran interfaces. +. +.PP +See mpifort(1) for more details. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +mpifort(1) +. diff --git a/macx64/mpi/openmpi/share/man/man1/mpif90.1 b/macx64/mpi/openmpi/share/man/man1/mpif90.1 new file mode 100644 index 00000000..4f55a089 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpif90.1 @@ -0,0 +1,48 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH "mpif77,mpif90" 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpif77, mpif90 -- Deprecated Open MPI Fortran wrapper compilers +. +.SH SYNTAX +mpif90 ... +. +.\" ************************** +.\" Description Section +.\" ************************** +. +.SH DESCRIPTION +.PP +The +.I mpif77 +and +.I mpif90 +wrapper compiler names are deprecated, and will disappear in a future +version of Open MPI. You should use the +.I mpifort +wrapper compiler, instead. While they are deprecated, +.I mpif77 +and +.I mpif90 +accept all the same parameters as +.IR mpifort , +and behaves the same as +.IR mpifort . +. +.PP +With +.IR mpifort , +you can compile any Fortran program that uses the "mpif.h", "use mpi", +and/or "use mpi_f08" MPI Fortran interfaces. +. +.PP +See mpifort(1) for more details. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +mpifort(1) +. diff --git a/macx64/mpi/openmpi/share/man/man1/mpifort.1 b/macx64/mpi/openmpi/share/man/man1/mpifort.1 new file mode 100644 index 00000000..44e1f88d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpifort.1 @@ -0,0 +1,265 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2011-2012 Cisco Systems, Inc. All rights reserved. +.TH mpifort 1 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +mpifort -- Open MPI Fortran wrapper compiler +. +.SH SYNTAX +mpifort [-showme|-showme:compile|-showme:link] ... +. +.SH OPTIONS +.TP +--showme +This option comes in several different variants (see below). None of +the variants invokes the underlying compiler; they all provide +information on how the underlying compiler would have been invoked had +.I --showme +not been used. +The basic +.I --showme +option outputs the command line that would be executed to compile the +program. \fBNOTE:\fR If a non-filename argument is passed on the +command line, the \fI-showme\fR option will \fInot\fR display any +additional flags. For example, both "mpifort --showme" and +"mpifort --showme my_source.c" will show all the wrapper-supplied +flags. But "mpifort --showme -v" will only show the underlying +compiler name and "-v". +.TP +--showme:compile +Output the compiler flags that would have been supplied to the +Fortran compiler. +.TP +--showme:link +Output the linker flags that would have been supplied to the +Fortran compiler. +.TP +--showme:command +Outputs the underlying Fortran compiler command (which may be one +or more tokens). +.TP +--showme:incdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying Fortran compiler to indicate where relevant header files +are located. +.TP +--showme:libdirs +Outputs a space-delimited (but otherwise undecorated) list of +directories that the wrapper compiler would have provided to the +underlying linker to indicate where relevant libraries are located. +.TP +--showme:libs +Outputs a space-delimited (but otherwise undecorated) list of library +names that the wrapper compiler would have used to link an +application. For example: "mpi open-rte open-pal util". +.TP +--showme:version +Outputs the version number of Open MPI. +.TP +--showme:help +Output a brief usage help message. +.PP +See the man page for your underlying Fortran compiler for other +options that can be passed through mpifort. +. +. +.SH DESCRIPTION +.PP +Conceptually, the role of these commands is quite simple: +transparently add relevant compiler and linker flags to the user's +command line that are necessary to compile / link Open MPI +programs, and then invoke the underlying compiler to actually perform +the command. +. +.PP +As such, these commands are frequently referred to as "wrapper" +compilers because they do not actually compile or link applications +themselves; they only add in command line flags and invoke the +back-end compiler. +. +. +.SS Background +Open MPI is comprised of three software layers: OPAL (Open Portable +Access Layer), ORTE (Open Run-Time Environment), and OMPI (Open MPI). +There are wrapper compilers for each layer; each layer's wrapper only +links in the libraries relevant for that layer. Specifically, each +layer provides the following wrapper compilers: +. +.TP 4 +OPAL +\fIopalcc\fR and \fIopalc++\fR +. +.TP +ORTE +\fIortecc\fR and \fIortec++\fR +. +.TP +OMPI +\fImpicc\fR, \fImpic++\fR, \fImpicxx\fR, \fImpiCC\fR (only on systems with +case-senstive file systems), and \fImpifort\fR (and its legacy/deprecated +names \fImpif77\fR and \fImpif90\fR). Note +that \fImpic++\fR, \fImpicxx\fR, and \fImpiCC\fR all invoke the same +underlying C++ compiler with the same options. All are provided as +compatibility with other MPI implementations. +. +. +.SS Fortran Notes +.PP +The Fortran wrapper compiler for MPI (\fImpifort\fR, and its +legacy/deprecated names \fImpif77\fR and \fImpif90\fR) can compile and +link MPI applications that use any/all of the MPI Fortran bindings: +.IR mpif.h , +the +.I mpi +module, and the +.I mpi_f08 +module (assuming Open MPI was installed with support for each of these +Fortran bindings). Specifically: it is no longer necessary to use +different wrapper compilers for applications that use +.I mpif.h +vs. applications that use the +.I mpi +module -- just use +.I mpifort +for all Fortran MPI applications. +. +.PP +Note, however, that the Fortran compiler may require additional +command-line options to enforce a specific Fortran dialect. For +example, in some versions of the IBM XLF compiler, if xlf90 is the +underlying Fortran compiler, +.IR -qfixed +may be necessary to compile fixed-format Fortran source files. +. +.PP +Finally, note that +.I mpifort +will be inoperative and will return an error on use if Fortran support +was not built into the MP Ilayer. +. +. +.SS Overview +\fImpifort\fR is a convenience wrappers for the underlying +Fortran compiler. Translation of an Open MPI program requires the +linkage of the Open MPI-specific libraries which may not reside in +one of the standard search directories of ld(1). It also often +requires the inclusion of header files what may also not be found in a +standard location. +. +.PP +\fImpifort\fR passes its arguments to the underlying Fortran +compiler along with the -I, -L and -l options required by Open MPI +programs. +. +.PP +The Open MPI Team \fIstrongly\fR encourages using the wrapper +compilers instead of attempting to link to the Open MPI libraries +manually. This allows the specific implementation of Open MPI to +change without forcing changes to linker directives in users' +Makefiles. Indeed, the specific set of flags and libraries used by +the wrapper compilers depends on how Open MPI was configured and +built; the values can change between different installations of the +same version of Open MPI. +. +.PP +Indeed, since the wrappers are simply thin shells on top of an +underlying compiler, there are very, very few compelling reasons +\fInot\fR to use \fImpifort\fR. When it is not possible to use the +wrappers directly, the \fI-showme:compile\fR and \fI-showme:link\fR +options should be used to determine what flags the wrappers would have +used. For example: +. +.PP +shell$ cc -c file1.c `mpicc -showme:compile` +. +.PP +shell$ cc -c file2.c `mpicc -showme:compile` +. +.PP +shell$ cc file1.o file2.o `mpicc -showme:link` -o my_mpi_program +. +. +.SH NOTES +.PP +It is possible to make the wrapper compilers multi-lib aware. That +is, the libraries and includes specified may differ based on the +compiler flags specified (for example, with the GNU compilers on +Linux, a different library path may be used if -m32 is seen versus +-m64 being seen). This is not the default behavior in a standard +build, but can be activated (for example, in a binary package +providing both 32 and 64 bit support). More information can be found +at: +.PP + https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +. +. +.SH FILES +.PP +The string that the wrapper compilers insert into the command line +before invoking the underlying compiler are stored in a text file +created by Open MPI and installed to +\fI$pkgdata/mpifort-wrapper-data.txt\fR, where \fI$pkgdata\fR +is typically \fI$prefix/share/openmpi\fR, and \fI$prefix\fR is the top +installation directory of Open MPI. +. +.PP +It is rarely necessary to edit this file, but it can be examined to +gain insight into what flags the wrappers are placing on the command +line. +. +. +.SH ENVIRONMENT VARIABLES +.PP +By default, the wrappers use the compilers that were selected when +Open MPI was configured. These compilers were either found +automatically by Open MPI's "configure" script, or were selected by +the user in the CC, CXX, F77, and/or FC environment variables +before "configure" was invoked. Additionally, other arguments +specific to the compiler may have been selected by configure. +. +.PP +These values can be selectively overridden by either editing the text +files containing this configuration information (see the \fBFILES\fR +section), or by setting selected environment variables of the +form "OMPI_value". +. +.PP +Valid value names are: +. +.TP +CPPFLAGS +Flags added when invoking the preprocessor (C or C++) +. +.TP +LDFLAGS +Flags added when invoking the linker (C, C++, or Fortran) +. +.TP +LIBS +Libraries added when invoking the linker (C, C++, or Fortran) +. +.TP +CC +C compiler +. +.TP +CFLAGS +C compiler flags +. +.TP +CXX +C++ compiler +. +.TP +CXXFLAGS +C++ compiler flags +. +. +.TP +FC +Fortran compiler +. +.TP +FCFLAGS +Fortran compiler flags diff --git a/macx64/mpi/openmpi/share/man/man1/mpirun.1 b/macx64/mpi/openmpi/share/man/man1/mpirun.1 new file mode 100644 index 00000000..e906e1f4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/mpirun.1 @@ -0,0 +1,1763 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2009-2018 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +.\" Copyright (c) 2017 Los Alamos National Security, LLC. All rights +.\" reserved. +.\" $COPYRIGHT$ +.\" +.\" Man page for ORTE's orterun command +.\" +.\" .TH name section center-footer left-footer center-header +.TH MPIRUN 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +orterun, mpirun, mpiexec \- Execute serial and parallel jobs in Open MPI. +oshrun, shmemrun \- Execute serial and parallel jobs in Open SHMEM. + +.B Note: +\fImpirun\fP, \fImpiexec\fP, and \fIorterun\fP are all synonyms for each +other as well as \fIoshrun\fP, \fIshmemrun\fP in case Open SHMEM is installed. +Using any of the names will produce the same behavior. +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.PP +Single Process Multiple Data (SPMD) Model: + +.B mpirun +[ options ] +.B +[ ] +.P + +Multiple Instruction Multiple Data (MIMD) Model: + +.B mpirun +[ global_options ] + [ local_options1 ] +.B +[ ] : + [ local_options2 ] +.B +[ ] : + ... : + [ local_optionsN ] +.B +[ ] +.P + +Note that in both models, invoking \fImpirun\fP via an absolute path +name is equivalent to specifying the \fI--prefix\fP option with a +\fI\fR value equivalent to the directory where \fImpirun\fR +resides, minus its last subdirectory. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local + +. +.\" ************************** +.\" Quick Summary Section +.\" ************************** +.SH QUICK SUMMARY +. +If you are simply looking for how to run an MPI application, you +probably want to use a command line of the following form: + + \fB%\fP mpirun [ -np X ] [ --hostfile ] + +This will run X copies of \fI\fR in your current run-time +environment (if running under a supported resource manager, Open MPI's +\fImpirun\fR will usually automatically use the corresponding resource manager +process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR, +which require the use of a hostfile, or will default to running all X +copies on the localhost), scheduling (by default) in a round-robin fashion by +CPU slot. See the rest of this page for more details. +.P +Please note that mpirun automatically binds processes as of the start of the +v1.8 series. Three binding patterns are used in the absence of any further directives: +.TP 18 +.B Bind to core: +when the number of processes is <= 2 +. +. +.TP +.B Bind to socket: +when the number of processes is > 2 +. +. +.TP +.B Bind to none: +when oversubscribed +. +. +.P +If your application uses threads, then you probably want to ensure that you are +either not bound at all (by specifying --bind-to none), or bound to multiple cores +using an appropriate binding level or specific number of processing elements per +application process. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +. +.I mpirun +will send the name of the directory where it was invoked on the local +node to each of the remote nodes, and attempt to change to that +directory. See the "Current Working Directory" section below for further +details. +.\" +.\" Start options listing +.\" Indent 10 characters from start of first column to start of second column +.TP 10 +.B +The program executable. This is identified as the first non-recognized argument +to mpirun. +. +. +.TP +.B +Pass these run-time arguments to every new process. These must always +be the last arguments to \fImpirun\fP. If an app context file is used, +\fI\fP will be ignored. +. +. +.TP +.B -h\fR,\fP --help +Display help for this command +. +. +.TP +.B -q\fR,\fP --quiet +Suppress informative messages from orterun during application execution. +. +. +.TP +.B -v\fR,\fP --verbose +Be verbose +. +. +.TP +.B -V\fR,\fP --version +Print version number. If no other arguments are given, this will also +cause orterun to exit. +. +. +.TP +.B -N \fR\fP +.br +Launch num processes per node on all allocated nodes (synonym for npernode). +. +. +. +.TP +.B -display-map\fR,\fP --display-map +Display a table showing the mapped location of each process prior to launch. +. +. +. +.TP +.B -display-allocation\fR,\fP --display-allocation +Display the detected resource allocation. +. +. +. +.TP +.B -output-proctable\fR,\fP --output-proctable +Output the debugger proctable after launch. +. +. +. +.TP +.B -dvm\fR,\fP --dvm +Create a persistent distributed virtual machine (DVM). +. +. +. +.TP +.B -max-vm-size\fR,\fP --max-vm-size \fR\fP +Number of processes to run. +. +. +. +.TP +.B -novm\fR,\fP --novm +Execute without creating an allocation-spanning virtual machine (only start +daemons on nodes hosting application procs). +. +. +. +.TP +.B -hnp\fR,\fP --hnp \fR\fP +Specify the URI of the Head Node Process (HNP), or the name of the file (specified as +file:filename) that contains that info. +. +. +. +.P +Use one of the following options to specify which hosts (nodes) of the cluster to run on. Note +that as of the start of the v1.8 release, mpirun will launch a daemon onto each host in the +allocation (as modified by the following options) at the very beginning of execution, regardless +of whether or not application processes will eventually be mapped to execute there. This is +done to allow collection of hardware topology information from the remote nodes, thus allowing +us to map processes against known topology. However, it is a change from the behavior in prior releases +where daemons were only launched \fRafter\fP mapping was complete, and thus only occurred on +nodes where application processes would actually be executing. +. +. +.TP +.B -H\fR,\fP -host\fR,\fP --host \fR\fP +List of hosts on which to invoke processes. +. +. +.TP +.B -hostfile\fR,\fP --hostfile \fR\fP +Provide a hostfile to use. +.\" JJH - Should have man page for how to format a hostfile properly. +. +. +.TP +.B -default-hostfile\fR,\fP --default-hostfile \fR\fP +Provide a default hostfile. +. +. +.TP +.B -machinefile\fR,\fP --machinefile \fR\fP +Synonym for \fI-hostfile\fP. +. +. +. +. +.TP +.B -cpu-set\fR,\fP --cpu-set \fR\fP +Restrict launched processes to the specified logical cpus on each node (comma-separated +list). Note that the binding options will still apply within the specified envelope - e.g., +you can elect to bind each process to only one cpu within the specified cpu set. +. +. +. +.P +The following options specify the number of processes to launch. Note that none +of the options imply a particular binding policy - e.g., requesting N processes +for each socket does not imply that the processes will be bound to the socket. +. +. +.TP +.B -c\fR,\fP -n\fR,\fP --n\fR,\fP -np \fR<#>\fP +Run this many copies of the program on the given nodes. This option +indicates that the specified file is an executable program and not an +application context. If no value is provided for the number of copies to +execute (i.e., neither the "-np" nor its synonyms are provided on the command +line), Open MPI will automatically execute a copy of the program on +each process slot (see below for description of a "process slot"). This +feature, however, can only be used in the SPMD model and will return an +error (without beginning execution of the application) otherwise. +. +. +.TP +.B —map-by ppr:N: +Launch N times the number of objects of the specified type on each node. +. +. +.TP +.B -npersocket\fR,\fP --npersocket \fR<#persocket>\fP +On each node, launch this many processes times the number of processor +sockets on the node. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option. +(deprecated in favor of --map-by ppr:n:socket) +. +. +.TP +.B -npernode\fR,\fP --npernode \fR<#pernode>\fP +On each node, launch this many processes. +(deprecated in favor of --map-by ppr:n:node) +. +. +.TP +.B -pernode\fR,\fP --pernode +On each node, launch one process -- equivalent to \fI-npernode\fP 1. +(deprecated in favor of --map-by ppr:1:node) +. +. +. +. +.P +To map processes: +. +. +.TP +.B --map-by \fR\fP +Map to the specified object, defaults to \fIsocket\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, socket, numa, +board, node, sequential, distance, and ppr. Any object can include +modifiers by adding a \fR:\fP and any combination of PE=n (bind n +processing elements to each proc), SPAN (load +balance the processes across the allocation), OVERSUBSCRIBE (allow +more processes on a node than processing elements), and NOOVERSUBSCRIBE. +This includes PPR, where the pattern would be terminated by another colon +to separate it from the modifiers. +. +.TP +.B -bycore\fR,\fP --bycore +Map processes by core (deprecated in favor of --map-by core) +. +.TP +.B -byslot\fR,\fP --byslot +Map and rank processes round-robin by slot. +. +.TP +.B -nolocal\fR,\fP --nolocal +Do not run any copies of the launched application on the same node as +orterun is running. This option will override listing the localhost +with \fB--host\fR or any other host-specifying mechanism. +. +.TP +.B -nooversubscribe\fR,\fP --nooversubscribe +Do not oversubscribe any nodes; error (without starting any processes) +if the requested number of processes would cause oversubscription. +This option implicitly sets "max_slots" equal to the "slots" value for +each node. (Enabled by default). +. +.TP +.B -oversubscribe\fR,\fP --oversubscribe +Nodes are allowed to be oversubscribed, even on a managed system, and +overloading of processing elements. +. +.TP +.B -bynode\fR,\fP --bynode +Launch processes one per node, cycling by node in a round-robin +fashion. This spreads processes evenly among nodes and assigns +MPI_COMM_WORLD ranks in a round-robin, "by node" manner. +. +.TP +.B -cpu-list\fR,\fP --cpu-list \fR\fP +Comma-delimited list of processor IDs to which to bind processes +[default=NULL]. Processor IDs are interpreted as hwloc logical core +IDs. Run the hwloc \fIlstopo(1)\fR command to see a list of available +cores and their logical IDs. +. +. +. +. +.P +To order processes' ranks in MPI_COMM_WORLD: +. +. +.TP +.B --rank-by \fR\fP +Rank in round-robin fashion according to the specified object, +defaults to \fIslot\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, +socket, numa, board, and node. +. +. +. +. +.P +For process binding: +. +.TP +.B --bind-to \fR\fP +Bind processes to the specified object, defaults to \fIcore\fP. Supported options +include slot, hwthread, core, l1cache, l2cache, l3cache, socket, numa, board, cpu-list, and none. +. +.TP +.B -cpus-per-proc\fR,\fP --cpus-per-proc \fR<#perproc>\fP +Bind each process to the specified number of cpus. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -cpus-per-rank\fR,\fP --cpus-per-rank \fR<#perrank>\fP +Alias for \fI-cpus-per-proc\fP. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -bind-to-core\fR,\fP --bind-to-core +Bind processes to cores (deprecated in favor of --bind-to core) +. +.TP +.B -bind-to-socket\fR,\fP --bind-to-socket +Bind processes to processor sockets (deprecated in favor of --bind-to socket) +. +.TP +.B -report-bindings\fR,\fP --report-bindings +Report any bindings for launched processes. +. +. +. +. +.P +For rankfiles: +. +. +.TP +.B -rf\fR,\fP --rankfile \fR\fP +Provide a rankfile file. +. +. +. +. +.P +To manage standard I/O: +. +. +.TP +.B -output-filename\fR,\fP --output-filename \fR\fP +Redirect the stdout, stderr, and stddiag of all processes to a process-unique version of +the specified filename. Any directories in the filename will automatically be created. +Each output file will consist of filename.id, where the id will be the +processes' rank in MPI_COMM_WORLD, left-filled with +zero's for correct ordering in listings. A relative path value will be converted to an +absolute path based on the cwd where mpirun is executed. Note that this \fIwill not\fP work +on environments where the file system on compute nodes differs from that where mpirun +is executed. +. +. +.TP +.B -stdin\fR,\fP --stdin\fR \fP +The MPI_COMM_WORLD rank of the process that is to receive stdin. The +default is to forward stdin to MPI_COMM_WORLD rank 0, but this option +can be used to forward stdin to any process. It is also acceptable to +specify \fInone\fP, indicating that no processes are to receive stdin. +. +. +.TP +.B -merge-stderr-to-stdout\fR,\fP --merge-stderr-to-stdout +Merge stderr to stdout for each process. +. +. +.TP +.B -tag-output\fR,\fP --tag-output +Tag each line of output to stdout, stderr, and stddiag with \fB[jobid, MCW_rank]\fP +indicating the process jobid and MPI_COMM_WORLD rank of the process that generated the output, +and the channel which generated it. +. +. +.TP +.B -timestamp-output\fR,\fP --timestamp-output +Timestamp each line of output to stdout, stderr, and stddiag. +. +. +.TP +.B -xml\fR,\fP --xml +Provide all output to stdout, stderr, and stddiag in an xml format. +. +. +.TP +.B -xml-file\fR,\fP --xml-file \fR\fP +Provide all output in XML format to the specified file. +. +. +.TP +.B -xterm\fR,\fP --xterm \fR\fP +Display the output from the processes identified by their +MPI_COMM_WORLD ranks in separate xterm windows. The ranks are specified +as a comma-separated list of ranges, with a -1 indicating all. A separate +window will be created for each specified process. +.B Note: +xterm will normally terminate the window upon termination of the process running +within it. However, by adding a "!" to the end of the list of specified ranks, +the proper options will be provided to ensure that xterm keeps the window open +\fIafter\fP the process terminates, thus allowing you to see the process' output. +Each xterm window will subsequently need to be manually closed. +.B Note: +In some environments, xterm may require that the executable be in the user's +path, or be specified in absolute or relative terms. Thus, it may be necessary +to specify a local executable as "./foo" instead of just "foo". If xterm fails to +find the executable, mpirun will hang, but still respond correctly to a ctrl-c. +If this happens, please check that the executable is being specified correctly +and try again. +. +. +. +. +.P +To manage files and runtime environment: +. +. +.TP +.B -path\fR,\fP --path \fR\fP + that will be used when attempting to locate the requested +executables. This is used prior to using the local PATH setting. +. +. +.TP +.B --prefix \fR\fP +Prefix directory that will be used to set the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote node before invoking Open MPI or +the target process. See the "Remote Execution" section, below. +. +. +.TP +.B --noprefix +Disable the automatic --prefix behavior +. +. +.TP +.B -s\fR,\fP --preload-binary +Copy the specified executable(s) to remote machines prior to starting remote processes. The +executables will be copied to the Open MPI session directory and will be deleted upon +completion of the job. +. +. +.TP +.B --preload-files \fR\fP +Preload the comma separated list of files to the current working directory of the remote +machines where processes will be launched prior to starting those processes. +. +. +.TP +.B -set-cwd-to-session-dir\fR,\fP --set-cwd-to-session-dir +Set the working directory of the started processes to their session directory. +. +. +.TP +.B -wd \fR\fP +Synonym for \fI-wdir\fP. +. +. +.TP +.B -wdir \fR\fP +Change to the directory before the user's program executes. +See the "Current Working Directory" section for notes on relative paths. +.B Note: +If the \fI-wdir\fP option appears both on the command line and in an +application context, the context will take precedence over the command +line. Thus, if the path to the desired wdir is different +on the backend nodes, then it must be specified as an absolute path that +is correct for the backend node. +. +. +.TP +.B -x \fR\fP +Export the specified environment variables to the remote nodes before +executing the program. Only one environment variable can be specified +per \fI-x\fP option. Existing environment variables can be specified +or new variable names specified with corresponding values. For +example: + \fB%\fP mpirun -x DISPLAY -x OFILE=/tmp/out ... + +The parser for the \fI-x\fP option is not very sophisticated; it does +not even understand quoted values. Users are advised to set variables +in the environment, and then use \fI-x\fP to export (not define) them. +. +. +. +. +.P +Setting MCA parameters: +. +. +.TP +.B -gmca\fR,\fP --gmca \fR \fP +Pass global MCA parameters that are applicable to all contexts. \fI\fP is +the parameter name; \fI\fP is the parameter value. +. +. +.TP +.B -mca\fR,\fP --mca \fR \fP +Send arguments to various MCA modules. See the "MCA" section, below. +. +. +.TP +.B -am \fR\fP +Aggregate MCA parameter set file list. +. +. +.TP +.B -tune\fR,\fP --tune \fR\fP +Specify a tune file to set arguments for various MCA modules and environment variables. +See the "Setting MCA parameters and environment variables from file" section, below. +. +. +. +. +.P +For debugging: +. +. +.TP +.B -debug\fR,\fP --debug +Invoke the user-level debugger indicated by the \fIorte_base_user_debugger\fP +MCA parameter. +. +. +.TP +.B --get-stack-traces +When paired with the +.B --timeout +option, +.I mpirun +will obtain and print out stack traces from all launched processes +that are still alive when the timeout expires. Note that obtaining +stack traces can take a little time and produce a lot of output, +especially for large process-count jobs. +. +. +.TP +.B -debugger\fR,\fP --debugger \fR\fP +Sequence of debuggers to search for when \fI--debug\fP is used (i.e. +a synonym for \fIorte_base_user_debugger\fP MCA parameter). +. +. +.TP +.B --timeout \fR +The maximum number of seconds that +.I mpirun +(also known as +.I mpiexec\fR,\fI oshrun\fR,\fI orterun\fR,\fI +etc.) +will run. After this many seconds, +.I mpirun +will abort the launched job and exit with a non-zero exit status. +Using +.B --timeout +can be also useful when combined with the +.B --get-stack-traces +option. +. +. +.TP +.B -tv\fR,\fP --tv +Launch processes under the TotalView debugger. +Deprecated backwards compatibility flag. Synonym for \fI--debug\fP. +. +. +. +. +.P +There are also other options: +. +. +.TP +.B --allow-run-as-root +Allow +.I mpirun +to run when executed by the root user +.RI ( mpirun +defaults to aborting when launched as the root user). Be sure to see +the +.I Running as root +section, below, for more detail. +. +. +.TP +.B --app \fR\fP +Provide an appfile, ignoring all other command line options. +. +. +.TP +.B -cf\fR,\fP --cartofile \fR\fP +Provide a cartography file. +. +. +.TP +.B -continuous\fR,\fP --continuous +Job is to run until explicitly terminated. +. +. +.TP +.B -disable-recovery\fR,\fP --disable-recovery +Disable recovery (resets all recovery options to off). +. +. +.TP +.B -do-not-launch\fR,\fP --do-not-launch +Perform all necessary operations to prepare to launch the application, but do not actually launch it. +. +. +.TP +.B -do-not-resolve\fR,\fP --do-not-resolve +Do not attempt to resolve interfaces. +. +. +.TP +.B -enable-recovery\fR,\fP --enable-recovery +Enable recovery from process failure [Default = disabled]. +. +. +.TP +.B -index-argv-by-rank\fR,\fP --index-argv-by-rank +Uniquely index argv[0] for each process using its rank. +. +. +.TP +.B -leave-session-attached\fR,\fP --leave-session-attached +Do not detach OmpiRTE daemons used by this application. This allows error messages from the daemons +as well as the underlying environment (e.g., when failing to launch a daemon) to be output. +. +. +.TP +.B -max-restarts\fR,\fP --max-restarts \fR\fP +Max number of times to restart a failed process. +. +. +.TP +.B -ompi-server\fR,\fP --ompi-server \fR\fP +Specify the URI of the Open MPI server (or the mpirun to be used as the server), +the name of the file (specified as file:filename) that contains that info, or +the PID (specified as pid:#) of the mpirun to be used as the server. +The Open MPI server is used to support multi-application data exchange via +the MPI-2 MPI_Publish_name and MPI_Lookup_name functions. +. +. +.TP +.B -personality\fR,\fP --personality \fR\fP +Comma-separated list of programming model, languages, and containers being used (default="ompi"). +. +. +.TP +.B --ppr \fR\fP +Comma-separated list of number of processes on a given resource type [default: none]. +. +. +.TP +.B -report-child-jobs-separately\fR,\fP --report-child-jobs-separately +Return the exit status of the primary job only. +. +. +.TP +.B -report-events\fR,\fP --report-events \fR\fP +Report events to a tool listening at the specified URI. +. +. +.TP +.B -report-pid\fR,\fP --report-pid \fR\fP +Print out mpirun's PID during startup. The channel must be either a '-' to indicate +that the pid is to be output to stdout, a '+' to indicate that the pid is to be +output to stderr, or a filename to which the pid is to be written. +. +. +.TP +.B -report-uri\fR,\fP --report-uri \fR\fP +Print out mpirun's URI during startup. The channel must be either a '-' to indicate +that the URI is to be output to stdout, a '+' to indicate that the URI is to be +output to stderr, or a filename to which the URI is to be written. +. +. +.TP +.B -show-progress\fR,\fP --show-progress +Output a brief periodic report on launch progress. +. +. +.TP +.B -terminate\fR,\fP --terminate +Terminate the DVM. +. +. +.TP +.B -use-hwthread-cpus\fR,\fP --use-hwthread-cpus +Use hardware threads as independent cpus. +. +. +.TP +.B -use-regexp\fR,\fP --use-regexp +Use regular expressions for launch. +. +. +. +. +.P +The following options are useful for developers; they are not generally +useful to most ORTE and/or MPI users: +. +.TP +.B -d\fR,\fP --debug-devel +Enable debugging of the OmpiRTE (the run-time layer in Open MPI). +This is not generally useful for most users. +. +. +.TP +.B --debug-daemons +Enable debugging of any OmpiRTE daemons used by this application. +. +. +.TP +.B --debug-daemons-file +Enable debugging of any OmpiRTE daemons used by this application, storing +output in files. +. +. +.TP +.B -display-devel-allocation\fR,\fP --display-devel-allocation +Display a detailed list of the allocation being used by this job. +. +. +.TP +.B -display-devel-map\fR,\fP --display-devel-map +Display a more detailed table showing the mapped location of each process prior to launch. +. +. +.TP +.B -display-diffable-map\fR,\fP --display-diffable-map +Display a diffable process map just before launch. +. +. +.TP +.B -display-topo\fR,\fP --display-topo +Display the topology as part of the process map just before launch. +. +. +.TP +.B -launch-agent\fR,\fP --launch-agent +Name of the executable that is to be used to start processes on the remote nodes. The default +is "orted". This option can be used to test new daemon concepts, or to pass options back to the +daemons without having mpirun itself see them. For example, specifying a launch agent of +\fRorted -mca odls_base_verbose 5\fR allows the developer to ask the orted for debugging output +without clutter from mpirun itself. +. +. +.TP +.B --report-state-on-timeout +When paired with the +.B --timeout +command line option, report the run-time subsystem state of each +process when the timeout expires. +. +. +.P +There may be other options listed with \fImpirun --help\fP. +. +. +.SS Environment Variables +. +.TP +.B MPIEXEC_TIMEOUT +Synonym for the +.B --timeout +command line option. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +One invocation of \fImpirun\fP starts an MPI application running under Open +MPI. If the application is single process multiple data (SPMD), the application +can be specified on the \fImpirun\fP command line. + +If the application is multiple instruction multiple data (MIMD), comprising of +multiple programs, the set of programs and argument can be specified in one of +two ways: Extended Command Line Arguments, and Application Context. +.PP +An application context describes the MIMD program set including all arguments +in a separate file. +.\" See appcontext(5) for a description of the application context syntax. +This file essentially contains multiple \fImpirun\fP command lines, less the +command name itself. The ability to specify different options for different +instantiations of a program is another reason to use an application context. +.PP +Extended command line arguments allow for the description of the application +layout on the command line using colons (\fI:\fP) to separate the specification +of programs and arguments. Some options are globally set across all specified +programs (e.g. --hostfile), while others are specific to a single program +(e.g. -np). +. +. +. +.SS Specifying Host Nodes +. +Host nodes can be identified on the \fImpirun\fP command line with the \fI-host\fP +option or in a hostfile. +. +.PP +For example, +. +.TP 4 +mpirun -H aa,aa,bb ./a.out +launches two processes on node aa and one on bb. +. +.PP +Or, consider the hostfile +. + + \fB%\fP cat myhostfile + aa slots=2 + bb slots=2 + cc slots=2 + +. +.PP +Here, we list both the host names (aa, bb, and cc) but also how many "slots" +there are for each. Slots indicate how many processes can potentially execute +on a node. For best performance, the number of slots may be chosen to be the +number of cores on the node or the number of processor sockets. If the hostfile +does not provide slots information, Open MPI will attempt to discover the number +of cores (or hwthreads, if the use-hwthreads-as-cpus option is set) and set the +number of slots to that value. This default behavior also occurs when specifying +the \fI-host\fP option with a single hostname. Thus, the command +. +.TP 4 +mpirun -H aa ./a.out +launches a number of processes equal to the number of cores on node aa. +. +.PP +. +.TP 4 +mpirun -hostfile myhostfile ./a.out +will launch two processes on each of the three nodes. +. +.TP 4 +mpirun -hostfile myhostfile -host aa ./a.out +will launch two processes, both on node aa. +. +.TP 4 +mpirun -hostfile myhostfile -host dd ./a.out +will find no hosts to run on and abort with an error. +That is, the specified host dd is not in the specified hostfile. +. +.PP +When running under resource managers (e.g., SLURM, Torque, etc.), +Open MPI will obtain both the hostnames and the number of slots directly +from the resource manger. +. +.SS Specifying Number of Processes +. +As we have just seen, the number of processes to run can be set using the +hostfile. Other mechanisms exist. +. +.PP +The number of processes launched can be specified as a multiple of the +number of nodes or processor sockets available. For example, +. +.TP 4 +mpirun -H aa,bb -npersocket 2 ./a.out +launches processes 0-3 on node aa and process 4-7 on node bb, +where aa and bb are both dual-socket nodes. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option, +which is discussed in a later section. +. +.TP 4 +mpirun -H aa,bb -npernode 2 ./a.out +launches processes 0-1 on node aa and processes 2-3 on node bb. +. +.TP 4 +mpirun -H aa,bb -npernode 1 ./a.out +launches one process per host node. +. +.TP 4 +mpirun -H aa,bb -pernode ./a.out +is the same as \fI-npernode\fP 1. +. +. +.PP +Another alternative is to specify the number of processes with the +\fI-np\fP option. Consider now the hostfile +. + + \fB%\fP cat myhostfile + aa slots=4 + bb slots=4 + cc slots=4 + +. +.PP +Now, +. +.TP 4 +mpirun -hostfile myhostfile -np 6 ./a.out +will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining +slots in the hostfile will not be used since the \fI-np\fP option indicated +that only 6 processes should be launched. +. +.SS Mapping Processes to Nodes: Using Policies +. +The examples above illustrate the default mapping of process processes +to nodes. This mapping can also be controlled with various +\fImpirun\fP options that describe mapping policies. +. +. +.PP +Consider the same hostfile as above, again with \fI-np\fP 6: +. + + node aa node bb node cc + + mpirun 0 1 2 3 4 5 + + mpirun --map-by node 0 3 1 4 2 5 + + mpirun -nolocal 0 1 2 3 4 5 +. +.PP +The \fI--map-by node\fP option will load balance the processes across +the available nodes, numbering each process in a round-robin fashion. +. +.PP +The \fI-nolocal\fP option prevents any processes from being mapped onto the +local host (in this case node aa). While \fImpirun\fP typically consumes +few system resources, \fI-nolocal\fP can be helpful for launching very +large jobs where \fImpirun\fP may actually need to use noticeable amounts +of memory and/or processing time. +. +.PP +Just as \fI-np\fP can specify fewer processes than there are slots, it can +also oversubscribe the slots. For example, with the same hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will +then add the remaining two processes to whichever nodes it chooses. +. +.PP +One can also specify limits to oversubscription. For example, with the same +hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out +will produce an error since \fI-nooversubscribe\fP prevents oversubscription. +. +.PP +Limits to oversubscription can also be specified in the hostfile itself: +. + % cat myhostfile + aa slots=4 max_slots=4 + bb max_slots=4 + cc slots=4 +. +.PP +The \fImax_slots\fP field specifies such a limit. When it does, the +\fIslots\fP value defaults to the limit. Now: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +causes the first 12 processes to be launched as before, but the remaining +two processes will be forced onto node cc. The other two nodes are +protected by the hostfile against oversubscription by this job. +. +.PP +Using the \fI--nooversubscribe\fR option can be helpful since Open MPI +currently does not get "max_slots" values from the resource manager. +. +.PP +Of course, \fI-np\fP can also be used with the \fI-H\fP or \fI-host\fP +option. For example, +. +.TP 4 +mpirun -H aa,bb -np 8 ./a.out +launches 8 processes. Since only two hosts are specified, after the first +two processes are mapped, one to aa and one to bb, the remaining processes +oversubscribe the specified hosts. +. +.PP +And here is a MIMD example: +. +.TP 4 +mpirun -H aa -np 1 hostname : -H bb,cc -np 2 uptime +will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2 +each running \fIuptime\fP on nodes bb and cc, respectively. +. +.SS Mapping, Ranking, and Binding: Oh My! +. +Open MPI employs a three-phase procedure for assigning process locations and +ranks: +. +.TP 10 +\fBmapping\fP +Assigns a default location to each process +. +.TP 10 +\fBranking\fP +Assigns an MPI_COMM_WORLD rank value to each process +. +.TP 10 +\fBbinding\fP +Constrains each process to run on specific processors +. +.PP +The \fImapping\fP step is used to assign a default location to each process +based on the mapper being employed. Mapping by slot, node, and sequentially results +in the assignment of the processes to the node level. In contrast, mapping by object, allows +the mapper to assign the process to an actual object on each node. +. +.PP +\fBNote:\fP the location assigned to the process is independent of where it will be bound - the +assignment is used solely as input to the binding algorithm. +. +.PP +The mapping of process processes to nodes can be defined not just +with general policies but also, if necessary, using arbitrary mappings +that cannot be described by a simple policy. One can use the "sequential +mapper," which reads the hostfile line by line, assigning processes +to nodes in whatever order the hostfile specifies. Use the +\fI-mca rmaps seq\fP option. For example, using the same hostfile +as before: +. +.PP +mpirun -hostfile myhostfile -mca rmaps seq ./a.out +. +.PP +will launch three processes, one on each of nodes aa, bb, and cc, respectively. +The slot counts don't matter; one process is launched per line on +whatever node is listed on the line. +. +.PP +Another way to specify arbitrary mappings is with a rankfile, which +gives you detailed control over process binding as well. Rankfiles +are discussed below. +. +.PP +The second phase focuses on the \fIranking\fP of the process within +the job's MPI_COMM_WORLD. Open MPI +separates this from the mapping procedure to allow more flexibility in the +relative placement of MPI processes. This is best illustrated by considering the +following two cases where we used the —map-by ppr:2:socket option: +. +.PP + node aa node bb + + rank-by core 0 1 ! 2 3 4 5 ! 6 7 + + rank-by socket 0 2 ! 1 3 4 6 ! 5 7 + + rank-by socket:span 0 4 ! 1 5 2 6 ! 3 7 +. +.PP +Ranking by core and by slot provide the identical result - a simple +progression of MPI_COMM_WORLD ranks across each node. Ranking by +socket does a round-robin ranking within each node until all processes +have been assigned an MCW rank, and then progresses to the next +node. Adding the \fIspan\fP modifier to the ranking directive causes +the ranking algorithm to treat the entire allocation as a single +entity - thus, the MCW ranks are assigned across all sockets before +circling back around to the beginning. +. +.PP +The \fIbinding\fP phase actually binds each process to a given set of processors. This can +improve performance if the operating system is placing processes +suboptimally. For example, it might oversubscribe some multi-core +processor sockets, leaving other sockets idle; this can lead +processes to contend unnecessarily for common resources. Or, it +might spread processes out too widely; this can be suboptimal if +application performance is sensitive to interprocess communication +costs. Binding can also keep the operating system from migrating +processes excessively, regardless of how optimally those processes +were placed to begin with. +. +.PP +The processors to be used for binding can be identified in terms of +topological groupings - e.g., binding to an l3cache will bind each +process to all processors within the scope of a single L3 cache within +their assigned location. Thus, if a process is assigned by the mapper +to a certain socket, then a \fI—bind-to l3cache\fP directive will +cause the process to be bound to the processors that share a single L3 +cache within that socket. +. +.PP +Alternatively, processes can be assigned to processors based on their +local rank on a node using the \fI--bind-to cpu-list:ordered\fP option +with an associated \fI--cpu-list "0,2,5"\fP. In this example, the +first process on a node will be bound to cpu 0, the second process on +the node will be bound to cpu 2, and the third process on the node +will be bound to cpu 5. \fI--bind-to\fP will also accept +\fIcpulist:ortered\fP as a synonym to \fIcpu-list:ordered\fP. Note +that an error will result if more processes are assigned to a node +than cpus are provided. +. +.PP +To help balance loads, the binding directive uses a round-robin method when binding to +levels lower than used in the mapper. For example, consider the case where a job is +mapped to the socket level, and then bound to core. Each socket will have multiple cores, +so if multiple processes are mapped to a given socket, the binding algorithm will assign +each process located to a socket to a unique core in a round-robin manner. +. +.PP +Alternatively, processes mapped by l2cache and then bound to socket will simply be bound +to all the processors in the socket where they are located. In this manner, users can +exert detailed control over relative MCW rank location and binding. +. +.PP +Finally, \fI--report-bindings\fP can be used to report bindings. +. +.PP +As an example, consider a node with two processor sockets, each comprising +four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and +the following additional options: +. + + % mpirun ... --map-by core --bind-to core + [...] ... binding child [...,0] to cpus 0001 + [...] ... binding child [...,1] to cpus 0002 + [...] ... binding child [...,2] to cpus 0004 + [...] ... binding child [...,3] to cpus 0008 + + % mpirun ... --map-by socket --bind-to socket + [...] ... binding child [...,0] to socket 0 cpus 000f + [...] ... binding child [...,1] to socket 1 cpus 00f0 + [...] ... binding child [...,2] to socket 0 cpus 000f + [...] ... binding child [...,3] to socket 1 cpus 00f0 + + % mpirun ... --map-by core:PE=2 --bind-to core + [...] ... binding child [...,0] to cpus 0003 + [...] ... binding child [...,1] to cpus 000c + [...] ... binding child [...,2] to cpus 0030 + [...] ... binding child [...,3] to cpus 00c0 + + % mpirun ... --bind-to none +. +.PP +Here, \fI--report-bindings\fP shows the binding of each process as a mask. +In the first case, the processes bind to successive cores as indicated by +the masks 0001, 0002, 0004, and 0008. In the second case, processes bind +to all cores on successive sockets as indicated by the masks 000f and 00f0. +The processes cycle through the processor sockets in a round-robin fashion +as many times as are needed. In the third case, the masks show us that +2 cores have been bound per process. In the fourth case, binding is +turned off and no bindings are reported. +. +.PP +Open MPI's support for process binding depends on the underlying +operating system. Therefore, certain process binding options may not be available +on every system. +. +.PP +Process binding can also be set with MCA parameters. +Their usage is less convenient than that of \fImpirun\fP options. +On the other hand, MCA parameters can be set not only on the \fImpirun\fP +command line, but alternatively in a system or user mca-params.conf file +or as environment variables, as described in the MCA section below. +Some examples include: +. +.PP + mpirun option MCA parameter key value + + --map-by core rmaps_base_mapping_policy core + --map-by socket rmaps_base_mapping_policy socket + --rank-by core rmaps_base_ranking_policy core + --bind-to core hwloc_base_binding_policy core + --bind-to socket hwloc_base_binding_policy socket + --bind-to none hwloc_base_binding_policy none +. +. +.SS Rankfiles +. +Rankfiles are text files that specify detailed information about how +individual processes should be mapped to nodes, and to which +processor(s) they should be bound. Each line of a rankfile specifies +the location of one process (for MPI jobs, the process' "rank" refers +to its rank in MPI_COMM_WORLD). The general form of each line in the +rankfile is: +. + + rank = slot= +. +.PP +For example: +. + + $ cat myrankfile + rank 0=aa slot=1:0-2 + rank 1=bb slot=0:0,1 + rank 2=cc slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Means that +. + + Rank 0 runs on node aa, bound to logical socket 1, cores 0-2. + Rank 1 runs on node bb, bound to logical socket 0, cores 0 and 1. + Rank 2 runs on node cc, bound to logical cores 1 and 2. +. +.PP +Rankfiles can alternatively be used to specify \fIphysical\fP processor +locations. In this case, the syntax is somewhat different. Sockets are +no longer recognized, and the slot number given must be the number of +the physical PU as most OS's do not assign a unique physical identifier +to each core in the node. Thus, a proper physical rankfile looks something +like the following: +. + + $ cat myphysicalrankfile + rank 0=aa slot=1 + rank 1=bb slot=8 + rank 2=cc slot=6 +. +.PP +This means that +. + + Rank 0 will run on node aa, bound to the core that contains physical PU 1 + Rank 1 will run on node bb, bound to the core that contains physical PU 8 + Rank 2 will run on node cc, bound to the core that contains physical PU 6 +. +.PP +Rankfiles are treated as \fIlogical\fP by default, and the MCA parameter +rmaps_rank_file_physical must be set to 1 to indicate that the rankfile +is to be considered as \fIphysical\fP. +. +.PP +The hostnames listed above are "absolute," meaning that actual +resolveable hostnames are specified. However, hostnames can also be +specified as "relative," meaning that they are specified in relation +to an externally-specified list of hostnames (e.g., by mpirun's --host +argument, a hostfile, or a job scheduler). +. +.PP +The "relative" specification is of the form "+n", where X is an +integer specifying the Xth hostname in the set of all available +hostnames, indexed from 0. For example: +. + + $ cat myrankfile + rank 0=+n0 slot=1:0-2 + rank 1=+n1 slot=0:0,1 + rank 2=+n2 slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Starting with Open MPI v1.7, all socket/core slot locations are be +specified as +.I logical +indexes (the Open MPI v1.6 series used +.I physical +indexes). You can use tools such as HWLOC's "lstopo" to find the +logical indexes of socket and cores. +. +. +.SS Application Context or Executable Program? +. +To distinguish the two different forms, \fImpirun\fP +looks on the command line for \fI--app\fP option. If +it is specified, then the file named on the command line is +assumed to be an application context. If it is not +specified, then the file is assumed to be an executable program. +. +. +. +.SS Locating Files +. +If no relative or absolute path is specified for a file, Open +MPI will first look for files by searching the directories specified +by the \fI--path\fP option. If there is no \fI--path\fP option set or +if the file is not found at the \fI--path\fP location, then Open MPI +will search the user's PATH environment variable as defined on the +source node(s). +.PP +If a relative directory is specified, it must be relative to the initial +working directory determined by the specific starter used. For example when +using the rsh or ssh starters, the initial directory is $HOME by default. Other +starters may set the initial directory to the current working directory from +the invocation of \fImpirun\fP. +. +. +. +.SS Current Working Directory +. +The \fI\-wdir\fP mpirun option (and its synonym, \fI\-wd\fP) allows +the user to change to an arbitrary directory before the program is +invoked. It can also be used in application context files to specify +working directories on specific nodes and/or for specific +applications. +.PP +If the \fI\-wdir\fP option appears both in a context file and on the +command line, the context file directory will override the command +line value. +.PP +If the \fI-wdir\fP option is specified, Open MPI will attempt to +change to the specified directory on all of the remote nodes. If this +fails, \fImpirun\fP will abort. +.PP +If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send +the directory name where \fImpirun\fP was invoked to each of the +remote nodes. The remote nodes will try to change to that +directory. If they are unable (e.g., if the directory does not exist on +that node), then Open MPI will use the default directory determined by +the starter. +.PP +All directory changing occurs before the user's program is invoked; it +does not wait until \fIMPI_INIT\fP is called. +. +. +. +.SS Standard I/O +. +Open MPI directs UNIX standard input to /dev/null on all processes +except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process +inherits standard input from \fImpirun\fP. +.B Note: +The node that invoked \fImpirun\fP need not be the same as the node where the +MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of +\fImpirun\fP's standard input to the rank 0 process. +.PP +Open MPI directs UNIX standard output and error from remote nodes to the node +that invoked \fImpirun\fP and prints it on the standard output/error of +\fImpirun\fP. +Local processes inherit the standard output/error of \fImpirun\fP and transfer +to it directly. +.PP +Thus it is possible to redirect standard I/O for Open MPI applications by +using the typical shell redirection procedure on \fImpirun\fP. + + \fB%\fP mpirun -np 2 my_app < my_input > my_output + +Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will +receive the stream from \fImy_input\fP on stdin. The stdin on all the other +nodes will be tied to /dev/null. However, the stdout from all nodes will +be collected into the \fImy_output\fP file. +. +. +. +.SS Signal Propagation +. +When orterun receives a SIGTERM and SIGINT, it will attempt to kill +the entire job by sending all processes in the job a SIGTERM, waiting +a small number of seconds, then sending all processes in the job a +SIGKILL. +. +.PP +SIGUSR1 and SIGUSR2 signals received by orterun are propagated to +all processes in the job. +. +.PP +A SIGTSTOP signal to mpirun will cause a SIGSTOP signal to be sent +to all of the programs started by mpirun and likewise a SIGCONT signal +to mpirun will cause a SIGCONT sent. +. +.PP +Other signals are not currently propagated +by orterun. +. +. +.SS Process Termination / Signal Handling +. +During the run of an MPI application, if any process dies abnormally +(either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a +signal), \fImpirun\fP will print out an error message and kill the rest of the +MPI application. +.PP +User signal handlers should probably avoid trying to cleanup MPI state +(Open MPI is currently not async-signal-safe; see MPI_Init_thread(3) +for details about +.I MPI_THREAD_MULTIPLE +and thread safety). For example, if a segmentation fault occurs in +\fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user +signal handler is invoked, if this user handler attempts to invoke +\fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already +"in" MPI when the error occurred. Since \fImpirun\fP will notice that +the process died due to a signal, it is probably not necessary (and +safest) for the user to only clean up non-MPI state. +. +. +. +.SS Process Environment +. +Processes in the MPI application inherit their environment from the +Open RTE daemon upon the node on which they are running. The +environment is typically inherited from the user's shell. On remote +nodes, the exact environment is determined by the boot MCA module +used. The \fIrsh\fR launch module, for example, uses either +\fIrsh\fR/\fIssh\fR to launch the Open RTE daemon on remote nodes, and +typically executes one or more of the user's shell-setup files before +launching the Open RTE daemon. When running dynamically linked +applications which require the \fILD_LIBRARY_PATH\fR environment +variable to be set, care must be taken to ensure that it is correctly +set when booting Open MPI. +.PP +See the "Remote Execution" section for more details. +. +. +.SS Remote Execution +. +Open MPI requires that the \fIPATH\fR environment variable be set to +find executables on remote nodes (this is typically only necessary in +\fIrsh\fR- or \fIssh\fR-based environments -- batch/scheduled +environments typically copy the current environment to the execution +of remote jobs, so if the current environment has \fIPATH\fR and/or +\fILD_LIBRARY_PATH\fR set properly, the remote nodes will also have it +set properly). If Open MPI was compiled with shared library support, +it may also be necessary to have the \fILD_LIBRARY_PATH\fR environment +variable set on remote nodes as well (especially to find the shared +libraries required to run user MPI applications). +.PP +However, it is not always desirable or possible to edit shell +startup files to set \fIPATH\fR and/or \fILD_LIBRARY_PATH\fR. The +\fI--prefix\fR option is provided for some simple configurations where +this is not possible. +.PP +The \fI--prefix\fR option takes a single argument: the base directory +on the remote node where Open MPI is installed. Open MPI will use +this directory to set the remote \fIPATH\fR and \fILD_LIBRARY_PATH\fR +before executing any Open MPI or user applications. This allows +running Open MPI jobs without having pre-configured the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote nodes. +.PP +Open MPI adds the basename of the current +node's "bindir" (the directory where Open MPI's executables are +installed) to the prefix and uses that to set the \fIPATH\fR on the +remote node. Similarly, Open MPI adds the basename of the current +node's "libdir" (the directory where Open MPI's libraries are +installed) to the prefix and uses that to set the +\fILD_LIBRARY_PATH\fR on the remote node. For example: +.TP 15 +Local bindir: +/local/node/directory/bin +.TP +Local libdir: +/local/node/directory/lib64 +.PP +If the following command line is used: + + \fB%\fP mpirun --prefix /remote/node/directory + +Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR +and "/remote/node/directory/lib64" to the \fILD_LIBRARY_PATH\fR on the +remote node before attempting to execute anything. +.PP +The \fI--prefix\fR option is not sufficient if the installation paths +on the remote node are different than the local node (e.g., if "/lib" +is used on the local node, but "/lib64" is used on the remote node), +or if the installation paths are something other than a subdirectory +under a common prefix. +.PP +Note that executing \fImpirun\fR via an absolute pathname is +equivalent to specifying \fI--prefix\fR without the last subdirectory +in the absolute pathname to \fImpirun\fR. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local +. +. +. +.SS Exported Environment Variables +. +All environment variables that are named in the form OMPI_* will automatically +be exported to new processes on the local and remote nodes. Environmental +parameters can also be set/forwarded to the new processes using the MCA +parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fImpirun\fP has +been deprecated, but the syntax of the MCA param follows that prior +example. While the syntax of the \fI\-x\fP option and MCA param +allows the definition of new variables, note that the parser +for these options are currently not very sophisticated - it does not even +understand quoted values. Users are advised to set variables in the +environment and use the option to export them; not to define them. +. +. +. +.SS Setting MCA Parameters +. +The \fI-mca\fP switch allows the passing of parameters to various MCA +(Modular Component Architecture) modules. +.\" Open MPI's MCA modules are described in detail in ompimca(7). +MCA modules have direct impact on MPI programs because they allow tunable +parameters to be set at run time (such as which BTL communication device driver +to use, what parameters to pass to that BTL, etc.). +.PP +The \fI-mca\fP switch takes two arguments: \fI\fP and \fI\fP. +The \fI\fP argument generally specifies which MCA module will receive the value. +For example, the \fI\fP "btl" is used to select which BTL to be used for +transporting MPI messages. The \fI\fP argument is the value that is +passed. +For example: +. +.TP 4 +mpirun -mca btl tcp,self -np 1 foo +Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of +"foo" an allocated node. +. +.TP +mpirun -mca btl self -np 1 foo +Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an +allocated node. +.\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7). +.PP +The \fI-mca\fP switch can be used multiple times to specify different +\fI\fP and/or \fI\fP arguments. If the same \fI\fP is +specified more than once, the \fI\fPs are concatenated with a comma +(",") separating them. +.PP +Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables. +The same effect may be accomplished by setting corresponding environment +variables before running \fImpirun\fP. +The form of the environment variables that Open MPI sets is: + + OMPI_MCA_= +.PP +Thus, the \fI-mca\fP switch overrides any previously set environment +variables. The \fI-mca\fP settings similarly override MCA parameters set +in the +$OPAL_PREFIX/etc/openmpi-mca-params.conf or $HOME/.openmpi/mca-params.conf +file. +. +.PP +Unknown \fI\fP arguments are still set as +environment variable -- they are not checked (by \fImpirun\fP) for correctness. +Illegal or incorrect \fI\fP arguments may or may not be reported -- it +depends on the specific MCA module. +.PP +To find the available component types under the MCA architecture, or to find the +available parameters for a specific component, use the \fIompi_info\fP command. +See the \fIompi_info(1)\fP man page for detailed information on the command. +. +. +. +.SS Setting MCA parameters and environment variables from file. +The \fI-tune\fP command line option and its synonym \fI-mca mca_base_envar_file_prefix\fP allows a user +to set mca parameters and environment variables with the syntax described below. +This option requires a single file or list of files separated by "," to follow. +.PP +A valid line in the file may contain zero or many "-x", "-mca", or “--mca” arguments. +The following patterns are supported: -mca var val -mca var "val" -x var=val -x var. +If any argument is duplicated in the file, the last value read will be used. +.PP +MCA parameters and environment specified on the command line have higher precedence than variables specified in the file. +. +. +. +.SS Running as root +. +The Open MPI team strongly advises against executing +.I mpirun +as the root user. MPI applications should be run as regular +(non-root) users. +. +.PP +Reflecting this advice, mpirun will refuse to run as root by default. +To override this default, you can add the +.I --allow-run-as-root +option to the +.I mpirun +command line, or you can set the environmental parameters +.I OMPI_ALLOW_RUN_AS_ROOT=1 +and +.IR OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 . +Note that it takes setting +.I two +environment variables to effect the same behavior as +.I --allow-run-as-root +in order to stress the Open MPI team's strong advice against running +as the root user. After extended discussions with communities who use +containers (where running as the root user is the default), there was +a persistent desire to be able to enable root execution of +.I mpirun +via an environmental control (vs. the existing +.I --allow-run-as-root +command line parameter). The compromise of using +.I two +environment variables was reached: it allows root execution via an +environmental control, but it conveys the Open MPI team's strong +recomendation against this behavior. +. +.SS Exit status +. +There is no standard definition for what \fImpirun\fP should return as an exit +status. After considerable discussion, we settled on the following method for +assigning the \fImpirun\fP exit status (note: in the following description, +the "primary" job is the initial application started by mpirun - all jobs that +are spawned by that job are designated "secondary" jobs): +. +.IP \[bu] 2 +if all processes in the primary job normally terminate with exit status 0, we return 0 +.IP \[bu] +if one or more processes in the primary job normally terminate with non-zero exit status, +we return the exit status of the process with the lowest MPI_COMM_WORLD rank to have a non-zero status +.IP \[bu] +if all processes in the primary job normally terminate with exit status 0, and one or more +processes in a secondary job normally terminate with non-zero exit status, we (a) return +the exit status of the process with the lowest MPI_COMM_WORLD rank in the lowest jobid to have a non-zero +status, and (b) output a message summarizing the exit status of the primary and all secondary jobs. +.IP \[bu] +if the cmd line option --report-child-jobs-separately is set, we will return -only- the +exit status of the primary job. Any non-zero exit status in secondary jobs will be +reported solely in a summary print statement. +. +.PP +By default, OMPI records and notes that MPI processes exited with non-zero termination status. +This is generally not considered an "abnormal termination" - i.e., OMPI will not abort an MPI +job if one or more processes return a non-zero status. Instead, the default behavior simply +reports the number of processes terminating with non-zero status upon completion of the job. +.PP +However, in some cases it can be desirable to have the job abort when any process terminates +with non-zero status. For example, a non-MPI job might detect a bad result from a calculation +and want to abort, but doesn't want to generate a core file. Or an MPI job might continue past +a call to MPI_Finalize, but indicate that all processes should abort due to some post-MPI result. +.PP +It is not anticipated that this situation will occur frequently. However, in the interest of +serving the broader community, OMPI now has a means for allowing users to direct that jobs be +aborted upon any process exiting with non-zero status. Setting the MCA parameter +"orte_abort_on_non_zero_status" to 1 will cause OMPI to abort all processes once any process + exits with non-zero status. +.PP +Terminations caused in this manner will be reported on the console as an "abnormal termination", +with the first process to so exit identified along with its exit status. +.PP +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +Be sure also to see the examples throughout the sections above. +. +.TP 4 +mpirun -np 4 -mca btl ib,tcp,self prog1 +Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the +transport of MPI messages. +. +. +.TP 4 +mpirun -np 4 -mca btl tcp,sm,self +.br +--mca btl_tcp_if_include eth0 prog1 +.br +Run 4 copies of prog1 using the "tcp", "sm" and "self" BTLs for the +transport of MPI messages, with TCP using only the eth0 interface to +communicate. Note that other BTLs have similar if_include MCA +parameters. +. +.\" ************************** +.\" Diagnostics Section +.\" ************************** +. +.\" .SH DIAGNOSTICS +.\" .TP 4 +.\" Error Msg: +.\" Description +. +.\" ************************** +.\" Return Value Section +.\" ************************** +. +.SH RETURN VALUE +. +\fImpirun\fP returns 0 if all processes started by \fImpirun\fP exit after calling +MPI_FINALIZE. A non-zero value is returned if an internal error occurred in +mpirun, or one or more processes exited before calling MPI_FINALIZE. If an +internal error occurred in mpirun, the corresponding error code is returned. +In the event that one or more processes exit before calling MPI_FINALIZE, the +return value of the MPI_COMM_WORLD rank of the process that \fImpirun\fP first notices died +before calling MPI_FINALIZE will be returned. Note that, in general, this will +be the first process that died but is not guaranteed to be so. +. +.PP +If the +.B --timeout +command line option is used and the timeout expires before the job +completes (thereby forcing +.I mpirun +to kill the job) +.I mpirun +will return an exit status equivalent to the value of +.B ETIMEDOUT +(which is typically 110 on Linux and OS X systems). + +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +MPI_Init_thread(3) diff --git a/macx64/mpi/openmpi/share/man/man1/ompi-clean.1 b/macx64/mpi/openmpi/share/man/man1/ompi-clean.1 new file mode 100644 index 00000000..3ac3129f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/ompi-clean.1 @@ -0,0 +1,120 @@ +.\" +.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" +.TH orte-clean 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBorte-clean\fP - Cleans up any stale processes and files leftover +from Open MPI jobs. + +.sp + +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.ft R +.nf +orte-clean [--verbose] +.br +mpirun --pernode [--host | --hostfile \fIfile\fP] orte-clean [--verbose] +.fi +.sp + + +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.ft R +[-v | --verbose] This argument will run the command in verbose +mode and print out the universes that are getting cleaned up +as well as processes that are being killed. +.sp + +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.ft R +\fIorte-clean\fR attempts to clean up any processes and files +left over from Open MPI jobs that were run in the past as well as any +currently running jobs. This includes OMPI infrastructure and helper +commands, any processes that were spawned as part of the job, and any +temporary files. orte-clean will only act upon processes and files +that belong to the user running the orte-clean command. If run as +root, it will kill off processes belonging to any users. +.sp +When run from the command line, orte-clean will attempt to clean up +the local node it is run from. When launched via mpirun, it will +clean up the nodes selected by mpirun. +.sp + +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.ft R +Example 1: Clean up local node only. +.sp +.nf +example% orte-clean +.fi +.sp + +Example 2: To clean up on a specific set of nodes specified on +command line, it is recommended to use the pernode option. This +will run one orte-clean for each node. +.sp +.nf +example% mpirun --pernode --host node1,node2,node3 orte-clean +.fi +.sp +To clean up on a specific set of nodes from a file. +.sp +.nf +example% mpirun --pernode --hostfile nodes_file orte-clean +.fi +.sp +Example 3: Within a resource managed environment like N1GE, +SLURM, or Torque. The following example is from N1GE. +.sp +First, we see that we have two nodes with two CPUs each. +.sp +.nf +example% qsh -pe orte 4 +.br +example% mpirun -np 4 hostname +.br +node1 +.br +node1 +.br +node2 +.br +node2 +.fi +.sp +Clean up all the nodes in the cluster. +.sp +.nf +example% mpirun --pernode orte-clean +.fi +.sp +Clean up a subset of the nodes in the cluster. +.sp +.nf +example% mpirun --pernode --host node1 orte-clean +.fi +.sp + +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +.ft R +orterun(1), orte-ps(1) +.sp diff --git a/macx64/mpi/openmpi/share/man/man1/ompi-server.1 b/macx64/mpi/openmpi/share/man/man1/ompi-server.1 new file mode 100644 index 00000000..bc57431f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/ompi-server.1 @@ -0,0 +1,72 @@ +.\" +.\" Copyright (c) 2007 Los Alamos National Security, LLC +.\" All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for OMPI's ompi-server command +.\" +.\" .TH name section center-footer left-footer center-header +.TH OMPI-SERVER 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ompi-server \- Server for supporting name publish/lookup operations. +. +.PP +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.BR ompi-server " [ options ]" +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH Options +. +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.TP 10 +.B -h | --help +Display help for this command +. +. +.TP +.B -d | --debug +Enable verbose output for debugging +. +. +.TP +.B -r | --report-uri \fR\fP +Report the Open MPI contact information for the server. This information is +required for MPI jobs to use the data server. Three parameter values are supported: +(a) '-', indicating that the uri is to be printed to stdout; (b) '+', indicating that +the uri is to be printed to stderr; and (c) "file:path-to-file", indicating that +the uri is to be printed to the specified file. The "path-to-file" can be either +absolute or relative, but must be in a location where the user has write +permissions. Please note that the resulting file must be read-accessible to +expected users of the server. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +. diff --git a/macx64/mpi/openmpi/share/man/man1/ompi_info.1 b/macx64/mpi/openmpi/share/man/man1/ompi_info.1 new file mode 100644 index 00000000..31fcac41 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/ompi_info.1 @@ -0,0 +1,287 @@ +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +.TH OMPI_INFO 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +ompi_info - Display information about the Open MPI installation +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.B ompi_info [options] +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.PP +.B ompi_info +provides detailed information about the Open MPI installation. It can +be useful for at least three common scenarios: +.PP +1. Checking local configuration and seeing how Open MPI was installed. +.PP +2. Submitting bug reports / help requests to the Open MPI community +(see +.IR http://www.open-mpi.org/community/help/ ) +.PP +3. Seeing a list of installed Open MPI plugins and querying what +MCA parameters they support. +.PP +.B NOTE: +.B ompi_info +defaults to only showing a few MCA parameters by default (i.e., level +1 parameters). Use the +.B --level +option to enable showing more options (see the LEVELS section for more +information). +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.B ompi_info +accepts the following options: +.TP 8 +.I \-a|\-\-all +Show all configuration options and MCA parameters. Also changes the +default MCA parameter level to 9, unless +.I --level +is also specified. +.TP 8 +.I \-\-arch +Show architecture on which Open MPI was compiled. +.TP 8 +.I \-c|\-\-config +Show configuration options +.TP 8 +.I \-gmca|\-\-gmca +Pass global MCA parameters that are applicable to all contexts. +.TP 8 +.I \-h|\-\-help +Shows help / usage message. +.TP 8 +.I \-\-hostname +Show the hostname on which Open MPI was configured and built. +.TP 8 +.I \-\-internal +Show internal MCA parameters (not meant to be modified by users). +.TP 8 +.I \-\-level +Show only variables with at most this level (1-9). The default is 1 unless +\-\-all is specified without \-\-level, in which case the default is 9. See +the LEVELS section for more information. +.TP 8 +.I \-mca|\-\-mca +Pass context-specific MCA parameters; they are considered global if --gmca is +not used and only one context is specified. +.TP 8 +.I \-\-param +Show MCA parameters. The first parameter is the type of the component +to display; the second parameter is the specific component to display +(or the keyword "all", meaning "display all components of this type"). +.TP 8 +.I \-t|\-\-type +Show MCA parameters of the type specified in the parameter. Accepts the +following parameters: unsigned_int, unsigned_long, unsigned_long_long, +size_t, string, version_string, bool, double. By default level +is 1 unless it is specified with \-\-level. +.TP 8 +.I \-\-parsable +When used in conjunction with other parameters, the output is +displayed in a machine-parsable format +.I \-\-parseable +Synonym for --parsable +.TP 8 +.I \-\-path +Show paths that Open MPI was configured with. Accepts the following +parameters: prefix, bindir, libdir, incdir, pkglibdir, sysconfdir. +.TP 8 +.I \-\-pretty +When used in conjunction with other parameters, the output is +displayed in 'prettyprint' format (default) +.TP 8 +.I \-\-selected-only +Show only variables from selected components. +.TP 8 +.I \-V|\-\-version +Show version of Open MPI. +. +.\" ************************** +.\" Levels Section +.\" ************************** +.SH LEVELS +Open MPI has many, many run-time tunable parameters (called "MCA +parameters"), and usually only a handfull of them are useful to a +given user. +. +. +.PP +As such, Open MPI has divided these parameters up into nine distinct +levels, broken down into three categories, each with three +sub-categories. +. +. +.PP +Note that since each MCA parameter is accessible through the MPI_T +control variable API (introduced in MPI-3.0), these levels exactly +correspond to the nine MPI_T cvar levels. +. +. +.PP +The three categories are: +.TP 4 +.B End user +Generally, these are parameters that are required for correctness, +meaning that a user may need to set these just to get their MPI +application to run correctly. For example, BTL "if_include" and +"if_exclude" parameters fit into this category. +. +.TP +.B Application tuner +Generally, these are parameters that can be used to tweak MPI +application performance. This even includes parameters that control +resource exhaustion levels (e.g., number of free list entries, size of +buffers, etc.), and could be considered "correctness" parameters if +they're set too low. But, really -- they're tuning parameters. +. +.TP +.B Open MPI developer +Parameters in this category either don't fit in the other two, or are +specifically intended for debugging / development of Open MPI itself. +. +. +.PP +And within each category, there are three sub-categories: +.TP 4 +.B Basic +This sub-category is for parameters that everyone in this category +will want to see -- even less-advanced end users, application tuners, +and new OMPI developers. +. +.TP +.B Detailed +This sub-category is for parameters that are generally useful, but +users probably won't need to change them often. +. +.TP +.B All +This sub-category is for all other parameters. Such parameters are +likely fairly esoteric. +. +. +.PP +Combining the categories and sub-categories, here's how Open MPI +defines all nine levels: +.TP 4 +1 +Basic information of interest to end users. +.TP +2 +Detailed information of interest to end users. +.TP +3 +All remaining information of interest to end users. +.TP +4 +Basic information required for application tuners. +.TP +5 +Detailed information required for application tuners. +.TP +6 +All remaining information required for application tuners. +.TP +7 +Basic information for Open MPI implementors. +.TP +8 +Detailed information for Open MPI implementors. +.TP +9 +All remaining information for Open MPI implementors. +. +. +.PP +By default, +.B ompi_info +only shows level 1 MCA parameters. To see more MCA parameters, use +the +.B --level +command line option. +. +. +.PP +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.TP 4 +ompi_info +Show the default output of options and listing of installed +components in a human-readable / prettyprint format. +. +. +.TP +ompi_info --parsable +Show the default output of options and listing of installed +components in a machine-parsable format. +. +. +.TP +ompi_info --param btl tcp +Show the level 1 MCA parameters of the "tcp" BTL component in a +human-readable / prettyprint format. +. +. +.TP +ompi_info --param btl tcp --level 6 +Show the level 1 through level 6 MCA parameters of the "tcp" BTL +component in a human-readable / prettyprint format. +. +. +.TP +ompi_info --param btl tcp --parsable +Show the level 1 MCA parameters of the "tcp" BTL component in a +machine-parsable format. +. +. +.TP +ompi_info --type string --pretty-print --level 3 +Show the level 3 MCA parameters of string type in a human-readable / +prettyprint format. +. +. +.TP +ompi_info --path bindir +Show the "bindir" that Open MPI was configured with. +. +. +.TP +ompi_info --version +Show the version of Open MPI version numbers in a prettyprint format. +. +. +.TP +ompi_info --all +Show +.I all +information about the Open MPI installation, including all components +that can be found, all the MCA parameters that they support (i.e., +levels 1 through 9), versions of Open MPI and the components, etc. +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The Open MPI maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/opal_wrapper.1 b/macx64/mpi/openmpi/share/man/man1/opal_wrapper.1 new file mode 100644 index 00000000..9daf8acb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/opal_wrapper.1 @@ -0,0 +1,78 @@ +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license +.TH OPAL_WRAPPER 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +opal_wrapper - Back-end Open MPI wrapper command +.SH SYNOPSIS +.B opal_wrapper [options] +.SH DESCRIPTION +.PP +.B opal_wrapper +is not meant to be called directly by end users. It is automatically +invoked as the back-end by the Open MPI wrapper commands such as: +.BR mpicc , +.BR mpiCC , +.BR mpic++ , +and +.BR mpifort +(and its legacy/deprecated names +.BR mpif77 +and +.BR mpif90 ). +.PP +Some Open MPI installations may have additional wrapper commands, +and/or have renamed the wrapper compilers listed above to avoid +executable name conflicts with other MPI implementations. Hence, you +may also have wrapper compilers installed including the following +names: +.BR mpifort.openmpi +(and the legacy/deprecated names +.BR mpif90.openmpi +and +.BR mpif77.openmpi ), +.BR mpicxx.openmpi , +.BR mpiCC.openmpi , +.BR mpicc.openmpi , +.BR mpic++.openmpi , +.BR opalcc , +.BR opalc++ , +.BR ortecc , +and +.BR ortec++ , +. +. +.\" ************************** +.\" See Also Section +.\" ************************** +.SH SEE ALSO +The following may exist depending on your particular Open MPI +installation: +.BR mpicc (1), +.BR mpiCC (1), +.BR mpic++ (1), +.BR mpifort (1), +.BR mpifort.openmpi (1), +.BR mpicxx.openmpi (1), +.BR mpiCC.openmpi (1), +.BR mpicc.openmpi (1), +.BR mpic++.openmpi (1), +.BR ortecc (1), +.BR ortec++ (1), +.BR opalccc (1), +and the website at +.IR http://www.openmpi.org/ . +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The Open MPI maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/orte-clean.1 b/macx64/mpi/openmpi/share/man/man1/orte-clean.1 new file mode 100644 index 00000000..3ac3129f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orte-clean.1 @@ -0,0 +1,120 @@ +.\" +.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" +.TH orte-clean 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBorte-clean\fP - Cleans up any stale processes and files leftover +from Open MPI jobs. + +.sp + +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.ft R +.nf +orte-clean [--verbose] +.br +mpirun --pernode [--host | --hostfile \fIfile\fP] orte-clean [--verbose] +.fi +.sp + + +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.ft R +[-v | --verbose] This argument will run the command in verbose +mode and print out the universes that are getting cleaned up +as well as processes that are being killed. +.sp + +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.ft R +\fIorte-clean\fR attempts to clean up any processes and files +left over from Open MPI jobs that were run in the past as well as any +currently running jobs. This includes OMPI infrastructure and helper +commands, any processes that were spawned as part of the job, and any +temporary files. orte-clean will only act upon processes and files +that belong to the user running the orte-clean command. If run as +root, it will kill off processes belonging to any users. +.sp +When run from the command line, orte-clean will attempt to clean up +the local node it is run from. When launched via mpirun, it will +clean up the nodes selected by mpirun. +.sp + +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.ft R +Example 1: Clean up local node only. +.sp +.nf +example% orte-clean +.fi +.sp + +Example 2: To clean up on a specific set of nodes specified on +command line, it is recommended to use the pernode option. This +will run one orte-clean for each node. +.sp +.nf +example% mpirun --pernode --host node1,node2,node3 orte-clean +.fi +.sp +To clean up on a specific set of nodes from a file. +.sp +.nf +example% mpirun --pernode --hostfile nodes_file orte-clean +.fi +.sp +Example 3: Within a resource managed environment like N1GE, +SLURM, or Torque. The following example is from N1GE. +.sp +First, we see that we have two nodes with two CPUs each. +.sp +.nf +example% qsh -pe orte 4 +.br +example% mpirun -np 4 hostname +.br +node1 +.br +node1 +.br +node2 +.br +node2 +.fi +.sp +Clean up all the nodes in the cluster. +.sp +.nf +example% mpirun --pernode orte-clean +.fi +.sp +Clean up a subset of the nodes in the cluster. +.sp +.nf +example% mpirun --pernode --host node1 orte-clean +.fi +.sp + +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +.ft R +orterun(1), orte-ps(1) +.sp diff --git a/macx64/mpi/openmpi/share/man/man1/orte-info.1 b/macx64/mpi/openmpi/share/man/man1/orte-info.1 new file mode 100644 index 00000000..9c4174d1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orte-info.1 @@ -0,0 +1,162 @@ +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.TH orte-info 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +orte-info - Display information about the ORTE installation +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +.B orte-info [options] +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +.PP +.B orte-info +provides detailed information about the ORTE installation. It can +be useful for at least three common scenarios: +.PP +1. Checking local configuration and seeing how ORTE was installed. +.PP +2. Submitting bug reports / help requests to the ORTE community +(see +.IR http://www.open-mpi.org/community/help/ ) +.PP +3. Seeing a list of installed ORTE plugins and querying what +MCA parameters they support. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +.B orte-info +accepts the following options: +.TP 8 +.I \-a|\-\-all +Show all configuration options and MCA parameters +.TP 8 +.I \-\-arch +Show architecture ORTE was compiled on +.TP 8 +.I \-c|\-\-config +Show configuration options +.TP 8 +.I \-gmca|\-\-gmca +Pass global MCA parameters that are applicable to all contexts. +.TP 8 +.I \-h|\-\-help +Shows help / usage message +.TP 8 +.I \-\-hostname +Show the hostname that ORTE was configured and built on +.TP 8 +.I \-\-internal +Show internal MCA parameters (not meant to be modified by users) +.TP 8 +.I \-mca|\-\-mca +Pass context-specific MCA parameters; they are considered global if --gmca is +not used and only one context is specified. +.TP 8 +.I \-\-param +Show MCA parameters. The first parameter is the type of the component +to display; the second parameter is the specific component to display +(or the keyword "all", meaning "display all components of this type"). +.TP 8 +.I \-\-parsable +When used in conjunction with other parameters, the output is +displayed in a machine-parsable format +.I \-\-parseable +Synonym for --parsable +.TP 8 +.I \-\-path +Show paths that ORTE was configured with. Accepts the following +parameters: prefix, bindir, libdir, incdir, pkglibdir, sysconfdir. +.TP 8 +.I \-\-pretty +When used in conjunction with other parameters, the output is +displayed in 'prettyprint' format (default) +.TP 8 +.I \-v|\-\-version +Show version of ORTE or a component. can be the +keywords "ompi" or "all", the name of a framework (e.g., "coll" shows +all components in the coll framework), or the name of a specific +component (e.g., "pls:rsh" shows the information from the rsh PLS +component). can be one of: full, major, minor, release, +greek, svn. +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +.TP 4 +orte-info +Show the default output of options and listing of installed +components in a human-readable / prettyprint format. +. +. +.TP +orte-info --parsable +Show the default output of options and listing of installed +components in a machine-parsable format. +. +. +.TP +orte-info --param rmcast udp +Show the MCA parameters of the "udp" RMCAST component in a +human-readable / prettyprint format. +. +. +.TP +orte-info --param rmcast udp --parsable +Show the MCA parameters of the "udp" RMCAST component in a +machine-parsable format. +. +. +.TP +orte-info --path bindir +Show the "bindir" that ORTE was configured with. +. +. +.TP +orte-info --version orte full --parsable +Show the full version numbers of ORTE (including the OPAL +version number) in a machine-readable format. +. +. +.TP +orte-info --version rmcast major +Show the major version number of all RMCAST components in a prettyprint +format. +. +. +.TP +orte-info --version rmcast:tcp minor +Show the minor version number of the TCP RMCAST component in a +prettyprint format. +. +. +.TP +orte-info --all +Show +.I all +information about the ORTE installation, including all components +that can be found, the MCA parameters that they support, versions of +ORTE and the components, etc. +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The ORTE maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/orte-server.1 b/macx64/mpi/openmpi/share/man/man1/orte-server.1 new file mode 100644 index 00000000..bc57431f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orte-server.1 @@ -0,0 +1,72 @@ +.\" +.\" Copyright (c) 2007 Los Alamos National Security, LLC +.\" All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for OMPI's ompi-server command +.\" +.\" .TH name section center-footer left-footer center-header +.TH OMPI-SERVER 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ompi-server \- Server for supporting name publish/lookup operations. +. +.PP +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.BR ompi-server " [ options ]" +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH Options +. +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.TP 10 +.B -h | --help +Display help for this command +. +. +.TP +.B -d | --debug +Enable verbose output for debugging +. +. +.TP +.B -r | --report-uri \fR\fP +Report the Open MPI contact information for the server. This information is +required for MPI jobs to use the data server. Three parameter values are supported: +(a) '-', indicating that the uri is to be printed to stdout; (b) '+', indicating that +the uri is to be printed to stderr; and (c) "file:path-to-file", indicating that +the uri is to be printed to the specified file. The "path-to-file" can be either +absolute or relative, but must be in a location where the user has write +permissions. Please note that the resulting file must be read-accessible to +expected users of the server. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +\fIompi-server\fR acts as a data server for Open MPI jobs to exchange +contact information in support of MPI-2's Publish_name and Lookup_name +functions. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +. diff --git a/macx64/mpi/openmpi/share/man/man1/orted.1 b/macx64/mpi/openmpi/share/man/man1/orted.1 new file mode 100644 index 00000000..f265658f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orted.1 @@ -0,0 +1,46 @@ +.\" Man page contributed by Dirk Eddelbuettel +.\" and released under the BSD license. +.\" Copyright (c) 2008 Sun Microsystems, Inc. All rights reserved. +.TH ORTED 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +orted - Start an Open RTE User-Level Daemon +.SH SYNOPSIS +.B orted [options] +.SH DESCRIPTION +.PP +.B orted +starts an Open RTE daemon for the Open MPI system. +.SH NOTE +The +.B orted +command is +.I not intended to be manually invoked by end users. +. +It is part of the Open MPI architecture and is invoked automatically +as necessary. This man page is mainly intended for those adventerous +end users and system administrators who have noticed an "orted" +process and wondered what it is. +.PP +As such, the command line options accepted by the +.B orted +are not listed below because they are considered internal and are +therefore subject to change between versions without warning. +Running +.B orted +with the +.I --help +command line option will show all available options. +. +. +.\" ************************** +.\" Authors Section +.\" ************************** +.SH AUTHORS +The Open MPI maintainers -- see +.I http://www.openmpi.org/ +or the file +.IR AUTHORS . +.PP +This manual page was originally contributed by Dirk Eddelbuettel +, one of the Debian GNU/Linux maintainers for Open +MPI, and may be used by others. diff --git a/macx64/mpi/openmpi/share/man/man1/orterun.1 b/macx64/mpi/openmpi/share/man/man1/orterun.1 new file mode 100644 index 00000000..e906e1f4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man1/orterun.1 @@ -0,0 +1,1763 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2009-2018 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +.\" Copyright (c) 2017 Los Alamos National Security, LLC. All rights +.\" reserved. +.\" $COPYRIGHT$ +.\" +.\" Man page for ORTE's orterun command +.\" +.\" .TH name section center-footer left-footer center-header +.TH MPIRUN 1 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +orterun, mpirun, mpiexec \- Execute serial and parallel jobs in Open MPI. +oshrun, shmemrun \- Execute serial and parallel jobs in Open SHMEM. + +.B Note: +\fImpirun\fP, \fImpiexec\fP, and \fIorterun\fP are all synonyms for each +other as well as \fIoshrun\fP, \fIshmemrun\fP in case Open SHMEM is installed. +Using any of the names will produce the same behavior. +. +.\" ************************** +.\" Synopsis Section +.\" ************************** +.SH SYNOPSIS +. +.PP +Single Process Multiple Data (SPMD) Model: + +.B mpirun +[ options ] +.B +[ ] +.P + +Multiple Instruction Multiple Data (MIMD) Model: + +.B mpirun +[ global_options ] + [ local_options1 ] +.B +[ ] : + [ local_options2 ] +.B +[ ] : + ... : + [ local_optionsN ] +.B +[ ] +.P + +Note that in both models, invoking \fImpirun\fP via an absolute path +name is equivalent to specifying the \fI--prefix\fP option with a +\fI\fR value equivalent to the directory where \fImpirun\fR +resides, minus its last subdirectory. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local + +. +.\" ************************** +.\" Quick Summary Section +.\" ************************** +.SH QUICK SUMMARY +. +If you are simply looking for how to run an MPI application, you +probably want to use a command line of the following form: + + \fB%\fP mpirun [ -np X ] [ --hostfile ] + +This will run X copies of \fI\fR in your current run-time +environment (if running under a supported resource manager, Open MPI's +\fImpirun\fR will usually automatically use the corresponding resource manager +process starter, as opposed to, for example, \fIrsh\fR or \fIssh\fR, +which require the use of a hostfile, or will default to running all X +copies on the localhost), scheduling (by default) in a round-robin fashion by +CPU slot. See the rest of this page for more details. +.P +Please note that mpirun automatically binds processes as of the start of the +v1.8 series. Three binding patterns are used in the absence of any further directives: +.TP 18 +.B Bind to core: +when the number of processes is <= 2 +. +. +.TP +.B Bind to socket: +when the number of processes is > 2 +. +. +.TP +.B Bind to none: +when oversubscribed +. +. +.P +If your application uses threads, then you probably want to ensure that you are +either not bound at all (by specifying --bind-to none), or bound to multiple cores +using an appropriate binding level or specific number of processing elements per +application process. +. +.\" ************************** +.\" Options Section +.\" ************************** +.SH OPTIONS +. +.I mpirun +will send the name of the directory where it was invoked on the local +node to each of the remote nodes, and attempt to change to that +directory. See the "Current Working Directory" section below for further +details. +.\" +.\" Start options listing +.\" Indent 10 characters from start of first column to start of second column +.TP 10 +.B +The program executable. This is identified as the first non-recognized argument +to mpirun. +. +. +.TP +.B +Pass these run-time arguments to every new process. These must always +be the last arguments to \fImpirun\fP. If an app context file is used, +\fI\fP will be ignored. +. +. +.TP +.B -h\fR,\fP --help +Display help for this command +. +. +.TP +.B -q\fR,\fP --quiet +Suppress informative messages from orterun during application execution. +. +. +.TP +.B -v\fR,\fP --verbose +Be verbose +. +. +.TP +.B -V\fR,\fP --version +Print version number. If no other arguments are given, this will also +cause orterun to exit. +. +. +.TP +.B -N \fR\fP +.br +Launch num processes per node on all allocated nodes (synonym for npernode). +. +. +. +.TP +.B -display-map\fR,\fP --display-map +Display a table showing the mapped location of each process prior to launch. +. +. +. +.TP +.B -display-allocation\fR,\fP --display-allocation +Display the detected resource allocation. +. +. +. +.TP +.B -output-proctable\fR,\fP --output-proctable +Output the debugger proctable after launch. +. +. +. +.TP +.B -dvm\fR,\fP --dvm +Create a persistent distributed virtual machine (DVM). +. +. +. +.TP +.B -max-vm-size\fR,\fP --max-vm-size \fR\fP +Number of processes to run. +. +. +. +.TP +.B -novm\fR,\fP --novm +Execute without creating an allocation-spanning virtual machine (only start +daemons on nodes hosting application procs). +. +. +. +.TP +.B -hnp\fR,\fP --hnp \fR\fP +Specify the URI of the Head Node Process (HNP), or the name of the file (specified as +file:filename) that contains that info. +. +. +. +.P +Use one of the following options to specify which hosts (nodes) of the cluster to run on. Note +that as of the start of the v1.8 release, mpirun will launch a daemon onto each host in the +allocation (as modified by the following options) at the very beginning of execution, regardless +of whether or not application processes will eventually be mapped to execute there. This is +done to allow collection of hardware topology information from the remote nodes, thus allowing +us to map processes against known topology. However, it is a change from the behavior in prior releases +where daemons were only launched \fRafter\fP mapping was complete, and thus only occurred on +nodes where application processes would actually be executing. +. +. +.TP +.B -H\fR,\fP -host\fR,\fP --host \fR\fP +List of hosts on which to invoke processes. +. +. +.TP +.B -hostfile\fR,\fP --hostfile \fR\fP +Provide a hostfile to use. +.\" JJH - Should have man page for how to format a hostfile properly. +. +. +.TP +.B -default-hostfile\fR,\fP --default-hostfile \fR\fP +Provide a default hostfile. +. +. +.TP +.B -machinefile\fR,\fP --machinefile \fR\fP +Synonym for \fI-hostfile\fP. +. +. +. +. +.TP +.B -cpu-set\fR,\fP --cpu-set \fR\fP +Restrict launched processes to the specified logical cpus on each node (comma-separated +list). Note that the binding options will still apply within the specified envelope - e.g., +you can elect to bind each process to only one cpu within the specified cpu set. +. +. +. +.P +The following options specify the number of processes to launch. Note that none +of the options imply a particular binding policy - e.g., requesting N processes +for each socket does not imply that the processes will be bound to the socket. +. +. +.TP +.B -c\fR,\fP -n\fR,\fP --n\fR,\fP -np \fR<#>\fP +Run this many copies of the program on the given nodes. This option +indicates that the specified file is an executable program and not an +application context. If no value is provided for the number of copies to +execute (i.e., neither the "-np" nor its synonyms are provided on the command +line), Open MPI will automatically execute a copy of the program on +each process slot (see below for description of a "process slot"). This +feature, however, can only be used in the SPMD model and will return an +error (without beginning execution of the application) otherwise. +. +. +.TP +.B —map-by ppr:N: +Launch N times the number of objects of the specified type on each node. +. +. +.TP +.B -npersocket\fR,\fP --npersocket \fR<#persocket>\fP +On each node, launch this many processes times the number of processor +sockets on the node. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option. +(deprecated in favor of --map-by ppr:n:socket) +. +. +.TP +.B -npernode\fR,\fP --npernode \fR<#pernode>\fP +On each node, launch this many processes. +(deprecated in favor of --map-by ppr:n:node) +. +. +.TP +.B -pernode\fR,\fP --pernode +On each node, launch one process -- equivalent to \fI-npernode\fP 1. +(deprecated in favor of --map-by ppr:1:node) +. +. +. +. +.P +To map processes: +. +. +.TP +.B --map-by \fR\fP +Map to the specified object, defaults to \fIsocket\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, socket, numa, +board, node, sequential, distance, and ppr. Any object can include +modifiers by adding a \fR:\fP and any combination of PE=n (bind n +processing elements to each proc), SPAN (load +balance the processes across the allocation), OVERSUBSCRIBE (allow +more processes on a node than processing elements), and NOOVERSUBSCRIBE. +This includes PPR, where the pattern would be terminated by another colon +to separate it from the modifiers. +. +.TP +.B -bycore\fR,\fP --bycore +Map processes by core (deprecated in favor of --map-by core) +. +.TP +.B -byslot\fR,\fP --byslot +Map and rank processes round-robin by slot. +. +.TP +.B -nolocal\fR,\fP --nolocal +Do not run any copies of the launched application on the same node as +orterun is running. This option will override listing the localhost +with \fB--host\fR or any other host-specifying mechanism. +. +.TP +.B -nooversubscribe\fR,\fP --nooversubscribe +Do not oversubscribe any nodes; error (without starting any processes) +if the requested number of processes would cause oversubscription. +This option implicitly sets "max_slots" equal to the "slots" value for +each node. (Enabled by default). +. +.TP +.B -oversubscribe\fR,\fP --oversubscribe +Nodes are allowed to be oversubscribed, even on a managed system, and +overloading of processing elements. +. +.TP +.B -bynode\fR,\fP --bynode +Launch processes one per node, cycling by node in a round-robin +fashion. This spreads processes evenly among nodes and assigns +MPI_COMM_WORLD ranks in a round-robin, "by node" manner. +. +.TP +.B -cpu-list\fR,\fP --cpu-list \fR\fP +Comma-delimited list of processor IDs to which to bind processes +[default=NULL]. Processor IDs are interpreted as hwloc logical core +IDs. Run the hwloc \fIlstopo(1)\fR command to see a list of available +cores and their logical IDs. +. +. +. +. +.P +To order processes' ranks in MPI_COMM_WORLD: +. +. +.TP +.B --rank-by \fR\fP +Rank in round-robin fashion according to the specified object, +defaults to \fIslot\fP. Supported options +include slot, hwthread, core, L1cache, L2cache, L3cache, +socket, numa, board, and node. +. +. +. +. +.P +For process binding: +. +.TP +.B --bind-to \fR\fP +Bind processes to the specified object, defaults to \fIcore\fP. Supported options +include slot, hwthread, core, l1cache, l2cache, l3cache, socket, numa, board, cpu-list, and none. +. +.TP +.B -cpus-per-proc\fR,\fP --cpus-per-proc \fR<#perproc>\fP +Bind each process to the specified number of cpus. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -cpus-per-rank\fR,\fP --cpus-per-rank \fR<#perrank>\fP +Alias for \fI-cpus-per-proc\fP. +(deprecated in favor of --map-by :PE=n) +. +.TP +.B -bind-to-core\fR,\fP --bind-to-core +Bind processes to cores (deprecated in favor of --bind-to core) +. +.TP +.B -bind-to-socket\fR,\fP --bind-to-socket +Bind processes to processor sockets (deprecated in favor of --bind-to socket) +. +.TP +.B -report-bindings\fR,\fP --report-bindings +Report any bindings for launched processes. +. +. +. +. +.P +For rankfiles: +. +. +.TP +.B -rf\fR,\fP --rankfile \fR\fP +Provide a rankfile file. +. +. +. +. +.P +To manage standard I/O: +. +. +.TP +.B -output-filename\fR,\fP --output-filename \fR\fP +Redirect the stdout, stderr, and stddiag of all processes to a process-unique version of +the specified filename. Any directories in the filename will automatically be created. +Each output file will consist of filename.id, where the id will be the +processes' rank in MPI_COMM_WORLD, left-filled with +zero's for correct ordering in listings. A relative path value will be converted to an +absolute path based on the cwd where mpirun is executed. Note that this \fIwill not\fP work +on environments where the file system on compute nodes differs from that where mpirun +is executed. +. +. +.TP +.B -stdin\fR,\fP --stdin\fR \fP +The MPI_COMM_WORLD rank of the process that is to receive stdin. The +default is to forward stdin to MPI_COMM_WORLD rank 0, but this option +can be used to forward stdin to any process. It is also acceptable to +specify \fInone\fP, indicating that no processes are to receive stdin. +. +. +.TP +.B -merge-stderr-to-stdout\fR,\fP --merge-stderr-to-stdout +Merge stderr to stdout for each process. +. +. +.TP +.B -tag-output\fR,\fP --tag-output +Tag each line of output to stdout, stderr, and stddiag with \fB[jobid, MCW_rank]\fP +indicating the process jobid and MPI_COMM_WORLD rank of the process that generated the output, +and the channel which generated it. +. +. +.TP +.B -timestamp-output\fR,\fP --timestamp-output +Timestamp each line of output to stdout, stderr, and stddiag. +. +. +.TP +.B -xml\fR,\fP --xml +Provide all output to stdout, stderr, and stddiag in an xml format. +. +. +.TP +.B -xml-file\fR,\fP --xml-file \fR\fP +Provide all output in XML format to the specified file. +. +. +.TP +.B -xterm\fR,\fP --xterm \fR\fP +Display the output from the processes identified by their +MPI_COMM_WORLD ranks in separate xterm windows. The ranks are specified +as a comma-separated list of ranges, with a -1 indicating all. A separate +window will be created for each specified process. +.B Note: +xterm will normally terminate the window upon termination of the process running +within it. However, by adding a "!" to the end of the list of specified ranks, +the proper options will be provided to ensure that xterm keeps the window open +\fIafter\fP the process terminates, thus allowing you to see the process' output. +Each xterm window will subsequently need to be manually closed. +.B Note: +In some environments, xterm may require that the executable be in the user's +path, or be specified in absolute or relative terms. Thus, it may be necessary +to specify a local executable as "./foo" instead of just "foo". If xterm fails to +find the executable, mpirun will hang, but still respond correctly to a ctrl-c. +If this happens, please check that the executable is being specified correctly +and try again. +. +. +. +. +.P +To manage files and runtime environment: +. +. +.TP +.B -path\fR,\fP --path \fR\fP + that will be used when attempting to locate the requested +executables. This is used prior to using the local PATH setting. +. +. +.TP +.B --prefix \fR\fP +Prefix directory that will be used to set the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote node before invoking Open MPI or +the target process. See the "Remote Execution" section, below. +. +. +.TP +.B --noprefix +Disable the automatic --prefix behavior +. +. +.TP +.B -s\fR,\fP --preload-binary +Copy the specified executable(s) to remote machines prior to starting remote processes. The +executables will be copied to the Open MPI session directory and will be deleted upon +completion of the job. +. +. +.TP +.B --preload-files \fR\fP +Preload the comma separated list of files to the current working directory of the remote +machines where processes will be launched prior to starting those processes. +. +. +.TP +.B -set-cwd-to-session-dir\fR,\fP --set-cwd-to-session-dir +Set the working directory of the started processes to their session directory. +. +. +.TP +.B -wd \fR\fP +Synonym for \fI-wdir\fP. +. +. +.TP +.B -wdir \fR\fP +Change to the directory before the user's program executes. +See the "Current Working Directory" section for notes on relative paths. +.B Note: +If the \fI-wdir\fP option appears both on the command line and in an +application context, the context will take precedence over the command +line. Thus, if the path to the desired wdir is different +on the backend nodes, then it must be specified as an absolute path that +is correct for the backend node. +. +. +.TP +.B -x \fR\fP +Export the specified environment variables to the remote nodes before +executing the program. Only one environment variable can be specified +per \fI-x\fP option. Existing environment variables can be specified +or new variable names specified with corresponding values. For +example: + \fB%\fP mpirun -x DISPLAY -x OFILE=/tmp/out ... + +The parser for the \fI-x\fP option is not very sophisticated; it does +not even understand quoted values. Users are advised to set variables +in the environment, and then use \fI-x\fP to export (not define) them. +. +. +. +. +.P +Setting MCA parameters: +. +. +.TP +.B -gmca\fR,\fP --gmca \fR \fP +Pass global MCA parameters that are applicable to all contexts. \fI\fP is +the parameter name; \fI\fP is the parameter value. +. +. +.TP +.B -mca\fR,\fP --mca \fR \fP +Send arguments to various MCA modules. See the "MCA" section, below. +. +. +.TP +.B -am \fR\fP +Aggregate MCA parameter set file list. +. +. +.TP +.B -tune\fR,\fP --tune \fR\fP +Specify a tune file to set arguments for various MCA modules and environment variables. +See the "Setting MCA parameters and environment variables from file" section, below. +. +. +. +. +.P +For debugging: +. +. +.TP +.B -debug\fR,\fP --debug +Invoke the user-level debugger indicated by the \fIorte_base_user_debugger\fP +MCA parameter. +. +. +.TP +.B --get-stack-traces +When paired with the +.B --timeout +option, +.I mpirun +will obtain and print out stack traces from all launched processes +that are still alive when the timeout expires. Note that obtaining +stack traces can take a little time and produce a lot of output, +especially for large process-count jobs. +. +. +.TP +.B -debugger\fR,\fP --debugger \fR\fP +Sequence of debuggers to search for when \fI--debug\fP is used (i.e. +a synonym for \fIorte_base_user_debugger\fP MCA parameter). +. +. +.TP +.B --timeout \fR +The maximum number of seconds that +.I mpirun +(also known as +.I mpiexec\fR,\fI oshrun\fR,\fI orterun\fR,\fI +etc.) +will run. After this many seconds, +.I mpirun +will abort the launched job and exit with a non-zero exit status. +Using +.B --timeout +can be also useful when combined with the +.B --get-stack-traces +option. +. +. +.TP +.B -tv\fR,\fP --tv +Launch processes under the TotalView debugger. +Deprecated backwards compatibility flag. Synonym for \fI--debug\fP. +. +. +. +. +.P +There are also other options: +. +. +.TP +.B --allow-run-as-root +Allow +.I mpirun +to run when executed by the root user +.RI ( mpirun +defaults to aborting when launched as the root user). Be sure to see +the +.I Running as root +section, below, for more detail. +. +. +.TP +.B --app \fR\fP +Provide an appfile, ignoring all other command line options. +. +. +.TP +.B -cf\fR,\fP --cartofile \fR\fP +Provide a cartography file. +. +. +.TP +.B -continuous\fR,\fP --continuous +Job is to run until explicitly terminated. +. +. +.TP +.B -disable-recovery\fR,\fP --disable-recovery +Disable recovery (resets all recovery options to off). +. +. +.TP +.B -do-not-launch\fR,\fP --do-not-launch +Perform all necessary operations to prepare to launch the application, but do not actually launch it. +. +. +.TP +.B -do-not-resolve\fR,\fP --do-not-resolve +Do not attempt to resolve interfaces. +. +. +.TP +.B -enable-recovery\fR,\fP --enable-recovery +Enable recovery from process failure [Default = disabled]. +. +. +.TP +.B -index-argv-by-rank\fR,\fP --index-argv-by-rank +Uniquely index argv[0] for each process using its rank. +. +. +.TP +.B -leave-session-attached\fR,\fP --leave-session-attached +Do not detach OmpiRTE daemons used by this application. This allows error messages from the daemons +as well as the underlying environment (e.g., when failing to launch a daemon) to be output. +. +. +.TP +.B -max-restarts\fR,\fP --max-restarts \fR\fP +Max number of times to restart a failed process. +. +. +.TP +.B -ompi-server\fR,\fP --ompi-server \fR\fP +Specify the URI of the Open MPI server (or the mpirun to be used as the server), +the name of the file (specified as file:filename) that contains that info, or +the PID (specified as pid:#) of the mpirun to be used as the server. +The Open MPI server is used to support multi-application data exchange via +the MPI-2 MPI_Publish_name and MPI_Lookup_name functions. +. +. +.TP +.B -personality\fR,\fP --personality \fR\fP +Comma-separated list of programming model, languages, and containers being used (default="ompi"). +. +. +.TP +.B --ppr \fR\fP +Comma-separated list of number of processes on a given resource type [default: none]. +. +. +.TP +.B -report-child-jobs-separately\fR,\fP --report-child-jobs-separately +Return the exit status of the primary job only. +. +. +.TP +.B -report-events\fR,\fP --report-events \fR\fP +Report events to a tool listening at the specified URI. +. +. +.TP +.B -report-pid\fR,\fP --report-pid \fR\fP +Print out mpirun's PID during startup. The channel must be either a '-' to indicate +that the pid is to be output to stdout, a '+' to indicate that the pid is to be +output to stderr, or a filename to which the pid is to be written. +. +. +.TP +.B -report-uri\fR,\fP --report-uri \fR\fP +Print out mpirun's URI during startup. The channel must be either a '-' to indicate +that the URI is to be output to stdout, a '+' to indicate that the URI is to be +output to stderr, or a filename to which the URI is to be written. +. +. +.TP +.B -show-progress\fR,\fP --show-progress +Output a brief periodic report on launch progress. +. +. +.TP +.B -terminate\fR,\fP --terminate +Terminate the DVM. +. +. +.TP +.B -use-hwthread-cpus\fR,\fP --use-hwthread-cpus +Use hardware threads as independent cpus. +. +. +.TP +.B -use-regexp\fR,\fP --use-regexp +Use regular expressions for launch. +. +. +. +. +.P +The following options are useful for developers; they are not generally +useful to most ORTE and/or MPI users: +. +.TP +.B -d\fR,\fP --debug-devel +Enable debugging of the OmpiRTE (the run-time layer in Open MPI). +This is not generally useful for most users. +. +. +.TP +.B --debug-daemons +Enable debugging of any OmpiRTE daemons used by this application. +. +. +.TP +.B --debug-daemons-file +Enable debugging of any OmpiRTE daemons used by this application, storing +output in files. +. +. +.TP +.B -display-devel-allocation\fR,\fP --display-devel-allocation +Display a detailed list of the allocation being used by this job. +. +. +.TP +.B -display-devel-map\fR,\fP --display-devel-map +Display a more detailed table showing the mapped location of each process prior to launch. +. +. +.TP +.B -display-diffable-map\fR,\fP --display-diffable-map +Display a diffable process map just before launch. +. +. +.TP +.B -display-topo\fR,\fP --display-topo +Display the topology as part of the process map just before launch. +. +. +.TP +.B -launch-agent\fR,\fP --launch-agent +Name of the executable that is to be used to start processes on the remote nodes. The default +is "orted". This option can be used to test new daemon concepts, or to pass options back to the +daemons without having mpirun itself see them. For example, specifying a launch agent of +\fRorted -mca odls_base_verbose 5\fR allows the developer to ask the orted for debugging output +without clutter from mpirun itself. +. +. +.TP +.B --report-state-on-timeout +When paired with the +.B --timeout +command line option, report the run-time subsystem state of each +process when the timeout expires. +. +. +.P +There may be other options listed with \fImpirun --help\fP. +. +. +.SS Environment Variables +. +.TP +.B MPIEXEC_TIMEOUT +Synonym for the +.B --timeout +command line option. +. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +One invocation of \fImpirun\fP starts an MPI application running under Open +MPI. If the application is single process multiple data (SPMD), the application +can be specified on the \fImpirun\fP command line. + +If the application is multiple instruction multiple data (MIMD), comprising of +multiple programs, the set of programs and argument can be specified in one of +two ways: Extended Command Line Arguments, and Application Context. +.PP +An application context describes the MIMD program set including all arguments +in a separate file. +.\" See appcontext(5) for a description of the application context syntax. +This file essentially contains multiple \fImpirun\fP command lines, less the +command name itself. The ability to specify different options for different +instantiations of a program is another reason to use an application context. +.PP +Extended command line arguments allow for the description of the application +layout on the command line using colons (\fI:\fP) to separate the specification +of programs and arguments. Some options are globally set across all specified +programs (e.g. --hostfile), while others are specific to a single program +(e.g. -np). +. +. +. +.SS Specifying Host Nodes +. +Host nodes can be identified on the \fImpirun\fP command line with the \fI-host\fP +option or in a hostfile. +. +.PP +For example, +. +.TP 4 +mpirun -H aa,aa,bb ./a.out +launches two processes on node aa and one on bb. +. +.PP +Or, consider the hostfile +. + + \fB%\fP cat myhostfile + aa slots=2 + bb slots=2 + cc slots=2 + +. +.PP +Here, we list both the host names (aa, bb, and cc) but also how many "slots" +there are for each. Slots indicate how many processes can potentially execute +on a node. For best performance, the number of slots may be chosen to be the +number of cores on the node or the number of processor sockets. If the hostfile +does not provide slots information, Open MPI will attempt to discover the number +of cores (or hwthreads, if the use-hwthreads-as-cpus option is set) and set the +number of slots to that value. This default behavior also occurs when specifying +the \fI-host\fP option with a single hostname. Thus, the command +. +.TP 4 +mpirun -H aa ./a.out +launches a number of processes equal to the number of cores on node aa. +. +.PP +. +.TP 4 +mpirun -hostfile myhostfile ./a.out +will launch two processes on each of the three nodes. +. +.TP 4 +mpirun -hostfile myhostfile -host aa ./a.out +will launch two processes, both on node aa. +. +.TP 4 +mpirun -hostfile myhostfile -host dd ./a.out +will find no hosts to run on and abort with an error. +That is, the specified host dd is not in the specified hostfile. +. +.PP +When running under resource managers (e.g., SLURM, Torque, etc.), +Open MPI will obtain both the hostnames and the number of slots directly +from the resource manger. +. +.SS Specifying Number of Processes +. +As we have just seen, the number of processes to run can be set using the +hostfile. Other mechanisms exist. +. +.PP +The number of processes launched can be specified as a multiple of the +number of nodes or processor sockets available. For example, +. +.TP 4 +mpirun -H aa,bb -npersocket 2 ./a.out +launches processes 0-3 on node aa and process 4-7 on node bb, +where aa and bb are both dual-socket nodes. +The \fI-npersocket\fP option also turns on the \fI-bind-to-socket\fP option, +which is discussed in a later section. +. +.TP 4 +mpirun -H aa,bb -npernode 2 ./a.out +launches processes 0-1 on node aa and processes 2-3 on node bb. +. +.TP 4 +mpirun -H aa,bb -npernode 1 ./a.out +launches one process per host node. +. +.TP 4 +mpirun -H aa,bb -pernode ./a.out +is the same as \fI-npernode\fP 1. +. +. +.PP +Another alternative is to specify the number of processes with the +\fI-np\fP option. Consider now the hostfile +. + + \fB%\fP cat myhostfile + aa slots=4 + bb slots=4 + cc slots=4 + +. +.PP +Now, +. +.TP 4 +mpirun -hostfile myhostfile -np 6 ./a.out +will launch processes 0-3 on node aa and processes 4-5 on node bb. The remaining +slots in the hostfile will not be used since the \fI-np\fP option indicated +that only 6 processes should be launched. +. +.SS Mapping Processes to Nodes: Using Policies +. +The examples above illustrate the default mapping of process processes +to nodes. This mapping can also be controlled with various +\fImpirun\fP options that describe mapping policies. +. +. +.PP +Consider the same hostfile as above, again with \fI-np\fP 6: +. + + node aa node bb node cc + + mpirun 0 1 2 3 4 5 + + mpirun --map-by node 0 3 1 4 2 5 + + mpirun -nolocal 0 1 2 3 4 5 +. +.PP +The \fI--map-by node\fP option will load balance the processes across +the available nodes, numbering each process in a round-robin fashion. +. +.PP +The \fI-nolocal\fP option prevents any processes from being mapped onto the +local host (in this case node aa). While \fImpirun\fP typically consumes +few system resources, \fI-nolocal\fP can be helpful for launching very +large jobs where \fImpirun\fP may actually need to use noticeable amounts +of memory and/or processing time. +. +.PP +Just as \fI-np\fP can specify fewer processes than there are slots, it can +also oversubscribe the slots. For example, with the same hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +will launch processes 0-3 on node aa, 4-7 on bb, and 8-11 on cc. It will +then add the remaining two processes to whichever nodes it chooses. +. +.PP +One can also specify limits to oversubscription. For example, with the same +hostfile: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 -nooversubscribe ./a.out +will produce an error since \fI-nooversubscribe\fP prevents oversubscription. +. +.PP +Limits to oversubscription can also be specified in the hostfile itself: +. + % cat myhostfile + aa slots=4 max_slots=4 + bb max_slots=4 + cc slots=4 +. +.PP +The \fImax_slots\fP field specifies such a limit. When it does, the +\fIslots\fP value defaults to the limit. Now: +. +.TP 4 +mpirun -hostfile myhostfile -np 14 ./a.out +causes the first 12 processes to be launched as before, but the remaining +two processes will be forced onto node cc. The other two nodes are +protected by the hostfile against oversubscription by this job. +. +.PP +Using the \fI--nooversubscribe\fR option can be helpful since Open MPI +currently does not get "max_slots" values from the resource manager. +. +.PP +Of course, \fI-np\fP can also be used with the \fI-H\fP or \fI-host\fP +option. For example, +. +.TP 4 +mpirun -H aa,bb -np 8 ./a.out +launches 8 processes. Since only two hosts are specified, after the first +two processes are mapped, one to aa and one to bb, the remaining processes +oversubscribe the specified hosts. +. +.PP +And here is a MIMD example: +. +.TP 4 +mpirun -H aa -np 1 hostname : -H bb,cc -np 2 uptime +will launch process 0 running \fIhostname\fP on node aa and processes 1 and 2 +each running \fIuptime\fP on nodes bb and cc, respectively. +. +.SS Mapping, Ranking, and Binding: Oh My! +. +Open MPI employs a three-phase procedure for assigning process locations and +ranks: +. +.TP 10 +\fBmapping\fP +Assigns a default location to each process +. +.TP 10 +\fBranking\fP +Assigns an MPI_COMM_WORLD rank value to each process +. +.TP 10 +\fBbinding\fP +Constrains each process to run on specific processors +. +.PP +The \fImapping\fP step is used to assign a default location to each process +based on the mapper being employed. Mapping by slot, node, and sequentially results +in the assignment of the processes to the node level. In contrast, mapping by object, allows +the mapper to assign the process to an actual object on each node. +. +.PP +\fBNote:\fP the location assigned to the process is independent of where it will be bound - the +assignment is used solely as input to the binding algorithm. +. +.PP +The mapping of process processes to nodes can be defined not just +with general policies but also, if necessary, using arbitrary mappings +that cannot be described by a simple policy. One can use the "sequential +mapper," which reads the hostfile line by line, assigning processes +to nodes in whatever order the hostfile specifies. Use the +\fI-mca rmaps seq\fP option. For example, using the same hostfile +as before: +. +.PP +mpirun -hostfile myhostfile -mca rmaps seq ./a.out +. +.PP +will launch three processes, one on each of nodes aa, bb, and cc, respectively. +The slot counts don't matter; one process is launched per line on +whatever node is listed on the line. +. +.PP +Another way to specify arbitrary mappings is with a rankfile, which +gives you detailed control over process binding as well. Rankfiles +are discussed below. +. +.PP +The second phase focuses on the \fIranking\fP of the process within +the job's MPI_COMM_WORLD. Open MPI +separates this from the mapping procedure to allow more flexibility in the +relative placement of MPI processes. This is best illustrated by considering the +following two cases where we used the —map-by ppr:2:socket option: +. +.PP + node aa node bb + + rank-by core 0 1 ! 2 3 4 5 ! 6 7 + + rank-by socket 0 2 ! 1 3 4 6 ! 5 7 + + rank-by socket:span 0 4 ! 1 5 2 6 ! 3 7 +. +.PP +Ranking by core and by slot provide the identical result - a simple +progression of MPI_COMM_WORLD ranks across each node. Ranking by +socket does a round-robin ranking within each node until all processes +have been assigned an MCW rank, and then progresses to the next +node. Adding the \fIspan\fP modifier to the ranking directive causes +the ranking algorithm to treat the entire allocation as a single +entity - thus, the MCW ranks are assigned across all sockets before +circling back around to the beginning. +. +.PP +The \fIbinding\fP phase actually binds each process to a given set of processors. This can +improve performance if the operating system is placing processes +suboptimally. For example, it might oversubscribe some multi-core +processor sockets, leaving other sockets idle; this can lead +processes to contend unnecessarily for common resources. Or, it +might spread processes out too widely; this can be suboptimal if +application performance is sensitive to interprocess communication +costs. Binding can also keep the operating system from migrating +processes excessively, regardless of how optimally those processes +were placed to begin with. +. +.PP +The processors to be used for binding can be identified in terms of +topological groupings - e.g., binding to an l3cache will bind each +process to all processors within the scope of a single L3 cache within +their assigned location. Thus, if a process is assigned by the mapper +to a certain socket, then a \fI—bind-to l3cache\fP directive will +cause the process to be bound to the processors that share a single L3 +cache within that socket. +. +.PP +Alternatively, processes can be assigned to processors based on their +local rank on a node using the \fI--bind-to cpu-list:ordered\fP option +with an associated \fI--cpu-list "0,2,5"\fP. In this example, the +first process on a node will be bound to cpu 0, the second process on +the node will be bound to cpu 2, and the third process on the node +will be bound to cpu 5. \fI--bind-to\fP will also accept +\fIcpulist:ortered\fP as a synonym to \fIcpu-list:ordered\fP. Note +that an error will result if more processes are assigned to a node +than cpus are provided. +. +.PP +To help balance loads, the binding directive uses a round-robin method when binding to +levels lower than used in the mapper. For example, consider the case where a job is +mapped to the socket level, and then bound to core. Each socket will have multiple cores, +so if multiple processes are mapped to a given socket, the binding algorithm will assign +each process located to a socket to a unique core in a round-robin manner. +. +.PP +Alternatively, processes mapped by l2cache and then bound to socket will simply be bound +to all the processors in the socket where they are located. In this manner, users can +exert detailed control over relative MCW rank location and binding. +. +.PP +Finally, \fI--report-bindings\fP can be used to report bindings. +. +.PP +As an example, consider a node with two processor sockets, each comprising +four cores. We run \fImpirun\fP with \fI-np 4 --report-bindings\fP and +the following additional options: +. + + % mpirun ... --map-by core --bind-to core + [...] ... binding child [...,0] to cpus 0001 + [...] ... binding child [...,1] to cpus 0002 + [...] ... binding child [...,2] to cpus 0004 + [...] ... binding child [...,3] to cpus 0008 + + % mpirun ... --map-by socket --bind-to socket + [...] ... binding child [...,0] to socket 0 cpus 000f + [...] ... binding child [...,1] to socket 1 cpus 00f0 + [...] ... binding child [...,2] to socket 0 cpus 000f + [...] ... binding child [...,3] to socket 1 cpus 00f0 + + % mpirun ... --map-by core:PE=2 --bind-to core + [...] ... binding child [...,0] to cpus 0003 + [...] ... binding child [...,1] to cpus 000c + [...] ... binding child [...,2] to cpus 0030 + [...] ... binding child [...,3] to cpus 00c0 + + % mpirun ... --bind-to none +. +.PP +Here, \fI--report-bindings\fP shows the binding of each process as a mask. +In the first case, the processes bind to successive cores as indicated by +the masks 0001, 0002, 0004, and 0008. In the second case, processes bind +to all cores on successive sockets as indicated by the masks 000f and 00f0. +The processes cycle through the processor sockets in a round-robin fashion +as many times as are needed. In the third case, the masks show us that +2 cores have been bound per process. In the fourth case, binding is +turned off and no bindings are reported. +. +.PP +Open MPI's support for process binding depends on the underlying +operating system. Therefore, certain process binding options may not be available +on every system. +. +.PP +Process binding can also be set with MCA parameters. +Their usage is less convenient than that of \fImpirun\fP options. +On the other hand, MCA parameters can be set not only on the \fImpirun\fP +command line, but alternatively in a system or user mca-params.conf file +or as environment variables, as described in the MCA section below. +Some examples include: +. +.PP + mpirun option MCA parameter key value + + --map-by core rmaps_base_mapping_policy core + --map-by socket rmaps_base_mapping_policy socket + --rank-by core rmaps_base_ranking_policy core + --bind-to core hwloc_base_binding_policy core + --bind-to socket hwloc_base_binding_policy socket + --bind-to none hwloc_base_binding_policy none +. +. +.SS Rankfiles +. +Rankfiles are text files that specify detailed information about how +individual processes should be mapped to nodes, and to which +processor(s) they should be bound. Each line of a rankfile specifies +the location of one process (for MPI jobs, the process' "rank" refers +to its rank in MPI_COMM_WORLD). The general form of each line in the +rankfile is: +. + + rank = slot= +. +.PP +For example: +. + + $ cat myrankfile + rank 0=aa slot=1:0-2 + rank 1=bb slot=0:0,1 + rank 2=cc slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Means that +. + + Rank 0 runs on node aa, bound to logical socket 1, cores 0-2. + Rank 1 runs on node bb, bound to logical socket 0, cores 0 and 1. + Rank 2 runs on node cc, bound to logical cores 1 and 2. +. +.PP +Rankfiles can alternatively be used to specify \fIphysical\fP processor +locations. In this case, the syntax is somewhat different. Sockets are +no longer recognized, and the slot number given must be the number of +the physical PU as most OS's do not assign a unique physical identifier +to each core in the node. Thus, a proper physical rankfile looks something +like the following: +. + + $ cat myphysicalrankfile + rank 0=aa slot=1 + rank 1=bb slot=8 + rank 2=cc slot=6 +. +.PP +This means that +. + + Rank 0 will run on node aa, bound to the core that contains physical PU 1 + Rank 1 will run on node bb, bound to the core that contains physical PU 8 + Rank 2 will run on node cc, bound to the core that contains physical PU 6 +. +.PP +Rankfiles are treated as \fIlogical\fP by default, and the MCA parameter +rmaps_rank_file_physical must be set to 1 to indicate that the rankfile +is to be considered as \fIphysical\fP. +. +.PP +The hostnames listed above are "absolute," meaning that actual +resolveable hostnames are specified. However, hostnames can also be +specified as "relative," meaning that they are specified in relation +to an externally-specified list of hostnames (e.g., by mpirun's --host +argument, a hostfile, or a job scheduler). +. +.PP +The "relative" specification is of the form "+n", where X is an +integer specifying the Xth hostname in the set of all available +hostnames, indexed from 0. For example: +. + + $ cat myrankfile + rank 0=+n0 slot=1:0-2 + rank 1=+n1 slot=0:0,1 + rank 2=+n2 slot=1-2 + $ mpirun -H aa,bb,cc,dd -rf myrankfile ./a.out +. +.PP +Starting with Open MPI v1.7, all socket/core slot locations are be +specified as +.I logical +indexes (the Open MPI v1.6 series used +.I physical +indexes). You can use tools such as HWLOC's "lstopo" to find the +logical indexes of socket and cores. +. +. +.SS Application Context or Executable Program? +. +To distinguish the two different forms, \fImpirun\fP +looks on the command line for \fI--app\fP option. If +it is specified, then the file named on the command line is +assumed to be an application context. If it is not +specified, then the file is assumed to be an executable program. +. +. +. +.SS Locating Files +. +If no relative or absolute path is specified for a file, Open +MPI will first look for files by searching the directories specified +by the \fI--path\fP option. If there is no \fI--path\fP option set or +if the file is not found at the \fI--path\fP location, then Open MPI +will search the user's PATH environment variable as defined on the +source node(s). +.PP +If a relative directory is specified, it must be relative to the initial +working directory determined by the specific starter used. For example when +using the rsh or ssh starters, the initial directory is $HOME by default. Other +starters may set the initial directory to the current working directory from +the invocation of \fImpirun\fP. +. +. +. +.SS Current Working Directory +. +The \fI\-wdir\fP mpirun option (and its synonym, \fI\-wd\fP) allows +the user to change to an arbitrary directory before the program is +invoked. It can also be used in application context files to specify +working directories on specific nodes and/or for specific +applications. +.PP +If the \fI\-wdir\fP option appears both in a context file and on the +command line, the context file directory will override the command +line value. +.PP +If the \fI-wdir\fP option is specified, Open MPI will attempt to +change to the specified directory on all of the remote nodes. If this +fails, \fImpirun\fP will abort. +.PP +If the \fI-wdir\fP option is \fBnot\fP specified, Open MPI will send +the directory name where \fImpirun\fP was invoked to each of the +remote nodes. The remote nodes will try to change to that +directory. If they are unable (e.g., if the directory does not exist on +that node), then Open MPI will use the default directory determined by +the starter. +.PP +All directory changing occurs before the user's program is invoked; it +does not wait until \fIMPI_INIT\fP is called. +. +. +. +.SS Standard I/O +. +Open MPI directs UNIX standard input to /dev/null on all processes +except the MPI_COMM_WORLD rank 0 process. The MPI_COMM_WORLD rank 0 process +inherits standard input from \fImpirun\fP. +.B Note: +The node that invoked \fImpirun\fP need not be the same as the node where the +MPI_COMM_WORLD rank 0 process resides. Open MPI handles the redirection of +\fImpirun\fP's standard input to the rank 0 process. +.PP +Open MPI directs UNIX standard output and error from remote nodes to the node +that invoked \fImpirun\fP and prints it on the standard output/error of +\fImpirun\fP. +Local processes inherit the standard output/error of \fImpirun\fP and transfer +to it directly. +.PP +Thus it is possible to redirect standard I/O for Open MPI applications by +using the typical shell redirection procedure on \fImpirun\fP. + + \fB%\fP mpirun -np 2 my_app < my_input > my_output + +Note that in this example \fIonly\fP the MPI_COMM_WORLD rank 0 process will +receive the stream from \fImy_input\fP on stdin. The stdin on all the other +nodes will be tied to /dev/null. However, the stdout from all nodes will +be collected into the \fImy_output\fP file. +. +. +. +.SS Signal Propagation +. +When orterun receives a SIGTERM and SIGINT, it will attempt to kill +the entire job by sending all processes in the job a SIGTERM, waiting +a small number of seconds, then sending all processes in the job a +SIGKILL. +. +.PP +SIGUSR1 and SIGUSR2 signals received by orterun are propagated to +all processes in the job. +. +.PP +A SIGTSTOP signal to mpirun will cause a SIGSTOP signal to be sent +to all of the programs started by mpirun and likewise a SIGCONT signal +to mpirun will cause a SIGCONT sent. +. +.PP +Other signals are not currently propagated +by orterun. +. +. +.SS Process Termination / Signal Handling +. +During the run of an MPI application, if any process dies abnormally +(either exiting before invoking \fIMPI_FINALIZE\fP, or dying as the result of a +signal), \fImpirun\fP will print out an error message and kill the rest of the +MPI application. +.PP +User signal handlers should probably avoid trying to cleanup MPI state +(Open MPI is currently not async-signal-safe; see MPI_Init_thread(3) +for details about +.I MPI_THREAD_MULTIPLE +and thread safety). For example, if a segmentation fault occurs in +\fIMPI_SEND\fP (perhaps because a bad buffer was passed in) and a user +signal handler is invoked, if this user handler attempts to invoke +\fIMPI_FINALIZE\fP, Bad Things could happen since Open MPI was already +"in" MPI when the error occurred. Since \fImpirun\fP will notice that +the process died due to a signal, it is probably not necessary (and +safest) for the user to only clean up non-MPI state. +. +. +. +.SS Process Environment +. +Processes in the MPI application inherit their environment from the +Open RTE daemon upon the node on which they are running. The +environment is typically inherited from the user's shell. On remote +nodes, the exact environment is determined by the boot MCA module +used. The \fIrsh\fR launch module, for example, uses either +\fIrsh\fR/\fIssh\fR to launch the Open RTE daemon on remote nodes, and +typically executes one or more of the user's shell-setup files before +launching the Open RTE daemon. When running dynamically linked +applications which require the \fILD_LIBRARY_PATH\fR environment +variable to be set, care must be taken to ensure that it is correctly +set when booting Open MPI. +.PP +See the "Remote Execution" section for more details. +. +. +.SS Remote Execution +. +Open MPI requires that the \fIPATH\fR environment variable be set to +find executables on remote nodes (this is typically only necessary in +\fIrsh\fR- or \fIssh\fR-based environments -- batch/scheduled +environments typically copy the current environment to the execution +of remote jobs, so if the current environment has \fIPATH\fR and/or +\fILD_LIBRARY_PATH\fR set properly, the remote nodes will also have it +set properly). If Open MPI was compiled with shared library support, +it may also be necessary to have the \fILD_LIBRARY_PATH\fR environment +variable set on remote nodes as well (especially to find the shared +libraries required to run user MPI applications). +.PP +However, it is not always desirable or possible to edit shell +startup files to set \fIPATH\fR and/or \fILD_LIBRARY_PATH\fR. The +\fI--prefix\fR option is provided for some simple configurations where +this is not possible. +.PP +The \fI--prefix\fR option takes a single argument: the base directory +on the remote node where Open MPI is installed. Open MPI will use +this directory to set the remote \fIPATH\fR and \fILD_LIBRARY_PATH\fR +before executing any Open MPI or user applications. This allows +running Open MPI jobs without having pre-configured the \fIPATH\fR and +\fILD_LIBRARY_PATH\fR on the remote nodes. +.PP +Open MPI adds the basename of the current +node's "bindir" (the directory where Open MPI's executables are +installed) to the prefix and uses that to set the \fIPATH\fR on the +remote node. Similarly, Open MPI adds the basename of the current +node's "libdir" (the directory where Open MPI's libraries are +installed) to the prefix and uses that to set the +\fILD_LIBRARY_PATH\fR on the remote node. For example: +.TP 15 +Local bindir: +/local/node/directory/bin +.TP +Local libdir: +/local/node/directory/lib64 +.PP +If the following command line is used: + + \fB%\fP mpirun --prefix /remote/node/directory + +Open MPI will add "/remote/node/directory/bin" to the \fIPATH\fR +and "/remote/node/directory/lib64" to the \fILD_LIBRARY_PATH\fR on the +remote node before attempting to execute anything. +.PP +The \fI--prefix\fR option is not sufficient if the installation paths +on the remote node are different than the local node (e.g., if "/lib" +is used on the local node, but "/lib64" is used on the remote node), +or if the installation paths are something other than a subdirectory +under a common prefix. +.PP +Note that executing \fImpirun\fR via an absolute pathname is +equivalent to specifying \fI--prefix\fR without the last subdirectory +in the absolute pathname to \fImpirun\fR. For example: + + \fB%\fP /usr/local/bin/mpirun ... + +is equivalent to + + \fB%\fP mpirun --prefix /usr/local +. +. +. +.SS Exported Environment Variables +. +All environment variables that are named in the form OMPI_* will automatically +be exported to new processes on the local and remote nodes. Environmental +parameters can also be set/forwarded to the new processes using the MCA +parameter \fImca_base_env_list\fP. The \fI\-x\fP option to \fImpirun\fP has +been deprecated, but the syntax of the MCA param follows that prior +example. While the syntax of the \fI\-x\fP option and MCA param +allows the definition of new variables, note that the parser +for these options are currently not very sophisticated - it does not even +understand quoted values. Users are advised to set variables in the +environment and use the option to export them; not to define them. +. +. +. +.SS Setting MCA Parameters +. +The \fI-mca\fP switch allows the passing of parameters to various MCA +(Modular Component Architecture) modules. +.\" Open MPI's MCA modules are described in detail in ompimca(7). +MCA modules have direct impact on MPI programs because they allow tunable +parameters to be set at run time (such as which BTL communication device driver +to use, what parameters to pass to that BTL, etc.). +.PP +The \fI-mca\fP switch takes two arguments: \fI\fP and \fI\fP. +The \fI\fP argument generally specifies which MCA module will receive the value. +For example, the \fI\fP "btl" is used to select which BTL to be used for +transporting MPI messages. The \fI\fP argument is the value that is +passed. +For example: +. +.TP 4 +mpirun -mca btl tcp,self -np 1 foo +Tells Open MPI to use the "tcp" and "self" BTLs, and to run a single copy of +"foo" an allocated node. +. +.TP +mpirun -mca btl self -np 1 foo +Tells Open MPI to use the "self" BTL, and to run a single copy of "foo" an +allocated node. +.\" And so on. Open MPI's BTL MCA modules are described in ompimca_btl(7). +.PP +The \fI-mca\fP switch can be used multiple times to specify different +\fI\fP and/or \fI\fP arguments. If the same \fI\fP is +specified more than once, the \fI\fPs are concatenated with a comma +(",") separating them. +.PP +Note that the \fI-mca\fP switch is simply a shortcut for setting environment variables. +The same effect may be accomplished by setting corresponding environment +variables before running \fImpirun\fP. +The form of the environment variables that Open MPI sets is: + + OMPI_MCA_= +.PP +Thus, the \fI-mca\fP switch overrides any previously set environment +variables. The \fI-mca\fP settings similarly override MCA parameters set +in the +$OPAL_PREFIX/etc/openmpi-mca-params.conf or $HOME/.openmpi/mca-params.conf +file. +. +.PP +Unknown \fI\fP arguments are still set as +environment variable -- they are not checked (by \fImpirun\fP) for correctness. +Illegal or incorrect \fI\fP arguments may or may not be reported -- it +depends on the specific MCA module. +.PP +To find the available component types under the MCA architecture, or to find the +available parameters for a specific component, use the \fIompi_info\fP command. +See the \fIompi_info(1)\fP man page for detailed information on the command. +. +. +. +.SS Setting MCA parameters and environment variables from file. +The \fI-tune\fP command line option and its synonym \fI-mca mca_base_envar_file_prefix\fP allows a user +to set mca parameters and environment variables with the syntax described below. +This option requires a single file or list of files separated by "," to follow. +.PP +A valid line in the file may contain zero or many "-x", "-mca", or “--mca” arguments. +The following patterns are supported: -mca var val -mca var "val" -x var=val -x var. +If any argument is duplicated in the file, the last value read will be used. +.PP +MCA parameters and environment specified on the command line have higher precedence than variables specified in the file. +. +. +. +.SS Running as root +. +The Open MPI team strongly advises against executing +.I mpirun +as the root user. MPI applications should be run as regular +(non-root) users. +. +.PP +Reflecting this advice, mpirun will refuse to run as root by default. +To override this default, you can add the +.I --allow-run-as-root +option to the +.I mpirun +command line, or you can set the environmental parameters +.I OMPI_ALLOW_RUN_AS_ROOT=1 +and +.IR OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1 . +Note that it takes setting +.I two +environment variables to effect the same behavior as +.I --allow-run-as-root +in order to stress the Open MPI team's strong advice against running +as the root user. After extended discussions with communities who use +containers (where running as the root user is the default), there was +a persistent desire to be able to enable root execution of +.I mpirun +via an environmental control (vs. the existing +.I --allow-run-as-root +command line parameter). The compromise of using +.I two +environment variables was reached: it allows root execution via an +environmental control, but it conveys the Open MPI team's strong +recomendation against this behavior. +. +.SS Exit status +. +There is no standard definition for what \fImpirun\fP should return as an exit +status. After considerable discussion, we settled on the following method for +assigning the \fImpirun\fP exit status (note: in the following description, +the "primary" job is the initial application started by mpirun - all jobs that +are spawned by that job are designated "secondary" jobs): +. +.IP \[bu] 2 +if all processes in the primary job normally terminate with exit status 0, we return 0 +.IP \[bu] +if one or more processes in the primary job normally terminate with non-zero exit status, +we return the exit status of the process with the lowest MPI_COMM_WORLD rank to have a non-zero status +.IP \[bu] +if all processes in the primary job normally terminate with exit status 0, and one or more +processes in a secondary job normally terminate with non-zero exit status, we (a) return +the exit status of the process with the lowest MPI_COMM_WORLD rank in the lowest jobid to have a non-zero +status, and (b) output a message summarizing the exit status of the primary and all secondary jobs. +.IP \[bu] +if the cmd line option --report-child-jobs-separately is set, we will return -only- the +exit status of the primary job. Any non-zero exit status in secondary jobs will be +reported solely in a summary print statement. +. +.PP +By default, OMPI records and notes that MPI processes exited with non-zero termination status. +This is generally not considered an "abnormal termination" - i.e., OMPI will not abort an MPI +job if one or more processes return a non-zero status. Instead, the default behavior simply +reports the number of processes terminating with non-zero status upon completion of the job. +.PP +However, in some cases it can be desirable to have the job abort when any process terminates +with non-zero status. For example, a non-MPI job might detect a bad result from a calculation +and want to abort, but doesn't want to generate a core file. Or an MPI job might continue past +a call to MPI_Finalize, but indicate that all processes should abort due to some post-MPI result. +.PP +It is not anticipated that this situation will occur frequently. However, in the interest of +serving the broader community, OMPI now has a means for allowing users to direct that jobs be +aborted upon any process exiting with non-zero status. Setting the MCA parameter +"orte_abort_on_non_zero_status" to 1 will cause OMPI to abort all processes once any process + exits with non-zero status. +.PP +Terminations caused in this manner will be reported on the console as an "abnormal termination", +with the first process to so exit identified along with its exit status. +.PP +. +.\" ************************** +.\" Examples Section +.\" ************************** +.SH EXAMPLES +Be sure also to see the examples throughout the sections above. +. +.TP 4 +mpirun -np 4 -mca btl ib,tcp,self prog1 +Run 4 copies of prog1 using the "ib", "tcp", and "self" BTL's for the +transport of MPI messages. +. +. +.TP 4 +mpirun -np 4 -mca btl tcp,sm,self +.br +--mca btl_tcp_if_include eth0 prog1 +.br +Run 4 copies of prog1 using the "tcp", "sm" and "self" BTLs for the +transport of MPI messages, with TCP using only the eth0 interface to +communicate. Note that other BTLs have similar if_include MCA +parameters. +. +.\" ************************** +.\" Diagnostics Section +.\" ************************** +. +.\" .SH DIAGNOSTICS +.\" .TP 4 +.\" Error Msg: +.\" Description +. +.\" ************************** +.\" Return Value Section +.\" ************************** +. +.SH RETURN VALUE +. +\fImpirun\fP returns 0 if all processes started by \fImpirun\fP exit after calling +MPI_FINALIZE. A non-zero value is returned if an internal error occurred in +mpirun, or one or more processes exited before calling MPI_FINALIZE. If an +internal error occurred in mpirun, the corresponding error code is returned. +In the event that one or more processes exit before calling MPI_FINALIZE, the +return value of the MPI_COMM_WORLD rank of the process that \fImpirun\fP first notices died +before calling MPI_FINALIZE will be returned. Note that, in general, this will +be the first process that died but is not guaranteed to be so. +. +.PP +If the +.B --timeout +command line option is used and the timeout expires before the job +completes (thereby forcing +.I mpirun +to kill the job) +.I mpirun +will return an exit status equivalent to the value of +.B ETIMEDOUT +(which is typically 110 on Linux and OS X systems). + +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO +MPI_Init_thread(3) diff --git a/macx64/mpi/openmpi/share/man/man3/MPI.3 b/macx64/mpi/openmpi/share/man/man3/MPI.3 new file mode 100644 index 00000000..a7a59397 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI.3 @@ -0,0 +1,194 @@ +.\" -*- nroff -*- +.\" Copyright 2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +MPI \- General information Open MPI 4.0.1. + +.SH MPI +.ft R +Open MPI is an open source implementation of MPI (message-passing +interface), the industry-standard specification for writing +message-passing programs. Message passing is a programming model that +gives the programmer explicit control over interprocess communication. +.sp +The MPI specification was developed by the MPI Forum, a group of +software developers, computer vendors, academics, and computer-science +researchers whose goal was to develop a standard for writing +message-passing programs that would be efficient, flexible, and +portable. +.sp +The outcome, known as the MPI Standard, was first published in 1993; +its most recent version (MPI-2) was published in July 1997. Open MPI +1.2 includes all MPI 1.2-compliant and MPI 2-compliant routines. +.sp +For more information about Open MPI, see the following URL: +.nf + + http://www.open-mpi.org +.fi +.sp +The MPI standards are available at the following URL: +.nf + + http://www.mpi-forum.org +.fi + +.SH MAN PAGE SYNTAX +.ft R +Man pages for Open MPI and Open MPI I/O routines are named according to C syntax, that is, they begin with the prefix "MPI_", all in uppercase, and the first letter following the "MPI_" prefix is also uppercase. The rest of the letters in the routine are all lowercase, for example, "MPI_Comm_get_attr". + +.SH ENVIRONMENT +.ft R +To fine-tune your Open MPI environment, you can either use arguments to the \fImpirun\fP, \fIorterun\fP, or \fImpiexec\fP commands, or you can use MCA parameters. +.sp +For more information on arguments, see the orterun.1 man page. +.sp +For a complete listing of MCA parameters and their descriptions, issue the command \fIompi_info -h\fP or \fIompi_info -param all all\fP. This information also appears in the FAQ on the Open MPI web site at: +.nf + + http://www.open-mpi.org/faq/?category=tuning#mca-params +.fi + +.SH ERRORS +.ft R +All MPI routines (except MPI_Wtime and MPI_Wtick) return an error value; C routines as the value of the function and Fortran routines in the last +argument. Before the value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. +Note that MPI does not guarantee that an MPI program can continue past +an error. +.sp +For more information on Open MPI error codes, see \fImpi.h\fP in the \fIinclude\fP directory. +.sp +Standard error return classes for Open MPI: +.sp +.nf +MPI_SUCCESS 0 Successful return code. +MPI_ERR_BUFFER 1 Invalid buffer pointer. +MPI_ERR_COUNT 2 Invalid count argument. +MPI_ERR_TYPE 3 Invalid datatype argument. +MPI_ERR_TAG 4 Invalid tag argument. +MPI_ERR_COMM 5 Invalid communicator. + +MPI_ERR_RANK 6 Invalid rank. +MPI_ERR_REQUEST 7 Invalid MPI_Request handle. +MPI_ERR_ROOT 8 Invalid root. +MPI_ERR_GROUP 9 Null group passed to function. +MPI_ERR_OP 10 Invalid operation. + +MPI_ERR_TOPOLOGY 11 Invalid topology. +MPI_ERR_DIMS 12 Illegal dimension argument. +MPI_ERR_ARG 13 Invalid argument. +MPI_ERR_UNKNOWN 14 Unknown error. +MPI_ERR_TRUNCATE 15 Message truncated on receive. + +MPI_ERR_OTHER 16 Other error; use Error_string. +MPI_ERR_INTERN 17 Internal error code. +MPI_ERR_IN_STATUS 18 Look in status for error value. +MPI_ERR_PENDING 19 Pending request. +MPI_ERR_ACCESS 20 Permission denied. + +MPI_ERR_AMODE 21 Unsupported amode passed to open. +MPI_ERR_ASSERT 22 Invalid assert. +MPI_ERR_BAD_FILE 23 Invalid file name (for example, + path name too long). +MPI_ERR_BASE 24 Invalid base. +MPI_ERR_CONVERSION 25 An error occurred in a user-supplied + data-conversion function. + +MPI_ERR_DISP 26 Invalid displacement. +MPI_ERR_DUP_DATAREP 27 Conversion functions could not + be registered because a data + representation identifier that was + already defined was passed to + MPI_REGISTER_DATAREP. +MPI_ERR_FILE_EXISTS 28 File exists. +MPI_ERR_FILE_IN_USE 29 File operation could not be + completed, as the file is currently + open by some process. +MPI_ERR_FILE 30 Invalid file handle. + +MPI_ERR_INFO_KEY 31 Illegal info key. +MPI_ERR_INFO_NOKEY 32 No such key. +MPI_ERR_INFO_VALUE 33 Illegal info value. +MPI_ERR_INFO 34 Invalid info object. +MPI_ERR_IO 35 I/O error. + +MPI_ERR_KEYVAL 36 Illegal key value. +MPI_ERR_LOCKTYPE 37 Invalid locktype. +MPI_ERR_NAME 38 Name not found. +MPI_ERR_NO_MEM 39 Memory exhausted. +MPI_ERR_NOT_SAME 40 Collective argument not identical + on all processes, or collective + routines called in a different order + by different processes. + +MPI_ERR_NO_SPACE 41 Not enough space. +MPI_ERR_NO_SUCH_FILE 42 File (or directory) does not exist. +MPI_ERR_PORT 43 Invalid port. +MPI_ERR_QUOTA 44 Quota exceeded. +MPI_ERR_READ_ONLY 45 Read-only file system. + +MPI_ERR_RMA_CONFLICT 46 Conflicting accesses to window. +MPI_ERR_RMA_SYNC 47 Erroneous RMA synchronization. +MPI_ERR_SERVICE 48 Invalid publish/unpublish. +MPI_ERR_SIZE 49 Invalid size. +MPI_ERR_SPAWN 50 Error spawning. + +MPI_ERR_UNSUPPORTED_DATAREP + 51 Unsupported datarep passed to + MPI_File_set_view. +MPI_ERR_UNSUPPORTED_OPERATION + 52 Unsupported operation, such as + seeking on a file that supports + only sequential access. +MPI_ERR_WIN 53 Invalid window. +MPI_T_ERR_MEMORY 54 Out of memory. +MPI_T_ERR_NOT_INITIALIZED 55 Interface not initialized. + +MPI_T_ERR_CANNOT_INIT 56 Interface not in the state to be + initialized. +MPI_T_ERR_INVALID_INDEX 57 The enumeration index is invalid. +MPI_T_ERR_INVALID_ITEM 58 The item index queried is out of + range. +MPI_T_ERR_INVALID_HANDLE 59 The handle is invalid. +MPI_T_ERR_OUT_OF_HANDLES 60 No more handles available. + +MPI_T_ERR_OUT_OF_SESSIONS 61 No more sessions available. +MPI_T_ERR_INVALID_SESSION 62 Session argument is not a valid + session. +MPI_T_ERR_CVAR_SET_NOT_NOW + 63 Variable cannot be set at this + moment. +MPI_T_ERR_CVAR_SET_NEVER 64 Variable cannot be set until end of + execution. +MPI_T_ERR_PVAR_NO_STARTSTOP + 65 Variable cannot be started or stopped. + +MPI_T_ERR_PVAR_NO_WRITE 66 Variable cannot be written or reset. +MPI_T_ERR_PVAR_NO_ATOMIC 67 Variable cannot be read and written + atomically. +MPI_ERR_RMA_RANGE 68 Target memory is not part of the + window (in the case of a window + created with MPI_WIN_CREATE_DYNAMIC, + target memory is not attached). +MPI_ERR_RMA_ATTACH 69 Memory cannot be attached (e.g., + because of resource exhaustion). +MPI_ERR_RMA_FLAVOR 70 Passed window has the wrong flavor + for the called function. + +MPI_ERR_RMA_SHARED 71 Memory cannot be shared (e.g., some + process in the group of the specified + communicator cannot expose shared + memory). +MPI_T_ERR_INVALID 72 Invalid use of the interface or bad + parameter values(s). +MPI_T_ERR_INVALID_NAME 73 The variable or category name is + invalid. + +MPI_ERR_LASTCODE 93 Last error code. +.fi + diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Allgather_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgather_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgather_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Allgatherv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgatherv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Allgatherv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Allreduce_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Allreduce_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Allreduce_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoall_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoall_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoall_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallw_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallw_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Alltoallw_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Barrier_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Barrier_init.3 new file mode 100644 index 00000000..f8c40fe2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Barrier_init.3 @@ -0,0 +1,156 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2018 FUJITSU LIMITED. All rights reserved. +.\" $COPYRIGHT$ +.TH MPIX_Barrier_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPIX_Allgather_init, MPIX_Allgatherv_init, MPIX_Allreduce_init, MPIX_Alltoall_init, MPIX_Alltoallv_init, MPIX_Alltoallw_init, MPIX_Barrier_init, MPIX_Bcast_init, MPIX_Exscan_init, MPIX_Gather_init, MPIX_Gatherv_init, MPIX_Reduce_init, MPIX_Reduce_scatter_init, MPIX_Reduce_scatter_block_init, MPIX_Scan_init, MPIX_Scatter_init, MPIX_Scatterv_init, MPIX_Neighbor_allgather_init, MPIX_Neighbor_allgatherv_init, MPIX_Neighbor_alltoall_init, MPIX_Neighbor_alltoallv_init, MPIX_Neighbor_alltoallw_init\fP \- Builds a handle for a collective communication or neighborhood collective communication + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +#include +int MPIX_Allgather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Allgatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Allreduce_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Alltoall_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Alltoallv_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, + MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Alltoallw_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Barrier_init(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Bcast_init(void *\fIbuffer\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Exscan_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Gather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Gatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Reduce_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Reduce_scatter_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, + MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Reduce_scatter_block_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, + int \fIrecvcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Scan_init(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Scatter_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Scatterv_init(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, + int \fIrecvcount\fP, MPI_Datatype \fIrecvtype\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_allgather_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_allgatherv_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], + const int \fIdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Info \fIinfo\fP, MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_alltoall_init(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_alltoallv_init(const void *\fIsendbuf\fP, + const int \fIsendcounts\fP[], const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +int MPIX_Neighbor_alltoallw_init(const void *\fIsendbuf\fP, + const int \fIsendcounts\fP[], const MPI_Aint \fIsdispls\fP[], + const MPI_Datatype \fIsendtypes\fP[], void *\fIrecvbuf\fP, + const int \fIrecvcounts\fP[], const MPI_Aint \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a collective operation or neighborhood collective operation. + +As of Nov. 2018, the feature of persistent collective communication operations and persistent collective neighborhood communication operations is planned to be included in the next MPI Standard after MPI-3.1. +.nf + + https://github.com/mpi-forum/mpi-issues/issues/25 +.fi + +Open MPI implements 2018 Draft Specification of the MPI standard shown in the following URL. +.nf + + https://www.mpi-forum.org/docs/drafts/mpi-2018-draft-report.pdf +.fi + +The interface may still change in the standard. Therefore the prefix \fIMPIX_\fP is used instead of \fIMPI_\fP for these request creation routines. To start, complete, and free the created request, usual MPI routines (\fIMPI_Start\fP etc.) can be used. + +Future versions of Open MPI will switch to the \fIMPI_\fP prefix and will not require the C header file \fImpi-ext.h\fP, the Fortran modules \fImpi_ext\fP and \fImpi_f08_ext\fP, and the Fortran header file \fImpif-ext.h\fP once the MPI Standard which includes this feature is published. + +.SH EXAMPLE +.nf + + MPI_Request req; + MPIX_Barrier_init(MPI_COMM_WORLD, MPI_INFO_NULL, &req); + MPI_Start(&req); + MPI_Wait(&req, MPI_STATUS_IGNORE); + MPI_Request_free(&req); +.fi + +.SH SEE ALSO +.ft R +.sp +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Bcast_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Bcast_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Bcast_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Exscan_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Exscan_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Exscan_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Gather_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Gather_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Gather_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Gatherv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Gatherv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Gatherv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgather_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgather_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgather_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgatherv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgatherv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_allgatherv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoall_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoall_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoall_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallw_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallw_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Neighbor_alltoallw_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Query_cuda_support.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Query_cuda_support.3 new file mode 100644 index 00000000..845cec19 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Query_cuda_support.3 @@ -0,0 +1,28 @@ +.\" Copyright 2007-2010 Oracle and/or its affiliates. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 2015 NVIDIA, Inc. All rights reserved. +.TH MPIx_CUDA_SUPPORT 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPIX_Query_cuda_support\fP \- Returns 1 if there is CUDA aware support and 0 if there is not. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +#include + +int MPIX_Query_cuda_support(void) +.fi +.SH DESCRIPTION +.ft R + +.SH Examples +.ft R + +.SH See Also +.ft R +.nf + +.fi diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_block_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_block_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_block_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Reduce_scatter_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Scan_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Scan_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Scan_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Scatter_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatter_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatter_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPIX_Scatterv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatterv_init.3 new file mode 100644 index 00000000..a9a04748 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPIX_Scatterv_init.3 @@ -0,0 +1 @@ +.so man3/MPIX_Barrier_init.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 new file mode 100644 index 00000000..26d2c472 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Abort.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Abort 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Abort\fP \- Terminates MPI execution environment. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Abort(MPI_Comm \fIcomm\fP, int\fI errorcode\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator of tasks to abort. +.TP 1i +errorcode +Error code to return to invoking environment. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine makes a "best attempt" to abort all tasks in the group of +comm. This function does not require that the invoking environment take any +action with the error code. However, a UNIX or POSIX +environment should handle this as a return errorcode from the main program +or an abort (errorcode). +.sp +The long-term goal of the Open MPI implementation is to terminate all processes in all tasks that contain a process in \fIcomm\fP, and the error code is not returned to the invoking environment. At the moment, this isn't fully implemented and MPI_Abort will terminate the entire job. +.sp +Note: All associated processes are sent a SIGTERM. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Accumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Accumulate.3 new file mode 100644 index 00000000..1458d39c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Accumulate.3 @@ -0,0 +1,119 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Accumulate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Accumulate\fP, \fBMPI_Raccumulate\fP \- Combines the contents of the origin buffer with that of a target buffer. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Accumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, int \fItarget_rank\fP, + MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP) + +int MPI_Raccumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, int \fItarget_rank\fP, + MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP 1i +origin_count +Number of entries in buffer (nonnegative integer). +.ft R +.TP 1i +origin_datatype +Data type of each buffer entry (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.ft R +.TP 1i +target_datatype +Data type of each entry in target buffer (handle). +.ft R +.TP 1i +op +Reduce operation (handle). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +MPI_Raccumulate: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Accumulate\fP is a function used for one-sided MPI communication that adds the contents of the origin buffer (as defined by \fIorigin_addr\fP, \fIorigin_count\fP, and \fIorigin_datatype\fP) to the buffer specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP, at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP. The target window can only be accessed by processes within the same node. This is similar to MPI_Put, except that data is combined into the target area instead of overwriting it. +.sp +Any of the predefined operations for MPI_Reduce can be used. User-defined functions cannot be used. For example, if \fIop\fP is MPI_SUM, each element of the origin buffer is added to the corresponding element in the target, replacing the former value in the target. +.sp +Each datatype argument must be a predefined data type or a derived data type, where all basic components are of the same predefined data type. Both datatype arguments must be constructed from the same predefined data type. The operation \fIop\fP applies to elements of that predefined type. The \fItarget_datatype\fP argument must not specify overlapping entries, and the target buffer must fit in the target window. +.sp +A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin. +.sp +\fBMPI_Raccumulate\fP is similar to \fBMPI_Accumulate\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP) that can be used to wait or test for completion. The completion of an \fBMPI_Raccumulate\fP operation indicates that the \fIorigin_addr\fP buffer is free to be updated. It does not indicate that the operation has completed at the target window. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +MPI_Put is a special case of \fBMPI_Accumulate\fP, with the operation MPI_REPLACE. Note, however, that MPI_Put and \fBMPI_Accumulate\fP have different constraints on concurrent updates. +.sp +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the \fBMPI_Accumulate\fP function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Put +MPI_Get_accumulate +MPI_Reduce diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_class.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_class.3 new file mode 100644 index 00000000..d8841066 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_class.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Add_error_class 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Add_error_class\fP \- Creates a new error class and returns its value + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Add_error_class(int *\fIerrorclass\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +errorclass +New error class (integer). +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Add_error_class creates a new, local error +class. + +.SH NOTES +.ft R +Because this function is local, the same value of \fIerrorclass\fP may +not be returned on all processes that make this call, even if they +call the function concurrently. Thus, same error on different +processes may not cause the same value of \fIerrorclass\fP to be +returned. To reduce the potential for confusion, MPI_Add_error_string +may be used on multiple processes to associate the same error string +with the newly created \fIerrorclass\fP. Even though \fIerrorclass\fP +may not be consistent across processes, using MPI_Add_error_string +will ensure the error string associated with it will be the same +everywhere. +.sp +No function is provided to free error classes, as it is not expected +that an application will create them in significant numbers. +.sp +The value returned is always greater than or equal to MPI_ERR_LASTCODE. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Add_error_code +MPI_Add_error_string +MPI_Error_class +MPI_Error_string + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_code.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_code.3 new file mode 100644 index 00000000..5d367013 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_code.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Add_error_code 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Add_error_code\fP \- Creates a new error code associated +with \fIerrorclass\fP + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Add_error_code(int \fIerrorclass\fP, int *\fIerrorcode\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1.4i +errorclass +MPI error class (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +errorcode +Error code returned by an MPI routine or an MPI error class (integer). +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +Creates a new error code associated with \fIerrorclass\fP and returns +its value in \fIerrorcode\fP. + +.SH NOTES +.ft R +No function is provided to free error codes, as it is not expected +that an application will create them in significant numbers. +.sp +The value returned is always greater than or equal to MPI_ERR_LASTCODE. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Add_error_class +MPI_Error_class + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_string.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_string.3 new file mode 100644 index 00000000..3b84622b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Add_error_string.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Add_error_string 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Add_error_string\fP \- Associates a string with an error code or class + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Add_error_string(int \fIerrorcode\fP, const char *\fIstring\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +errorcode +MPI error class, or an error code returned by an MPI routine (integer). +.ft R +.TP 1.4i +string +Text that corresponds to the error code or class (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine associates an error string with an error code or +class. Calling MPI_Add_error_string for an error code or class that +already has an associated error string will replace the old string +with the new one. It is erroneous to call MPI_Add_error_string for an +error value not generated via MPI_Add_error_class or +MPI_Add_error_code (e.g., an error code or class with a value not +greater than MPI_LAST_ERRCODE). + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Add_error_class +MPI_Add_error_code +MPI_Error_class +MPI_Error_string + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Address.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Address.3 new file mode 100644 index 00000000..cc57e294 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Address.3 @@ -0,0 +1,84 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Address 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Address\fP \- Gets the address of a location in memory -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Address(void *\fIlocation\fP, MPI_Aint\fP *address\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +location +Location in caller memory (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +address +Address of location (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Get_address instead. +.sp +This deprecated routine is not available in C++. +.sp +The address of a location in memory can be found by invoking this function. Returns the (byte) address of location. +.sp +Example: Using MPI_Address for an array. +.sp +.nf +REAL A(100,100) +.fi +.br + INTEGER I1, I2, DIFF +.br + CALL MPI_ADDRESS(A(1,1), I1, IERROR) +.br + CALL MPI_ADDRESS(A(10,10), I2, IERROR) +.br + DIFF = I2 - I1 +.br +! The value of DIFF is 909*sizeofreal; the values of I1 and I2 are +.br +! implementation dependent. +.fi + +.SH NOTES +.ft R +This routine is provided for both Fortran and C programmers and may be useful when writing portable code. In the current release, the address returned by this routine will be the same as that produced by the C & operator. +.sp +C users may be tempted to avoid using +MPI_Address and rely on the availability of the address operator &. +Note, however, that & cast-expression is a pointer, not an address. +ANSI C does not require that the value of a pointer (or the pointer +cast to int) be the absolute address of the object pointed at although +this is commonly the case. Furthermore, referencing may not have a unique +definition on machines with a segmented address space. The use of +MPI_Address to "reference" C variables guarantees portability to +such machines as well. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Get_address +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Aint_add.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_add.3 new file mode 100644 index 00000000..70c92b75 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_add.3 @@ -0,0 +1,73 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Aint_add 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Aint_add\fP, \fBMPI_Aint_diff\fP \- Portable functions for +arithmetic on MPI_Aint values. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Aint MPI_Aint_add(MPI_Aint \fIbase\fP, MPI_Aint \fIdisp\fP) + +MPI_Aint MPI_Aint_diff(MPI_Aint \fIaddr1\fP, MPI_Aint \fIaddr2\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +base +Base address (integer). +.ft R +.TP 1i +disp +Displacement (integer). +.ft R +.TP 1i +addr1 +Minuend address (integer). +.ft R +.TP +addr2 +Subtrahend address (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Aint_add\fP produces a new MPI_Aint value that is equivalent to the sum of +the \fIbase\fP and \fIdisp\fP arguments, where \fIbase\fP represents +a base address returned by a call to \fBMPI_Get_address\fP and +\fIdisp\fP represents a signed integer displacement. The resulting +address is valid only at the process that generated \fIbase\fP, and it +must correspond to a location in the same object referenced by +\fIbase\fP, as described in MPI-3.1 \[char167] 4.1.12. The addition is +performed in a manner that results in the correct MPI_Aint +representation of the output address, as if the process that +originally produced \fIbase\fP had called: + +.nf + \fBMPI_Get_address\fP ((char *) \fIbase\fP + \fIdisp\fP, &\fIresult\fP); +.fi +.sp +.ft R +\fBMPI_Aint_diff\fP produces a new MPI_Aint value that is equivalent +to the difference between \fIaddr1\fP and \fIaddr2\fP arguments, where +\fIaddr1\fP and \fIaddr2\fP represent addresses returned by calls to +\fBMPI_Get_address\fP. The resulting address is valid only at the +process that generated \fIaddr1\fP and \fIaddr2\fP, and \fIaddr1\fP +and \fIaddr2\fP must correspond to locations in the same object in the +same process, as described in MPI-3.1 \[char167] 4.1.12. The difference is +calculated in a manner that results in the signed difference from +\fIaddr1\fP to \fIaddr2\fP, as if the process that originally produced +the addresses had called (char *) \fIaddr1\fP - (char *) \fIaddr2\fP +on the addresses initially passed to \fBMPI_Get_address\fP. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_address diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Aint_diff.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_diff.3 new file mode 100644 index 00000000..5fb829b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Aint_diff.3 @@ -0,0 +1 @@ +.so man3/MPI_Aint_add.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Allgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Allgather.3 new file mode 100644 index 00000000..885cd7ab --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Allgather.3 @@ -0,0 +1,129 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Allgather 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Allgather, MPI_Iallgather\fP \- Gathers data from all processes and distributes it to all processes + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Allgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Iallgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvbuf +Starting address of recv buffer (choice). +.TP 1i +recvcount +Number of elements received from any process (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.ft R +.TP 1i +request +Request (handle, non-blocking only). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Allgather is similar to MPI_Gather, except that all processes receive the result, instead of just the root. In other words, all processes contribute to the result, and all processes receive the result. +.sp +The type signature associated with sendcount, sendtype at a process must be equal to the type signature associated with recvcount, recvtype at any other process. +.sp +The outcome of a call to MPI_Allgather(\&...) is as if all processes executed n calls to +.sp +.nf + MPI_Gather(sendbuf,sendcount,sendtype,recvbuf,recvcount, + recvtype,root,comm), +.fi +.sp +.fi +for root = 0 , ..., n-1. The rules for correct usage of MPI_Allgather are easily found from the corresponding rules for MPI_Gather. +.sp +\fBExample:\fR The all-gather version of Example 1 in MPI_Gather. Using MPI_Allgather, we will gather 100 ints from every process in the group to every process. +.sp +.nf +MPI_Comm comm; + int gsize,sendarray[100]; + int *rbuf; + \&... + MPI_Comm_size( comm, &gsize); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + MPI_Allgather( sendarray, 100, MPI_INT, rbuf, 100, MPI_INT, comm); +.fi +.sp +After the call, every process has the group-wide concatenation of the sets of data. + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. Specifically, the outcome of a call to MPI_Allgather that used the in-place option is identical to the case in which all processes executed \fIn\fR calls to +.sp +.nf + MPI_GATHER ( MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, recvbuf, + recvcount, recvtype, root, comm ) + +for root =0, ... , n-1. +.fi +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation, however, need not be symmetric. The number of items sent by the processes in first group need not be equal to the number of items sent by the the processes in the second group. You can move data in only one direction by giving \fIsendcount\fR a value of 0 for communication in the reverse direction. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Allgatherv +.br +MPI_Gather + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Allgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Allgatherv.3 new file mode 100644 index 00000000..1b49564a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Allgatherv.3 @@ -0,0 +1,113 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Allgatherv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Allgatherv, MPI_Iallgatherv\fP \- Gathers data from all processes and delivers it to all. Each process may contribute a different amount of data. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Allgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Iallgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Integer array (of length group size) containing the number of elements that are received from each process. +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from process i. +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Allgatherv is similar to MPI_Allgather in that all processes gather data from all other processes, except that each process can send a different amount of data. The block of data sent from the jth process is received by every process and placed in the jth block of the buffer +.I recvbuf. +.sp +The type signature associated with sendcount, sendtype, at process j must be equal to the type signature associated with recvcounts[j], recvtype at any other process. +.sp +The outcome is as if all processes executed calls to +.nf +MPI_Gatherv(sendbuf,sendcount,sendtype,recvbuf,recvcount, + displs,recvtype,root,comm) +.fi +.sp +for root = 0 , ..., n-1. The rules for correct usage of MPI_Allgatherv are easily found from the corresponding rules for MPI_Gatherv. + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. Specifically, the outcome of a call to MPI_Allgather that used the in-place option is identical to the case in which all processes executed \fIn\fR calls to +.sp +.nf + MPI_GATHERV ( MPI_IN_PLACE, 0, MPI_DATATYPE_NULL, recvbuf, + recvcounts, displs, recvtype, root, comm ) + +for root =0, ... , n-1. +.fi +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group, concatenated, and received by all the members of the second group. Then the data is gathered from all the members of the second group, concatenated, and received by all the members of the first. The send buffer arguments in the one group must be consistent with the receive buffer arguments in the other group, and vice versa. The operation must exhibit symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Gatherv +.br +MPI_Allgather diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alloc_mem.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alloc_mem.3 new file mode 100644 index 00000000..87a55786 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alloc_mem.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alloc_mem 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Alloc_mem \fP \- Allocates a specified memory segment. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Alloc_mem(MPI_Aint \fIsize\fP, MPI_Info \fIinfo\fP, void *\fIbaseptr\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of memory segment in bytes (nonnegative integer). +.ft R +.TP 1i +info +Info argument (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +baseptr +Pointer to beginning of memory segment allocated. +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Alloc_mem allocates \fIsize\fP bytes of memory. The starting address +of this memory is returned in the variable \fIbase\fP. +.sp + +.SH FORTRAN NOTES +.ft R +There is no portable FORTRAN 77 syntax for using MPI_Alloc_mem. +There is no portable Fortran syntax for using pointers returned +from MPI_Alloc_mem. However, MPI_Alloc_mem can be used with Sun +Fortran compilers. +.sp +From FORTRAN 77, you can use the following non-standard +declarations for the SIZE and BASEPTR arguments: +.nf + INCLUDE "mpif.h" + INTEGER*MPI_ADDRESS_KIND SIZE, BASEPTR +.fi +.sp +From either FORTRAN 77 or Fortran 90, you can use "Cray pointers" +for the BASEPTR argument. Cray pointers are described further in +the Fortran User's Guide and are supported by many Fortran compilers. +For example, +.sp +.nf + INCLUDE "mpif.h" + REAL*4 A(100,100) + POINTER (BASEPTR, A) + INTEGER*MPI_ADDRESS_KIND SIZE + + SIZE = 4 * 100 * 100 + CALL MPI_ALLOC_MEM(SIZE,MPI_INFO_NULL,BASEPTR,IERR) + + ! use A + + CALL MPI_FREE_MEM(A, IERR) +.fi +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Free_mem diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Allreduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Allreduce.3 new file mode 100644 index 00000000..1ad1399c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Allreduce.3 @@ -0,0 +1,138 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Allreduce 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Allreduce, MPI_Iallreduce\fP \- Combines values from all processes and distributes the result back to all processes. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Allreduce(const void \fI*sendbuf\fP, void \fI*recvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP) + +int MPI_Iallreduce(const void \fI*sendbuf\fP, void \fI*recvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of elements of send buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Same as MPI_Reduce except that the result appears in the receive buffer of all the group members. +.sp +\fBExample 1:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at all nodes (compare with Example 2, with MPI_Reduce, below). +.sp +.nf +SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm) +REAL a(m), b(m,n) ! local slice of array +REAL c(n) ! result +REAL sum(n) +INTEGER n, comm, i, j, ierr + +! local sum +DO j= 1, n + sum(j) = 0.0 + DO i = 1, m + sum(j) = sum(j) + a(i)*b(i,j) + END DO +END DO + +! global sum +CALL MPI_ALLREDUCE(sum, c, n, MPI_REAL, MPI_SUM, comm, ierr) + +! return result at all nodes +RETURN +.fi +.sp +\fBExample 2:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at node zero. +.sp +.nf +SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm) +REAL a(m), b(m,n) ! local slice of array +REAL c(n) ! result +REAL sum(n) +INTEGER n, comm, i, j, ierr + +! local sum +DO j= 1, n + sum(j) = 0.0 + DO i = 1, m + sum(j) = sum(j) + a(i)*b(i,j) + END DO +END DO + +! global sum +CALL MPI_REDUCE(sum, c, n, MPI_REAL, MPI_SUM, 0, comm, ierr) + +! return result at node zero (and garbage at the other nodes) +RETURN +.fi +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-reduce operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR at all processes. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +When the communicator is an inter-communicator, the reduce operation occurs in two phases. The data is reduced from all the members of the first group and received by all the members of the second group. Then the data is reduced from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoall.3 new file mode 100644 index 00000000..02b4b9b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoall.3 @@ -0,0 +1,127 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alltoall 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Alltoall, MPI_Ialltoall\fP \- All processes send data to all processes + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Alltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ialltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer (choice). +.TP 1.2i +sendcount +Number of elements to send to each process (integer). +.TP 1.2i +sendtype +Datatype of send buffer elements (handle). +.TP 1.2i +recvcount +Number of elements to receive from each process (integer). +.TP 1.2i +recvtype +Datatype of receive buffer elements (handle). +.TP 1.2i +comm +Communicator over which data is to be exchanged (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Starting address of receive buffer (choice). +.TP 1.2i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Alltoall is a collective operation in which all processes send the same amount of data to each other, and receive the same amount of data from each other. The operation of this routine can be represented as follows, where each process performs 2n (n being the number of processes in communicator \fIcomm\fP) independent point-to-point communications (including communication with itself). +.sp +.nf + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + i * \fIsendcount\fP * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + i * \fIrecvcount\fP * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, i, ..., \fIcomm\fP); +.fi +.sp +Each process breaks up its local \fIsendbuf\fP into n blocks \- each +containing \fIsendcount\fP elements of type \fIsendtype\fP \- and +divides its \fIrecvbuf\fP similarly according to \fIrecvcount\fP and +\fIrecvtype\fP. Process j sends the k-th block of its local +\fIsendbuf\fP to process k, which places the data in the j-th block of +its local \fIrecvbuf\fP. The amount of data sent must be equal to the +amount of data received, pairwise, between every pair of processes. + +WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-to-all operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. + +.sp +.SH NOTES +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +There are two MPI library functions that are more general than +MPI_Alltoall. MPI_Alltoallv allows all-to-all communication to and +from buffers that need not be contiguous; different processes may +send and receive different amounts of data. MPI_Alltoallw expands +MPI_Alltoallv's functionality to allow the exchange of data with +different datatypes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Alltoallv +MPI_Alltoallw + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallv.3 new file mode 100644 index 00000000..b6e28ae1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallv.3 @@ -0,0 +1,154 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alltoallv 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Alltoallv, MPI_Ialltoallv\fP \- All processes send different amount of data to, and receive different amount of data from, all processes +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Alltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ialltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to rank i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (offset from +\fIsendbuf\fP, in units of \fIsendtype\fP) from which to send data to +rank i. +.TP 1.2i +sendtype +Datatype of send buffer elements. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from rank j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (offset from +\fIrecvbuf\fP, in units of \fIrecvtype\fP) to which data from rank j +should be written. +.TP 1.2i +recvtype +Datatype of receive buffer elements. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1.2i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Alltoallv is a generalized collective operation in which all +processes send data to and receive data from all other processes. It +adds flexibility to MPI_Alltoall by allowing the user to specify data +to send and receive vector-style (via a displacement and element +count). The operation of this routine can be thought of as follows, +where each process performs 2n (n being the number of processes in +communicator \fIcomm\fP) independent point-to-point communications +(including communication with itself). +.sp +.nf + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcounts\fP[i], \fIsendtype\fP, i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcounts\fP[i], \fIrecvtype\fP, i, ..., \fIcomm\fP); +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to process +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts of data to different processes in the communicator. + +.sp +WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-to-all operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcounts\fR, \fIsdispls\fP, and \fIsendtype\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. + +.SH NOTES +.sp +The specification of counts and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. Compare this to +MPI_Alltoallw, where these offsets are measured in bytes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Alltoall +MPI_Alltoallw + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallw.3 new file mode 100644 index 00000000..17f2ab79 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Alltoallw.3 @@ -0,0 +1,156 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Alltoallw 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Alltoallw, MPI_Ialltoallw\fP \- All processes send data of different types to, and receive data of different types from, all processes + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Alltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP) + +int MPI_Ialltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const int \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to rank i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (in bytes, +offset from \fIsendbuf\fP) from which to send data to rank i. +.TP 1.2i +sendtypes +Datatype array, where entry i specifies the datatype to use when +sending data to rank i. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from rank j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (in bytes, +offset from \fIrecvbuf\fP) to which data from rank j should +be written. +.TP 1.2i +recvtypes +Datatype array, where entry j specifies the datatype to use when +receiving data from rank j. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1.2i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Alltoallw is a generalized collective operation in which all +processes send data to and receive data from all other processes. It +adds flexibility to MPI_Alltoallv by allowing the user to specify the +datatype of individual data blocks (in addition to displacement and +element count). Its operation can be thought of in the following way, +where each process performs 2n (n being the number of processes in +communicator \fIcomm\fP) independent point-to-point communications +(including communication with itself). +.sp +.nf + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i], \fIsendcounts\fP[i], + \fIsendtypes\fP[i], i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i], \fIrecvcounts\fP[i], + \fIrecvtypes\fP[i], i, ..., \fIcomm\fP); +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to process +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts and types of data to different processes in the +communicator. + +WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the gather operation occurs in two phases. The data is gathered from all the members of the first group and received by all the members of the second group. Then the data is gathered from all the members of the second group and received by all the members of the first. The operation exhibits a symmetric, full-duplex behavior. +.sp +The first group defines the root process. The root process uses MPI_ROOT as the value of \fIroot\fR. All other processes in the first group use MPI_PROC_NULL as the value of \fIroot\fR. All processes in the second group use the rank of the root process in the first group as the value of \fIroot\fR. +.sp +When the communicator is an intra-communicator, these groups are the same, and the operation occurs in a single phase. +.sp + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform an all-to-all operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of \fIsendbuf\fR. In this case, \fIsendcounts\fR, \fIsdispls\fP, and \fIsendtypes\fR are ignored. The input data of each process is assumed to be in the area where that process would receive its own contribution to the receive buffer. + +.SH NOTES +.sp +The specification of counts, types, and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in bytes. +Compare this to MPI_Alltoallv, where these offsets are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Alltoall +MPI_Alltoallv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Attr_delete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_delete.3 new file mode 100644 index 00000000..501e7f01 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_delete.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Attr_delete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Attr_delete\fP \- Deletes attribute value associated with a key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Attr_delete(MPI_Comm\fI comm\fP, int\fI keyval\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which attribute is attached (handle). +.TP 1i +keyval +The key value of the deleted attribute (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +Note that use of this routine is \fIdeprecated\fP as of MPI-2, and +was \fIdeleted\fP in MPI-3. Please use MPI_Comm_delete_attr. This +function does not have a C++ or mpi_f08 binding. +.sp +Delete attribute from cache by key. This function invokes the attribute delete function delete_fn specified when the keyval was created. The call will fail if the delete_fn function returns an error code other than MPI_SUCCESS. + +Whenever a communicator is replicated using the function MPI_Comm_dup, all callback copy functions for attributes that are currently set are invoked (in arbitrary order). Whenever a communicator is deleted using the function MPI_Comm_free, all callback delete functions for attributes that are currently set are invoked. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Comm_delete_attr +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Attr_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_get.3 new file mode 100644 index 00000000..93df4c42 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_get.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Attr_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Attr_get\fP \- Retrieves attribute value by key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Attr_get(MPI_Comm \fIcomm\fP, int\fI keyval\fP,void\fI *attribute_val\fP, + int\fI *flag \fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which attribute is attached (handle). +.TP 1i +keyval + Key value (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +attribute_val +Attribute value, unless flag = false. +.TP 1i +flag +True if an attribute value was extracted; false if no attribute is associated with the key. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2, and +was \fIdeleted\fP in MPI-3. Please use MPI_Comm_get_attr. This +function does not have a C++ or mpi_f08 binding. +.sp +Retrieves attribute value by key. The call is erroneous if there is no key +with value keyval. On the other hand, the call is correct if the key value exists, but no attribute is attached on comm for that key; in such case, the call returns flag = false. In particular MPI_KEYVAL_INVALID is an erroneous key value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO + +MPI_Comm_get_attr +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Attr_put.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_put.3 new file mode 100644 index 00000000..32b61739 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Attr_put.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Attr_put 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Attr_put\fP \- Stores attribute value associated with a key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Attr_put(MPI_Comm \fIcomm\fP, int\fI keyval\fP, void\fI *attribute_val\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which attribute will be attached (handle). +.TP 1i +keyval +Key value, as returned by MPI_KEYVAL_CREATE (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2, and +was \fIdeleted\fP in MPI-3. Please use MPI_Comm_set_attr. This +function does not have a C++ or mpi_f08 binding. +.sp +MPI_Attr_put stores the stipulated attribute value attribute_val for subsequent retrieval by MPI_Attr_get. If the value is already present, then the outcome is as if MPI_Attr_delete was first called to delete the previous value (and the callback function delete_fn was executed), and a new value was next stored. The call is erroneous if there is no key with value keyval; in particular MPI_KEYVAL_INVALID is an erroneous key value. The call will fail if the delete_fn function returned an error code other than MPI_SUCCESS. + +.SH NOTES +.ft R +Values of the permanent attributes MPI_TAG_UB, MPI_HOST, +MPI_IO, and MPI_WTIME_IS_GLOBAL may not be changed. +.sp +The type of the attribute value depends on whether C or Fortran is being used. In C, an attribute value is a pointer (void *); in Fortran, it is a single integer (not a pointer, since Fortran has no pointers and there are systems for which a pointer does not fit in an integer, e.g., any 32-bit address system that uses 64 bits for Fortran DOUBLE PRECISION). +.sp +If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_attr +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Barrier.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Barrier.3 new file mode 100644 index 00000000..e1349b46 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Barrier.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2014-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Barrier 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Barrier, MPI_Ibarrier\fP \- Synchronization between MPI processes in a group + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Barrier(MPI_Comm \fIcomm\fP) + +int MPI_Ibarrier(MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request (handle, non-blocking only). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +An MPI barrier completes after all group members have entered the +barrier. + +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the barrier operation is performed across all processes in both groups. All processes in the first group may exit the barrier when all processes in the second group have entered the barrier. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Bcast diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 new file mode 100644 index 00000000..26860e6f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Bcast.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Bcast 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Bcast, MPI_Ibcast\fP \- Broadcasts a message from the process with rank \fIroot\fP to all other processes of the group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Bcast(void \fI*buffer\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI root\fP, MPI_Comm\fI comm\fP) + +int MPI_Ibcast(void \fI*buffer\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI root\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +buffer +Starting address of buffer (choice). +.TP 1i +count +Number of entries in buffer (integer). +.TP 1i +datatype +Data type of buffer (handle). +.TP 1i +root +Rank of broadcast root (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request (handle, non-blocking only). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Bcast broadcasts a message from the process with rank root to all processes of the group, itself included. It is called by all members of group using the same arguments for comm, root. On return, the contents of root's communication buffer has been copied to all processes. +.sp +General, derived datatypes are allowed for datatype. The type signature of count, datatype on any process must be equal to the type signature of count, datatype at the root. This implies that the amount of data sent must be equal to the amount received, pairwise between each process and the root. MPI_Bcast and all other data-movement collective routines make this restriction. Distinct type maps between sender and receiver are still allowed. +.sp +\fBExample:\fR Broadcast 100 ints from process 0 to every process in the group. +.nf + MPI_Comm comm; + int array[100]; + int root=0; + \&... + MPI_Bcast( array, 100, MPI_INT, root, comm); +.fi +.sp +As in many of our sample code fragments, we assume that some of the variables (such as comm in the example above) have been assigned appropriate values. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group broadcasts data to all the processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The receive buffer arguments of the processes in the second group must be consistent with the send buffer argument of the root process in the first group. +.sp +.SH NOTES +This function does not support the in-place option. +.sp + + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 new file mode 100644 index 00000000..6358754a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Bsend.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Bsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Bsend\fP \- Basic send with user-specified buffering. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Bsend(const void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of entries in send buffer (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Bsend performs a buffered-mode, blocking send. + +.SH NOTES +.ft R +This send is provided as a convenience function; it allows the user to send messages without worrying about where they are buffered (because the user must have provided buffer space with MPI_Buffer_attach). +.sp +In deciding how much buffer space to allocate, remember that the buffer space +is not available for reuse by subsequent \fIMPI_Bsend\fPs unless you are certain +that the message +has been received (not just that it should have been received). For example, +this code does not allocate enough buffer space: +.nf + + MPI_Buffer_attach( b, n*sizeof(double) + MPI_BSEND_OVERHEAD ); + for (i=0; i +int MPI_Bsend_init(const void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements sent (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a buffered mode send, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Send_init +MPI_Ssend_init +MPI_Rsend_init +MPI_Recv_init +MPI_Start +MPI_Startall + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_attach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_attach.3 new file mode 100644 index 00000000..8dc0a36e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_attach.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Buffer_attach 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Buffer_attach\fP \- Attaches a user-defined buffer for sending. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Buffer_attach(void \fI*buf\fP, int\fI size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial buffer address (choice). +.TP 1i +size +Buffer size, in bytes (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Provides to MPI a buffer in the user's memory to be used for buffering outgoing messages. The buffer is used only by messages sent in buffered mode. Only one buffer can be attached to a process at a time. + +.SH NOTES +.ft R +The size given should be the sum of the sizes of all outstanding Bsends that you intend to have, plus MPI_BSEND_OVERHEAD bytes for each Bsend that you do. For the purposes of calculating size, you should use MPI_Pack_size. In other words, in the code +.sp +.nf + MPI_Buffer_attach( buf, size ); + MPI_Bsend( \&..., count=20, datatype=type1, \&... ); + \&... + MPI_Bsend( \&..., count=40, datatype=type2, \&... ); +.fi +.sp +the value of size in the MPI_Buffer_attach call should be greater than the value computed by +.sp +.nf + MPI_Pack_size( 20, type1, comm, &s1 ); + MPI_Pack_size( 40, type2, comm, &s2 ); + size = s1 + s2 + 2 * MPI_BSEND_OVERHEAD; +.fi +.sp +MPI_BSEND_OVERHEAD gives the maximum amount of buffer space that may be used by the Bsend routines. This value is in mpi.h for C and mpif.h for Fortran. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Buffer_detach + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_detach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_detach.3 new file mode 100644 index 00000000..b2f98f59 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Buffer_detach.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Buffer_detach 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Buffer_detach\fP \- Removes an existing buffer (for use in MPI_Bsend, etc.) + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Buffer_detach(void \fI*buf\fP, int\fI *size\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial buffer address (choice). +.TP 1i +size +Buffer size, in bytes (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Detach the buffer currently associated with MPI. The call returns the address and the size of the detached buffer. This operation will block until all messages currently in the buffer have been transmitted. Upon return of this function, the user may reuse or deallocate the space taken by the buffer. +.sp +\fBExample:\fP Calls to attach and detach buffers. +.sp +.nf + #define BUFFSIZE 10000 + int size + char *buff; + MPI_Buffer_attach( malloc(BUFFSIZE), BUFFSIZE); + /* a buffer of 10000 bytes can now be used by MPI_Bsend */ + MPI_Buffer_detach( &buff, &size); + /* Buffer size reduced to zero */ + MPI_Buffer_attach( buff, size); + /* Buffer of 10000 bytes available again */ +.fi + +.SH NOTES +.ft R +The reason that MPI_Buffer_detach returns the address and size of the buffer being detached is to allow nested libraries to replace and restore the buffer. For example, consider +.sp +.nf + int size, mysize, idummy; + void *ptr, *myptr, *dummy; + MPI_Buffer_detach( &ptr, &size ); + MPI_Buffer_attach( myptr, mysize ); + \&... + \&... library code \&... + \&... + MPI_Buffer_detach( &dummy, &idummy ); + MPI_Buffer_attach( ptr, size ); +.fi +.sp +This is much like the action of the UNIX signal routine and has the same strengths (it's simple) and weaknesses (it only works for nested usages). +.sp +\fBFor Fortran:\fP The Fortran binding for this routine is different. Because Fortran does not have pointers, it is impossible to provide a way to use the output of this routine to exchange buffers. In this case, only the size field is set. +.sp +\fBFor C:\fP Even though the buf argument is declared as void, it is really the address of a void pointer. See Rationale, below, for more details. +.sp +Even though the C functions MPI_Buffer_attach and +MPI_Buffer_detach both have a first argument of type void*, these arguments are used differently: A pointer to the buffer is passed to MPI_Buffer_attach; the address of the pointer is passed to MPI_Buffer_detach, so that this call can return the pointer value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Buffer_attach +MPI_Bsend diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cancel.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cancel.3 new file mode 100644 index 00000000..776096a6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cancel.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cancel 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cancel\fP \- Cancels a communication request. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cancel(MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Communication request (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_Cancel operation allows pending communications to be canceled. This is required for cleanup. Posting a send or a receive ties up user resources (send or receive buffers), and a cancel may be needed to free these resources gracefully. +.sp +A call to MPI_Cancel marks for cancellation a pending, nonblocking communication operation (send or receive). The cancel call is local. It returns immediately, possibly before the communication is actually canceled. It is still necessary to complete a communication that has been marked for cancellation, using a call to MPI_Request_free, MPI_Wait, or MPI_Test (or any of the derived operations). +.sp +If a communication is marked for cancellation, then an MPI_Wait call for that communication is guaranteed to return, irrespective of the activities of other processes (i.e., MPI_Wait behaves as a local function); similarly if MPI_Test is repeatedly called in a busy wait loop for a canceled communication, then MPI_Test will eventually be successful. +.sp +MPI_Cancel can be used to cancel a communication that uses a persistent request (see Section 3.9 in the MPI-1 Standard, "Persistent Communication Requests") in the same way it is used for nonpersistent requests. A successful cancellation cancels the active communication, but not the request itself. After the call to MPI_Cancel and the subsequent call to MPI_Wait or MPI_Test, the request becomes inactive and can be activated for a new communication. +.sp +The successful cancellation of a buffered send frees the buffer space occupied by the pending message. +.sp +Either the cancellation succeeds or the communication succeeds, but not both. If a send is marked for cancellation, then it must be the case that either the send completes normally, in which case the message sent is received at the destination process, or that the send is successfully canceled, in which case no part of the message is received at the destination. Then, any matching receive has to be satisfied by another send. If a receive is marked for cancellation, then it must be the case that either the receive completes normally, or that the receive is successfully canceled, in which case no part of the receive buffer is altered. Then, any matching send has to be satisfied by another receive. +.sp +If the operation has been canceled, then information to that effect will be returned in the status argument of the operation that completes the communication. + +.SH NOTES +.ft R +The primary expected use of MPI_Cancel is in multi-buffering schemes, +where speculative MPI_Irecvs are made. When the +computation completes, some of these requests may remain; +using MPI_Cancel allows the user to cancel these unsatisfied requests. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Probe +MPI_Iprobe +MPI_Test_cancelled +MPI_Cart_coords + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_coords.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_coords.3 new file mode 100644 index 00000000..8577309a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_coords.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_coords 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_coords\fP \- Determines process coords in Cartesian topology given rank in group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_coords(MPI_Comm \fIcomm\fP, int\fI rank\fP, int\fI maxdims\fP, + int\fI coords\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +rank +Rank of a process within group of comm (integer). +.TP 1i +maxdims + Length of vector coords in the calling program (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +coords +Integer array (of size ndims,which was defined by MPI_Cart_create call) containing the Cartesian coordinates of specified process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_coords provies a mapping of ranks to Cartesian coordinates. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_create.3 new file mode 100644 index 00000000..0d4d17c7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_create.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_create\fP \- Makes a new communicator to which Cartesian topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_create(MPI_Comm\fI comm_old\fP, int\fI ndims\fP, const int\fI dims\fP[], + const int\fI periods\fP[], int\fI reorder\fP, MPI_Comm\fI *comm_cart\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator (handle). +.TP 1i +ndims +Number of dimensions of Cartesian grid (integer). +.TP 1i +dims +Integer array of size ndims specifying the number of processes in each +dimension. +.TP 1i +periods +Logical array of size ndims specifying whether the grid is periodic (true) +or not (false) in each dimension. +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_cart +Communicator with new Cartesian topology (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_create returns a handle to a new communicator to which the Cartesian topology information is attached. If reorder = false then the rank of each process in the new group is identical to its rank in the old group. Otherwise, the function may reorder the processes (possibly so as to choose a good embedding of the virtual topology onto the physical machine). If the total size of the Cartesian grid is smaller than the size of the group of comm, then some processes are returned MPI_COMM_NULL, in analogy to MPI_Comm_split. The call is erroneous if it specifies a grid that is larger than the group size. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_get.3 new file mode 100644 index 00000000..5dad6f27 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_get.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_get\fP \- Retrieves Cartesian topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_get(MPI_Comm\fI comm\fP, int\fI maxdims\fP, int\fI dims\fP[], int\fI periods\fP[], + int\fI coords\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +maxdims +Length of vectors dims, periods, and coords in the calling program (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +dims +Number of processes for each Cartesian dimension (array of integers). +.TP 1i +periods +Periodicity (true/false) for each Cartesian dimension (array of logicals). +.TP 1i +coords +Coordinates of calling process in Cartesian structure (array of integers). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The functions MPI_Cartdim_get and MPI_Cart_get return the Cartesian topology information that was associated with a communicator by MPI_Cart_create. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Cartdim_get +MPI_Cart_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_map.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_map.3 new file mode 100644 index 00000000..9e64a9fd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_map.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_map 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_map \fP \- Maps process to Cartesian topology information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_map(MPI_Comm \fIcomm\fP, int\fI ndims\fP, const int\fI dims\fP[], + const int\fI periods\fP[], int\fI *newrank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Input communicator (handle). +.TP 1i +ndims +Number of dimensions of Cartesian structure (integer). +.TP 1i +dims +Integer array of size ndims specifying the number of processes in each +coordinate direction. +.TP 1i +periods +Logical array of size ndims specifying the periodicity specification in each coordinate direction. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newrank +Reordered rank of the calling process; MPI_UNDEFINED if calling process does not belong to grid (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_map and MPI_Graph_map can be used to implement all other topology functions. In general they will not be called by the user directly, unless he or she is creating additional virtual topology capability other than that provided by MPI. +.sp +MPI_Cart_map computes an "optimal" placement for the calling process on the physical machine. A possible implementation of this function is to always return the rank of the calling process, that is, not to perform any reordering. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_map diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_rank.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_rank.3 new file mode 100644 index 00000000..364e7d17 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_rank.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_rank 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_rank \fP \- Determines process rank in communicator given Cartesian location. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_rank(MPI_Comm \fIcomm\fP, int\fI coords\fP[], int\fI *rank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +coords +Integer array (of size ndims, which was defined by MPI_Cart_create call) specifying the Cartesian coordinates of a process. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +rank +Rank of specified process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For a process group with Cartesian structure, the function MPI_Cart_rank +translates the logical process coordinates to process ranks as they are used by the point-to-point routines. For dimension i with periods(i) = true, if the coordinate, coords(i), is out of range, that is, coords(i) < 0 or coords(i) >= dims(i), it is shifted back to the interval 0 =< coords(i) < dims(i) automatically. Out-of-range coordinates are erroneous for nonperiodic dimensions. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Cart_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_shift.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_shift.3 new file mode 100644 index 00000000..36d05d13 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_shift.3 @@ -0,0 +1,80 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Cart_shift 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_shift \fP \- Returns the shifted source and destination ranks, given a shift direction and amount. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_shift(MPI_Comm \fIcomm\fP, int\fI direction\fP, int\fI disp\fP, + int\fI *rank_source\fP, int\fI *rank_dest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +direction +Coordinate dimension of shift (integer). +.TP 1i +disp +Displacement ( > 0: upward shift, < 0: downward shift) (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +rank_source +Rank of source process (integer). +.TP 1i +rank_dest +Rank of destination process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If the process topology is a Cartesian structure, an MPI_Sendrecv operation is likely to be used along a coordinate direction to perform a shift of data. As input, MPI_Sendrecv takes the rank of a source process for the receive, and the rank of a destination process for the send. If the function MPI_Cart_shift is called for a Cartesian process group, it provides the calling process with the above identifiers, which then can be passed to MPI_Sendrecv. The user specifies the coordinate direction and the size of the step (positive or negative). The function is local. +.sp +The direction argument indicates the dimension of the shift, i.e., the coordinate whose value is modified by the shift. The coordinates are numbered from 0 to ndims-1, where ndims is the number of dimensions. +.sp +\fBNote:\fP The direction argument is in the range [0, n-1] for an n-dimensional Cartesian mesh. +.sp +Depending on the periodicity of the Cartesian group in the specified coordinate direction, MPI_Cart_shift provides the identifiers for a circular or an end-off shift. In the case of an end-off shift, the value MPI_PROC_NULL may be returned in rank_source or rank_dest, indicating that the source or the destination for the shift is out of range. +.sp +\fBExample:\fP The communicator, comm, has a two-dimensional, periodic, Cartesian topology associated with it. A two-dimensional array of REALs is stored one element per process, in variable A. One wishes to skew this array, by shifting column i (vertically, i.e., along the column) by i steps. +.sp +.nf + \&.... + C find process rank + CALL MPI_COMM_RANK(comm, rank, ierr) + C find Cartesian coordinates + CALL MPI_CART_COORDS(comm, rank, maxdims, coords, + ierr) + C compute shift source and destination + CALL MPI_CART_SHIFT(comm, 0, coords(2), source, + dest, ierr) + C skew array + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, dest, 0, + source, 0, comm, status, + ierr) +.fi + +.SH NOTE +In Fortran, the dimension indicated by DIRECTION = i has DIMS(i+1) nodes, where DIMS is the array that was used to create the grid. In C, the dimension indicated by direction = i is the dimension specified by dims[i]. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cart_sub.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_sub.3 new file mode 100644 index 00000000..9d3a3481 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cart_sub.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cart_sub 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cart_sub \fP \- Partitions a communicator into subgroups, which form lower-dimensional Cartesian subgrids. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cart_sub(MPI_Comm \fIcomm\fP, const int\fI remain_dims\fP[], MPI_Comm\fI *comm_new\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). +.TP 1i +remain_dims +The ith entry of remain_dims specifies whether the ith dimension is kept in the subgrid (true) or is dropped (false) (logical vector). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_new +Communicator containing the subgrid that includes the calling process (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If a Cartesian topology has been created with MPI_Cart_create, the function MPI_Cart_sub can be used to partition the communicator group into subgroups that form lower-dimensional Cartesian subgrids, and to build for each subgroup a communicator with the associated subgrid Cartesian topology. (This function is closely related to MPI_Comm_split.) +.sp +\fBExample:\fP Assume that MPI_Cart_create( \&..., comm) has defined a (2 x 3 x 4) grid. Let remain_dims = (true, false, true). Then a call to +.sp +.nf + MPI_Cart_sub(comm, remain_dims, comm_new) +.fi +.sp +will create three communicators, each with eight processes in a 2 x 4 Cartesian topology. If remain_dims = (false, false, true) then the call to MPI_Cart_sub(comm, remain_dims, comm_new) will create six nonoverlapping communicators, each with four processes, in a one-dimensional Cartesian topology. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Cart_create +MPI_Comm_split + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Cartdim_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Cartdim_get.3 new file mode 100644 index 00000000..9e3ac58e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Cartdim_get.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Cartdim_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Cartdim_get \fP \- Retrieves Cartesian topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Cartdim_get(MPI_Comm\fI comm\fP, int\fI *ndims\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator with Cartesian structure (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +ndims +Number of dimensions of the Cartesian structure (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cartdim_get returns the number of dimensions of the Cartesian structure. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Cart_get +MPI_Cart_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Close_port.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Close_port.3 new file mode 100644 index 00000000..deaca92c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Close_port.3 @@ -0,0 +1,40 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Close_port 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Close_port \fP \- Releases the specified network address. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Close_port(const char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +port_name +A port (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Close_port releases the network address represented by \fIport_name\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_accept.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_accept.3 new file mode 100644 index 00000000..cc5e6757 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_accept.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007, Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_accept 3OpenMPI "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_accept \fP \- Establishes communication with a client. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_accept(const char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +port_name +Port name (string, used only on \fIroot\fP). +.TP 1i +info +Options given by root for the accept (handle, used only on root). No options currently supported. +.TP 1i +root +Rank in \fIcomm\fP of root node (integer). +.TP 1i +comm +Intracommunicator over which call is collective (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Intercommunicator with client as remote group (handle) +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_accept establishes communication with a client. It is collective over the calling communicator. It returns an intercommunicator that allows communication with the client, after the client has connected with the MPI_Comm_accept function using the MPI_Comm_connect function. +.sp +The \fIport_name\fP must have been established through a call to MPI_Open_port on the root. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +MPI_Comm_connect +MPI_Open_port +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_call_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_call_errhandler.3 new file mode 100644 index 00000000..2bf94cfc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_call_errhandler.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_call_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME + +\fBMPI_Comm_call_errhandler\fP \- Passes the supplied error code to the +error handler assigned to a communicator + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Comm_call_errhandler(MPI_Comm \fIcomm\fP, int \fIerrorcode\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1.4i +comm +communicator with error handler (handle). +.ft R +.TP 1.4i +errorcode +error code (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function invokes the error handler assigned to the communicator +\fIcomm\fP with the supplied error code \fIerrorcode\fP. If the error +handler was successfully called, the process is not aborted, and the +error handler returns, this function returns MPI_SUCCESS. + +.SH NOTES +.ft R +Users should note that the default error handler is +MPI_ERRORS_ARE_FATAL. Thus, calling this function will abort the +processes in \fIcomm\fP if the default error handler has not been +changed. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Comm_create_errhandler +MPI_Comm_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_compare.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_compare.3 new file mode 100644 index 00000000..8e2830ff --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_compare.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_compare 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_compare \fP \- Compares two communicators. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_compare(MPI_Comm \fIcomm1\fP, MPI_Comm\fI comm2\fP, int\fI *result\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm1 +Comm1 (handle). +.TP 1i +comm2 +Comm2 (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +result +Result of comparison (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_IDENT results if and only if comm1 and comm2 are handles for the same object (identical groups and same contexts). MPI_CONGRUENT results if the underlying groups are identical in constituents and rank order; these communicators differ only by context. MPI_SIMILAR results of the group members of both communicators are the same but the rank order differs. MPI_UNEQUAL results otherwise. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_connect.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_connect.3 new file mode 100644 index 00000000..43977054 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_connect.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_connect 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_connect \fP \- Establishes communication with a server. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_connect(const char *\fIport_name\fP, MPI_Info \fIinfo\fP, int \fIroot\fP, + MPI_Comm \fIcomm\fP, MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +port_name +Port name (string, used only on \fIroot\fP). +.TP 1i +info +Options given by root for the connect (handle, used only on root). No options currently supported. +.TP 1i +root +Rank in \fIcomm\fP of root node (integer). +.TP 1i +comm +Intracommunicator over which call is collective (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Intercommunicator with client as remote group (handle) +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_connect establishes communication with a server specified by \fIport_name\fP. It is collective over the calling communicator and returns an intercommunicator in which the remote group participated in an MPI_Comm_accept. The MPI_Comm_connect call must only be called after the MPI_Comm_accept call has been made by the MPI job acting as the server. +.sp +If the named port does not exist (or has been closed), MPI_Comm_connect raises an error of class MPI_ERR_PORT. +.sp +MPI provides no guarantee of fairness in servicing connection attempts. That is, connection attempts are not necessarily satisfied in the order in which they were initiated, and competition from other connection attempts may prevent a particular connection attempt from being satisfied. + +The \fIport_name\fP parameter is the address of the server. It must be the same as the name returned by MPI_Open_port on the server. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +MPI_Comm_accept +MPI_Open_port +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create.3 new file mode 100644 index 00000000..65457f46 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create\fP \- Creates a new communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create(MPI_Comm \fIcomm\fP, MPI_Group\fI group\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +group +Group, which is a subset of the group of comm (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function creates a new communicator newcomm with communication +group defined by group and a new context. The function sets +\fInewcomm\fR to a new communicator that spans all the processes that +are in the group. It sets \fInewcomm\fR to MPI_COMM_NULL for +processes that are not in the group. + +Each process must call with a \fIgroup\fR argument that is a subgroup +of the group associated with \fIcomm\fR; this could be +MPI_GROUP_EMPTY. The processes may specify different values for the +\fIgroup\fR argument. If a process calls with a non-empty \fIgroup\fR, +then all processes in that group must call the function with the same +\fIgroup\fR as argument, that is: the same processes in the same +order. Otherwise the call is erroneous. +.sp +.LP + +.SH NOTES +MPI_Comm_create provides a means of making a subset of processes for the purpose of separate MIMD computation, with separate communication space. \fInewcomm\fR, which is created by MPI_Comm_create, can be used in subsequent calls to MPI_Comm_create (or other communicator constructors) to further subdivide a computation into parallel sub-computations. A more general service is provided by MPI_Comm_split. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_split +.sp +MPI_Intercomm_create +MPI_Comm_create_group diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_errhandler.3 new file mode 100644 index 00000000..efa95265 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_errhandler.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_create_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create_errhandler \fP \- Creates an error handler that can be attached to communicators. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function \fI*function\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH DEPRECATED TYPE NAME NOTE +.ft R +MPI-2.2 deprecated the MPI_Comm_errhandler_fn and +MPI::Comm::Errhandler_fn types in favor of +MPI_Comm_errhandler_function and MPI::Comm::Errhandler_function, +respectively. Open MPI supports both names (indeed, the _fn names are +typedefs to the _function names). + +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error handling procedure (function). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_create_errhandler creates an error handler that can be attached to communicators. This function is identical to MPI_Errhandler_create, the use of which is deprecated. +.sp +In C, the user routine should be a function of type MPI_Comm_errhandler_function, which is defined as +.sp +.nf + typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *, \&...); +.fi +.sp +The first argument is the communicator in use. The second is the error code +to be returned by the MPI routine that raised the error. This typedef replaces MPI_Handler_function, the use of which is deprecated. +.sp +In Fortran, the user routine should be of this form: +.sp +.nf + SUBROUTINE COMM_ERRHANDLER_FUNCTION(COMM, ERROR_CODE, \&...) + INTEGER COMM, ERROR_CODE +.fi +.sp +In C++, the user routine should be of this form: +.sp +.nf + typedef void MPI::Comm::Errhandler_function(MPI_Comm &, int *, \&...); +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_group.3 new file mode 100644 index 00000000..854d6c4a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_group.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_create_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create_group\fP \- Creates a new communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create_group(MPI_Comm \fIcomm\fP, MPI_Group\fI group\fP, int\fI tag\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +group +Group, which is a subset of the group of comm (handle). +.TP 1i +tag +Tag (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_create_group is similar to MPI_Comm_create; however, +MPI_Comm_create must be called by all processes in the group of +comm, whereas MPI_Comm_create_group must be called by all processes in group, +which is a subgroup of the group of \fIcomm\fP. In addition, MPI_Comm_create_group +requires that \fIcomm\fP is an intracommunicator. MPI_Comm_create_group returns a new +intracommunicator, \fInewcomm\fP, for which the group argument defines the communication +group. No cached information propagates from \fIcomm\fP to \fInewcomm\fP. + +Each process must provide a group argument that is a subgroup of the group associated with \fIcomm\fP; +this could be MPI_GROUP_EMPTY. If a non-empty group is specified, then all processes in that +group must call the function, and each of these processes must provide the same arguments, +including a group that contains the same members with the same ordering. Otherwise +the call is erroneous. If the calling process is a member of the group given as the \fIgroup\fP +argument, then newcomm is a communicator with group as its associated group. If the +calling process is not a member of group, e.g., \fIgroup\fP is MPI_GROUP_EMPTY, then the call +is a local operation and MPI_COMM_NULL is returned as \fInewcomm\fP. + +.sp +.LP + +.SH NOTES +MPI_Comm_create_group provides a means of making a subset of processes for the purpose of separate MIMD computation, with separate communication space. \fInewcomm\fR, which is created by MPI_Comm_create_group, can be used in subsequent calls to MPI_Comm_create_group (or other communicator constructors) to further subdivide a computation into parallel sub-computations. A more general service is provided by MPI_Comm_split. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Comm_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_keyval.3 new file mode 100644 index 00000000..71deb612 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_create_keyval.3 @@ -0,0 +1,119 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_create_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_create_keyval\fP \- Generates a new attribute key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function + *\fIcomm_copy_attr_fn\fP, MPI_Comm_delete_attr_function + *\fIcomm_delete_attr_fn\fP, int *\fIcomm_keyval\fP, + void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_copy_attr_fn +Copy callback function for \fIcomm_keyval\fP (function). +.TP 1i +comm_delete_attr_fn +Delete callback function for \fIcomm_keyval\fP (function). +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +comm_keyval +Key value for future access (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function replaces MPI_Keyval_create, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIextra_state\fP is an address-sized integer. Also, the copy and delete callback functions have Fortran bindings that are consistent with address-sized attributes. +.sp +The argument \fIcomm_copy_attr_fn\fP may be specified as MPI_COMM_NULL_COPY_FN or MPI_COMM_DUP_FN from C, C++, or Fortran. MPI_COMM_NULL_COPY_FN is a function that does nothing more than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_COMM_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. These replace the MPI-1 predefined callbacks MPI_NULL_COPY_FN and MPI_DUP_FN, the use of which is deprecated. +.sp +The C callback functions are: +.sp +.nf +typedef int MPI_Comm_copy_attr_function(MPI_Comm \fIoldcomm\fP, int \fIcomm_keyval\fP, + void *\fIextra_state\fP, void *\fIattribute_val_in\fP, + void *\fIattribute_val_out\fP, int *\fIflag\fP); +.fi +and +.nf +typedef int MPI_Comm_delete_attr_function(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP, + void *\fIattribute_val\fP, void *\fIextra_state\fP); +.fi +.sp +which are the same as the MPI-1.1 calls but with a new name. The old names are deprecated. +.sp +The Fortran callback functions are: +.sp +.nf +SUBROUTINE COMM_COPY_ATTR_FN(\fIOLDCOMM, COMM_KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR\fP) + INTEGER \fIOLDCOMM, COMM_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE, ATTRIBUTE_VAL_IN, + ATTRIBUTE_VAL_OUT\fP + LOGICAL \fIFLAG\fP +.fi +and +.nf +SUBROUTINE COMM_DELETE_ATTR_FN(\fICOMM, COMM_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, + IERROR\fP) + INTEGER \fICOMM, COMM_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL, EXTRA_STATE\fP +.fi +.sp +The C++ callbacks are: +.sp +.nf +typedef int MPI::Comm::Copy_attr_function(const MPI::Comm& \fIoldcomm\fP, + int \fIcomm_keyval\fP, void* \fIextra_state\fP, void* \fIattribute_val_in\fP, + void* \fIattribute_val_out\fP, bool& \fIflag\fP); +.fi +and +.nf +typedef int MPI::Comm::Delete_attr_function(MPI::Comm& \fIcomm\fP, + int \fIcomm_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); +.fi + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.sp + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_delete_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_delete_attr.3 new file mode 100644 index 00000000..ff28f920 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_delete_attr.3 @@ -0,0 +1,58 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_delete_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_delete_attr\fP \- Deletes attribute value associated with a key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_delete_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator from which the attribute is deleted (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +comm_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_delete_attr deletes an attribute from cache by key. This function invokes the attribute delete function delete_fn specified when the \fIcomm_keyval\fP was created. The call will fail if the delete_fn function returns an error code other than MPI_SUCCESS. + +Whenever a communicator is replicated using the function MPI_Comm_dup, all callback copy functions for attributes that are currently set are invoked (in arbitrary order). Whenever a communicator is deleted using the function MPI_Comm_free, all callback delete functions for attributes that are currently set are invoked. +.sp +This function is the same as MPI_Attr_delete but is needed to match the communicator-specific functions introduced in the MPI-2 standard. The use of MPI_Attr_delete is deprecated. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_disconnect.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_disconnect.3 new file mode 100644 index 00000000..2f953088 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_disconnect.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_disconnect 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_disconnect\fP \- Deallocates communicator object and sets handle to MPI_COMM_NULL. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_disconnect(MPI_Comm *\fIcomm\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_disconnect waits for all pending communication on \fIcomm\fP to complete internally, deallocates the communicator object, and sets the handle to MPI_COMM_NULL. It is a collective operation. +.sp +It may not be called with the communicator MPI_COMM_WORLD or MPI_COMM_SELF. +.sp +MPI_Comm_disconnect may be called only if all communication is complete and matched, so that buffered data can be delivered to its destination. This requirement is the same as for MPI_Finalize. +.sp +MPI_Comm_disconnect has the same action as MPI_Comm_free, except that it waits for pending communication to finish internally and enables the guarantee about the behavior of disconnected processes. + +.SH NOTES +.ft R +To disconnect two processes you may need to call MPI_Comm_disconnect, MPI_Win_free, and MPI_File_close to remove all communication paths between the two processes. Note that it may be necessary to disconnect several communicators (or to free several windows or files) before two processes are completely independent. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_connect +.br +MPI_Comm_accept +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup.3 new file mode 100644 index 00000000..ee753dc7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_dup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_dup \fP \- Duplicates an existing communicator with all its cached information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_dup(MPI_Comm \fIcomm\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Copy of comm (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_dup duplicates the existing communicator comm with associated key +values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator; one particular action that a copy callback may take is to delete the attribute from the new communicator. Returns in newcomm a new communicator with the same group, any copied cached information, but a new context (see Section 5.7.1 of the MPI-1 Standard, "Functionality"). + +.SH NOTES +This operation is used to provide a parallel +library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_dup at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible. +.sp +This call applies to both intra- and intercommunicators. + +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO +.ft R +.nf +MPI_Comm_dup_with_info +MPI_Comm_idup diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup_with_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup_with_info.3 new file mode 100644 index 00000000..17263cfc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_dup_with_info.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_dup_with_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_dup_with_info \fP \- Duplicates an existing communicator using provided info. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_dup_with_info(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP, MPI_Comm\fI *newcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). +.ft R +.TP 1i +info +Info argument (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Copy of comm (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_dup_with_info acts exactly like MPI_Comm_dup except that the +info hints associated with the communicator \fIcomm\fP are not duplicated in \fInewcomm\fP. The +hints provided by the argument \fIinfo\fP are associated with the output communicator \fInewcomm\fP +instead. +.sp +See +.BR MPI_Comm_set_info (3) +for the list of recognized info keys. + +.SH NOTES +This operation is used to provide a parallel +library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_dup_with_info at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible. +.sp +This call applies to both intra- and intercommunicators. + +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Comm_dup +MPI_Comm_idup +MPI_Comm_set_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 new file mode 100644 index 00000000..6a270fa7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_f2c.3 @@ -0,0 +1,48 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_f2c 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_f2c, MPI_Comm_c2f, MPI_File_f2c, MPI_File_c2f, MPI_Info_f2c, MPI_Info_c2f, MPI_Message_f2c, MPI_Message_c2f, MPI_Op_f2c, MPI_Op_c2f, MPI_Request_f2c, MPI_Request_c2f, MPI_Type_f2c, MPI_Type_c2f, MPI_Win_f2c, MPI_Win_c2f \fP \- Translates a C handle into a Fortran handle, or vice versa. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Comm MPI_Comm_f2c(MPI_Fint \fIcomm\fP) +MPI_Fint MPI_Comm_c2f(MPI_Comm \fIcomm\fP) + +MPI_File MPI_File_f2c(MPI_Fint \fIfile\fP) +MPI_Fint MPI_File_c2f(MPI_File \fIfile\fP) + +MPI_Group MPI_Group_f2c(MPI Fint \fIgroup\fP) +MPI_Fint MPI_Group_c2f(MPI Group \fIgroup\fP) + +MPI_Info MPI_Info_f2c(MPI_Fint \fIinfo\fP) +MPI_Fint MPI_Info_c2f(MPI_Info \fIinfo\fP) + +MPI_Message MPI_Message_f2c(MPI_Fint \fImessage\fP) +MPI_Fint MPI_Message_c2f(MPI_Message \fImessage\fP) + +MPI_Op MPI_Op_f2c(MPI_Fint \fIop\fP) +MPI_Fint MPI_Op_c2f(MPI_Op \fIop\fP) + +MPI_Request MPI_Request_f2c(MPI_Fint \fIrequest\fP) +MPI_Fint MPI_Request_c2f(MPI_Request \fIrequest\fP) + +MPI_Datatype MPI_Type_f2c(MPI_Fint \fIdatatype\fP) +MPI_Fint MPI_Type_c2f(MPI_Datatype \fIdatatype\fP) + +MPI_Win MPI_Win_f2c(MPI_Fint \fIwin\fP) +MPI_Fint MPI_Win_c2f(MPI_Win \fIwin\fP) + +.fi +.SH DESCRIPTION +.ft R +Handles are passed between Fortran and C or C++ by using an explicit C wrapper to convert Fortran handles to C handles. There is no direct access to C or C++ handles in Fortran. Handles are passed between C and C++ using overloaded C++ operators called from C++ code. There is no direct access to C++ objects from C. The type definition \fIMPI_Fint\fP is provided in C/C++ for an integer of the size that matches a Fortran \fIINTEGER\fP; usually, \fIMPI_Fint\fP will be equivalent to \fIint\fP. The handle translation functions are provided in C to convert from a Fortran handle (which is an integer) to a C handle, and vice versa. +.PP +For example, if \fIcomm\fP is a valid Fortran handle to a communicator, then MPI_Comm_f2c returns a valid C handle to that same communicator; if \fIcomm\fP = MPI_COMM_NULL (Fortran value), then MPI_Comm_f2c returns a null C handle; if \fIcomm\fP is an invalid Fortran handle, then MPI_Comm_f2c returns an invalid C handle. +.SH NOTE +This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free.3 new file mode 100644 index 00000000..dd5f4640 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_free \fP \- Mark a communicator object for deallocation. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_free(MPI_Comm *\fIcomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator to be destroyed (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This operation marks the communicator object for deallocation. The handle is set to MPI_COMM_NULL. Any pending operations that use this communicator will complete normally; the object is actually deallocated only if there are no other active references to it. This call applies to intracommunicators and intercommunicators. Upon actual deallocation, the delete callback functions for all cached attributes (see Section 5.7 in the MPI-1 Standard, "Caching") are called in arbitrary order. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Comm_delete_attr diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free_keyval.3 new file mode 100644 index 00000000..6b00050c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_free_keyval.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_free_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_free_keyval\fP \- Frees attribute key for communicator cache attribute. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_free_keyval(int *\fIcomm_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm_keyval + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + + +.SH DESCRIPTION +.ft R +MPI_Comm_free_keyval frees an extant attribute key. This function sets the value of \fIkeyval\fP to MPI_KEYVAL_INVALID. Note that it is not erroneous to free an attribute key that is in use, because the actual free does not transpire until after all references (in other communicators on the process) to the key have been freed. These references need to be explicitly freed by the program, either via calls to MPI_Comm_delete_attr that free one attribute instance, or by calls to MPI_Comm_free that free all attribute instances associated with the freed communicator. +.sp +This call is identical to the call MPI_Keyval_free but is needed to match the communicator-specific creation function introduced in the MPI-2 standard. The use of MPI_Keyval_free is deprecated. + + +.SH NOTES +.ft R +Key values are global (they can be used with any and all communicators). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_attr.3 new file mode 100644 index 00000000..5b09107a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_attr.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_attr\fP \- Retrieves attribute value by key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP, + void *\fIattribute_val\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to which the attribute is attached (handle). +.TP 1i +comm_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +attribute_val +Attribute value, unless f\fIlag\fP = false. +.TP 1i +flag +False if no attribute is associated with the key (logical). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_get_attr retrieves an attribute value by key. The call is erroneous if there is no key with value \fIkeyval\fP. On the other hand, the call is correct if the key value exists, but no attribute is attached on \fIcomm\fP for that key; in that case, the call returns \fIflag\fP = false. In particular, MPI_KEYVAL_INVALID is an erroneous key value. +.sp +This function replaces MPI_Attr_get, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIattribute_val\fP is an address-sized integer. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_errhandler.3 new file mode 100644 index 00000000..b330acc2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_errhandler.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_get_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_errhandler \fP \- Retrieves error handler associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_errhandler(MPI_Comm \fIcomm\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +New error handler for communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_get_errhandler retrieves the error handler currently associated with a communicator. This call is identical to MPI_Errhandler_get, the use of which is deprecated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_info.3 new file mode 100644 index 00000000..67fd835e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_info.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_info\fP \- Retrieves active communicator info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_info(MPI_Comm \fIcomm\fP, MPI_Info \fI*info_used\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator from which to receive active info hints +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info_used +New info object returned with all active hints on this communicator. +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_Comm_get_info returns a new info object containing the hints of +the communicator associated with +.IR comm . +The current setting of all hints actually used by the system related +to this communicator is returned in +.IR info_used . +If no such hints exist, a handle to a newly created info object is +returned that contains no key/value pair. The user is responsible for +freeing info_used via MPI_Info_free. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Comm_get_info, +MPI_Info_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_name.3 new file mode 100644 index 00000000..feab035d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_name.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_name\fP \- Returns the name that was most recently associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_name(MPI_Comm \fIcomm\fP, char *\fIcomm_name\fP, int *\fIresultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator the name of which is to be returned (handle). +.TP 1i + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +comm_name +Name previously stored on the communicator, or an empty string if no such name exists (string). +.TP 1i +resultlen +Length of returned name (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_get_name returns the last name that was previously associated with the given communicator. The name may be set and retrieved from any language. The same name will be returned independent of the language used. \fIcomm_name\fP should be allocated so that it can hold a resulting string of length MPI_MAX_OBJECT_NAME characters. MPI_Comm_get_name returns a copy of the set name in \fIcomm_name\fP. +.sp +If the user has not associated a name with a communicator, or an error occurs, MPI_Comm_get_name will return an empty string (all spaces in Fortran, "" in C and C++). The three predefined communicators will have predefined names associated with them. Thus, the names of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT will have the default of MPI_COMM_WORLD, MPI_COMM_SELF, and MPI_COMM_PARENT. The fact that the system may have chosen to give a default name to a communicator does not prevent the user from setting a name on the same communicator; doing this removes the old name and assigns the new one. + +.SH NOTES +.ft R +It is safe simply to print the string returned by MPI_Comm_get_name, as it is always a valid string even if there was no name. +.sp +Note that associating a name with a communicator has no effect on the semantics of an MPI program, and will (necessarily) increase the store requirement of the program, since the names must be saved. Therefore, there is no requirement that users use these functions to associate names with communicators. However debugging and profiling MPI applications may be made easier if names are associated with communicators, since the debugger or profiler should then be able to present information in a less cryptic manner. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_parent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_parent.3 new file mode 100644 index 00000000..440f747c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_get_parent.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_get_parent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_get_parent\fP \- Returns the parent intercommunicator of current spawned process. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_get_parent(MPI_Comm *\fIparent\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +parent +The parent communicator (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If a process was started with MPI_Comm_spawn or MPI_Comm_spawn_multiple, MPI_Comm_get_parent returns the "parent" intercommunicator of the current process. This parent intercommunicator is created implicitly inside of MPI_Init and is the same intercommunicator returned by the spawn call made in the parents. +.sp +If the process was not spawned, MPI_Comm_get_parent returns MPI_COMM_NULL. +.sp +After the parent communicator is freed or disconnected, MPI_Comm_get_parent returns MPI_COMM_NULL. + +.SH NOTES +.ft R +MPI_Comm_get_parent returns a handle to a single intercommunicator. Calling MPI_Comm_get_parent a second time returns a handle to the same intercommunicator. Freeing the handle with MPI_Comm_disconnect or MPI_Comm_free will cause other references to the intercommunicator to become invalid (dangling). Note that calling MPI_Comm_free on the parent communicator is not useful. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_spawn +MPI_Comm_spawn_multiple + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_group.3 new file mode 100644 index 00000000..c9e639dc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_group.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_group \fP \- Returns the group associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_group(MPI_Comm \fIcomm\fP, MPI_Group *\fIgroup\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +group +Group in communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If the communicator is an intercommunicator (enables communication between two groups of processes), this function returns the local group. To return the remote group, use the MPI_Comm_remote_group function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_idup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_idup.3 new file mode 100644 index 00000000..7c66cc23 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_idup.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_idup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_idup \fP \- Start the nonblocking duplication of an existing communicator with all its cached information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_idup(MPI_Comm \fIcomm\fP, MPI_Comm\fI *newcomm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +Copy of comm (handle). +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_idup starts the nonblocking duplication of an existing communicator comm with associated key +values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator; one particular action that a copy callback may take is to delete the attribute from the new communicator. Returns in newcomm a new communicator with the same group, any copied cached information, but a new context (see Section 5.7.1 of the MPI-1 Standard, "Functionality"). The communicator returned in \fInewcomm\fP will not be available until the request is complete. +.sp +The completion of a communicator duplication request can be determined by calling any of MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with the request returned by this function. + +.SH NOTES +This operation is used to provide a parallel +library call with a duplicate communication space that has the same properties as the original communicator. This includes any attributes (see below) and topologies (see Chapter 6, "Process Topologies," in the MPI-1 Standard). This call is valid even if there are pending point-to-point communications involving the communicator comm. A typical call might involve an MPI_Comm_idup at the beginning of the parallel call, and an MPI_Comm_free of that duplicated communicator at the end of the call. Other models of communicator management are also possible. +.sp +This call applies to both intra- and intercommunicators. + +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO +MPI_Comm_dup +MPI_Comm_dup_with_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_join.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_join.3 new file mode 100644 index 00000000..3fdb313e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_join.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_join 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Comm_join\fP \- Establishes communication between MPI jobs + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Comm_join(int \fIfd\fP, MPI_Comm *\fIintercomm\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fd +socket file descriptor (socket). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +intercomm +Intercommunicator between processes (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_join creates an intercommunicator from the union of two MPI +processes that are connected by a socket. \fIfd\fP is a file +descriptor representing a socket of type SOCK_STREAM (a two-way +reliable byte-stream connection). Nonblocking I/O and asynchronous +notification via SIGIO must not be enabled for the socket. The socket +must be in a connected state, and must be quiescent when MPI_Comm_join +is called. +.sp +MPI_Comm_join must be called by the process at each end of the +socket. It does not return until both processes have called +MPI_Comm_join. + +.SH NOTES +.ft R +There are no MPI library calls for opening and manipulating a socket. +The socket \fIfd\fP can be opened using standard socket API calls. +MPI uses the socket to bootstrap creation of the intercommunicator, +and for nothing else. Upon return, the file descriptor will be open +and quiescent. +.sp +In a multithreaded process, the application must ensure that other +threads do not access the socket while one is in the midst of +calling MPI_Comm_join. +.sp +The returned communicator will contain the two processes connected by +the socket, and may be used to establish MPI communication with +additional processes, through the usual MPI communicator-creation +mechanisms. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +socket(3SOCKET) +MPI_Comm_create +MPI_Comm_group + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_rank.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_rank.3 new file mode 100644 index 00000000..0da54200 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_rank.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_rank 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_rank\fP \- Determines the rank of the calling process in the communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_rank(MPI_Comm \fIcomm\fP, int\fI *rank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of the calling process in group of comm (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function gives the rank of the process in the +particular communicator's group. It is equivalent to accessing the +communicator's group with MPI_Comm_group, computing the rank using MPI_Group_rank, and then freeing the temporary group via MPI_Group_free. +.sp +Many programs will be written with the master-slave model, where one process (such as the rank-zero process) will play a supervisory role, and the other processes will serve as compute nodes. In this framework, MPI_Comm_size and MPI_Comm_rank are useful for determining the roles of the various processes of a communicator. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_group +MPI_Comm_size +MPI_Comm_compare + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_group.3 new file mode 100644 index 00000000..0906de8e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_group.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_remote_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_remote_group \fP \- Accesses the remote group associated with an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_remote_group(MPI_Comm \fIcomm\fP, MPI_Group\fI *group\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +group +Remote group of communicator. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_remote_group accesses the remote group associated with an intercommunicator. +.sp +The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, +MPI_Comm_remote_group) are all local operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +.nf +MPI_Comm_test_inter +MPI_Comm_remote_size +MPI_Intercomm_create +MPI_Intercomm_merge + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_size.3 new file mode 100644 index 00000000..ad1d76de --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_remote_size.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_remote_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_remote_size \fP \- Determines the size of the remote group associated with an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_remote_size(MPI_Comm \fIcomm\fP, int\fI *size\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Number of processes in the remote group of comm (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_remote_size determines the size of the remote group associated with an intercommunicator. +.sp +The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_test_inter +MPI_Comm_remote_group +MPI_Intercomm_create +MPI_Intercomm_merge + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_attr.3 new file mode 100644 index 00000000..a1cd50e1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_attr.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_set_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_attr\fP \- Stores attribute value associated with a key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_attr(MPI_Comm \fIcomm\fP, int \fIcomm_keyval\fP, void *\fIattribute_val\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator from which attribute will be attached (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_keyval +Key value (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_set_attr stores the stipulated attribute value \fIattribute_val\fP for subsequent retrieval by MPI_Comm_get_attr. If the value is already present, then the outcome is as if MPI_Comm_delete_attr was first called to delete the previous value (and the callback function delete_fn was executed), and a new value was next stored. The call is erroneous if there is no key with value \fIcomm_keyval\fP; in particular MPI_KEYVAL_INVALID is an erroneous key value. The call will fail if the delete_fn function returned an error code other than MPI_SUCCESS. +.sp +This function replaces MPI_Attr_put, the use of which is deprecated. The C binding is identical. The Fortran binding differs in that \fIattribute_val\fP is an address-sized integer. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +Values of the permanent attributes MPI_TAG_UB, MPI_HOST, +MPI_IO, and MPI_WTIME_IS_GLOBAL may not be changed. +.sp +The type of the attribute value depends on whether C or Fortran is being used. In C, an attribute value is a pointer (void *); in Fortran, it is a single, address-size integer system for which a pointer does not fit in an integer. +.sp +If an attribute is already present, the delete function (specified when the corresponding keyval was created) will be called. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_errhandler.3 new file mode 100644 index 00000000..fb41588b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_errhandler.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_set_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_errhandler \fP \- Attaches a new error handler to a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_errhandler(MPI_Comm \fIcomm\fP, + MPI_Errhandler \fIerrhandler\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +New error handler for communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_set_errhandler attaches a new error handler to a communicator. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Comm_create_errhandler. This call is identical to MPI_Errhandler_set, the use of which is deprecated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_info.3 new file mode 100644 index 00000000..dc80a85c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_info.3 @@ -0,0 +1,86 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_set_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_info\fP \- Set communicator info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_info(MPI_Comm \fIcomm\fP, MPI_Info \fIinfo\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator on which to set info hints +.TP 1i +info +Info object containing hints to be set on +.I comm +. +.SH OUTPUT PARAMETERS +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_COMM_SET_INFO sets new values for the hints of the communicator +associated with +.IR comm . +MPI_COMM_SET_INFO is a collective routine. The info object may be +different on each process, but any info entries that an implementation +requires to be the same on all processes must appear with the same +value in each process's +.I info +object. +.sp +The following info key assertions may be accepted by Open MPI: +.sp +\fImpi_assert_no_any_tag\fP (boolean): If set to true, then the +implementation may assume that the process will not use the +MPI_ANY_TAG wildcard on the given +communicator. +.sp +\fImpi_assert_no_any_source\fP (boolean): If set to true, then +the implementation may assume that the process will not use the +MPI_ANY_SOURCE wildcard on the given communicator. +.sp +\fImpi_assert_exact_length\fP (boolean): If set to true, then the +implementation may assume that the lengths of messages received by the +process are equal to the lengths of the corresponding receive buffers, +for point-to-point communication operations on the given communicator. +.sp +\fImpi_assert_allow_overtaking\fP (boolean): If set to true, then the +implementation may assume that point-to-point communications on the +given communicator do not rely on the non-overtaking rule specified in +MPI-3.1 Section 3.5. In other words, the application asserts that send +operations are not required to be matched at the receiver in the order +in which the send operations were performed by the sender, and receive +operations are not required to be matched in the order in which they +were performed by the receiver. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Comm_get_info, +MPI_Info_create, +MPI_Info_set, +MPI_Info_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_name.3 new file mode 100644 index 00000000..6620526a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_set_name.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Comm_set_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_set_name\fP \- Associates a name with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_set_name(MPI_Comm \fIcomm\fP, const char *\fIcomm_name\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +comm +Communicator whose identifier is to be set (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +comm_name +Character string to be used as the identifier for the communicator (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + + +.SH DESCRIPTION +.ft R +MPI_Comm_set_name allows a user to associate a name string with a communicator. The character string that is passed to MPI_Comm_set_name is saved inside the MPI library (so it can be freed by the caller immediately after the call, or allocated on the stack). Leading spaces in \fIname\fP are significant, but trailing ones are not. +.sp +MPI_Comm_set_name is a local (noncollective) operation, which affects only the name of the communicator as seen in the process that made the MPI_Comm_set_name call. There is no requirement that the same (or any) name be assigned to a communicator in every process where it exists. +.sp +The length of the name that can be stored is limited to the value of MPI_MAX_OBJECT_NAME in Fortran and MPI_MAX_OBJECT_NAME-1 in C and C++ (to allow for the null terminator). Attempts to set names longer than this will result in truncation of the name. MPI_MAX_OBJECT_NAME must have a value of at least 64. + + +.SH NOTES +.ft R +Since MPI_Comm_set_name is provided to help debug code, it is sensible to give the same name to a communicator in all of the processes where it exists, to avoid confusion. +.sp +Regarding name length, under circumstances of store exhaustion, an attempt to set a name of any length could fail; therefore, the value of MPI_MAX_OBJECT_NAME should be viewed only as a strict upper bound on the name length, not a guarantee that setting names of less than this length will always succeed. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Comm_get_name +.sp + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_size.3 new file mode 100644 index 00000000..0798b584 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_size.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_size \fP \- Returns the size of the group associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_size(MPI_Comm \fIcomm\fP, int *\fIsize\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Number of processes in the group of comm (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function indicates the number of processes involved in a +communicator. For MPI_COMM_WORLD, it indicates the total number of +processes available. This function is equivalent to accessing the +communicator's group with MPI_Comm_group, computing the size using +MPI_Group_size, and then freeing the temporary group via +MPI_Group_free. If the communicator is an inter-communicator (enables +communication between two groups), this function returns the size of +the local group. To return the size of the remote group, use the +MPI_Comm_remote_size function. +.sp +This call is often used with MPI_Comm_rank to determine the amount of concurrency available for a specific library or program. MPI_Comm_rank indicates the rank of the process that calls it in the range from 0 . . . size-1, where size is the return value of MPI_Comm_size. + +.SH NOTE +.ft R +MPI_COMM_NULL is not considered a valid argument to this function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_group +MPI_Comm_rank +MPI_Comm_compare + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn.3 new file mode 100644 index 00000000..068715e2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn.3 @@ -0,0 +1,207 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_spawn 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_spawn\fP \- Spawns a number of identical binaries. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_spawn(const char *\fIcommand\fP, char *\fIargv\fP[], int \fImaxprocs\fP, + MPI_Info \fIinfo\fP, int \fIroot\fP, MPI_Comm \fIcomm\fP, + MPI_Comm *\fIintercomm\fP, int \fIarray_of_errcodes\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +command +Name of program to be spawned (string, significant only at \fIroot\fP). +.TP 1i +argv +Arguments to \fIcommand\fP (array of strings, significant only at \fIroot\fP). +.TP 1i +maxprocs +Maximum number of processes to start (integer, significant only at \fIroot\fP). +.TP 1i +info +A set of key-value pairs telling the runtime system where and how to start the processes (handle, significant only at \fIroot\fP). +.TP 1i +root +Rank of process in which previous arguments are examined (integer). +.TP 1i +comm +Intracommunicator containing group of spawning processes (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +intercomm +Intercommunicator between original group and the newly spawned group (handle). +.TP 1i +array_of_errcodes +One code per process (array of integers). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_spawn tries to start \fImaxprocs\fP identical copies of the MPI program specified by \fIcommand\fP, establishing communication with them and returning an intercommunicator. The spawned processes are referred to as children. The children have their own MPI_COMM_WORLD, which is separate from that of the parents. MPI_Comm_spawn is collective over \fIcomm\fP, and also may not return until MPI_Init has been called in the children. Similarly, MPI_Init in the children may not return until all parents have called MPI_Comm_spawn. In this sense, MPI_Comm_spawn in the parents and MPI_Init in the children form a collective operation over the union of parent and child processes. The intercommunicator returned by MPI_Comm_spawn contains the parent processes in the local group and the child processes in the remote group. The ordering of processes in the local and remote groups is the same as the as the ordering of the group of the \fIcomm\fP in the parents and of MPI_COMM_WORLD of the children, respectively. This intercommunicator can be obtained in the children through the function MPI_Comm_get_parent. +.sp +The MPI standard allows an implementation to use the MPI_UNIVERSE_SIZE attribute of MPI_COMM_WORLD to specify the number of processes that will be active in a program. Although this implementation of the MPI standard defines MPI_UNIVERSE_SIZE, it does not allow the user to set its value. If you try to set the value of MPI_UNIVERSE_SIZE, you will get an error message. +.sp +The \fIcommand\fP Argument +.sp +The \fIcommand\fP argument is a string containing the name of a program to be spawned. The string is null-terminated in C. In Fortran, leading and trailing spaces are stripped. MPI looks for the file first in the working directory of the spawning process. +.sp +The \fIargv\fP Argument +.sp +\fIargv\fP is an array of strings containing arguments that are passed +to the program. The first element of \fIargv\fP is the first argument +passed to \fIcommand\fP, not, as is conventional in some contexts, the +command itself. The argument list is terminated by NULL in C and C++ +and an empty string in Fortran (note that it is the MPI application's +responsibility to ensure that the last entry of the +.I argv +array is an empty string; the compiler will not automatically insert +it). In Fortran, leading and trailing spaces are always stripped, so +that a string consisting of all spaces is considered an empty +string. The constant MPI_ARGV_NULL may be used in C, C++ and Fortran +to indicate an empty argument list. In C and C++, this constant is the +same as NULL. +.sp +In C, the MPI_Comm_spawn argument \fIargv\fP differs from the \fIargv\fP argument of \fImain\fP in two respects. First, it is shifted by one element. Specifically, \fIargv\fP[0] of \fImain\fP contains the name of the program (given by \fIcommand\fP). \fIargv\fP[1] of \fImain\fP corresponds to \fIargv\fP[0] in MPI_Comm_spawn, \fIargv\fP[2] of \fImain\fP to \fIargv\fP[1] of MPI_Comm_spawn, and so on. Second, \fIargv\fP of MPI_Comm_spawn must be null-terminated, so that its length can be determined. Passing an \fIargv\fP of MPI_ARGV_NULL to MPI_Comm_spawn results in \fImain\fP receiving \fIargc\fP of 1 and an \fIargv\fP whose element 0 is the name of the program. +.sp +The \fImaxprocs\fP Argument +.sp +Open MPI tries to spawn \fImaxprocs\fP processes. If it is unable to spawn \fImaxprocs\fP processes, it raises an error of class MPI_ERR_SPAWN. If MPI is able to spawn the specified number of processes, MPI_Comm_spawn returns successfully and the number of spawned processes, \fIm\fP, is given by the size of the remote group of \fIintercomm\fP. +.sp +A spawn call with the default behavior is called hard. A spawn call for which fewer than \fImaxprocs\fP processes may be returned is called soft. +.sp +The \fIinfo\fP Argument +.sp +The \fIinfo\fP argument is an opaque handle of type MPI_Info in C, MPI::Info in C++ and INTEGER in Fortran. It is a container for a number of user-specified (\fIkey,value\fP) pairs. \fIkey\fP and \fIvalue\fP are strings (null-terminated char* in C, character*(*) in Fortran). Routines to create and manipulate the \fIinfo\fP argument are described in Section 4.10 of the MPI-2 standard. +.sp +For the SPAWN calls, \fIinfo\fP provides additional, implementation-dependent instructions to MPI and the runtime system on how to start processes. An application may pass MPI_INFO_NULL in C or Fortran. Portable programs not requiring detailed control over process locations should use MPI_INFO_NULL. +.sp +The following keys for \fIinfo\fP are recognized in Open MPI. (The reserved values mentioned in Section 5.3.4 of the MPI-2 standard are not implemented.) +.sp +.nf +Key Type Description +--- ---- ----------- + +host char * Host on which the process should be + spawned. See the \fIorte_host\fP man + page for an explanation of how this + will be used. +hostfile char * Hostfile containing the hosts on which + the processes are to be spawned. See + the \fIorte_hostfile\fP man page for + an explanation of how this will be + used. +add-host char * Add the specified host to the list of + hosts known to this job and use it for + the associated process. This will be + used similarly to the -host option. +add-hostfile char * Hostfile containing hosts to be added + to the list of hosts known to this job + and use it for the associated + process. This will be used similarly + to the -hostfile option. +wdir char * Directory where the executable is + located. If files are to be + pre-positioned, then this location is + the desired working directory at time + of execution - if not specified, then + it will automatically be set to + \fIompi_preload_files_dest_dir\fP. +ompi_prefix char * Same as the --prefix command line + argument to mpirun. +ompi_preload_binary bool If set to true, pre-position the + specified executable onto the remote + host. A destination directory must + also be provided. +ompi_preload_files char * A comma-separated list of files that + are to be pre-positioned in addition + to the executable. Note that this + option does not depend upon + \fIompi_preload_binary\fP - files can + be moved to the target even if an + executable is not moved. +ompi_stdin_target char * Comma-delimited list of ranks to + receive stdin when forwarded. +ompi_non_mpi bool If set to true, launching a non-MPI + application; the returned communicator + will be MPI_COMM_NULL. Failure to set + this flag when launching a non-MPI + application will cause both the child + and parent jobs to "hang". +ompi_param char * Pass an OMPI MCA parameter to the + child job. If that parameter already + exists in the environment, the value + will be overwritten by the provided + value. +mapper char * Mapper to be used for this job +map_by char * Mapping directive indicating how + processes are to be mapped (slot, + node, socket, etc.). +rank_by char * Ranking directive indicating how + processes are to be ranked (slot, + node, socket, etc.). +bind_to char * Binding directive indicating how + processes are to be bound (core, slot, + node, socket, etc.). +path char * List of directories to search for + the executable +npernode char * Number of processes to spawn on + each node of the allocation +pernode bool Equivalent to npernode of 1 +ppr char * Spawn specified number of processes + on each of the identified object type +env char * Newline-delimited list of envars to + be passed to the spawned procs +.fi + +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. + +.sp +The \fIroot\fP Argument +.sp +All arguments before the \fIroot\fP argument are examined only on the process whose rank in \fIcomm\fP is equal to \fIroot\fP. The value of these arguments on other processes is ignored. +.sp +The \fIarray_of_errcodes\fP Argument +.sp +The \fIarray_of_errcodes\fP is an array of length \fImaxprocs\fP in which MPI reports the status of the processes that MPI was requested to start. If all \fImaxprocs\fP processes were spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_SUCCESS. If anyof the processes are \fInot\fP spawned, \fIarray_of_errcodes\fP is filled in with the value MPI_ERR_SPAWN. In C or Fortran, an application may pass MPI_ERRCODES_IGNORE if it is not interested in the error codes. In C++ this constant does not exist, and the \fIarray_of_errcodes\fP argument may be omitted from the argument list. + +.SH NOTES +.ft R +Completion of MPI_Comm_spawn in the parent does not necessarily mean that MPI_Init has been called in the children (although the returned intercommunicator can be used immediately). + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_spawn_multiple(3) +MPI_Comm_get_parent(3) +mpirun(1) + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn_multiple.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn_multiple.3 new file mode 100644 index 00000000..46fbe447 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_spawn_multiple.3 @@ -0,0 +1,239 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2018 Cisco Systems, Inc. All rights reserved +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_spawn_multiple 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_spawn_multiple\fP \- Spawns multiple binaries, or the same binary with multiple sets of arguments. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_spawn_multiple(int \fIcount\fP, char *\fIarray_of_commands\fP[], + char **\fIarray_of_argv\fP[], const int \fIarray_of_maxprocs\fP[], const MPI_Info + \fIarray_of_info\fP[], int \fIroot\fP, MPI_Comm \fIcomm\fP, MPI_Comm *\fIintercomm\fP, + int \fIarray_of_errcodes\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of commands (positive integer, significant to MPI only at \fIroot\fP -- see NOTES). +.TP 1i +array_of_commands +Programs to be executed (array of strings, significant only at \fIroot\fP). +.TP 1i +array_of_argv +Arguments for \fIcommands\fP (array of array of strings, significant only at \fIroot\fP). +.TP 1i +array_of_maxprocs +Maximum number of processes to start for each command (array of integers, significant only at \fIroot\fP). +.TP 1i +array_of_info +Info objects telling the runtime system where and how to start processes (array of handles, significant only at \fIroot\fP). +.TP 1i +root +Rank of process in which previous arguments are examined (integer). +.TP 1i +comm +Intracommunicator containing group of spawning processes (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +intercomm +Intercommunicator between original group and the newly spawned group (handle). +.TP 1i +array_of_errcodes +One code per process (array of integers). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Comm_spawn_multiple is identical to MPI_Comm_spawn(3) except that +it can specify multiple executables. The first argument, \fIcount\fP, +indicates the number of executables. The next three arguments are +arrays of the corresponding arguments in MPI_Comm_spawn(3). The next +argument, \fIarray_of_info\fP, is an array of \fIinfo\fP arguments, one +for each executable. See the INFO ARGUMENTS section for more information. +.sp +For the Fortran version of \fIarray_of_argv\fP, the element \fIarray_of_argv\fP(i,j) is the jth argument to command number i. +.sp +In any language, an application may use the constant MPI_ARGVS_NULL (which is likely to be (char ***)0 in C) to specify that no arguments should be passed to any commands. The effect of setting individual elements of \fIarray_of_argv\fP to MPI_ARGV_NULL is not defined. To specify arguments for some commands but not others, the commands without arguments should have a corresponding \fIargv\fP whose first element is null ((char *)0 in C and empty string in Fortran). +.sp +All of the spawned processes have the same MPI_COMM_WORLD. Their ranks in MPI_COMM_WORLD correspond directly to the order in which the commands are specified in MPI_Comm_spawn_multiple. Assume that m1 processes are generated by the first command, m2 by the second, etc. The processes corresponding to the first command have ranks 0, 1,..., m1-1. The processes in the second command have ranks m1, m1+1, ..., m1+m2-1. The processes in the third have ranks m1+m2, m1+m2+1, ..., m1+m2+m3-1, etc. +.sp +The \fIarray_of_errcodes\fP argument is 1-dimensional array of size +.sp +.nf + _ count + \\ n , + /_ i=1 i +.fi +.sp +where i is the ith element of \fIarray_of_maxprocs\fP. Command number \fIi\fP corresponds to the i contiguous slots in this array from element +.sp +.nf + _ _ + _ \fIi\fP-1 | _ \fIi\fP | + \\ n , to | \\ n | -1 + /_ \fIj\fP=1 i | /_ \fIj\fP=1 j | + |_ _| +.fi +.sp +Error codes are treated as for MPI_Comm_spawn(3). + + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized in "Open MPI". (The reserved values mentioned in Section 5.3.4 of the MPI-2 standard are not implemented.) +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +host char * Comma-separated list of hosts on which + the processes should be spawned. See + the \fIorte_host\fP man page for an + explanation of how this will be used. +hostfile char * Hostfile containing the hosts on which + the processes are to be spawned. See + the \fIorte_hostfile\fP man page for + an explanation of how this will be + used. +add-host char * Add the specified hosts to the list of + hosts known to this job and use it for + the associated processes. This will be + used similarly to the -host option. +add-hostfile char * Hostfile containing hosts to be added + to the list of hosts known to this job + and use it for the associated + process. This will be used similarly + to the -hostfile option. +wdir char * Directory where the executable is + located. If files are to be + pre-positioned, then this location is + the desired working directory at time + of execution - if not specified, then + it will automatically be set to + \fIompi_preload_files_dest_dir\fP. +ompi_prefix char * Same as the --prefix command line + argument to mpirun. +ompi_preload_binary bool If set to true, pre-position the + specified executable onto the remote + host. A destination directory must + also be provided. +ompi_preload_files char * A comma-separated list of files that + are to be pre-positioned in addition + to the executable. Note that this + option does not depend upon + \fIompi_preload_binary\fP - files can + be moved to the target even if an + executable is not moved. +ompi_stdin_target char * Comma-delimited list of ranks to + receive stdin when forwarded. +ompi_non_mpi bool If set to true, launching a non-MPI + application; the returned communicator + will be MPI_COMM_NULL. Failure to set + this flag when launching a non-MPI + application will cause both the child + and parent jobs to "hang". +ompi_param char * Pass an OMPI MCA parameter to the + child job. If that parameter already + exists in the environment, the value + will be overwritten by the provided + value. +mapper char * Mapper to be used for this job +map_by char * Mapping directive indicating how + processes are to be mapped (slot, + node, socket, etc.). +rank_by char * Ranking directive indicating how + processes are to be ranked (slot, + node, socket, etc.). +bind_to char * Binding directive indicating how + processes are to be bound (core, slot, + node, socket, etc.). +path char * List of directories to search for + the executable +npernode char * Number of processes to spawn on + each node of the allocation +pernode bool Equivalent to npernode of 1 +ppr char * Spawn specified number of processes + on each of the identified object type +env char * Newline-delimited list of envars to + be passed to the spawned procs +.fi + +.sp +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. + +.sp +Note that if any of the info handles have \fIompi_non_mpi\fP set to +true, then all info handles must have it set to true. If some are set +to true, but others are set to false (or are unset), MPI_ERR_INFO will +be returned. + +.sp +Note that in "Open MPI", the first array location in \fIarray_of_info\fP is applied to all the commands in \fIarray_of_commands\fP. + +.SH NOTES +The argument \fIcount\fP is interpreted by MPI only at the root, as is \fIarray_of_argv\fP. Since the leading dimension of \fIarray_of_argv\fP is \fIcount\fP, a nonpositive value of \fIcount\fP at a nonroot node could theoretically cause a runtime bounds check error, even though \fIarray_of_argv\fP should be ignored by the subroutine. If this happens, you should explicitly supply a reasonable value of \fIcount\fP on the nonroot nodes. +.sp +Similar to MPI_Comm_spawn(3), it is the application's responsibility +to terminate each individual set of argv in the +.I array_of_argv +argument. In C, each argv array is terminated by a NULL pointer. In +Fortran, each argv array is terminated by an empty string (note that +compilers will not automatically insert this blank string; the +application must ensure to have enough space for an empty string entry +as the last element of the array). +.sp +Other restrictions apply to the +.I array_of_argv +parameter; see MPI_Comm_spawn(3)'s description of the +.I argv +parameter for more details. +.sp +MPI-3.1 implies (but does not directly state) that the argument +\fIarray_of_commands\fP must be an array of strings of length +\fIcount\fP. Unlike the \fIarray_of_argv\fP parameter, +\fIarray_of_commands\fP does not need to be terminated with a NULL +pointer in C or a blank string in Fortran. Older versions of Open MPI +required that \fIarray_of_commands\fP be terminated with a blank +string in Fortran; that is no longer required in this version of Open +MPI. +.sp +Calling MPI_Comm_spawn(3) many times would create many sets of +children with different MPI_COMM_WORLDs, whereas +MPI_Comm_spawn_multiple creates children with a single MPI_COMM_WORLD, +so the two methods are not completely equivalent. Also if you need to +spawn multiple executables, you may get better performance by using +MPI_Comm_spawn_multiple instead of calling MPI_Comm_spawn(3) several +times. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_spawn(3) +MPI_Comm_get_parent(3) +mpirun(1) diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split.3 new file mode 100644 index 00000000..8d6b1eaa --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_split 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_split \fP \- Creates new communicators based on colors and keys. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_split(MPI_Comm \fIcomm\fP, int\fI color\fP, int\fI key\fP, + MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +color +Control of subset assignment (nonnegative integer). +.TP 1i +key +Control of rank assignment (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function partitions the group associated with comm into disjoint subgroups, one for each value of color. Each subgroup contains all processes of the same color. Within each subgroup, the processes are ranked in the order defined by the value of the argument key, with ties broken according to their rank in the old group. A new communicator is created for each subgroup and returned in newcomm. A process may supply the color value MPI_UNDEFINED, in which case newcomm returns MPI_COMM_NULL. This is a collective call, but each process is permitted to provide different values for color and key. +.sp +When you call MPI_Comm_split on an inter-communicator, the processes on the left with the same color as those on the right combine to create a new inter-communicator. The key argument describes the relative rank of processes on each side of the inter-communicator. The function returns MPI_COMM_NULL for those colors that are specified on only one side of the inter-communicator, or for those that specify MPI_UNDEFINED as the color. +.sp +A call to MPI_Comm_create(\fIcomm\fP, \fIgroup\fP, \fInewcomm\fP) is equivalent to a call to MPI_Comm_split(\fIcomm\fP, \fIcolor\fP,\fI key\fP, \fInewcomm\fP), where all members of \fIgroup\fP provide \fIcolor\fP = 0 and \fIkey\fP = rank in group, and all processes that are not members of \fIgroup\fP provide \fIcolor\fP = MPI_UNDEFINED. The function MPI_Comm_split allows more general partitioning of a group into one or more subgroups with optional reordering. +.sp +The value of \fIcolor\fP must be nonnegative or MPI_UNDEFINED. + +.SH NOTES +.ft R +This is an extremely powerful mechanism for +dividing a single communicating group of processes into k subgroups, with k +chosen implicitly by the user (by the number of colors asserted over all +the processes). Each resulting communicator will be nonoverlapping. Such a division could be useful for defining a hierarchy of computations, such as for multigrid or linear algebra. +.sp +Multiple calls to MPI_Comm_split can be used to overcome the requirement that any call have no overlap of the resulting communicators (each process is of only one color per call). In this way, multiple overlapping communication structures can be created. Creative use of the color and key in such splitting operations is encouraged. +.sp +Note that, for a fixed color, the keys need not be unique. It is MPI_Comm_split's responsibility to sort processes in ascending order according to this key, and to break ties in a consistent way. If all the keys are specified in the same way, then all the processes in a given color will have the relative rank order as they did in their parent group. (In general, they will have different ranks.) +.sp +Essentially, making the key value zero for all processes of a given color +means that one needn't really pay attention to the rank-order of the processes in the new communicator. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create +.br +MPI_Intercomm_create +.br +MPI_Comm_dup +.br +MPI_Comm_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split_type.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split_type.3 new file mode 100644 index 00000000..2827952a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_split_type.3 @@ -0,0 +1,146 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_split_type 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_split_type \fP \- Creates new communicators based on colors and keys. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_split_type(MPI_Comm \fIcomm\fP, int\fI split_type\fP, int\fI key\fP, + MPI_Info info, MPI_Comm *\fInewcomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +split_type +Type of processes to be grouped together (integer). +.TP 1i +key +Control of rank assignment (integer). +.TP 1i +info +Info argument (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newcomm +New communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function partitions the group associated with \fIcomm\fP into disjoint subgroups, based on +the type specied by \fIsplit_type\fP. Each subgroup contains all processes of the same type. +Within each subgroup, the processes are ranked in the order defined by the value of the +argument \fIkey\fP, with ties broken according to their rank in the old group. A new communicator +is created for each subgroup and returned in newcomm. This is a collective call; +all processes must provide the same \fIsplit_type\fP, but each process is permitted to provide +different values for key. An exception to this rule is that a process may supply the type +value MPI_UNDEFINED, in which case newcomm returns MPI_COMM_NULL. + +.SH SPLIT TYPES +.ft R +.TP 1i +MPI_COMM_TYPE_SHARED +This type splits the communicator into subcommunicators, each of which can create a shared memory region. + +.ft R +.TP 1i +OMPI_COMM_TYPE_NODE +Synonym for MPI_COMM_TYPE_SHARED. +.ft R +.TP 1i +OMPI_COMM_TYPE_HWTHREAD +This type splits the communicator into subcommunicators, each of which belongs to the same hardware thread. +.ft R +.TP 1i +OMPI_COMM_TYPE_CORE +This type splits the communicator into subcommunicators, each of which belongs to the same core/processing unit. +.ft R +.TP 1i +OMPI_COMM_TYPE_L1CACHE +This type splits the communicator into subcommunicators, each of which belongs to the same L1 cache. +.ft R +.TP 1i +OMPI_COMM_TYPE_L2CACHE +This type splits the communicator into subcommunicators, each of which belongs to the same L2 cache. +.ft R +.TP 1i +OMPI_COMM_TYPE_L3CACHE +This type splits the communicator into subcommunicators, each of which belongs to the same L3 cache. +.ft R +.TP 1i +OMPI_COMM_TYPE_SOCKET +This type splits the communicator into subcommunicators, each of which belongs to the same socket. +.ft R +.TP 1i +OMPI_COMM_TYPE_NUMA +This type splits the communicator into subcommunicators, each of which belongs to the same NUMA-node. +.ft R +.TP 1i +OMPI_COMM_TYPE_BOARD +This type splits the communicator into subcommunicators, each of which belongs to the same board. +.ft R +.TP 1i +OMPI_COMM_TYPE_HOST +This type splits the communicator into subcommunicators, each of which belongs to the same host. +.ft R +.TP 1i +OMPI_COMM_TYPE_CU +This type splits the communicator into subcommunicators, each of which belongs to the same computational unit. +.ft R +.TP 1i +OMPI_COMM_TYPE_CLUSTER +This type splits the communicator into subcommunicators, each of which belongs to the same cluster. + +.SH NOTES +.sp +The communicator keys denoted with an +.I OMPI_ +prefix instead of an +.I MPI_ +prefix are specific to Open MPI, and are not part of the MPI +standard. Their use should be protected by the +.I OPEN_MPI +C preprocessor macro. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create +.br +MPI_Intercomm_create +.br +MPI_Comm_dup +.br +MPI_Comm_free +.br +MPI_Comm_split + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Comm_test_inter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_test_inter.3 new file mode 100644 index 00000000..6396c43c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Comm_test_inter.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Comm_test_inter 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Comm_test_inter \fP \- Tests to see if a comm is an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Comm_test_inter(MPI_Comm \fIcomm\fP, int\fI *flag\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag (Logical.) +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This local routine allows the calling process to determine the type of a communicator. It returns true for an intercommunicator, false for an intracommunicator. +.sp +The type of communicator also affects the value returned by three other functions. When dealing with an intracommunicator (enables communication within a single group), the functions listed below return the expected values, group size, group, and rank. When dealing with an inter-communicator, however, they return the following values: +.sp +.nf +MPI_Comm_size Returns the size of the local group. +MPI_Comm_group Returns the local group. +MPI_Comm_rank Returns the rank in the local group. +.fi +.sp +To return the remote group and remote group size of an inter-communicator, use the MPI_Comm_remote_group and MPI_Comm_remote_size functions. +.sp +The operation MPI_Comm_compare is valid for intercommunicators. Both communicators must be either intra- or intercommunicators, or else MPI_UNEQUAL results. Both corresponding local and remote groups must compare correctly to get the results MPI_CONGRUENT and MPI_SIMILAR. In particular, it is possible for MPI_SIMILAR to result because either the local or remote groups were similar but not identical. +.sp +The following accessors provide consistent access to the remote group of an +intercommunicator: MPI_Comm_remote_size, MPI_Comm_remote_group. +.sp +The intercommunicator accessors (MPI_Comm_test_inter, MPI_Comm_remote_size, MPI_Comm_remote_group) are all local operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Comm_remote_group +MPI_Comm_remote_size +MPI_Intercomm_create +MPI_Intercomm_merge + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Compare_and_swap.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Compare_and_swap.3 new file mode 100644 index 00000000..ecfae0f3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Compare_and_swap.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Compare_and_swap 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Compare_and_swap\fP \- Perform RMA compare-and-swap + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Compare_and_swap(const void *\fIorigin_addr\fP, const void *\fIcompare_addr\fP, + void *\fIresult_addr\fP, MPI_Datatype \fIdatatype\fP, int \fItarget_rank\fP, + MPI_Aint \fItarget_disp\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP +compare_addr +Initial address of compare buffer (choice). +.ft R +.TP +result_addr +Initial address of result buffer (choice). +.ft R +.TP +datatype +Data type of the entry in origin, result, and target buffers (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function compares one element of type \fIdatatype\fP in the compare buffer \fIcompare_addr\fP with the buffer at offset \fItarget_disp\fP in the target window specified by \fItarget_rank\fP and \fIwin\fP and replaces the value at the target with the value in the origin buffer \fIorigin_addr\fP if the compare buffer and the target buffer are identical. The original value at the target is returned in the buffer \fIresult_addr\fP. The parameter \fIdatatype\fP must belong to one of the following categories of predefined datatypes: C integer, Fortran integer, Logical, Multi-language types, or Byte as specified in MPI-3 § 5.9.2 on page 176. +.sp +The origin and result buffers (\fIorigin_addr\fP and \fIresult_addr\fP) must be disjoint. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the \fBMPI_Compare_and_swap\fP function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dims_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dims_create.3 new file mode 100644 index 00000000..aa7b275c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dims_create.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dims_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dims_create \fP \- Creates a division of processors in a Cartesian grid. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dims_create(int \fInnodes\fP, int\fI ndims\fP, int\fI dims\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +nnodes +Number of nodes in a grid (integer). +.TP 1i +ndims +Number of Cartesian dimensions (integer). + +.SH IN/OUT PARAMETER +.TP 1i +dims +Integer array of size ndims specifying the number of nodes in each dimension. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For Cartesian topologies, the function MPI_Dims_create helps the user select a balanced distribution of processes per coordinate direction, depending on the number of processes in the group to be balanced and optional constraints that can be specified by the user. One use is to partition all the processes (the size of MPI_COMM_WORLD's group) into an n-dimensional topology. +.sp +The entries in the array \fIdims\fP are set to describe a Cartesian grid with \fIndims\fP dimensions and a total of \fInnodes\fP nodes. The dimensions are set to be as close to each other as possible, using an appropriate divisibility algorithm. The caller may further constrain the operation of this routine by specifying elements of array dims. If dims[i] is set to a positive number, the routine will not modify the number of nodes in dimension i; only those entries where dims[i] = 0 are modified by the call. +.sp +Negative input values of dims[i] are erroneous. An error will occur if +nnodes is not a multiple of ((pi) over (i, dims[i] != 0)) dims[i]. +.sp +For dims[i] set by the call, dims[i] will be ordered in nonincreasing order. Array dims is suitable for use as input to routine MPI_Cart_create. MPI_Dims_create is local. +.sp +\fBExample:\fP +.nf + +dims +before dims +call function call on return +----------------------------------------------------- +(0,0) MPI_Dims_create(6, 2, dims) (3,2) +(0,0) MPI_Dims_create(7, 2, dims) (7,1) +(0,3,0) MPI_Dims_create(6, 3, dims) (2,3,1) +(0,3,0) MPI_Dims_create(7, 3, dims) erroneous call +------------------------------------------------------ + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create.3 new file mode 100644 index 00000000..a3c87ce2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create.3 @@ -0,0 +1,112 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_create \fP \- Makes a new communicator to which topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_create(MPI_Comm \fIcomm_old\fP, int\fI n\fP, const int\fI sources[]\fP, + const int\fI degrees[]\fP, const int\fI destinations\fP[], const int\fI weights\fP[], + MPI_Info info, int\fI reorder\fP, MPI_Comm\fI *comm_dist_graph\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator without topology (handle). +.TP 1i +n +Number of source nodes for which this process specifies edges (non-negative integer). +.TP 1i +sources +Array containing the \fIn\fP source nodes for which this process species edges (array of non-negative integers). +.TP 1i +degrees +Array specifying the number of destinations for each source node in the source node array (array of non-negative integers). +.TP 1i +destinations +Destination nodes for the source nodes in the source node array (array of non-negative integers). +.TP 1i +weights +Weights for source to destination edges (array of non-negative integers). +.TP 1i +Hints on optimization and interpretation of weights (handle). +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_dist_graph +Communicator with distibuted graph topology added (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_create creates a new communicator \fIcomm_dist_graph\fP with distrubuted +graph topology and returns a handle to the new communicator. The number of processes in +\fIcomm_dist_graph\fP is identical to the number of processes in \fIcomm_old\fP. Concretely, each process calls the +constructor with a set of directed (source,destination) communication edges as described below. +Every process passes an array of \fIn\fP source nodes in the \fIsources\fP array. For each source node, a +non-negative number of destination nodes is specied in the \fIdegrees\fP array. The destination +nodes are stored in the corresponding consecutive segment of the \fIdestinations\fP array. More +precisely, if the i-th node in sources is s, this species \fIdegrees\fP[i] \fIedges\fP (s,d) with d of the j-th +such edge stored in \fIdestinations\fP[\fIdegrees\fP[0]+...+\fIdegrees\fP[i-1]+j]. The weight of this edge is +stored in \fIweights\fP[\fIdegrees\fP[0]+...+\fIdegrees\fP[i-1]+j]. Both the \fIsources\fP and the \fIdestinations\fP arrays +may contain the same node more than once, and the order in which nodes are listed as +destinations or sources is not signicant. Similarly, different processes may specify edges +with the same source and destination nodes. Source and destination nodes must be process +ranks of comm_old. Different processes may specify different numbers of source and +destination nodes, as well as different source to destination edges. This allows a fully distributed +specification of the communication graph. Isolated processes (i.e., processes with +no outgoing or incoming edges, that is, processes that do not occur as source or destination +node in the graph specication) are allowed. The call to MPI_Dist_graph_create is collective. + +If reorder = false, all processes will have the same rank in comm_dist_graph as in +comm_old. If reorder = true then the MPI library is free to remap to other processes (of +comm_old) in order to improve communication on the edges of the communication graph. +The weight associated with each edge is a hint to the MPI library about the amount or +intensity of communication on that edge, and may be used to compute a \"best\" reordering. + +.SH WEIGHTS +.ft R +Weights are specied as non-negative integers and can be used to influence the process +remapping strategy and other internal MPI optimizations. For instance, approximate count +arguments of later communication calls along specic edges could be used as their edge +weights. Multiplicity of edges can likewise indicate more intense communication between +pairs of processes. However, the exact meaning of edge weights is not specied by the MPI +standard and is left to the implementation. An application can supply the special value +MPI_UNWEIGHTED for the weight array to indicate that all edges have the same (effectively no) +weight. It is erroneous to supply MPI_UNWEIGHTED for some but not +all processes of comm_old. If the graph is weighted but \fIn\fP = 0, then MPI_WEIGHTS_EMPTY +or any arbitrary array may be passed to weights. Note that MPI_UNWEIGHTED and +MPI_WEIGHTS_EMPTY are not special weight values; rather they are special values for the +total array argument. In Fortran, MPI_UNWEIGHTED and MPI_WEIGHTS_EMPTY are objects +like MPI_BOTTOM (not usable for initialization or assignment). See MPI-3 § 2.5.4. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_create_adjacent +MPI_Dist_graph_neighbors +MPI_Dist_graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create_adjacent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create_adjacent.3 new file mode 100644 index 00000000..e8e21ef6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_create_adjacent.3 @@ -0,0 +1,106 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_create_adjacent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_create_adjacent \fP \- Makes a new communicator to which topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_create_adjacent(MPI_Comm \fIcomm_old\fP, int\fI indegree\fP, const int\fI sources[]\fP, + const int\fI sourceweights[]\fP, int\fI outdegree\fP, const int\fI destinations\fP[], const int\fI destweights\fP[], + MPI_Info info, int\fI reorder\fP, MPI_Comm\fI *comm_dist_graph\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator without topology (handle). +.TP 1i +indegree +Size of \fIsources\fP and \fIsourceweights\fP arrays (non-negative integer). +.TP 1i +sources +Ranks of processes for which the calling process is a destination (array of non-negative integers). +.TP 1i +sourceweights +Weights of the edges into the calling process (array of non-negative integers). +.TP 1i +outdegree +Size of \fIdestinations\fP and \fIdestweights\fP arrays (non-negative integer). +.TP 1i +destinations +Ranks of processes for which the calling process is a source (array of non-negative integers). +.TP 1i +destweights +Weights of the edges out of the calling process (array of non-negative integers). +.TP 1i +Hints on optimization and interpretation of weights (handle). +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_dist_graph +Communicator with distibuted graph topology added (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_create_adjacent creats a new communicator \fIcomm_dist_graph\fP with distrubuted +graph topology and returns a handle to the new communicator. The number of processes in +\fIcomm_dist_graph\fP is identical to the number of processes in \fIcomm_old\fP. Each process passes all +information about its incoming and outgoing edges in the virtual distributed graph topology. +The calling processes must ensure that each edge of the graph is described in the source +and in the destination process with the same weights. If there are multiple edges for a given +(source,dest) pair, then the sequence of the weights of these edges does not matter. The +complete communication topology is the combination of all edges shown in the \fIsources\fP arrays +of all processes in comm_old, which must be identical to the combination of all edges shown +in the \fIdestinations\fP arrays. Source and destination ranks must be process ranks of comm_old. +This allows a fully distributed specication of the communication graph. Isolated processes +(i.e., processes with no outgoing or incoming edges, that is, processes that have specied +indegree and outdegree as zero and thus do not occur as source or destination rank in the +graph specication) are allowed. The call to MPI_Dist_graph_create_adjacent is collective. + +.SH WEIGHTS +.ft R +Weights are specied as non-negative integers and can be used to influence the process +remapping strategy and other internal MPI optimizations. For instance, approximate count +arguments of later communication calls along specic edges could be used as their edge +weights. Multiplicity of edges can likewise indicate more intense communication between +pairs of processes. However, the exact meaning of edge weights is not specied by the MPI +standard and is left to the implementation. An application can supply the special value +MPI_UNWEIGHTED for the weight array to indicate that all edges have the same (effectively +no) weight. It is erroneous to supply MPI_UNWEIGHTED for some but not all processes of +comm_old. If the graph is weighted but \fIindegree\fP or \fIoutdegree\fP is zero, then +MPI_WEIGHTS_EMPTY or any arbitrary array may be passed to sourceweights or destweights +respectively. Note that MPI_UNWEIGHTED and MPI_WEIGHTS_EMPTY are not special weight values; +rather they are special values for the total array argument. In Fortran, MPI_UNWEIGHTED +and MPI_WEIGHTS_EMPTY are objects like MPI_BOTTOM (not usable for initialization or +assignment). See MPI-3 § 2.5.4. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_create +MPI_Dist_graph_neighbors +MPI_Dist_graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors.3 new file mode 100644 index 00000000..cb009455 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors.3 @@ -0,0 +1,73 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_neighbors 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_neighbors \fP \- Returns the neighbors of the calling process in a distributed graph topology. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_neighbors(MPI_Comm \fIcomm\fP, int \fImaxindegree\fP, int \fIsources\fP[], int \fIsourceweights\fP[], + int \fImaxoutdegree\fP, int \fIdestinations\fP[], int \fIdestweights\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with distributed graph topology (handle). +.TP 1i +maxindegree +Size of \fIsources\fP and \fIsourceweights\fP arrays (non-negative integer). +.TP 1i +maxoutdegree +Size of \fIdestinations\fP and \fIdestweights\fP arrays (non-negative integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +sources +Processes for which the calling process is a destination (array of non-negative integers). +.TP 1i +sourceweights +Weights of the edges into the calling process (array of non-negative integers). +.TP 1i +destinations +Processes for which the calling process is a source (array of non-negative integers). +.TP 1i +destweights +Weights of the edges out of the calling process (array of non-negative integers). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_neighbors returns the source and destination ranks in a distributed graph topology +for the calling process. This call will return up to \fImaxindegree\fP source ranks in the \fIsources\fP array +and up to \fImaxoutdegree\fP destination ranks in the \fIdestinations\fP array. If weights were +specified at the time of the communicator's creation then the associated weights +are returned in the \fIsourceweights\fP and \fI destweights\fP arrays. If the communicator +was created with MPI_Dist_graph_create_adjacent then the order of the values in \fIsources\fP and +\fIdestinations\fP is identical to the input that was used by the process with the same rank in +comm_old in the creation call. + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors_count.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors_count.3 new file mode 100644 index 00000000..a47d32be --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Dist_graph_neighbors_count.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Dist_graph_neighbors_count 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Dist_graph_neighbors_count \fP \- Returns the number of in and out edges for the calling processes in a distributed graph topology and a flag indicating whether the distributed graph is weighted. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Dist_graph_neighbors_count(MPI_Comm \fIcomm\fP, int\fI *indegree\fP, + int\fI *outdegree\fP, int\fI *weighted\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with distributed graph topology (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indegree +Number of edges into this process (non-negative integer). +.TP 1i +outdegree +Number of edges out of this process (non-negative integer). +.TP 1i +weighted +False if MPI_UNWEIGHTED was supplied during creation, true otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Dist_graph_neighbors_count and MPI_Graph_neighbors provide adjacency information for a distributed graph topology. MPI_Dist_graph_neighbors_count returns the number of sources and destinations for the calling process. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Dist_graph_neighbors diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_create.3 new file mode 100644 index 00000000..d229556c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_create.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_create \fP \- Creates an MPI-style error handler -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_create(MPI_Handler_function *\fIfunction\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error handling procedure. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_create_errhandler instead. +.sp +This deprecated routine is not available in C++. +.sp +Registers the user routine function for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler. +.sp +In the C language, the user routine should be a C function of type MPI_Handler_function, which is defined as +.sp +.nf + typedef void (MPI_Handler_function)(MPI_Comm *, int *, \&...); +.fi +.sp +The first argument is the communicator in use. The second is the error code +to be returned by the MPI routine that raised the error. If the routine would have returned MPI_ERR_IN_STATUS, it is the error code returned in the status for the request that caused the error handler to be invoked. The remaining arguments are stdargs arguments whose number and meaning is implementation-dependent. An implementation should clearly document these arguments. Addresses are used so that the handler may be written in Fortran. + +.SH NOTE +.ft R +The MPI-1 Standard states that an implementation may make the output value (errhandler) simply the address of the function. However, the action of MPI_Errhandler_ free makes this impossible, since it is required to set the value of the argument to MPI_ERRHANDLER_NULL. In addition, the actual error handler must remain until all communicators that use it are freed. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.br +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_free.3 new file mode 100644 index 00000000..defd1c02 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_free.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_free \fP \- Frees an MPI-style error handler. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_free(MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +errhandler +MPI error handler (handle). Set to MPI_ERRHANDLER_NULL on exit. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Marks the error handler associated with errhandler for deallocation and sets errhandler to MPI_ERRHANDLER_NULL. The error handler will be deallocated after all communicators associated with it have been deallocated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_get.3 new file mode 100644 index 00000000..c0edb35b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_get.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_get \fP \- Gets the error handler for a communicator -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_get(MPI_Comm \fIcomm\fP, MPI_Errhandler\fI *errhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator to get the error handler from (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler currently associated with communicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_get_errhandler instead. +.sp +This deprecated routine is not available in C++. +.sp +Returns in errhandler (a handle to) the error handler that is currently associated with communicator comm. +.sp +\fBExample:\fP A library function may register at its entry point the current error handler for a communicator, set its own private error handler for this communicator, and restore before exiting the previous error handler. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_set.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_set.3 new file mode 100644 index 00000000..69c02062 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Errhandler_set.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Errhandler_set 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Errhandler_set \fP \- Sets the error handler for a communicator -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Errhandler_set(MPI_Comm \fIcomm\fP, MPI_Errhandler \fIerrhandler\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator to set the error handler for (handle). +.TP 1i +errhandler +New MPI error handler for communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_set_errhandler instead. +.sp +This deprecated routine is not available in C++. +.sp +Associates the new error handler errhandler with communicator comm at the calling process. Note that an error handler is always associated with the communicator. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_create_errhandler +.br +MPI_Comm_get_errhandler +.br +MPI_Comm_set_errhandler + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Error_class.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Error_class.3 new file mode 100644 index 00000000..2fae0b64 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Error_class.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Error_class 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Error_class \fP \- Converts an error code into an error class. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Error_class(int \fIerrorcode\fP, int\fI *errorclass\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +errorcode +Error code returned by an MPI routine. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errorclass +Error class associated with errorcode. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Error_class maps each standard error code (error class) onto itself. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Error_string + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Error_string.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Error_string.3 new file mode 100644 index 00000000..6c9058e6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Error_string.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Error_string 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Error_string \fP \- Returns a string for a given error code. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Error_string(int \fIerrorcode\fP, char\fI *string\fP, int\fI *resultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +errorcode +Error code returned by an MPI routine or an MPI error class. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +string +Text that corresponds to the errorcode. +.TP 1i +resultlen +Length of string. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns the error string associated with an error code or class. The argument string must represent storage that is at least MPI_MAX_ERROR_STRING characters long. +.sp +The number of characters actually written is returned in the output +argument, resultlen. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Error_class + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Exscan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Exscan.3 new file mode 100644 index 00000000..e4490a55 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Exscan.3 @@ -0,0 +1,131 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Exscan 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Exscan, MPI_Iexscan\fP \- Computes an exclusive scan (partial reduction) + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Exscan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP) + +int MPI_Iexscan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Send buffer (choice). +.TP 1i +count +Number of elements in input buffer (integer). +.TP 1i +datatype +Data type of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Exscan is used to perform an exclusive prefix reduction on data +distributed across the calling processes. The operation returns, in +the \fIrecvbuf\fP of the process with rank i, the reduction +(calculated according to the function \fIop\fP) of the values in the +\fIsendbuf\fPs of processes with ranks 0, ..., i-1. Compare this with +the functionality of MPI_Scan, which calculates over the range 0, ..., +i (inclusive). The type of operations supported, their semantics, and +the constraints on send and receive buffers are as for MPI_Reduce. +.sp +The value in \fIrecvbuf\fP on process 0 is undefined and unreliable +as \fIrecvbuf\fP is not significant for process 0. The value of +\fIrecvbuf\fP on process 1 is always the value in \fIsendbuf\fP on +process 0. +.sp +.SH USE OF IN-PLACE OPTION +The `in place' option for intracommunicators is specified by passing MPI_IN_PLACE in the \fIsendbuf\fP argument. In this case, the input data is taken from the receive buffer, and replaced by the output data. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp + +.SH NOTES +.ft R +MPI does not specify which process computes which operation. In +particular, both processes 0 and 1 may participate in the computation +even though the results for both processes' \fIrecvbuf\fP are +degenerate. Therefore, all processes, including 0 and 1, must provide +the same \fIop\fP. +.sp +It can be argued, from a mathematical perspective, that the definition +of MPI_Exscan is unsatisfactory because the output at process 0 is +undefined. The "mathematically correct" output for process 0 would be +the unit element of the reduction operation. However, such a +definition of an exclusive scan would not work with user-defined +\fIop\fP functions as there is no way for MPI to "know" the unit value +for these custom operations. + +.SH NOTES ON COLLECTIVE OPERATIONS +.ft R +The reduction functions of type MPI_Op do not return an error value. +As a result, if the functions detect an error, all they can do is +either call MPI_Abort or silently skip the problem. Thus, if the +error handler is changed from MPI_ERRORS_ARE_FATAL to something else +(e.g., MPI_ERRORS_RETURN), then no error may be indicated. +.sp +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Op_create +MPI_Reduce +MPI_Scan + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Fetch_and_op.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Fetch_and_op.3 new file mode 100644 index 00000000..2a00bda1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Fetch_and_op.3 @@ -0,0 +1,98 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Fetch_and_op 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Fetch_and_op\fP \- Combines the contents of the origin buffer with that of a target buffer and returns the target buffer value. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Fetch_and_op(const void *\fIorigin_addr\fP, void *\fIresult_addr\fP, + MPI_Datatype \fIdatatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + MPI_Op \fIop\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP +result_addr +Initial address of result buffer (choice). +.ft R +.TP +datatype +Data type of the entry in origin, result, and target buffers (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +op +Reduce operation (handle). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Accumulate one element of type \fIdatatype\fP from the origin buffer (\fIorigin_addr\fP) to the buffer at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP and return in the result buffer \fIresult_addr\fP the contents of the target buffer before the accumulation. +.sp +The origin and result buffers (\fIorigin_addr\fP and \fIresult_addr\fP) must be disjoint. Any of the predefined operations for \fBMPI_Rreduce\fP, as well as MPI_NO_OP or MPI_REPLACE, can be specified as \fIop\fP; user-defined functions cannot be used. The \fIdatatype\fP argument must be a predefined datatype. The operation is executed atomically. +.sp +A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin. +.sp +A new predefined operation, MPI_NO_OP, is defined. It corresponds to the assiciative function f(a, b) = a; that is the current value in the target memory is returned in the result buffer at the origin and no operation is performed on the target buffer. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the MPI_Fetch_and_op function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_accumulate +.br +MPI_Reduce diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_call_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_call_errhandler.3 new file mode 100644 index 00000000..2cff3ba1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_call_errhandler.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_File_call_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_File_call_errhandler\fP \- Passes the supplied error code to the +error handler assigned to a file + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_File_call_errhandler(MPI_File \fIfh\fP, int \fIerrorcode\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +fh +file with error handler (handle). +.ft R +.TP 1.4i +errorcode +MPI error code (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function invokes the error handler assigned to the file handle +\fIfh\fP with the supplied error code \fIerrorcode\fP. If the error +handler was successfully called, the process is not aborted, and the +error handler returns, this function returns MPI_SUCCESS. +.sp +Unlike errors on communicators and windows, the default errorhandler +for files is MPI_ERRORS_RETURN. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_File_create_errhandler +MPI_File_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_close.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_close.3 new file mode 100644 index 00000000..7c80c046 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_close.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_close 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_close\fP \- Closes a file (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_close(MPI_File \fI*fh\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_close first synchronizes file state, then closes the file +associated with +.I fh. +MPI_File_close is a collective routine. The user is responsible for +ensuring that all outstanding requests associated with +.I fh +have completed before calling MPI_File_close. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_create_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_create_errhandler.3 new file mode 100644 index 00000000..101ad817 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_create_errhandler.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_File_create_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_create_errhandler \fP \- Creates an MPI-style error handler that can be attached to a file. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_create_errhandler(MPI_File_errhandler_function \fI*function\fP, + MPI_Errhandler \fI*errhandler\fP) + +.fi +.SH DEPRECATED TYPE NAME NOTE +.ft R +MPI-2.2 deprecated the MPI_File_errhandler_fn and +MPI::file::Errhandler_fn types in favor of +MPI_File_errhandler_function and MPI::File::Errhandler_function, +respectively. Open MPI supports both names (indeed, the _fn names are +typedefs to the _function names). + +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error handling procedure (function). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Registers the user routine \fIfunction\fP for use as an MPI exception handler. Returns in errhandler a handle to the registered exception handler. +.sp +In the C language, the user routine \fIfunction\fP should be a C function of type MPI_File_errhandler_function, which is defined as +.sp +.nf + typedef void (MPI_File_errhandler_function)(MPI_File *, int *, + \&...); +.fi +.sp +The first argument to \fIfunction\fP is the file in use. The second is the error code +to be returned by the MPI routine that raised the error. +.sp +In the Fortran language, the user routine should be of the form: +.sp +.nf + SUBROUTINE FILE_ERRHANDLER_FUNCTION(FILE, ERROR_CODE, ...) + INTEGER FILE, ERROR_CODE +.fi +.sp +In C++, the user routine \fIfunction\fP should be of the form: +.sp +.nf + typedef void MPI::File::Errhandler_function(MPI::File &, int *, + ...); +.fi +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_delete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_delete.3 new file mode 100644 index 00000000..d0bb3c43 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_delete.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_delete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_delete\fP \- Deletes a file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_delete(const char \fI*filename\fP, MPI_Info \fIinfo\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +filename +Name of file to delete (string). +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_delete deletes the file identified by the file name +\fIfilename\fP, provided it is not currently open by any process. It is an error to delete the file with MPI_File_delete if some process has it open, but MPI_File_delete does not check this. If the file does not exist, MPI_File_delete returns an error in the class MPI_ERR_NO_SUCH_FILE. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_f2c.3 new file mode 100644 index 00000000..f2a36231 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_f2c.3 @@ -0,0 +1,2 @@ +.\" -*- nroff -*- +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_amode.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_amode.3 new file mode 100644 index 00000000..d66b5905 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_amode.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_amode 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_amode\fP \- Returns access mode associated with an open file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_amode(MPI_File \fIfh\fP, int \fI*amode\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +amode +File access mode used to open the file (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_File_get_amode returns, in +.I amode, +the access mode associated with the open file +.I fh. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_atomicity.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_atomicity.3 new file mode 100644 index 00000000..5ad16ccb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_atomicity.3 @@ -0,0 +1,53 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_atomicity 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_atomicity\fP \- Returns current consistency semantics for data-access operations. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_atomicity(MPI_File \fIfh\fP, int \fI*flag\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +flag +true if atomic mode is enabled, false if nonatomic mode is enabled (boolean). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_atomicity returns the current consistency semantics for +data access operations on the set of file handles created by one +collective MPI_File_open. If \fIflag\fP is +.I true, +atomic mode is currently enabled; if +.I flag +is +.I false, +nonatomic mode is currently enabled. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_byte_offset.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_byte_offset.3 new file mode 100644 index 00000000..a364fbfb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_byte_offset.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_byte_offset 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_byte_offset\fP \- Converts a view-relative offset into an absolute byte position. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_byte_offset(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + MPI_Offset \fI*disp\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +Offset (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +disp +Absolute byte position of offset (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_byte_offset converts an offset specified for the current view to its corresponding displacement value, or absolute byte position, from the beginning of the file. The absolute byte position of \fIoffset\fP relative to the current view of \fIfh\fP is returned in \fIdisp\fP. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP and \fIDISP\fP arguments only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +or + INTEGER*MPI_OFFSET_KIND \fIDISP\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_errhandler.3 new file mode 100644 index 00000000..51f90720 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_errhandler.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_errhandler \fP \- Gets the error handler for a file. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_get_errhandler(MPI_File \fIfile\fP, MPI_Errhandler\fI + *errhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +file +File (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler currently associated with file (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns in \fIerrhandler\fP (a handle to) the error handler that is currently associated with file \fIfile\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_group.3 new file mode 100644 index 00000000..6a1572e7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_group.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_group\fP \- Returns a duplicate of the process group of a file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_group(MPI_File \fIfh\fP, MPI_Group \fI*group\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.TP 1i +group +Group that opened the file (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_group returns a duplicate of the group of the communicator +used to open the file associated with +.I fh. +The group is returned in +.I group. +The user is responsible for freeing +.I group, +using MPI_Group_free. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_info.3 new file mode 100644 index 00000000..9d828f50 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_info.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_info\fP \- Returns a new info object containing values for current hints associated with a file. + + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_info(MPI_File \fIfh\fP, MPI_Info \fI*info_used\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info_used +New info object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_info returns a new info object containing all the hints that the system currently associates with the file \fIfh\fP. The current setting of all hints actually used by the system related to this open file is returned in \fIinfo_used\fP. The user is responsible for freeing \fIinfo_used\fP via MPI_Info_free. + +Note that the set of hints returned in \fIinfo_used\fP may be greater or smaller than the set of hints passed in to MPI_File_open, MPI_File_set_view, and MPI_File_set_info, as the system may not recognize some hints set by the user, and may automatically set other hints that the user has not requested to be set. See the HINTS section for a list of hints that can be set. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo_used\fP argument. +.sp +SETTABLE HINTS: +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position.3 new file mode 100644 index 00000000..bc46fbae --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_position 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_position\fP \- Returns the current position of the individual file pointer. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_position(MPI_File \fIfh\fP, MPI_Offset \fI*offset\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +offset +Offset of the individual file pointer (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_position returns, in +.I offset, +the current position of the individual file pointer in +.I etype +units relative to the current displacement and file type. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position_shared.3 new file mode 100644 index 00000000..bc8cf86c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_position_shared.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_position_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_position_shared\fP \- Returns the current position of the shared file pointer. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax + #include + int MPI_File_get_position_shared(MPI_File \fIfh\fP, MPI_Offset \fI*offset\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +offset +Offset of the shared file pointer (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_position_shared returns, in +.I offset, +the current position of the shared file pointer in +.I etype +units relative to the current displacement and file type. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_size.3 new file mode 100644 index 00000000..952091f2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_size.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_size\fP \- Returns the current size of the file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_size(MPI_File \fIfh\fP, MPI_Offset \fI*size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +size +Size of the file in bytes (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_size returns, in +.I size +, the current size in bytes of the file associated with the file handle +\fIfh\fP. Note that the file size returned by Solaris may not represent the number of bytes physically allocated for the file in those cases where all bytes in this file have not been written at least once. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fISIZE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.br +MPI_File_preallocate +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_type_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_type_extent.3 new file mode 100644 index 00000000..7232fc43 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_type_extent.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_type_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_type_extent\fP \- Returns the extent of the data type in a file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_type_extent(MPI_File \fIfh\fP, MPI_Datatype + \fIdatatype\fP, MPI_Aint \fI*extent\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +datatype +Data type (handle). + + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +extent +Data type extent (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_get_type_extent can be used to calculate \fIextent\fP for \fIdatatype\fP in the file. The extent is the same for all processes accessing the file associated with \fIfh\fP. If the current view uses a user-defined data representation, MPI_File_get_type_extent uses the \fIdtype_file_extent_fn\fP callback to calculate the extent. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTENT\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +If the file data representation is other than "native," care must be taken in constructing etypes and file types. Any of the data-type constructor functions may be used; however, for those functions that accept displacements in bytes, the displacements must be specified in terms of their values in the file for the file data representation being used. MPI will interpret these byte displacements as is; no scaling will be done. The function MPI_File_get_type_extent can be used to calculate the extents of data types in the file. For etypes and file types that are portable data types, MPI will scale any displacements in the data types to match the file data representation. Data types passed as arguments to read/write routines specify the data layout in memory; therefore, they must always be constructed using displacements corresponding to displacements in memory. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_get_view.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_view.3 new file mode 100644 index 00000000..5d8494b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_get_view.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_get_view 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_get_view\fP \- Returns the process's view of data in the file. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_get_view(MPI_File \fIfh\fP, MPI_Offset \fI*disp\fP, + MPI_Datatype \fI*etype\fP, MPI_Datatype \fI*filetype\fP, + char \fI*datarep\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +disp +Displacement (integer). +.TP 1i +etype +Elementary data type (handle). +.TP 1i +filetype +File type (handle). See Restrictions, below. +.TP 1i +datarep +Data representation (string). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_File_get_view routine returns the process's view of the data +in the file. The current values of the displacement, etype, and +filetype are returned in +.I disp, +.I etype, +and +.I filetype, +respectively. +.sp +The MPI_File_get_view interface allows the user to pass a data-representation string via the \fIdatarep\fP argument. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIDISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax. +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIDISP\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread.3 new file mode 100644 index 00000000..aed00c64 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread\fP \- Reads a file starting at the location specified by the individual file pointer (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread is a nonblocking version of MPI_File_read. It attempts to read from the file associated with +.I fh +at the current individual file pointer position maintained by the system in which a total number of +.I count +data items having +.I datatype +type are read into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_iread stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_all.3 new file mode 100644 index 00000000..c0886aea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_all.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_all\fP \- Reads a file starting at the location specified by the individual file pointer (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_all(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_all is a nonblocking version of MPI_File_read_all. It attempts to read from the file associated with +.I fh +at the current individual file pointer position maintained by the system in which a total number of +.I count +data items having +.I datatype +type are read into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_iread_all stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at.3 new file mode 100644 index 00000000..02a28aa5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at.3 @@ -0,0 +1,99 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_at\fP \- Reads a file at an explicitly specified offset (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of the buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_at is the nonblocking version of MPI_File_read_at. + +MPI_File_iread_at is a nonblocking routine that attempts to read from the file associated with +.I fh +at the +.I offset +position a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_iread_at stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at_all.3 new file mode 100644 index 00000000..55028cda --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_at_all.3 @@ -0,0 +1,99 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_at_all\fP \- Reads a file at an explicitly specified offset (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +count +Number of elements in the buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of the buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_at_all is the nonblocking version of MPI_File_read_at_all. + +MPI_File_iread_at_all is a nonblocking routine that attempts to read from the file associated with +.I fh +at the +.I offset +position a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_iread_at_all stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_shared.3 new file mode 100644 index 00000000..5c4f727d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iread_shared.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iread_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iread_shared\fP \- Reads a file using the shared file pointer (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iread_shared(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iread_shared is a nonblocking version of the MPI_File_read_shared interface. It uses the shared file pointer to read files. The order of serialization among the processors is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order among processors. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite.3 new file mode 100644 index 00000000..a7218fe0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite\fP \- Writes a file starting at the location specified by the individual file pointer (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite is a nonblocking version of the MPI_File_write interface. It attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_iwrite stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_all.3 new file mode 100644 index 00000000..4bcb2741 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_all.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_all\fP \- Writes a file starting at the location specified by the individual file pointer (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_all(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_all is a nonblocking version of the MPI_File_write_all interface. It attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_iwrite_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at.3 new file mode 100644 index 00000000..873cad6a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at.3 @@ -0,0 +1,101 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_at\fP \- Writes a file at an explicitly specified offset (nonblocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_at is a nonblocking version of MPI_File_write_at. It attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_iwrite_at stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. The request structure can be passed to MPI_Wait or MPI_Test, which will return a status with the number of bytes actually accessed. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at_all.3 new file mode 100644 index 00000000..a655999a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_at_all.3 @@ -0,0 +1,101 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_at_all\fP \- Writes a file at an explicitly specified offset (nonblocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_at_all is a nonblocking version of MPI_File_write_at_all. It attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_iwrite_at_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. The request structure can be passed to MPI_Wait or MPI_Test, which will return a status with the number of bytes actually accessed. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was open. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_shared.3 new file mode 100644 index 00000000..4f94e12e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_iwrite_shared.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_iwrite_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_iwrite_shared\fP \- Writes a file using the shared file pointer (nonblocking, noncollective). + + + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_iwrite_shared(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype + \fIdatatype\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +request +Request object (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_iwrite_shared is a nonblocking routine that uses the shared file pointer to write files. The order of serialization is not deterministic for this noncollective routine, so you need to use other methods of synchronization to impose a particular order. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_open.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_open.3 new file mode 100644 index 00000000..59f9b900 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_open.3 @@ -0,0 +1,169 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_open 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_open\fP \- Opens a file (collective). +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_open(MPI_Comm \fIcomm\fP, const char \fI*filename\fP, + int \fIamode\fP, MPI_Info \fIinfo\fP, + MPI_File \fI*fh\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator (handle). +.TP 1i +filename +Name of file to open (string). +.TP 1i +amode +File access mode (integer). +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +fh +New file handle (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_open opens the file identified by the filename +.I +filename +on all processes in the +.I comm +communicator group. MPI_File_open is a collective routine; all processes +must provide the same value for +.I amode, +and all processes must provide filenames that reference the same +file which are textually identical (note: Open MPI I/O plugins may +have restrictions on characters that can be used in filenames. For +example, the ROMIO plugin may disallow the colon (":") character from +appearing in a filename). A process can open a file independently of +other processes by using the MPI_COMM_SELF communicator. The file +handle returned, +.I fh, +can be subsequently used to access the file until the file is closed +using MPI_File_close. Before calling MPI_Finalize, the user is required to +close (via MPI_File_close) all files that were opened with MPI_File_open. Note +that the communicator +.I comm +is unaffected by MPI_File_open and continues to be usable in all MPI +routines. Furthermore, use of +.I comm +will not interfere with I/O behavior. +.sp +Initially, all processes view the file as a linear byte stream; that is, the +.I etype +and +.I filetype +are both MPI_BYTE. The file view can be changed via the MPI_File_set_view routine. +.sp +The following access modes are supported (specified in amode, in a bit-vector OR in one of the following integer constants): +.TP .5i + o +MPI_MODE_APPEND +.TP .5i + o +MPI_MODE_CREATE -- Create the file if it does not exist. +.TP .5i + o +MPI_MODE_DELETE_ON_CLOSE +.TP .5i + o +MPI_MODE_EXCL -- Error creating a file that already exists. +.TP .5i + o +MPI_MODE_RDONLY -- Read only. +.TP .5i + o +MPI_MODE_RDWR -- Reading and writing. +.TP .5i + o +MPI_MODE_SEQUENTIAL +.TP .5i + o +MPI_MODE_WRONLY -- Write only. +.TP .5i + o +MPI_MODE_UNIQUE_OPEN +.RE +.sp +The modes MPI_MODE_RDONLY, MPI_MODE_RDWR, MPI_MODE_WRONLY, and MPI_MODE_CREATE have +identical semantics to their POSIX counterparts. It is erroneous to +specify MPI_MODE_CREATE in conjunction with MPI_MODE_RDONLY. Errors related to +the access mode are raised in the class MPI_ERR_AMODE. +.sp +On single-node clusters, files are opened by default using nonatomic mode file consistency +semantics. The more stringent atomic-mode consistency semantics, required for atomicity of overlapping accesses, are the default when processors in a communicator group reside on more than one node. +This setting can be changed using +MPI_File_set_atomicity. +.sp +The MPI_File_open interface allows the user to pass information via the \fIinfo\fP argument. It can be set to MPI_INFO_NULL. See the HINTS section for a list of hints that can be set. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo\fP argument. +.sp +SETTABLE HINTS: +.sp +- MPI_INFO_NULL +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy multiple noncontiguous read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy multiple noncontiguous write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy multiple noncontiguous read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy multiple noncontiguous write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_preallocate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_preallocate.3 new file mode 100644 index 00000000..cc6add23 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_preallocate.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_preallocate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_preallocate\fP \- Preallocates a specified amount of storage space at the beginning of a file (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_preallocate(MPI_File \fIfh\fP, MPI_Offset \fIsize\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +size +Size to preallocate file, in bytes (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_preallocate ensures that storage space is allocated for the first \fIsize\fP bytes of the file associated with \fIfh\fP. MPI_File_preallocate can be a very time-consuming operation. + +MPI_File_preallocate is collective; all processes in the group must pass identical values for \fIsize\fP. Regions of the file that have previously been written are unaffected. For newly allocated regions of the file, MPI_File_preallocate has the same effect as writing undefined data. If size is larger than the current file size, the file size increases to \fIsize\fP. If \fIsize\fP is less than or equal to the current file size, the file size is unchanged. + +The treatment of file pointers, pending nonblocking accesses, and file consistency is the same as with MPI_File_set_size. If MPI_MODE_SEQUENTIAL mode was specified when the file was opened, it is erroneous to call this routine. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fISIZE\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +When using the collective routine MPI_File_set_size on a UNIX file, if the size that is set is smaller than the current file size, the file is truncated at the position defined by size. If the size is set to be larger than the current file size, the file size becomes the set size. When the file size is increased this way with MPI_File_set_size, new regions are created in the file with displacements between the old file size and the larger, newly set file size. +.sp +Sun MPI I/O does not necessarily allocate file space for such new regions. You may reserve file space either by using MPI_File_preallocate or by performing a read or write to certain bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read.3 new file mode 100644 index 00000000..d41fe225 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read\fP \- Reads a file starting at the location specified by the individual file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (integer). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read attempts to read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_read stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all.3 new file mode 100644 index 00000000..adf2743a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_all\fP \- Reads a file starting at the locations specified by individual file pointers (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_all(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_all is a collective routine that attempts to read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. MPI_File_read_all stores the +number of data-type elements actually read in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_begin.3 new file mode 100644 index 00000000..8901fb5b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_begin.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_all_begin\fP \- Reads a file starting at the locations specified by individual file pointers; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_all_begin(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_all_begin is the beginning part of a split collective operation that attempts to read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The data is taken out of those parts of the +file specified by the current view. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_end.3 new file mode 100644 index 00000000..6350f4dc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_all_end.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_all_end\fP \- Reads a file starting at the locations specified by individual file pointers; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_all_end(MPI_File \fIfh\fP, void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_all_end is the ending part of a split collective operation that stores the number of elements actually read from the file associated with +.I fh +(at the current individual file pointer position maintained by the system) +into the user's buffer +.I buf +in +.I status. +The data is taken out of those parts of the +file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at.3 new file mode 100644 index 00000000..89785f65 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at\fP \- Reads a file at an explicitly specified offset (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_File_read_at attempts to read from the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_read_at stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all.3 new file mode 100644 index 00000000..83ac711e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all.3 @@ -0,0 +1,93 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at_all\fP \- Reads a file at explicitly specified offsets (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_at_all is a collective routine that attempts to read from the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. MPI_File_read_at_all stores the +number of +.I datatype +elements actually read in +.I status. +All other fields of +.I status +are undefined. It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_begin.3 new file mode 100644 index 00000000..33672928 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_begin.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at_all_begin\fP \- Reads a file at explicitly specified offsets; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at_all_begin(MPI_File \fIfh\fP, MPI_Offset + \fIoffset\fP, void \fI*buf\fP, int \fIcount\fP, MPI_Datatype + \fIdatatype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.ft R +.TP 1i +offset +File offset (integer). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_at_all_begin is the beginning part of a split collective routine that attempts to read from the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +The +.I offset +is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is taken out of those parts of the +file specified by the current view. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_end.3 new file mode 100644 index 00000000..e0b3a665 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_at_all_end.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_at_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_at_all_end\fP \- Reads a file at explicitly specified offsets; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_at_all_end(MPI_File \fIfh\fP, void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_at_all_end is a split collective routine that stores the number of elements actually read from the file associated with +.I fh +in +.I status. +MPI_File_read_at_all_end blocks until the operation initiated by MPI_File_read_at_all_begin completes. The data is taken out of those parts of the file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered.3 new file mode 100644 index 00000000..08103913 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_ordered 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_ordered\fP \- Reads a file at a location specified by a shared file pointer (blocking, collective). + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_read_ordered(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +status +Status object (Status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_File_read_ordered is a collective routine. This routine must be +called by all processes in the communicator group associated with the +file handle +.I fh. +Each process may pass different argument values for the +.I datatype +and +.I count +arguments. Each process attempts to read, from the file associated with +.I fh, +a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +For each process, the location in the file at which data is read is the position at which the shared file pointer would be after all processes whose ranks within the group are less than that of this process had read their data. MPI_File_read_ordered returns the actual number of +.I datatype +elements read in +.I status. +The shared file pointer is updated by the amounts of data requested by all processes of the group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_begin.3 new file mode 100644 index 00000000..1740580f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_begin.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_ordered_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_ordered_begin\fP \- Reads a file at a location specified by a shared file pointer; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_ordered_begin(MPI_File \fIfh\fP, void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_ordered_begin is the beginning part of a split collective, nonblocking routine that must be +called by all processes in the communicator group associated with the +file handle +.I fh. +Each process may pass different argument values for the +.I datatype +and +.I count +arguments. Each process attempts to read, from the file associated with +.I fh, +a total number of +.I count +data items having +.I datatype +type into the user's buffer +.I buf. +For each process, the location in the file at which data is read is the position at which the shared file pointer would be after all processes whose ranks within the group are less than that of this process had read their data. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_end.3 new file mode 100644 index 00000000..6c1da2d3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_ordered_end.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_ordered_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_ordered_end\fP \- Reads a file at a location specified by a shared file pointer; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_ordered_end(MPI_File \fIfh\fP, void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_ordered_end is the ending part of a split collective routine that must be called by all processes in the communicator group associated with the +file handle +.I fh. +MPI_File_rad_ordered_end blocks until the operation initiated by MPI_File_read_ordered_begin completes. It attempts to read the file associated with +.I fh +into the user's buffer +.I buf. +The shared file pointer is updated by the amounts of data requested by all processes of the group. For each process, the location in the file at which data is read is the position at which the shared file pointer would be after all processes whose ranks within the group are less than that of this process had read their data. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_read_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_shared.3 new file mode 100644 index 00000000..a071564e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_read_shared.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_read_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_read_shared\fP \- Reads a file using the shared file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_read_shared(MPI_File \fIfh\fP, void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in buffer (integer) +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_read_shared is a blocking routine that uses the shared file pointer to read files. The order of serialization is not deterministic for this noncollective routine. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_seek.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek.3 new file mode 100644 index 00000000..fd9eee17 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_seek 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_seek\fP \- Updates individual file pointers (noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_seek(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + int \fIwhence\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +whence +Update mode (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_seek updates the individual file pointer according to +.I whence, +which could have the following possible values: +.TP + o +MPI_SEEK_SET - The pointer is set to +.I offset. +.TP + o +MPI_SEEK_CUR - The pointer is set to the current pointer position plus +.I offset. +.TP + o +MPI_SEEK_END - The pointer is set to the end of the file plus +.I offset. +.sp +.RE +The +.I offset +can be negative, which allows seeking backwards. It is erroneous to +seek to a negative position in the file. The end of the file is +defined to be the location of the next elementary data item +immediately after the last accessed data item, even if that location +is a hole. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_seek_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek_shared.3 new file mode 100644 index 00000000..450f6a56 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_seek_shared.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_seek_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_seek_shared\fP \- Updates the global shared file pointer (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_seek_shared(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + int \fIwhence\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +whence +Update mode (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_seek_shared updates the shared file pointer according to +.I whence, +which could have the following possible values: +.TP + o +MPI_SEEK_SET - The pointer is set to +.I offset. +.TP + o +MPI_SEEK_CUR - The pointer is set to the current pointer position plus +.I offset. +.TP + o +MPI_SEEK_END - The pointer is set to the end of the file plus +.I offset. +.sp +.RE +MPI_File_seek_shared is collective; all the processes in the communicator +group associated with the file handle +.I fh +must call MPI_File_seek_shared with the same +.I offset +and +.I whence. +All processes in the communicator group are synchronized before the shared file pointer is updated. + +.sp +The +.I offset +can be negative, which allows seeking backwards. It is erroneous to +seek to a negative position in the view. The end of the view is +defined to be the position of the next elementary data item, relative +to the current view, following the last whole elementary data item +accessible. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_atomicity.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_atomicity.3 new file mode 100644 index 00000000..c96ba7e1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_atomicity.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_atomicity 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_atomicity\fP \- Sets consistency semantics for data-access operations (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_atomicity(MPI_File \fIfh\fP, int \fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +flag +\fBtrue\fP to enable atomic mode, \fBfalse\fP to enable nonatomic mode (boolean). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The consistency semantics for data-access operations using the set of +file handles created by one collective MPI_File_open is set by collectively +calling MPI_File_set_atomicity. All processes in the group must pass identical values for +.I fh +and +.I flag. +If +.I flag +is +.I true, +atomic mode is set; if +.I flag +is +.I false, +nonatomic mode is set. +.sp +The default value on a call to MPI_File_open in Open MPI is \fItrue\fP for jobs running on more than one node, \fIfalse\fP for jobs running on a single SMP. For more information, see the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_errhandler.3 new file mode 100644 index 00000000..08573259 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_errhandler.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_File_set_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_errhandler \fP \- Sets the error handler for a file. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_set_errhandler(MPI_File \fIfile\fP, MPI_Errhandler + \fIerrhandler\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +file +File (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +errhandler +New error handler for file (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Attaches a new error handler to a file. The error handler must be either a predefined error handler or an error handler created by a call to MPI_File_create_errhandler. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_info.3 new file mode 100644 index 00000000..76df1fa6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_info.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_info\fP \- Sets new values for hints (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_info(MPI_File \fIfh\fP, MPI_Info \fIinfo\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_set_info is a collective routine that sets new values for the hints of the file associated with \fIfh\fP. These hints are set for each file, using the MPI_File_open, MPI_File_delete, MPI_File_set_view, and MPI_File_set_info routines. The opaque \fIinfo\fP object, which allows you to provide hints for optimization of your code, may be different on each process, but some \fIinfo\fP entries are required to be the same on all processes: In these cases, they must appear with the same value in each process's info object. See the HINTS section for a list of hints that can be set. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo\fP argument. +.sp +SETTABLE HINTS: +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_size.3 new file mode 100644 index 00000000..f2f2b35c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_size.3 @@ -0,0 +1,71 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_size\fP \- Resizes a file (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_size(MPI_File \fIfh\fP, MPI_Offset \fIsize\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +size +Size to truncate or expand file (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_set_size resizes the file associated with the file handle +.I fh, +truncating UNIX files as necessary. MPI_File_set_size is collective; all +processes in the group must pass identical values for size. +.sp +When using MPI_File_set_size on a UNIX file, if \fIsize\fP is larger than the current file size, the file size becomes \fIsize\fP. If \fIsize\fP is smaller than the current file size, the file is truncated at the position defined by \fIsize\fP (from the beginning of the file and measured in bytes). Regions of the file which have been previously written are unaffected. +.sp +MPI_File_set_size does not affect the individual file pointers or the +shared file pointer. +.sp +Note that the actual amount of storage space cannot be allocated by MPI_File_set_size. Use MPI_File_preallocate to accomplish this. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fISIZE\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_set_view.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_view.3 new file mode 100644 index 00000000..42cbd54e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_set_view.3 @@ -0,0 +1,153 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_set_view 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_set_view\fP \- Changes process's view of data in file (collective). +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_set_view(MPI_File \fIfh\fP, MPI_Offset \fIdisp\fP, + MPI_Datatype \fIetype\fP, MPI_Datatype \fIfiletype\fP, + const char \fI*datarep\fP, MPI_Info \fIinfo\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +disp +Displacement (integer). +.TP 1i +etype +Elementary data type (handle). +.TP 1i +filetype +File type (handle). See Restrictions, below. +.TP 1i +datarep +Data representation (string). +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_File_set_view routine changes the process's view of the data +in the file -- the beginning of the data accessible in the file through +that view is set to +.I disp; +the type of data is set to +.I etype; +and the distribution of data to processes is set to +.I filetype. +In addition, MPI_File_set_view resets the independent file pointers and +the shared file pointer to zero. MPI_File_set_view is collective across the +.IR fh ; +all processes in the group must pass identical values for +.IR datarep +and provide an +.I etype +with an identical extent. The values for +.IR disp , +.IR filetype , +and +.I info +may vary. It is erroneous to use the shared file pointer data-access +routines unless identical values for +.I disp +and +.I filetype +are also given. The data types passed in +.I etype +and +.I filetype +must be committed. +.sp +The +.I disp +displacement argument specifies the position (absolute offset in +bytes from the beginning of the file) where the view begins. +.sp +The MPI_File_set_view interface allows the user to pass a data-representation string to MPI I/O via the \fIdatarep\fP argument. To obtain the default value (or "native"), pass NULL. The user can also pass information via the \fIinfo\fP argument. See the HINTS section for a list of hints that can be set. For more information, see the MPI-2 standard. + +.SH HINTS +.ft R +The following hints can be used as values for the \fIinfo\fP argument. +.sp +SETTABLE HINTS: +.sp +- MPI_INFO_NULL +.sp +- shared_file_timeout: Amount of time (in seconds) to wait for access to the +shared file pointer before exiting with MPI_ERR_TIMEDOUT. +.sp +- rwlock_timeout: Amount of time (in seconds) to wait for obtaining a read or +write lock on a contiguous chunk of a UNIX file before exiting with MPI_ERR_TIMEDOUT. +.sp +- noncoll_read_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy read requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- noncoll_write_bufsize: Maximum size of the buffer used by +MPI I/O to satisfy write requests in +the noncollective data-access routines. (See NOTE, below.) +.sp +- coll_read_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy read requests in the +collective data-access routines. (See NOTE, below.) +.sp +- coll_write_bufsize: Maximum size of the buffer used by MPI +I/O to satisfy write requests in the +collective data-access routines. (See NOTE, below.) +.sp +NOTE: A buffer size smaller than the distance (in bytes) in a UNIX file between the first byte and the last byte of the access request causes MPI I/O to iterate and perform multiple UNIX read() or write() calls. If the request includes multiple noncontiguous chunks of data, and the buffer size is greater than the size of those chunks, then the UNIX read() or write() (made at the MPI I/O level) will access data not requested by this process in order to reduce the total number of write() calls made. If this is not desirable behavior, you should reduce this buffer size to equal the size of the contiguous chunks within the aggregate request. +.sp +- mpiio_concurrency: (boolean) controls whether nonblocking +I/O routines can bind an extra thread to an LWP. +.sp +- mpiio_coll_contiguous: (boolean) controls whether subsequent collective data accesses will request collectively contiguous regions of the file. +.sp +NON-SETTABLE HINTS: +.sp +- filename: Access this hint to get the name of the file. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIDISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIDISP\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_sync.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_sync.3 new file mode 100644 index 00000000..b7f2cd3b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_sync.3 @@ -0,0 +1,53 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_sync 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_sync\fP \- Makes semantics consistent for data-access operations (collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_sync(MPI_File \fIfh\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Calling MPI_File_sync with +.I fh +causes all previous writes to +.I fh +by the calling process to be written to permanent storage. If other processes have made updates to permanent storage, then all such updates become visible to subsequent reads of +.I fh +by the calling process. +.sp +MPI_File_sync is a collective operation. The user is responsible for ensuring that all nonblocking requests on +.I fh +have been completed before calling MPI_File_sync. Otherwise, the call to MPI_File_sync is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write.3 new file mode 100644 index 00000000..08b0c916 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write\fP \- Writes a file starting at the location specified by the individual file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_write stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all.3 new file mode 100644 index 00000000..1ccf882a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_all\fP \- Writes a file starting at the locations specified by individual file pointers (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_all(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_all is a collective routine that attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. MPI_File_write_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_begin.3 new file mode 100644 index 00000000..1a0f63ea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_begin.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_all_begin\fP \- Writes a file starting at the locations specified by individual file pointers; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_all_begin(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_all_begin is the beginning part of a split collective, nonblocking routine that attempts to write into the file associated with +.I fh +(at the current individual file pointer position maintained by the system) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The data is written into those parts of the +file specified by the current view. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_end.3 new file mode 100644 index 00000000..14a02469 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_all_end.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_all_end\fP \- Writes a file starting at the locations specified by individual file pointers; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_all_end(MPI_File \fIfh\fP, const void \fI*buf\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_all_end is the ending part of a split collective routine that stores the +number of elements actually written into the file associated with +.I fh +from the user's buffer +.I buf +in +.I status. +MPI_File_write_all_end blocks until the operation initiated by MPI_File_write_all_begin completes. The data is written into those parts of the +file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at.3 new file mode 100644 index 00000000..957f34aa --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at.3 @@ -0,0 +1,106 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at\fP \- Writes a file at an explicitly specified offset (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in +.I etype +units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_write_at stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_File_iwrite_at +.br +MPI_File_write_at_all +.br +MPI_File_write_at_all_begin +.br +MPI_File_write_at_all_end +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all.3 new file mode 100644 index 00000000..36d3635a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all.3 @@ -0,0 +1,93 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at_all\fP \- Writes a file at explicitly specified offsets (blocking, collective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at_all(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +offset +File offset (integer). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at_all is a collective routine that attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. MPI_File_write_at_all stores the +number of +.I datatype +elements actually written in +.I status. +All other fields of +.I status +are undefined. +.sp +It is erroneous to call this function if MPI_MODE_SEQUENTIAL mode was specified when the file was opened. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_begin.3 new file mode 100644 index 00000000..cecd28b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_begin.3 @@ -0,0 +1,91 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at_all_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at_all_begin\fP \- Writes a file at explicitly specified offsets; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at_all_begin(MPI_File \fIfh\fP, MPI_Offset \fIoffset\fP, + const void \fI*buf\fP, int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +offset +File offset (handle). +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at_all_begin is the beginning part of a split collective, that is, a nonblocking routine that attempts to write into the file associated with +.I fh +(at the +.I offset +position) a total number of +.I count +data items having +.I datatype +type from the user's buffer +.I buf. +The offset is in etype units relative to the current view. That is, holes are not counted +when locating an offset. The data is written into those parts of the +file specified by the current view. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIOFFSET\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_OFFSET_KIND \fIOFFSET\fP +.fi +.sp +where MPI_OFFSET_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_end.3 new file mode 100644 index 00000000..59394a5d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_at_all_end.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_at_all_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_at_all_end\fP \- Writes a file at explicitly specified offsets; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_at_all_end(MPI_File \fIfh\fP, const void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_at_all_end is the ending part of a split collective routine that stores the +number of elements actually written into the file associated with +.I fh +in +.I status. +The data is written into those parts of the +file specified by the current view. All other fields of +.I status +are undefined. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered.3 new file mode 100644 index 00000000..f4c52215 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_ordered 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_ordered\fP \- Writes a file at a location specified by a shared file pointer (blocking, collective). + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_File_write_ordered(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fh +File handle (handle). +.TP 1i +buf +Initial address of buffer (choice). +.TP 1i +count +Number of elements in buffer (integer). +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (Status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_ordered is a collective routine. This routine must +be called by all processes in the communicator group associated with +the file handle +.I fh. +Each process may pass different argument values +for the +.I datatype +and +.I count +arguments. Each process attempts to +write, into the file associated with +.I fh, +a total number of +.I count +data items having datatype type contained in the user's buffer +.I buf. +For +each process, the location in the file at which data is written is the +position at which the shared file pointer would be after all processes +whose ranks within the group are less than that of this process had +written their data. MPI_File_write_ordered returns the number of +.I datatype +elements written in +.I status. +The shared file pointer is +updated by the amounts of data requested by all processes of the +group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_begin.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_begin.3 new file mode 100644 index 00000000..3279fbc0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_begin.3 @@ -0,0 +1,83 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_ordered_begin 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_ordered_begin\fP \- Writes a file at a location specified by a shared file pointer; beginning part of a split collective routine (nonblocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_ordered_begin(MPI_File \fIfh\fP, const void \fI*buf\fP, + int \fIcount\fP, MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_ordered_begin is the beginning part of a split collective, nonblocking routine that must +be called by all processes in the communicator group associated with +the file handle +.I fh. +Each process may pass different argument values +for the +.I datatype +and +.I count +arguments. After all processes of the +group have issued their respective calls, each process attempts to +write, into the file associated with +.I fh, +a total number of +.I count +data items having datatype type contained in the user's buffer +.I buf. +For +each process, the location in the file at which data is written is the +position at which the shared file pointer would be after all processes +whose ranks within the group are less than that of this process had +written their data. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_end.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_end.3 new file mode 100644 index 00000000..eaa4dfad --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_ordered_end.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_ordered_end 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_ordered_end\fP \- Writes a file at a location specified by a shared file pointer; ending part of a split collective routine (blocking). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_ordered_end(MPI_File \fIfh\fP, const void \fI*buf\fP, + MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_ordered_end is the ending part of a split collective routine that must +be called by all processes in the communicator group associated with +the file handle +.I fh. +MPI_File_write_ordered_end returns the number of elements written into the file associated with +.I fh +in +.I status. + +.SH NOTES +.ft R +All the nonblocking collective routines for data access are "split" into two routines, each with _begin or _end as a suffix. These split collective routines are subject to the semantic rules described in Section 9.4.5 of the MPI-2 standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_File_write_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_shared.3 new file mode 100644 index 00000000..d4d46940 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_File_write_shared.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_File_write_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_File_write_shared\fP \- Writes a file using the shared file pointer (blocking, noncollective). + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_File_write_shared(MPI_File \fIfh\fP, const void \fI*buf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +fh +File handle (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of buffer (choice). +.ft R +.TP 1i +count +Number of elements in buffer (integer). +.ft R +.TP 1i +datatype +Data type of each buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_File_write_shared is a blocking routine that uses the shared file pointer to write files. The order of serialization is not deterministic for this noncollective routine. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Finalize.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Finalize.3 new file mode 100644 index 00000000..b1db7c10 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Finalize.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Finalize 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Finalize \fP \- Terminates MPI execution environment. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Finalize() + +.fi +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine cleans up all MPI states. Once this routine is called, no MPI routine (not even MPI_Init) may be called, except for MPI_Get_version, MPI_Initialized, and MPI_Finalized. Unless there has been a call to MPI_Abort, you must ensure that all pending communications involving a process are complete before the process calls MPI_Finalize. If the call returns, each process may either continue local computations or exit without participating in further communication with other processes. At the moment when the last process calls MPI_Finalize, all pending sends must be matched by a receive, and all pending receives must be matched by a send. + +MPI_Finalize is collective over all connected processes. If no processes were spawned, accepted, or connected, then this means it is collective over MPI_COMM_WORLD. Otherwise, it is collective over the union of all processes that have been and continue to be connected. + +.SH NOTES +.ft R +All processes must call this routine before exiting. All processes will still exist but may not make any further MPI calls. MPI_Finalize guarantees that all local actions required by communications the user has completed will, in fact, occur before it returns. However, MPI_Finalize guarantees nothing about pending communications that have \fInot\fP been completed; completion is ensured only by MPI_Wait, MPI_Test, or MPI_Request_free combined with some other verification of completion. +.sp +For example, a successful return from a blocking communication operation or from MPI_Wait or MPI_Test means that the communication is completed by the user and the buffer can be reused, but does not guarantee that the local process has no more work to do. Similarly, a successful return from MPI_Request_free with a request handle generated by an MPI_Isend nullifies the handle but does not guarantee that the operation has completed. The MPI_Isend is complete only when a matching receive has completed. +.sp +If you would like to cause actions to happen when a process finishes, attach an attribute to MPI_COMM_SELF with a callback function. Then, when MPI_Finalize is called, it will first execute the equivalent of an MPI_Comm_free on MPI_COMM_SELF. This will cause the delete callback function to be executed on all keys associated with MPI_COMM_SELF in an arbitrary order. If no key has been attached to MPI_COMM_SELF, then no callback is invoked. This freeing of MPI_COMM_SELF happens before any other parts of MPI are affected. Calling MPI_Finalized will thus return "false" in any of these callback functions. Once you have done this with MPI_COMM_SELF, the results of MPI_Finalize are not specified. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread +MPI_Initialized +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Finalized.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Finalized.3 new file mode 100644 index 00000000..f5ed87ab --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Finalized.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Finalized 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Finalized \fP \- Checks whether MPI has been finalized + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Finalized(int \fI*flag\fP) + +.fi +.SH OUTPUT PARAMETER +.ft R +.TP 1i +flag +True if MPI was finalized, and false otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine may be used to determine whether MPI has been finalized. +It is one of a small number of routines that may be called before MPI +is initialized and after MPI has been finalized (MPI_Initialized is +another). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread +MPI_Initialized +MPI_Finalize diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Free_mem.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Free_mem.3 new file mode 100644 index 00000000..5188a41f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Free_mem.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Free_mem 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Free_mem \fP \- Frees memory that has been allocated using MPI_Alloc_mem. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Free_mem(void *\fIbase\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +base +Initial address of memory segment allocated by MPI_Alloc_mem (choice). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Free_mem frees memory that has been allocated by MPI_Alloc_mem. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Alloc_mem + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Gather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Gather.3 new file mode 100644 index 00000000..69911f87 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Gather.3 @@ -0,0 +1,164 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Gather 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Gather, MPI_Igather\fP \- Gathers values from a group of processes. + +.SH SYNOPSIS +.ft R +.SH C Syntax +.nf +#include +int MPI_Gather(const void \fI*sendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int \fIroot\fP, + MPI_Comm\fI comm\fP) + +int MPI_Igather(const void \fI*sendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int \fIroot\fP, + MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Number of elements for any single receive (integer, significant only at +root). +.TP 1i +recvtype +Datatype of recvbuffer elements (handle, significant only at root). +.TP 1i +root +Rank of receiving process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.TP 1i +recvbuf +Address of receive buffer (choice, significant only at root). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Each process (root process included) sends the contents of its send buffer to the root process. The root process receives the messages and stores them in rank order. The outcome is as if each of the n processes in the group (including the root process) had executed a call to +.sp +.nf + MPI_Send(sendbuf, sendcount, sendtype, root, \&...) +.fi +.sp +and the root had executed n calls to +.sp +.nf + MPI_Recv(recfbuf + i * recvcount * extent(recvtype), \ + recvcount, recvtype, i, \&...) +.fi +.sp +where extent(recvtype) is the type extent obtained from a call to MPI_Type_extent(). +.sp +An alternative description is that the n messages sent by the processes in the group are concatenated in rank order, and the resulting message is received by the root as if by a call to MPI_RECV(recvbuf, recvcount * n, recvtype, . . . ). +.sp +The receive buffer is ignored for all nonroot processes. +.sp +General, derived datatypes are allowed for both sendtype and recvtype. The +type signature of sendcount, sendtype on process i must be equal to the type signature of recvcount, recvtype at the root. This implies that the amount of data sent must be equal to the amount of data received, pairwise between each process and the root. Distinct type maps between sender and receiver are still allowed. +.sp +All arguments to the function are significant on process root, while on other processes, only arguments sendbuf, sendcount, sendtype, root, comm are significant. The arguments root and comm must have identical values on all processes. +.sp +The specification of counts and types should not cause any location on the root to be written more than once. Such a call is erroneous. +.sp +Note that the recvcount argument at the root indicates the number of items it receives from each process, not the total number of items it receives. +.sp +\fBExample 1:\fP Gather 100 ints from every process in group to root. +.sp +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, *rbuf; + \&... + MPI_Comm_size( comm, &gsize); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + MPI_Gather( sendarray, 100, MPI_INT, rbuf, 100, MPI_INT, root, comm); + +.fi +.sp +.br +\fBExample 2:\fP Previous example modified -- only the root allocates memory for the receive buffer. +.sp +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, myrank, *rbuf; + \&... + MPI_Comm_rank( comm, myrank); + if ( myrank == root) { + MPI_Comm_size( comm, &gsize); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + } + MPI_Gather( sendarray, 100, MPI_INT, rbuf, 100, MPI_INT, root, comm); +.fi +.sp +\fBExample 3:\fP Do the same as the previous example, but use a derived +datatype. Note that the type cannot be the entire set of gsize * 100 ints since type matching is defined pairwise between the root and each process in the gather. + +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, *rbuf; + MPI_Datatype rtype; + \&... + MPI_Comm_size( comm, &gsize); + MPI_Type_contiguous( 100, MPI_INT, &rtype ); + MPI_Type_commit( &rtype ); + rbuf = (int *)malloc(gsize*100*sizeof(int)); + MPI_Gather( sendarray, 100, MPI_INT, rbuf, 1, rtype, root, comm); +.fi + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a gather operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the root process \fIsendbuf\fR. In this case, \fIsendcount\fR and \fIsendtype\fR are ignored, and the contribution of the root process to the gathered vector is assumed to already be in the correct place in the receive buffer. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group gathers data from all the processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The send buffer argument of the processes in the first group must be consistent with the receive buffer argument of the root process in the second group. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Gatherv +MPI_Scatter +MPI_Scatterv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Gatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Gatherv.3 new file mode 100644 index 00000000..352b99c6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Gatherv.3 @@ -0,0 +1,325 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Gatherv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Gatherv, MPI_Igatherv\fP \- Gathers varying amounts of data from all processes to the root process + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Gatherv(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, + int \fIroot\fP, MPI_Comm\fI comm\fP) + +int MPI_Igatherv(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, + int \fIroot\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcounts +Integer array (of length group size) containing the number of elements that +are received from each process (significant only at root). +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement +relative to recvbuf at which to place the incoming data from process i (significant only at root). +.TP 1i +recvtype +Datatype of recv buffer elements (significant only at root) (handle). +.TP 1i +root +Rank of receiving process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice, significant only at root). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Gatherv extends the functionality of MPI_Gather by allowing a varying count of data from each process, since recvcounts is now an array. It also allows more flexibility as to where the data is placed on the root, by providing the new argument, displs. +.sp +The outcome is as if each process, including the root process, sends a message to the root, +.sp +.nf + MPI_Send(sendbuf, sendcount, sendtype, root, \&...) +.fi +.sp +and the root executes n receives, +.sp +.nf + MPI_Recv(recvbuf + disp[i] * extent(recvtype), \\ + recvcounts[i], recvtype, i, \&...) +.fi +.sp +Messages are placed in the receive buffer of the root process in rank order, that is, the data sent from process j is placed in the jth portion of the receive buffer recvbuf on process root. The jth portion of recvbuf begins at offset displs[j] elements (in terms of recvtype) into recvbuf. +.sp +The receive buffer is ignored for all nonroot processes. +.sp +The type signature implied by sendcount, sendtype on process i must be equal to the type signature implied by recvcounts[i], recvtype at the root. This implies that the amount of data sent must be equal to the amount of data received, pairwise between each process and the root. Distinct type maps between sender and receiver are still allowed, as illustrated in Example 2, below. +.sp +All arguments to the function are significant on process root, while on other processes, only arguments sendbuf, sendcount, sendtype, root, comm are significant. The arguments root and comm must have identical values on all processes. +.sp +The specification of counts, types, and displacements should not cause any location on the root to be written more than once. Such a call is erroneous. +.sp +\fBExample 1:\fP Now have each process send 100 ints to root, but place +each set (of 100) stride ints apart at receiving end. Use MPI_Gatherv and +the displs argument to achieve this effect. Assume stride >= 100. +.sp +.nf + MPI_Comm comm; + int gsize,sendarray[100]; + int root, *rbuf, stride; + int *displs,i,*rcounts; + + \&... + + MPI_Comm_size(comm, &gsize); + rbuf = (int *)malloc(gsize*stride*sizeof(int)); + displs = (int *)malloc(gsize*sizeof(int)); + rcounts = (int *)malloc(gsize*sizeof(int)); + for (i=0; i +MPI_Get(void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP) + +MPI_Rget(void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of origin buffer (choice). +.TP 1i +origin_count +Number of entries in origin buffer (nonnegative integer). +.TP 1i +origin_datatype +Data type of each entry in origin buffer (handle). +.TP 1i +target_rank +Rank of target (nonnegative integer). +.TP 1i +target_disp +Displacement from window start to the beginning of the target buffer (nonnegative integer). +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.TP 1i +target datatype +datatype of each entry in target buffer (handle) +.TP 1i +win +window object used for communication (handle) + +.SH OUTPUT PARAMETER +.ft R +.TP li +request +MPI_Rget: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Get\fP copies data from the target memory to the origin, similar to MPI_Put, except that the direction of data transfer is reversed. The \fIorigin_datatype\fP may not specify overlapping entries in the origin buffer. The target buffer must be contained within the target window, and the copied data must fit, without truncation, in the origin buffer. Only processes within the same node can access the target window. +.sp + +\fBMPI_Rget\fP is similar to \fBMPI_Get\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP) that can be used to wait or test for completion. The completion of an MPI_Rget operation indicates that the data is available in the origin buffer. If \fIorigin_addr\fP points to memory attached to a window, then the data becomes available in the private copy of this window. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Put + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_accumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_accumulate.3 new file mode 100644 index 00000000..124bf2a9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_accumulate.3 @@ -0,0 +1,140 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_accumulate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_accumulate\fP, \fBMPI_Rget_accumulate\fP \- Combines the contents of the origin buffer with that of a target buffer and returns the target buffer value. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_accumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, void *\fIresult_addr\fP, + int \fIresult_count\fP, MPI_Datatype \fIresult_datatype\fP, + int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP) + +int MPI_Rget_accumulate(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, + MPI_Datatype \fIorigin_datatype\fP, void *\fIresult_addr\fP, + int \fIresult_count\fP, MPI_Datatype \fIresult_datatype\fP, + int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, int \fItarget_count\fP, + MPI_Datatype \fItarget_datatype\fP, MPI_Op \fIop\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of buffer (choice). +.ft R +.TP 1i +origin_count +Number of entries in buffer (nonnegative integer). +.ft R +.TP 1i +origin_datatype +Data type of each buffer entry (handle). +.ft R +.TP +result_addr +Initial address of result buffer (choice). +.ft R +.TP +result_count +Number of entries in result buffer (nonnegative integer). +.ft R +.TP +result_datatype +Data type of each result buffer entry (handle). +.ft R +.TP 1i +target_rank +Rank of target (nonnegative integer). +.ft R +.TP 1i +target_disp +Displacement from start of window to beginning of target buffer (nonnegative integer). +.ft R +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.ft R +.TP 1i +target_datatype +Data type of each entry in target buffer (handle). +.ft R +.TP 1i +op +Reduce operation (handle). +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +MPI_Rget_accumulate: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Get_accumulate\fP is a function used for one-sided MPI communication that adds the contents of the origin buffer (as defined by \fIorigin_addr\fP, \fIorigin_count\fP, and \fIorigin_datatype\fP) to the buffer specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP, at offset \fItarget_disp\fP, in the target window specified by \fItarget_rank\fP and \fIwin\fP, using the operation \fIop\fP. \fBMPI_Get_accumulate\fP returns in the result buffer \fIresult_addr\fP the contents of the target buffer before the accumulation. +.sp +Any of the predefined operations for MPI_Reduce, as well as MPI_NO_OP, can be used. User-defined functions cannot be used. For example, if \fIop\fP is MPI_SUM, each element of the origin buffer is added to the corresponding element in the target, replacing the former value in the target. +.sp +Each datatype argument must be a predefined data type or a derived data type, where all basic components are of the same predefined data type. Both datatype arguments must be constructed from the same predefined data type. The operation \fIop\fP applies to elements of that predefined type. The \fItarget_datatype\fP argument must not specify overlapping entries, and the target buffer must fit in the target window. +.sp +A new predefined operation, MPI_REPLACE, is defined. It corresponds to the associative function f(a, b) =b; that is, the current value in the target memory is replaced by the value supplied by the origin. +.sp +A new predefined operation, MPI_NO_OP, is defined. It corresponds to the assiciative function f(a, b) = a; that is the current value in the target memory is returned in the result buffer at the origin and no operation is performed on the target buffer. +.sp +\fBMPI_Rget_accumulate\fP is similar to \fBMPI_Get_accumulate\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP) that can be used to wait or test for completion. The completion of an \fBMPI_Rget_accumulate\fP operation indicates that the data is available in the result buffer and the origin buffer is free to be updated. It does not indicate that the operation has been completed at the target window. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTES +The generic functionality of \fBMPI_Get_accumulate\fP might limit the performance of fetch-and-increment or fetch-and-add calls that might be supported by special hardware operations. MPI_Fetch_and_op thus allows for a fast implementation of a commonly used subset of the functionality of \fBMPI_Get_accumulate\fP. +.sp +MPI_Get is a special case of \fBMPI_Get_accumulate\fP, with the operation MPI_NO_OP. Note, however, that MPI_Get and \fBMPI_Get_accumulate\fP have different constraints on concurrent updates. +.sp +It is the user's responsibility to guarantee that, when +using the accumulate functions, the target displacement argument is such +that accesses to the window are properly aligned according to the data +type arguments in the call to the \fBMPI_Get_accumulate\fP function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Put +MPI_Get +MPI_Accumulate +MPI_Fetch_and_op +.br +MPI_Reduce diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_address.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_address.3 new file mode 100644 index 00000000..33b72dec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_address.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Get_address 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_address\fP \- Gets the address of a location in memory. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_address(const void *\fIlocation\fP, MPI_Aint *\fIaddress\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +location +Location in caller memory (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +address +Address of location (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Get_address returns the byte address of a location in memory. +.sp +Example: Using MPI_Get_address for an array. +.sp +.nf +EAL A(100,100) +.fi +.br + INTEGER I1, I2, DIFF +.br + CALL MPI_GET_ADDRESS(A(1,1), I1, IERROR) +.br + CALL MPI_GET_ADDRESS(A(10,10), I2, IERROR) +.br + DIFF = I2 - I1 +.br +! The value of DIFF is 909*sizeofreal; the values of I1 and I2 are +.br +! implementation dependent. +.fi + +.SH NOTES +.ft R +Current Fortran MPI codes will run unmodified and will port to any system. However, they may fail if addresses larger than 2^32 - 1 are used in the program. New codes should be written so that they use the new functions. This provides compatibility with C/C++ and avoids errors on 64-bit architectures. However, such newly written codes may need to be (slightly) rewritten to port to old Fortran 77 environments that do not support KIND declarations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_count.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_count.3 new file mode 100644 index 00000000..e6d87fc3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_count.3 @@ -0,0 +1,76 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_count 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_count \fP \- Gets the number of top-level elements received. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_count(const MPI_Status *\fIstatus\fP, MPI_Datatype\fI datatype\fP, + int\fI *count\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +status +Return status of receive operation (status). +.TP 1i +datatype +Datatype of each receive buffer element (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +count +Number of received elements (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns the number of entries received. (We count entries, each of type +datatype, not bytes.) The datatype argument should match the argument +provided by the receive call that set the status variable. (As explained in Section 3.12.5 in the MPI-1 Standard, "Use of General Datatypes in Communication," MPI_Get_count may, in certain situations, return the value MPI_UNDEFINED.) +.sp +The datatype argument is passed to MPI_Get_count to improve performance. A message might be received without counting the number of elements it contains, and the count value is often not needed. Also, this allows the same function to be used after a call to MPI_Probe. + +.SH NOTES +If the size of the datatype is zero, this routine will return a count of +zero. If the amount of data in +.I status +is not an exact multiple of the +size of +.I datatype +(so that +.I count +would not be integral), a +.I count +of +.I MPI_UNDEFINED +is returned instead. + +.SH ERRORS +If the value to be returned is larger than can fit into the +.I count +parameter, an MPI_ERR_TRUNCATE exception is invoked. +.sp +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_elements + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements.3 new file mode 100644 index 00000000..cf390b3f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_elements 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_elements, MPI_Get_elements_x\fP \- Returns the number of basic elements in a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_elements(const MPI_Status *\fIstatus\fP, MPI_Datatype\fI datatype\fP, + int\fI *count\fP) +int MPI_Get_elements_x(const MPI_Status *\fIstatus\fP, MPI_Datatype\fI datatype\fP, + MPI_Count\fI *count\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +status +Return status of receive operation (status). +.TP 1i +datatype +Datatype used by receive operation (handle). + +.SH OUTPUT PARAMETERS +.ft R +count Number of received basic elements (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Get_elements and MPI_Get_elements_x behave different from MPI_Get_count, which returns the number of "top-level entries" received, i.e., the number of "copies" of type datatype. MPI_Get_count may return any integer value k, where 0 =< k =< count. If MPI_Get_count returns k, then the number of basic elements received (and the value returned by MPI_Get_elements and MPI_Get_elements_x) is n * k, where n is the number of basic elements in the type map of datatype. If the number of basic elements received is not a multiple of n, that is, if the receive operation has not received an integral number of datatype "copies," then MPI_Get_count returns the value MPI_UNDEFINED. For both functions, if the \fIcount\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. +.sp +\fBExample:\fP Usage of MPI_Get_count and MPI_Get_element: +.sp +.nf + \&... + CALL MPI_TYPE_CONTIGUOUS(2, MPI_REAL, Type2, ierr) + CALL MPI_TYPE_COMMIT(Type2, ierr) + \&... + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank.EQ.0) THEN + CALL MPI_SEND(a, 2, MPI_REAL, 1, 0, comm, ierr) + CALL MPI_SEND(a, 3, MPI_REAL, 1, 0, comm, ierr) + ELSE + CALL MPI_RECV(a, 2, Type2, 0, 0, comm, stat, ierr) + CALL MPI_GET_COUNT(stat, Type2, i, ierr) ! returns i=1 + CALL MPI_GET_ELEMENTS(stat, Type2, i, ierr) ! returns i=2 + CALL MPI_RECV(a, 2, Type2, 0, 0, comm, stat, ierr) + CALL MPI_GET_COUNT(stat, Type2, i, ierr) ! returns i=MPI_UNDEFINED + CALL MPI_GET_ELEMENTS(stat, Type2, i, ierr) ! returns i=3 + END IF +.fi +.sp +The function MPI_Get_elements can also be used after a probe to find the number of elements in the probed message. Note that the two functions MPI_Get_count and MPI_Get_elements return the same values when they are used with primitive data types. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fICOUNT\fP argument of MPI_Get_elements_x only for +Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_COUNT_KIND \fICOUNT\fP +.fi +.sp +where MPI_COUNT_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH SEE ALSO +.ft R +.sp +MPI_Get_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements_x.3 new file mode 100644 index 00000000..55dfa77b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_elements_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Get_elements.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_library_version.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_library_version.3 new file mode 100644 index 00000000..44d769f3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_library_version.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_library_version 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_library_version\fP \- Returns a string of the current Open MPI version + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_library_version(char \fI*version\fP, int \fI*resultlen\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +version +A string containing the Open MPI version (string). + +.ft R +.TP 1i +resultlen +Length (in characters) of result returned in \fIversion\fP (integer). + +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine returns a string representing the version of the MPI +library. The version argument is a character string for maximum +flexibility. +.sp +The number of characters actually written is returned in the output +argument, \fIresultlen\fP. In C, a '\\0' character is additionally +stored at \fIversion[resultlen]\fP. The \fIresultlen\fP cannot be +larger than (MPI_MAX_LIBRARY_VERSION_STRING - 1). In Fortran, version +is padded on the right with blank characters. The \fIresultlen\fP +cannot be larger than MPI_MAX_LIBRARY_VERSION_STRING. + +.SH NOTE +.ft R +The \fIversion\fP string that is passed must be at least +MPI_MAX_LIBRARY_VERSION_STRING characters long. +.sp +MPI_Get_library_version is one of the few functions that can be called +before MPI_Init and after MPI_Finalize. +.sp +MPI_Get_library_version is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Get_version diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_processor_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_processor_name.3 new file mode 100644 index 00000000..3e533a14 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_processor_name.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_processor_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_processor_name \fP \- Gets the name of the processor. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_processor_name(char *\fIname\fP, int *\fIresultlen\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +A unique specifier for the actual (as opposed to virtual) node. +.TP 1i +resultlen +Length (in characters) of result returned in name. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine returns the name of the processor on which it was called at the moment of the call. The name is a character string for maximum flexibility. From this value it must be possible to identify a specific piece of hardware. The argument name must represent storage that is at least MPI_MAX_PROCESSOR_NAME characters long. +.sp +The number of characters actually written is returned in the output +argument, resultlen. +.sp +.SH NOTES +.ft R +The user must provide at least MPI_MAX_PROCESSOR_NAME space to write the processor name; processor names can be this long. The user should examine the output argument, resultlen, to determine the actual length of the name. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Get_version.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Get_version.3 new file mode 100644 index 00000000..9bd3664a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Get_version.3 @@ -0,0 +1,48 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Get_version 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Get_version\fP \- Returns the version of the standard corresponding to the current implementation. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Get_version(int \fI*version\fP, int \fI*subversion\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +version +The major version number of the corresponding standard (integer). + +.ft R +.TP 1i +subversion +The minor version number of the corresponding standard (integer). + +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Since Open MPI is MPI 3.1 compliant, this function will return a version value of 3 and a subversion value of 1 for this release. + +.SH NOTE +.ft R +MPI_Get_version is one of the few functions that can be called before MPI_Init and after MPI_Finalize. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_create.3 new file mode 100644 index 00000000..503c3a27 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_create.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_create \fP \- Makes a new communicator to which topology information has been attached. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_create(MPI_Comm \fIcomm_old\fP, int\fI nnodes\fP, const int\fI index[]\fP, + const int\fI edges[]\fP, int\fI reorder\fP, MPI_Comm\fI *comm_graph\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm_old +Input communicator without topology (handle). +.TP 1i +nnodes +Number of nodes in graph (integer). +.TP 1i +index +Array of integers describing node degrees (see below). +.TP 1i +edges +Array of integers describing graph edges (see below). +.TP 1i +reorder +Ranking may be reordered (true) or not (false) (logical). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +comm_graph +Communicator with graph topology added (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Graph_create returns a handle to a new communicator to which the graph topology information is attached. If reorder = false then the rank of each process in the new group is identical to its rank in the old group. Otherwise, the function may reorder the processes. If the size, nnodes, of the graph is smaller than the size of the group of comm_old, then some processes are returned MPI_COMM_NULL, in analogy to MPI_Cart_create and MPI_Comm_split. The call is erroneous if it specifies a graph that is larger than the group size of the input communicator. +.sp +The three parameters nnodes, index, and edges define the graph structure. nnodes is the number of nodes of the graph. The nodes are numbered from 0 to nnodes-1. The ith entry of array index stores the total number of neighbors of the first i graph nodes. The lists of neighbors of nodes 0,\ 1,\ ..., nnodes-1 are stored in consecutive locations in array edges. The array edges is a flattened representation of the edge lists. The total number of entries in index is nnodes and the total number of entries in edges is equal to the number of graph edges. +.sp +The definitions of the arguments nnodes, index, and edges are illustrated with the following simple example. +.sp +\fBExample:\fP Assume there are four processes 0, 1, 2, 3 with the +following adjacency matrix: +.sp +.nf + Process Neighbors + 0 1, 3 + 1 0 + 2 3 + 3 0, 2 +.fi +.sp +Then, the input arguments are: +.nf + nnodes = 4 + index = 2, 3, 4, 6 + edges = 1, 3, 0, 3, 0, 2 +.fi +.sp +Thus, in C, index[0] is the degree of node zero, and index[i] - index[i-1] +is the degree of node i, i=1, . . . , nnodes-1; the list of neighbors of +node zero is stored in edges[j], for 0 <= j <= index[0] - 1 and the list of +neighbors of node i, i > 0 , is stored in edges[j], index[i-1] <= j <= index[i] - 1. +.sp +In Fortran, index(1) is the degree of node zero, and index(i+1) - index(i) +is the degree of node i, i=1, . . . , nnodes-1; the list of neighbors of +node zero is stored in edges(j), for 1 <= j <= index(1) and the list of +neighbors of node i, i > 0, is stored in edges(j), index(i) + 1 <= j <= index(i + 1). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_get +.br +MPI_Graphdims_get + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_get.3 new file mode 100644 index 00000000..26ae449e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_get.3 @@ -0,0 +1,63 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_get \fP \- Retrieves graph topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_get(MPI_Comm \fIcomm\fP, int\fI maxindex\fP, int\fI maxedges\fP, + int\fI index\fP[], int\fI edges\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with graph structure (handle). +.TP 1i +maxindex +Length of vector index in the calling program (integer). +.TP 1i +maxedges +Length of vector edges in the calling program (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +index +Array of integers containing the graph structure (for details see the +definition of MPI_Graph_create). +.TP 1i +edges +Array of integers containing the graph structure. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Functions MPI_Graphdims_get and MPI_Graph_get retrieve the graph-topology information that was associated with a communicator by MPI_Graph_create. +.sp +The information provided by MPI_Graphdims_get can be used to dimension the vectors index and edges correctly for a call to MPI_Graph_get. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_create +.br +MPI_Graphdims_get + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_map.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_map.3 new file mode 100644 index 00000000..d8921548 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_map.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_map 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_map \fP \- Maps process to graph topology information. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_map(MPI_Comm \fIcomm\fP, int\fI nnodes\fP, const int\fI index\fP[], + const int\fI edges\fP[], int\fI *newrank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Input communicator (handle). +.TP 1i +nnodes +Number of graph nodes (integer). +.TP 1i +index +Integer array specifying the graph structure, see MPI_Graph_ create. +.TP 1i +edges +Integer array specifying the graph structure. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newrank +Reordered rank of the calling process; MPI_UNDEFINED if the calling process does not belong to graph (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Cart_map and MPI_Graph_map can be used to implement all other topology +functions. In general they will not be called by the user directly, unless he or she is creating additional virtual topology capability other than that provided by MPI. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Cart_map + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors.3 new file mode 100644 index 00000000..0ae725d8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_neighbors 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_neighbors \fP \- Returns the neighbors of a node associated with a graph topology. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_neighbors(MPI_Comm \fIcomm\fP, int\fI rank\fP, int\fI maxneighbors\fP, + int\fI neighbors\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with graph topology (handle). +.TP 1i +rank +Rank of process in group of comm (integer). +.TP 1i +maxneighbors +Size of array neighbors (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +neighbors +Ranks of processes that are neighbors to specified process (array of integers). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBExample:\fP Suppose that comm is a communicator with a shuffle-exchange +topology. The group has 2n members. Each process is labeled by a(1),\ ..., a(n) with a(i) E{0,1}, and has three neighbors: exchange (a(1),\ ..., a(n) = a(1),\ ..., a(n-1), a(n) (a = 1 - a), shuffle (a(1),\ ..., a(n)) = a(2),\ ..., a(n), a(1), and unshuffle (a(1),\ ..., a(n)) = a(n), a(1),\ ..., a(n-1). The graph adjacency list is illustrated below for n=3. +.sp +.nf + exchange shuffle unshuffle + node neighbors(1) neighbors(2) neighbors(3) + 0(000) 1 0 0 + 1(001) 0 2 4 + 2(010) 3 4 1 + 3(011) 2 6 5 + 4(100) 5 1 2 + 5(101) 4 3 6 + 6(110) 7 5 3 + 7(111) 6 7 7 +.fi +.sp +Suppose that the communicator comm has this topology associated with it. The following code fragment cycles through the three types of neighbors and performs an appropriate permutation for each. +.sp +.nf +C assume: each process has stored a real number A. +C extract neighborhood information + CALL MPI_COMM_RANK(comm, myrank, ierr) + CALL MPI_GRAPH_NEIGHBORS(comm, myrank, 3, neighbors, ierr) +C perform exchange permutation + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, neighbors(1), 0, + + neighbors(1), 0, comm, status, ierr) +C perform shuffle permutation + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, neighbors(2), 0, + + neighbors(3), 0, comm, status, ierr) +C perform unshuffle permutation + CALL MPI_SENDRECV_REPLACE(A, 1, MPI_REAL, neighbors(3), 0, + + neighbors(2), 0, comm, status, ierr) + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_neighbors_count + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors_count.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors_count.3 new file mode 100644 index 00000000..0215fe16 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graph_neighbors_count.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graph_neighbors_count 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graph_neighbors_count \fP \- Returns the number of neighbors of a node associated with a graph topology. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graph_neighbors_count(MPI_Comm \fIcomm\fP, int\fI rank\fP, + int\fI *nneighbors\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +comm +Communicator with graph topology (handle). +.TP 1i +rank +Rank of process in group of comm (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +nneighbors +Number of neighbors of specified process (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Graph_neighbors_count and MPI_Graph_neighbors provide adjacency information for a general, graph topology. MPI_Graph_neighbors_count returns the number of neighbors for the process signified by rank. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_neighbors + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Graphdims_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Graphdims_get.3 new file mode 100644 index 00000000..26ce7f24 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Graphdims_get.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Graphdims_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Graphdims_get \fP \- Retrieves graph topology information associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Graphdims_get(MPI_Comm \fIcomm\fP, int\fI *nnodes\fP, int\fI *nedges\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator for group with graph structure (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +nnodes +Number of nodes in graph (integer). +.TP 1i +nedges +Number of edges in graph (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Functions MPI_Graphdims_get and MPI_Graph_get retrieve the graph-topology information that was associated with a communicator by MPI_Graph_create. +.sp +The information provided by MPI_Graphdims_get can be used to dimension the vectors index and edges correctly for a call to MPI_Graph_get. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Graph_create +.br +MPI_Graph_get + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_complete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_complete.3 new file mode 100644 index 00000000..d57e7f3c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_complete.3 @@ -0,0 +1,42 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Grequest_complete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Grequest_complete \fP \- Reports that a generalized request is complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Grequest_complete(MPI_Request \fIrequest\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +request +Generalized request (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Grequest_complete informs MPI that the operations represented by the generalized request \fIrequest\fP are complete. A call to MPI_Wait(\fIrequest, status\fP) will return, and a call to MPI_Test(\fIrequest, flag, status\fP) will return flag=true only after a call to MPI_Grequest_complete has declared that these operations are complete. +.sp +MPI imposes no restrictions on the code executed by the callback functions. However, new nonblocking operations should be defined so that the general semantic rules about MPI calls such as MPI_Test, MPI_Request_free, or MPI_Cancel still hold. For example, all these calls are supposed to be local and nonblocking. Therefore, the callback functions \fIquery_fn\fP, \fIfree_fn\fP, or \fIcancel_fn\fP should invoke blocking MPI communication calls only if the context is such that these calls are guaranteed to return in finite time. Once MPI_Cancel has been invoked, the canceled operation should complete in finite time, regardless of the state of other processes (the operation has acquired "local" semantics). It should either succeed or fail without side-effects. The user should guarantee these same properties for newly defined operations. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_start.3 new file mode 100644 index 00000000..5ec466bc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Grequest_start.3 @@ -0,0 +1,150 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Grequest_start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Grequest_start \fP \- Starts a generalized request and returns a handle to it in \fIrequest\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Grequest_start(MPI_Grequest_query_function \fI*query_fn\fP, + MPI_Grequest_free_function \fI*free_fn\fP, + MPI_Grequest_cancel_function \fI*cancel_fn\fP, void \fI*extra_state\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +query_fn +Callback function invoked when request status is queried (function). +.TP 1i +free_fn +Callback function invoked when request is freed (function). +.TP 1i +cancel_fn +Callback function invoked when request is canceled (function). +.TP 1i +extra_state +Extra state. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Generalized request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Grequest_start starts a generalized request and returns a handle to it in \fIrequest\fP. +.sp +The syntax and meaning of the callback functions are listed below. All callback functions are passed the \fIextra_state\fP argument that was associated with the request by the starting call MPI_Grequest_start. This can be used to maintain user-defined state for the request. In C, the query function is +.sp +.nf + typedef int MPI_Grequest_query_function(void \fI*extra_state\fP, + MPI_Status \fI*status\fP); +.fi +.sp +In Fortran, it is +.sp +.nf + SUBROUTINE GREQUEST_QUERY_FUNCTION(\fIEXTRA_STATE, STATUS, IERROR\fP) + INTEGER STATUS(MPI_STATUS_SIZE), \fIIERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP +.fi +.sp +and in C++, it is +.sp +.nf + typedef int MPI::Grequest::Query_function(void* \fIextra_state\fP, + MPI::Status& \fIstatus\fP); +.fi +.sp +The \fIquery_fn\fP function computes the status that should be returned for the generalized request. The status also includes information about successful/unsuccessful cancellation of the request (result to be returned by MPI_Test_cancelled). +.sp +The \fIquery_fn\fP function is invoked by the MPI_{Wait|Test}{any|some|all} call that completed the generalized request associated with this callback. The callback function is also invoked by calls to MPI_Request_get_status if the request is complete when the call occurs. In both cases, the callback is passed a reference to the corresponding status variable passed by the user to the MPI call. If the user provided MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE to the MPI function that causes \fIquery_fn\fP to be called, then MPI will pass a valid status object to \fIquery_fn\fP, and this status will be ignored upon return of the callback function. Note that \fIquery_fn\fP is invoked only after MPI_Grequest_complete is called on the request; it may be invoked several times for the same generalized request. Note also that a call to MPI_{Wait|Test}{some|all} may cause multiple invocations of \fIquery_fn\fP callback functions, one for each generalized request that is completed by the MPI call. The order of these invocations is not specified by MPI. +.sp +In C, the free function is +.sp +.nf + typedef int MPI_Grequest_free_function(void *\fIextra_state\fP); +.fi +.sp +In Fortran, it is +.sp +.nf + SUBROUTINE GREQUEST_FREE_FUNCTION(\fIEXTRA_STATE, IERROR\fP) + INTEGER \fIIERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP +.fi +.sp +And in C++, it is +.sp +.nf + typedef int MPI::Grequest::Free_function(void* \fIextra_state\fP); +.fi +.sp +The \fIfree_fn\fP callback function is invoked to clean up user-allocated resources when the generalized request is freed. +.sp +The \fIfree_fn\fP function is invoked by the MPI_{Wait|Test}{any|some|all} call that completed the generalized request associated with this callback. \fIfree_fn\fP is invoked after the call to \fIquery_fn\fP for the same request. However, if the MPI call completed multiple generalized requests, the order in which \fIfree_fn\fP callback functions are invoked is not specified by MPI. +.sp +The \fIfree_fn\fP callback is also invoked for generalized requests that are freed by a call to MPI_Request_free (no call to MPI_{Wait|Test}{any|some|all} will occur for such a request). In this case, the callback function will be called either in the MPI call MPI_Request_free(request) or in the MPI call MPI_Grequest_complete(request), whichever happens last. In other words, in this case the actual freeing code is executed as soon as both calls (MPI_Request_free and MPI_Grequest_complete) have occurred. The \fIrequest\fP is not deallocated until after \fIfree_fn\fP completes. Note that \fIfree_fn\fP will be invoked only once per request by a correct program. +.sp +In C, the cancel function is +.sp +.nf + typedef int MPI_Grequest_cancel_function(void *\fIextra_state\fP, int \fIcomplete\fP); +.fi +.sp +In Fortran, the cancel function is +.sp +.nf + SUBROUTINE GREQUEST_CANCEL_FUNCTION(\fIEXTRA_STATE, COMPLETE, IERROR\fP) + INTEGER \fIIERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE\fP + LOGICAL \fICOMPLETE\fP +.fi +.sp +In C++, the cancel function is +.sp +.nf + typedef in MPI::Grequest::Cancel_function(void* \fIextra_state\fP, + bool \fIcomplete\fP); +.fi +.sp +The \fIcancel_fn\fP function is invoked to start the cancellation of a generalized request. It is called by MPI_Request_cancel(request). MPI passes to the callback function complete=true if MPI_Grequest_complete has already been called on the request, and complete=false otherwise. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. +.sp +All callback functions return an error code. The code is passed back and dealt with as appropriate for the error code by the MPI function that invoked the callback function. For example, if error codes are returned, then the error code returned by the callback function will be returned by the MPI function that invoked the callback function. In the case of a MPI_{Wait|Test}any call that invokes both \fIquery_fn\fP and \fIfree_fn\fP, the MPI call will return the error code returned by the last callback, namely \fIfree_fn\fP. If one or more of the requests in a call to MPI_{Wait|Test}{some|all} has failed, then the MPI call will return MPI_ERR_IN_STATUS. In such a case, if the MPI call was passed an array of statuses, then MPI will return in each of the statuses that correspond to a completed generalized request the error code returned by the corresponding invocation of its \fIfree_fn\fP callback function. However, if the MPI function was passed MPI_STATUSES_IGNORE, then the individual error codes returned by each callback function will be lost. +.sp +See the MPI man page for a full list of MPI error codes. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_compare.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_compare.3 new file mode 100644 index 00000000..292fd485 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_compare.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_compare 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_compare \fP \- Compares two groups. + +.SH SYNTAX +.SH C Syntax +.nf +#include +int MPI_Group_compare(MPI_Group \fIgroup1\fP, MPI_Group\fI group2\fP, + int\fI *result\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +result +Integer which is MPI_IDENT if the order and members of the two groups are the same, MPI_SIMILAR if only the members are the same, and MPI_UNEQUAL otherwise. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_IDENT results if the group members and group order is exactly the same in both groups. This happens for instance if group1 and group2 are the same handle. MPI_SIMILAR results if the group members are the same but the order is different. MPI_UNEQUAL results otherwise. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_difference.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_difference.3 new file mode 100644 index 00000000..fd6149dd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_difference.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_difference 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_difference \fP \- Makes a group from the difference of two groups. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_difference(MPI_Group \fIgroup1\fP, MPI_Group\fI group2\fP, + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +Difference group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The set-like operations are defined as follows: +.TP + o +union -- All elements of the first group (group1), followed by all elements +of second group (group2) that are not in the first group +.TP + o +intersect -- all elements of the first group that are also in the second +group, ordered as in first group +.TP + o +difference -- all elements of the first group that are not in the second group, ordered as in the first group +.LP +Note that for these operations the order of processes in the output group is determined primarily by order in the first group (if possible) and then, if necessary, by order in the second group. Neither union nor intersection are commutative, but both are associative. +.sp +The new group can be empty, that is, equal to MPI_GROUP_EMPTY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Group_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_excl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_excl.3 new file mode 100644 index 00000000..0ff428e7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_excl.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_excl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_excl\fP \- Produces a group by reordering an existing group and taking only unlisted members. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_excl(MPI_Group \fIgroup\fP, int\fI n\fP, const int\fI ranks\fP[], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of elements in array ranks (integer). +.TP 1i +ranks +Array of integer ranks in group not to appear in newgroup. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, preserving the order defined by group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Group_excl creates a group of processes newgroup that is obtained by deleting from group those processes with ranks ranks[0], \&... ranks[n-1]. The ordering of processes in newgroup is identical to the ordering in group. Each of the n elements of ranks must be a valid rank in group and all elements must be distinct; otherwise, the call is erroneous. If n = 0, then newgroup is identical to group. + +.SH NOTE +.ft R +Currently, each of the ranks to exclude must be a valid rank in the group and all elements must be distinct or the function is erroneous. This restriction is per the draft. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_range_excl +.br +MPI_Group_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_free.3 new file mode 100644 index 00000000..1f4b446b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_free.3 @@ -0,0 +1,42 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_free \fP \- Frees a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_free(MPI_Group *\fIgroup\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.TP 1i +group +Group (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This operation marks a group object for deallocation. The handle group is set to MPI_GROUP_NULL by the call. Any ongoing operation using this group will complete normally. + +.SH NOTE +.ft R +On return, group is set to MPI_GROUP_NULL. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_incl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_incl.3 new file mode 100644 index 00000000..d21696c2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_incl.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_incl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_incl \fP \- Produces a group by reordering an existing group and taking only listed members. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_incl(MPI_Group \fIgroup\fP, int\fI n\fP, const int\fI ranks\fP[], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of elements in array ranks (and size of \fInewgroup\fP)(integer). +.TP 1i +ranks +Ranks of processes in group to appear in newgroup (array of integers). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, in the order defined by ranks (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Group_incl creates a group group_out that consists of the n processes in group with ranks rank[0], \&..., rank[n-1]; the process with rank i in group_out is the process with rank ranks[i] in group. Each of the n elements of ranks must be a valid rank in group and all elements must be distinct, or else the program is erroneous. If n = 0, then group_out is MPI_GROUP_EMPTY. This function can, for instance, be used to reorder the elements of a group. + +.SH NOTE +.ft R +This implementation does not currently check to ensure that there are no +duplicates in the list of ranks. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_compare +.br +MPI_Group_range_incl +.br +MPI_Group_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_intersection.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_intersection.3 new file mode 100644 index 00000000..79696363 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_intersection.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_intersection 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_intersection \fP \- Produces a group at the intersection of two existing groups. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_intersection(MPI_Group \fIgroup1\fP, MPI_Group\fI group2\fP, + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +Intersection group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The set-like operations are defined as follows: +.TP + o +union -- All elements of the first group (group1), followed by all elements +of second group (group2) not in first. +.TP + o +intersect -- all elements of the first group that are also in the second +group, ordered as in first group. +.TP + o +difference -- all elements of the first group that are not in the second group, ordered as in the first group. +.LP +Note that for these operations the order of processes in the output group is determined primarily by order in the first group (if possible) and then, if necessary, by order in the second group. Neither union nor intersection are commutative, but both are associative. +.sp +The new group can be empty, that is, equal to MPI_GROUP_EMPTY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Group_free +.br + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_excl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_excl.3 new file mode 100644 index 00000000..610f66d7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_excl.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_range_excl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_range_excl\fP \- Produces a group by excluding ranges of processes from an existing group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_range_excl(MPI_Group \fIgroup\fP, int\fI n\fP, int\fI ranges\fP[][3], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of triplets in array ranges (integer). +.TP 1i +ranges +A one-dimensional array of integer triplets of the form (first rank, last rank, stride), indicating the ranks in group of processes to be excluded from the output group newgroup. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, preserving the order in group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Each computed rank must be a valid rank in group and all computed ranks must be distinct, or else the program is erroneous. +.sp +The functionality of this routine is specified to be equivalent to +expanding the array of ranges to an array of the excluded ranks and passing the resulting array of ranks and other arguments to MPI_Group_excl. A call to MPI_Group_excl is equivalent to a call to MPI_Group_range_excl with each rank i in ranks replaced by the triplet (i,i,1) in the argument ranges. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_excl +.br +MPI_Group_free +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_incl.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_incl.3 new file mode 100644 index 00000000..fb6e3688 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_range_incl.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_range_incl 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_range_incl\fP \- Creates a new group from ranges of ranks in an existing group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_range_incl(MPI_Group \fIgroup\fP, int\fI n\fP, int\fI ranges\fP[][3], + MPI_Group\fI *newgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). +.TP 1i +n +Number of triplets in array ranges (integer). +.TP 1i +ranges +A one-dimensional array of integer triplets, of the form (first rank, last rank, stride) indicating ranks in group or processes to be included in newgroup. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +New group derived from above, in the order defined by ranges (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If ranges consist of the triplets +.sp +.nf + (first1, last1, stride1),\ ..., (firstn, lastn, striden) +.fi +.sp +then newgroup consists of the sequence of processes in group with ranks +.sp +.nf + last(1)-first(1) + first(1), first(1) + stride(1),..., first(1) + ---------------- stride(1),... + stride(1) + + last(n)-first(n) + first(n), first(n) + stride(n),..., first(n) + ---------------- stride(n). + stride(n) +.fi +.sp +Each computed rank must be a valid rank in group and all computed ranks must be distinct, or else the program is erroneous. Note that we may have first(i) > last(i), and stride(i) may be negative, but cannot be zero. +.sp +The functionality of this routine is specified to be equivalent to expanding the array of ranges to an array of the included ranks and passing the resulting array of ranks and other arguments to MPI_Group_incl. A call to MPI_Group_incl is equivalent to a call to MPI_Group_range_incl with each rank i in ranks replaced by the triplet (i,i,1) in the argument ranges. + +.SH NOTE +.ft R +This implementation does not currently check to see that the list of ranges to include are valid ranks in the group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Group_incl +.br +MPI_Group_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_rank.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_rank.3 new file mode 100644 index 00000000..e5e54b0f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_rank.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_rank 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_rank\fP \- Returns the rank of the calling process in the given group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_rank(MPI_Group \fIgroup\fP, int *\fIrank\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of the calling process in group, or MPI_UNDEFINED if the process is not a member (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Group_rank returns as the output parameter \fIrank\fP the rank of the calling process in group. If the process is not a member of group then MPI_UNDEFINED is returned. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_size.3 new file mode 100644 index 00000000..23603bf5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_size.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_size\fP \- Returns the size of a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_size(MPI_Group \fIgroup\fP, int \fI*size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +Group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Number of processes in the group (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Group_size returns in \fIsize\fP the number of processes in the group. Thus, if group = MPI_GROUP_EMPTY, then the call will return size = 0. On the other hand, a call with group = MPI_GROUP_NULL is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_translate_ranks.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_translate_ranks.3 new file mode 100644 index 00000000..9fcefacc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_translate_ranks.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_translate_ranks 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_translate_ranks\fP \- Translates the ranks of processes in one group to those in another group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_translate_ranks(MPI_Group \fIgroup1\fP, int\fI n\fP, + const int\fI ranks1\fP[], MPI_Group\fI group2\fP, int\fI ranks2\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +n +Number of ranks in ranks1 and ranks2 arrays (integer). +.TP 1i +ranks1 +Array of zero or more valid ranks in group1. +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +ranks2 +Array of corresponding ranks in group2, MPI_UNDEFINED when no correspondence exists. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function is important for determining the relative numbering of the same processes in two different groups. For instance, if one knows the ranks of certain processes in the group of MPI_COMM_WORLD, one might want to know their ranks in a subset of that group. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Group_union.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Group_union.3 new file mode 100644 index 00000000..6f4bc059 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Group_union.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Group_union 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Group_union \fP \- Produces a group by combining two groups. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Group_union(MPI_Group \fIgroup1\fP, MPI_Group \fIgroup2\fP, + MPI_Group *\fInewgroup\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group1 +First group (handle). +.TP 1i +group2 +Second group (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newgroup +Union group (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The set-like operations are defined as follows: +.TP + o +union -- All elements of the first group (group1), followed by all elements +of second group (group2) not in first. +.TP + o +intersect -- all elements of the first group that are also in the second +group, ordered as in first group. +.TP + o +difference -- all elements of the first group that are not in the second group, ordered as in the first group. +.sp +.LP +Note that for these operations the order of processes in the output group is determined primarily by order in the first group (if possible) and then, if necessary, by order in the second group. Neither union nor intersection are commutative, but both are associative. +.sp +The new group can be empty, that is, equal to MPI_GROUP_EMPTY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Group_free +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iallgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgather.3 new file mode 100644 index 00000000..f7b03f37 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgather.3 @@ -0,0 +1 @@ +.so man3/MPI_Allgather.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iallgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgatherv.3 new file mode 100644 index 00000000..8fc7b812 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iallgatherv.3 @@ -0,0 +1 @@ +.so man3/MPI_Allgatherv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iallreduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iallreduce.3 new file mode 100644 index 00000000..9c97358e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iallreduce.3 @@ -0,0 +1 @@ +.so man3/MPI_Allreduce.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoall.3 new file mode 100644 index 00000000..591c20bb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoall.3 @@ -0,0 +1 @@ +.so man3/MPI_Alltoall.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallv.3 new file mode 100644 index 00000000..6cc7026e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallv.3 @@ -0,0 +1 @@ +.so man3/MPI_Alltoallv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallw.3 new file mode 100644 index 00000000..0cca872b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ialltoallw.3 @@ -0,0 +1 @@ +.so man3/MPI_Alltoallw.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ibarrier.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ibarrier.3 new file mode 100644 index 00000000..17e1bd26 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ibarrier.3 @@ -0,0 +1 @@ +.so man3/MPI_Barrier.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ibcast.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ibcast.3 new file mode 100644 index 00000000..c0a86beb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ibcast.3 @@ -0,0 +1 @@ +.so man3/MPI_Bcast.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ibsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ibsend.3 new file mode 100644 index 00000000..29b5432f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ibsend.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Ibsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Ibsend\fP \- Starts a nonblocking buffered send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Ibsend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Data type of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Ibsend posts a buffered-mode, nonblocking send. Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Test +MPI_Wait +.br + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iexscan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iexscan.3 new file mode 100644 index 00000000..c2ff4cf3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iexscan.3 @@ -0,0 +1 @@ +.so man3/MPI_Exscan.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Igather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Igather.3 new file mode 100644 index 00000000..d15bc2d2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Igather.3 @@ -0,0 +1 @@ +.so man3/MPI_Gather.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Igatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Igatherv.3 new file mode 100644 index 00000000..3202cdbb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Igatherv.3 @@ -0,0 +1 @@ +.so man3/MPI_Gatherv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Improbe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Improbe.3 new file mode 100644 index 00000000..c188b16a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Improbe.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Improbe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Improbe\fP \- Non-blocking matched probe for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Improbe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, + int\fI *flag\fP, MPI_Message\fI *message\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +Flag (logical). +.ft R +.TP 1i +message +Message (handle). +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Like MPI_Probe and MPI_Iprobe, the MPI_Mprobe and MPI_Improbe operations +allow incoming messages to be queried without actually receiving +them, except that MPI_Mprobe and MPI_Improbe provide a mechanism to +receive the specific message that was matched regardless of other +intervening probe or receive operations. This gives the application +an opportunity to decide how to receive the message, based on the +information returned by the probe. In particular, the application may +allocate memory for the receive buffer according to the length of the +probed message. +.sp +A matching probe with MPI_PROC_NULL as \fIsource\fP returns \fIflag\fP += true, \fImessage\fP = MPI_MESSAGE_NO_PROC, and the \fIstatus\fP object +returns source = MPI_PROC_NULL, tag = MPI_ANY_TAG, and count = 0. +.sp +MPI_Iprobe returns a true value in \fIflag\fP if a message has been +matched and can be received by passing the \fImessage\fP handle to the +MPI_Mrecv or MPI_Imrecv functions, provided the \fIsource\fP was not +MPI_PROC_NULL. + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Mprobe +MPI_Probe +MPI_Iprobe +MPI_Mrecv +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Imrecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Imrecv.3 new file mode 100644 index 00000000..76fb6625 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Imrecv.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Imrecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Imrecv\fP \- Non-blocking receive for a matched message + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Imrecv(void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI type\fP, + MPI_Message\fI *message\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements to receive (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +message +Message (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +request +Request (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The functions MPI_Mrecv and MPI_Imrecv receive messages that have been +previously matched by a matching probe. +.sp +The \fIrequest\fP returned from MPI_Imrecv can be used with any of the +MPI_Test and MPI_Wait variants, like any non-blocking receive request. +.sp +If MPI_Imrecv is called with MPI_MESSAGE_NULL as the message argument, +a call to one of the MPI_Test or MPI_Wait variants will return +immediately with the \fIstatus\fP object set to \fIsource\fP = +MPI_PROC_NULL, \fItag\fP = MPI_ANY_TAG, and \fIcount\fP = 0, as if a +receive from MPI_PROC_NULL was issued. +.sp +If reception of a matched message is started with MPI_Imrecv, then it +is possible to cancel the returned request with MPI_Cancel. If +MPI_Cancel succeeds, the matched message must be found by a subsequent +message probe (MPI_Probe, MPI_Iprobe, MPI_Mprobe, or MPI_Improbe), +received by a subsequent receive operation or canceled by the +sender. +.sp +Note, however, that is it possible for the cancellation of operations +initiated with MPI_Imrecv to fail. An example of a failing case is +when canceling the matched message receive would violate MPI message +ordering rules (e.g., if another message matching the same message +signature has matched -- and possible received -- before this +MPI_Imrecv is canceled). + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Mprobe +MPI_Improbe +MPI_Probe +MPI_Iprobe +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgather.3 new file mode 100644 index 00000000..f0569265 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgather.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_allgather.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgatherv.3 new file mode 100644 index 00000000..b8ce05e6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_allgatherv.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_allgatherv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoall.3 new file mode 100644 index 00000000..56f630ec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoall.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_alltoall.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallv.3 new file mode 100644 index 00000000..13b4e89a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallv.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_alltoallv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallw.3 new file mode 100644 index 00000000..299138b3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ineighbor_alltoallw.3 @@ -0,0 +1 @@ +.so man3/MPI_Neighbor_alltoallw.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_create.3 new file mode 100644 index 00000000..d41a6f87 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_create.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_create\fP \- Creates a new info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_create(MPI_Info \fI*info\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info +Info object created (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_create creates a new info object. The newly created object contains no key/value pairs. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_delete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_delete.3 new file mode 100644 index 00000000..e0b124c3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_delete.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_delete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_delete\fP \- Deletes a key/value pair from \fIinfo\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_delete(MPI_Info \fIinfo\fP, const char \fI*key\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +key +Key (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_delete deletes a (key,value) pair from \fIinfo\fP. If \fIkey\fP is not defined in \fIinfo\fP, the call raises an error of class MPI_ERR_INFO_NOKEY. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_dup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_dup.3 new file mode 100644 index 00000000..a22b644b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_dup.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_dup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_dup\fP \- Duplicates an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_dup(MPI_Info \fIinfo\fP, MPI_Info \fI*newinfo\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newinfo +Info object (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_dup duplicates an existing info object, creating a new object, with the same (key,value) pairs and the same ordering of keys. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_free +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_env.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_env.3 new file mode 100644 index 00000000..5fdcae06 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_env.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2012 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_INFO_ENV 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_INFO_ENV\fP \- Static MPI_Info object containing info about the application + +.SH DESCRIPTION +.ft R +The MPI-3 standard established a static MPI_Info object named \fIMPI_INFO_ENV\fP that can be used to access information about how the application was executed from the run-time. + +.SH SUPPORTED FIELDS +.ft R +.TP 1i +command +If available, the value will be set to argv[0]. Note that the value may not always be available - e.g., it is valid for a program to call MPI_Init with NULL parameters, in which case argv[0] will not be set if run as a singleton. This value will never be set in a Fortran program as the argv are not available. +.TP 1i +argv +The argv given for the application. If no arguments are passed to the application, then this value will not be set. It will also not be set in the case of a singleton that calls MPI_Init with NULL parameters, or a Fortran program. +.TP 1i +maxprocs +The number of processes in the job. +.TP 1i +soft +Open MPI does not support the \fIsoft\fP option for specifying the number of processes to be executed, so this value is set to the same as \fImaxprocs\fP. +.TP 1i +host +The name of the host this process is executing upon - the value returned from \fIgethostname()\fP. +.TP 1i +arch +The architecture of the host this process is executing upon. This value indicates the underlying chip architecture (e.g., x86_64), if it can be determined. +.TP 1i +wdir +The working directory at the time of process launch by mpiexec. Note that this value will not be set for processes launched as singletons as there is no reliable way for the MPI library to determine the location. +.TP 1i +file +Although specified by the MPI-3 standard, no value is currently set for this field. +.TP 1i +thread_level +The requested MPI thread level - note that this may differ from the \fIactual\fP MPI thread level of the application. +.TP 1i +ompi_num_apps +The number of application contexts in an MPMD job. +This is an Open MPI-specific field and value. +.TP 1i +ompi_np +The number of processes in each application context, provided as a space-delimited list of integers. +This is an Open MPI-specific field and value. +.TP 1i +ompi_first_rank +The MPI rank of the first process in each application context, provided as a space-delimited list of integers +This is an Open MPI-specific field and value. +.TP 1i +ompi_positioned_file_dir +If Open MPI was asked to pre-position files, this field provides the top-level directory where those files were place. +This is an Open MPI-specific field and value. + +.SH ERRORS +When calling MPI_INFO_GET(3), the \fIflag\fP parameter will be set to zero (false) if a value for the field has not been set. +.br + +.SH SEE ALSO +.ft r +MPI_Info_get diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_free.3 new file mode 100644 index 00000000..954e3063 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_free.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_free\fP \- Frees an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_free(MPI_Info \fI*info\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_free frees \fIinfo\fP and sets it to MPI_INFO_NULL. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_get +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get.3 new file mode 100644 index 00000000..0308c826 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get\fP \- Retrieves the value associated with a key in an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get(MPI_Info \fIinfo\fP, const char \fI*key\fP, int \fIvaluelen\fP, char \fI*value\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info object (handle). +.ft R +.TP 1i +key +Key (string). +.ft R +.TP 1i +valuelen +Length of value arg (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +value +Value (string). +.ft R +.TP 1i +flag +Returns true if key defined, false if not (boolean). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get retrieves the value associated with \fIkey\fP in a previous call to MPI_Info_set. If such a key exists, it sets \fIflag\fP to true and returns the value in \fIvalue\fP; otherwise it sets \fIflag\fP to false and leaves \fIvalue\fP unchanged. \fIvaluelen\fP is the number of characters available in value. If it is less than the actual size of the value, the returned value is truncated. In C, \fIvaluelen\fP should be one less than the amount of allocated space to allow for the null terminator. +.sp +If \fIkey\fP is larger than MPI_MAX_INFO_KEY, the call is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_get_valuelen +.br +MPI_Info_get_nkeys +.br +MPI_Info_get_nthkey +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nkeys.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nkeys.3 new file mode 100644 index 00000000..b53e55cb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nkeys.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get_nkeys 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get_nkeys\fP \- Gets the number of keys currently defined in an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get_nkeys(MPI_Info \fIinfo\fP, int \fI*nkeys\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +nkeys +Number of defined keys (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get_nkeys returns the number of currently defined keys in \fIinfo\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_get +.br +MPI_Info_get_nthkey +.br +MPI_Info_get_valuelen +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nthkey.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nthkey.3 new file mode 100644 index 00000000..e938309e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_nthkey.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get_nthkey 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get_nthkey\fP \- Returns the \fIn\fPth defined key in \fIinfo\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get_nthkey(MPI_Info \fIinfo\fP, int \fIn\fP, char \fI*key\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info object (handle). +.ft R +.TP 1i +n +Key number (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +key +Key (string). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get_nthkey returns the \fIn\fPth defined key in \fIinfo\fP. Keys are numbered 0\...\fIN\fP - 1 where \fIN\fP is the value returned by MPI_Info_get_nkeys. All keys between 0 and \fIN\fP - 1 are guaranteed to be defined. The number of a given key does not change as long as \fIinfo\fP is not modified with MPI_Info_set or MPI_Info_delete. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_get +.br +MPI_Info_get_nkeys +.br +MPI_Info_get_valuelen +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_valuelen.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_valuelen.3 new file mode 100644 index 00000000..a6dff1e6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_get_valuelen.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_get_valuelen 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_get_valuelen\fP \- Retrieves the length of the key value associated with an info object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_get_valuelen(MPI_Info \fIinfo\fP, const char \fI*key\fP, + int \fI*valuelen\fP, int \fI*flag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info object (handle). +.ft R +.TP 1i +key +Key (string). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +valuelen +Length of value arg (integer). +.ft R +.TP 1i +flag +Returns true if key defined, false if not (boolean). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_get_valuelen retrieves the length of the \fIvalue\fP associated with \fIkey\fP. If \fIkey\fP is defined, \fIvaluelen\fP is set to the length of its associated value and \fIflag\fP is set to true. If \fIkey\fP is not defined, \fIvaluelen\fP is not touched and \fIflag\fP is set to false. The length returned in C or C++ does not include the end-of-string character. +.sp +If \fIkey\fP is larger than MPI_MAX_INFO_KEY, the call is erroneous. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_get +.br +MPI_Info_get_nkeys +.br +MPI_Info_get_nthkey +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Info_set.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Info_set.3 new file mode 100644 index 00000000..6b611861 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Info_set.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Info_set 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Info_set\fP \- Adds a key/value pair to \fIinfo\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Info_set(MPI_Info \fIinfo\fP, char \fI*key\fP, char \fI*value\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +info +Info object (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +key +Key (string). +.ft R +.TP 1i +value +Value (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Info_set adds the (key,value) pair to \fIinfo\fP and overrides the value if a value for the same key was previously set. The \fIkey\fP and \fIvalue\fP parameters are null-terminated strings in C. In Fortran, leading and trailing spaces in \fIkey\fP and \fIvalue\fP are stripped. If either \fIkey\fP or \fIvalue\fP is larger than the allowed maximums, the error MPI_ERR_INFO_KEY or MPI_ERR_INFO_VALUE is raised, respectively. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Info_create +.br +MPI_Info_delete +.br +MPI_Info_dup +.br +MPI_Info_free +.br +MPI_Info_set +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Init.3 new file mode 100644 index 00000000..eba21348 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Init.3 @@ -0,0 +1,91 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Init 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Init\fP \- Initializes the MPI execution environment + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Init(int *\fIargc\fP, char ***\fIargv\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +argc +C/C++ only: Pointer to the number of arguments. +.TP 1i +argv +C/C++ only: Argument vector. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine, or MPI_Init_thread, must be called before most other MPI +routines are called. There are a small number of exceptions, such as +MPI_Initialized and MPI_Finalized. MPI can be initialized at most +once; subsequent calls to MPI_Init or MPI_Init_thread are erroneous. +.sp +All MPI programs must contain a call to MPI_Init or +MPI_Init_thread. Open MPI accepts the C/C++ \fIargc\fP and \fIargv\fP +arguments to main, but neither modifies, interprets, nor distributes +them: +.sp +.nf + { + /* declare variables */ + MPI_Init(&argc, &argv); + /* parse arguments */ + /* main program */ + MPI_Finalize(); + } +.fi + +.SH NOTES +.ft R +The Fortran version does not have provisions for \fIargc\fP and +\fIargv\fP and takes only IERROR. +.sp +The MPI Standard does not say what a program can do before an MPI_Init +or after an MPI_Finalize. In the Open MPI implementation, it should do +as little as possible. In particular, avoid anything that changes the +external state of the program, such as opening files, reading standard +input, or writing to standard output. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Init_thread +MPI_Initialized +MPI_Finalize +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Init_thread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Init_thread.3 new file mode 100644 index 00000000..80a91471 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Init_thread.3 @@ -0,0 +1,183 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Init_thread 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_Init_thread\fP \- Initializes the MPI execution environment +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_Init_thread(int *\fIargc\fP, char ***\fIargv\fP, + int \fIrequired\fP, int *\fIprovided\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +argc +C/C++ only: Pointer to the number of arguments. +.TP 1i +argv +C/C++ only: Argument vector. +.TP 1i +required +Desired level of thread support (integer). +. +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +provided +Available level of thread support (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). +. +. +.SH DESCRIPTION +.ft R +This routine, or MPI_Init, must be called before most other MPI +routines are called. There are a small number of exceptions, such as +MPI_Initialized and MPI_Finalized. MPI can be initialized at most +once; subsequent calls to MPI_Init or MPI_Init_thread are erroneous. +.sp +MPI_Init_thread, as compared to MPI_Init, has a provision to request a +certain level of thread support in \fIrequired\fP: +.TP 2.4i +MPI_THREAD_SINGLE +Only one thread will execute. +.TP 2.4i +MPI_THREAD_FUNNELED +If the process is multithreaded, only the thread that called +MPI_Init_thread will make MPI calls. +.TP 2.4i +MPI_THREAD_SERIALIZED +If the process is multithreaded, only one thread will make MPI library +calls at one time. +.TP 2.4i +MPI_THREAD_MULTIPLE +If the process is multithreaded, multiple threads may call MPI at once +with no restrictions. +. +.PP +The level of thread support available to the program is set in +\fIprovided\fP, except in C++, where it is the return value of the +function. In Open MPI, the value is dependent on how the library was +configured and built. Note that there is no guarantee that +\fIprovided\fP will be greater than or equal to \fIrequired\fP. +.sp +Also note that calling MPI_Init_thread with a +.I required +value of +.I MPI_THREAD_SINGLE +is equivalent to calling MPI_Init. +.sp +All MPI programs must contain a call to MPI_Init or +MPI_Init_thread. Open MPI accepts the C/C++ \fIargc\fP and \fIargv\fP +arguments to main, but neither modifies, interprets, nor distributes +them: +.sp +.nf + { + /* declare variables */ + MPI_Init_thread(&argc, &argv, req, &prov); + /* parse arguments */ + /* main program */ + MPI_Finalize(); + } +.fi +. +.SH NOTES +.ft R +The Fortran version does not have provisions for \fIargc\fP and +\fIargv\fP and takes only IERROR. +.sp +It is the caller's responsibility to check the value of \fIprovided\fP, +as it may be less than what was requested in \fIrequired\fP. +.sp +The MPI Standard does not say what a program can do before an +MPI_Init_thread or after an MPI_Finalize. In the Open MPI +implementation, it should do as little as possible. In particular, +avoid anything that changes the external state of the program, such as +opening files, reading standard input, or writing to standard output. +. +. +.SH MPI_THREAD_MULTIPLE Support +. +MPI_THREAD_MULTIPLE support is included if Open MPI was configured +with the --enable-mpi-thread-multiple configure switch. You can check the +output of +.BR ompi_info (1) +to see if Open MPI has MPI_THREAD_MULTIPLE support: +. +.PP +.nf +shell$ ompi_info | grep -i thread + Thread support: posix (mpi: yes, progress: no) +shell$ +.fi +. +.PP +The "mpi: yes" portion of the above output indicates that Open MPI was +compiled with MPI_THREAD_MULTIPLE support. +. +.PP +Note that MPI_THREAD_MULTIPLE support is only lightly tested. It +likely does not work for thread-intensive applications. Also note +that +.I only +the MPI point-to-point communication functions for the BTL's listed +below are considered thread safe. Other support functions (e.g., MPI +attributes) have not been certified as safe when simultaneously used +by multiple threads. +. +.PP +.nf + tcp + sm + mx + elan + self +.fi +. +.PP +Note that Open MPI's thread support is in a fairly early stage; the +above devices are likely to +.IR work , +but the latency is likely to be fairly high. Specifically, efforts so +far have concentrated on +.IR correctness , +not +.I performance +(yet). +. +. +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +. +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Initialized +MPI_Finalize +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Initialized.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Initialized.3 new file mode 100644 index 00000000..8895d8b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Initialized.3 @@ -0,0 +1,47 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Initialized 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Initialized\fP \- Checks whether MPI has been initialized + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Initialized(int *\fIflag\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if MPI has been initialized, and false otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine may be used to determine whether MPI has been +initialized. It is one of a small number of routines that may be +called before MPI is initialized and after MPI has been finalized +(MPI_Finalized is another). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread +MPI_Finalize +MPI_Finalized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_create.3 new file mode 100644 index 00000000..038981f3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_create.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Intercomm_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Intercomm_create\fP \- Creates an intercommunicator from two intracommunicators. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Intercomm_create(MPI_Comm \fIlocal_comm\fP, int\fI local_leader\fP, + MPI_Comm\fI peer_comm\fP, int\fI remote_leader\fP, int\fI tag\fP, MPI_Comm\fI *newintercomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +local_comm +The communicator containing the process that initiates the inter-communication (handle). +.TP 1i +local_leader +Rank of local group leader in local_comm (integer). +.TP 1i +peer_comm +"Peer" communicator; significant only at the local_leader (handle). +.TP 1i +remote_leader +Rank of remote group leader in peer_comm; significant only at the local_leader (integer). +.TP 1i +tag +Message tag used to identify new intercommunicator (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newintercomm +Created intercommunicator (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This call creates an intercommunicator. It is collective over the union of the local and remote groups. Processes should provide identical local_comm and local_leader arguments within each group. Wildcards are not permitted for remote_leader, local_leader, and tag. +.sp +This call uses point-to-point communication with communicator peer_comm, +and with tag tag between the leaders. Thus, care must be taken that there be no pending communication on peer_comm that could interfere with this communication. + +If multiple MPI_Intercomm_creates are being made, they should use different tags (more precisely, they should ensure that the local and remote leaders are using different tags for each MPI_intercomm_create). + +.SH NOTES +We recommend using a dedicated peer communicator, such as a duplicate of MPI_COMM_WORLD, to avoid trouble with peer communicators. +.sp +The MPI 1.1 Standard contains two mutually exclusive comments on the +input intracommunicators. One says that their respective groups must be +disjoint; the other that the leaders can be the same process. After +some discussion by the MPI Forum, it has been decided that the groups must +be disjoint. Note that the +.B reason +given for this in the standard is +.B not +the reason for this choice; rather, the +.B other +operations on +intercommunicators (like +.I MPI_Intercomm_merge +) do not make sense if the +groups are not disjoint. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Intercomm_merge +.br +MPI_Comm_free +.br +MPI_Comm_remote_group +.br +MPI_Comm_remote_size + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_merge.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_merge.3 new file mode 100644 index 00000000..f1f518ec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Intercomm_merge.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Intercomm_merge 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Intercomm_merge\fP \- Creates an intracommunicator from an intercommunicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Intercomm_merge(MPI_Comm \fIintercomm\fP, int\fI high\fP, + MPI_Comm\fI *newintracomm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +intercomm +Intercommunicator (type indicator). +.TP 1i +high +Used to order the groups of the two intracommunicators within comm when creating the new communicator (type indicator). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newintracomm +Created intracommunicator (type indicator). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function creates an intracommunicator from the union of the two groups that are associated with intercomm. All processes should provide the same high value within each of the two groups. If processes in one group provide the value high = false and processes in the other group provide the value high = true, then the union orders the "low" group before the "high" group. If all processes provide the same high argument, then the order of the union is arbitrary. This call is blocking and collective within the union of the two groups. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Intercomm_create +.br +MPI_Comm_free + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iprobe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iprobe.3 new file mode 100644 index 00000000..b86e7515 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iprobe.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Iprobe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Iprobe\fP \- Nonblocking test for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Iprobe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, int\fI *flag\fP, + MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +Message-waiting flag (logical). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_Probe and MPI_Iprobe operations allow checking of incoming messages without actual receipt of them. The user can then decide how to receive them, based on the information returned by the probe (basically, the information returned by status). In particular, the user may allocate memory for the receive buffer, according to the length of the probed message. +.sp +MPI_Iprobe(source, tag, comm, flag, status) returns flag = true if there is a message that can be received and that matches the pattern specified by the arguments source, tag, and comm. The call matches the same message that would have been received by a call to MPI_Recv(\&..., source, tag, comm, status) executed at the same point in the program, and returns in status the same value that would have been returned by MPI_Recv(). Otherwise, the call returns flag = false, and leaves status undefined. +.sp +If MPI_Iprobe returns flag = true, then the content of the status object can be subsequently accessed as described in Section 3.2.5 of the MPI-1 Standard, "Return Status," to find the source, tag, and length of the probed message. +.sp +A subsequent receive executed with the same context, and the source and tag returned in status by MPI_Iprobe will receive the message that was matched by the probe if no other intervening receive occurs after the probe. If the receiving process is multithreaded, it is the user's responsibility to ensure that the last condition holds. +.sp +The source argument of MPI_Probe can be MPI_ANY_SOURCE, and the tag argument can be MPI_ANY_TAG, so that one can probe for messages from an arbitrary source and/or with an arbitrary tag. However, a specific communication context must be provided with the comm argument. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +It is not necessary to receive a message immediately after it has been probed for, and the same message may be probed for several times before it is received. +.sp +.SH NOTE +Users of libmpi-mt should remember that two threads may do an MPI_Iprobe that actually returns true for the same message for both threads. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Probe +.br +MPI_Cancel + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 new file mode 100644 index 00000000..c6d73ad9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Irecv.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Irecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Irecv\fP \- Starts a standard-mode, nonblocking receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Irecv(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI source\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +count +Number of elements in receive buffer (integer). +.TP 1i +datatype +Datatype of each receive buffer element (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking receive call indicates that the system may start writing data into the receive buffer. The receiver should not access any part of the receive buffer after a nonblocking receive operation is called, until the receive completes. +.sp +A receive request can be determined being completed by calling the MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with request returned by this function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Recv +MPI_Probe +MPI_Test +MPI_Testany +MPI_Wait +MPI_Waitany +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce.3 new file mode 100644 index 00000000..f8c65fb7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce.3 @@ -0,0 +1 @@ +.so man3/MPI_Reduce.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter.3 new file mode 100644 index 00000000..4f03aec6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter.3 @@ -0,0 +1 @@ +.so man3/MPI_Reduce_scatter.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter_block.3 new file mode 100644 index 00000000..f649a6c4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ireduce_scatter_block.3 @@ -0,0 +1 @@ +.so man3/MPI_Reduce_scatter_block.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Irsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Irsend.3 new file mode 100644 index 00000000..64d60904 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Irsend.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Irsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Irsend\fP \- Starts a ready-mode nonblocking send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Irsend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Irsend starts a ready-mode nonblocking send. Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or to wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Rsend diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Is_thread_main.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Is_thread_main.3 new file mode 100644 index 00000000..485a3570 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Is_thread_main.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Is_thread_main 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Is_thread_main\fP \- Determines if thread called MPI_Init + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Is_thread_main(int *\fIflag\fP) + +.fi +.SH OUTPUT PARAMETERS +.TP 1i +flag +True if calling thread is main thread (boolean). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Is_thread_main is called by a thread to find out whether the +caller is the main thread (that is, the thread that called MPI_Init or +MPI_Init_thread). + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 new file mode 100644 index 00000000..42cdcd65 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iscan.3 @@ -0,0 +1 @@ +.so man3/MPI_Scan.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iscatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatter.3 new file mode 100644 index 00000000..05572bc5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatter.3 @@ -0,0 +1 @@ +.so man3/MPI_Scatter.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Iscatterv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatterv.3 new file mode 100644 index 00000000..86a7f302 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Iscatterv.3 @@ -0,0 +1 @@ +.so man3/MPI_Scatterv.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 new file mode 100644 index 00000000..d96386db --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Isend.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Isend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Isend\fP \- Starts a standard-mode, nonblocking send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Isend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Isend starts a standard-mode, nonblocking send. Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. +.sp +A send request can be determined being completed by calling the MPI_Wait, MPI_Waitany, MPI_Test, or MPI_Testany with request returned by this function. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Send +MPI_Wait +MPI_Waitany +MPI_Test +MPI_Testany +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Issend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Issend.3 new file mode 100644 index 00000000..bcbdbdbf --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Issend.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Issend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Issend\fP \- Starts a nonblocking synchronous send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Issend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts a synchronous mode, nonblocking send. +.sp +Nonblocking calls allocate a communication request object and associate it with the request handle (the argument request). The request can be used later to query the status of the communication or wait for its completion. +.sp +A nonblocking send call indicates that the system may start copying data out of the send buffer. The sender should not modify any part of the send buffer after a nonblocking send operation is called, until the send completes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Ssend +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_create.3 new file mode 100644 index 00000000..47ea3b51 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_create.3 @@ -0,0 +1,112 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Keyval_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Keyval_create\fP \- Generates a new attribute key -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Keyval_create(MPI_Copy_function *\fIcopy_fn\fP, + MPI_Delete_function *\fIdelete_fn\fP, int *\fIkeyval\fP, void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +copy_fn +Copy callback function for keyval. +.TP 1i +delete_fn +Delete callback function for keyval. +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +keyval +Key value for future access (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_create_keyval instead. +.sp +This deprecated routine is not available in C++. +.sp +Generates a new attribute key. Keys are locally unique in a process and opaque to the user, though they are explicitly stored in integers. Once allocated, the key value can be used to associate attributes and access them on any locally defined communicator. +.sp +The copy_fn function is invoked when a communicator is duplicated by MPI_COMM_DUP. copy_fn should be of type MPI_Copy_function, which is defined as follows: +.sp +.nf + typedef int MPI_Copy_function(MPI_Comm oldcomm, int keyval, + void *extra_state, void *attribute_val_in, + void *attribute_val_out, int *flag) + +.fi +A Fortran declaration for such a function is as follows: +.sp +.nf + SUBROUTINE COPY_FUNCTION(OLDCOMM, KEYVAL, EXTRA_STATE, ATTRIBUTE_VAL_IN, + ATTRIBUTE_VAL_OUT, FLAG, IERR) + INTEGER OLDCOMM, KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, IERR + LOGICAL FLAG +.fi +.sp +The copy callback function is invoked for each key value in oldcomm in arbitrary order. Each call to the copy callback is made with a key value and its corresponding attribute. If it returns flag = 0, then the attribute is deleted in the duplicated communicator. Otherwise ( flag = 1), the new attribute value is set to the value returned in attribute_val_out. The function returns MPI_SUCCESS on success and an error code on failure (in which case MPI_Comm_dup will fail). +.sp +copy_fn may be specified as MPI_NULL_COPY_FN or MPI_DUP_FN from either C or +Fortran; MPI_NULL_COPY_FN is a function that does nothing other than return flag = 0, and MPI_SUCCESS. MPI_DUP_FN is a simple-minded copy function that sets flag = 1, returns the value of attribute_val_in in attribute_val_out, and returns MPI_SUCCESS. + +.SH NOTES +Key values are global (available for any and all communicators). +.sp +There are subtle differences between C and Fortran that require that the copy_fn be written in the same language that MPI_Keyval_create is called from. This should not be a problem for most users; only programmers using both Fortran and C in the same program need to be sure that they follow this rule. +.sp +Even though both formal arguments attribute_val_in +and attribute_val_out are of type void*, their usage differs. The C copy function is passed by MPI in attribute_val_in the value of the attribute, and in attribute_val_out the address of the attribute, so as to allow the function to return the (new) attribute value. The use of type void* for both is to avoid messy type casts. +.sp +A valid copy function is one that completely duplicates the information by making a full duplicate copy of the data structures implied by an attribute; another might just make another reference to that data structure, while using a reference-count mechanism. Other types of attributes might not copy at all (they might be specific to oldcomm only). +.sp +Analogous to copy_fn is a callback deletion function, defined as follows. The delete_fn function is invoked when a communicator is deleted by MPI_Comm_free or when a call is made explicitly to MPI_Attr_delete. delete_fn should be of type MPI_Delete_function, which is defined as follows: +.sp +.nf + typedef int MPI_Delete_function(MPI_Comm comm, int keyval, + void *attribute_val, void *extra_state); +.fi +.sp +A Fortran declaration for such a function is as follows: +.sp +.nf + SUBROUTINE DELETE_FUNCTION(COMM, KEYVAL,ATTRIBUTE_VAL, EXTRA_STATE, IERR) + INTEGER COMM, KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, IERR +.fi +.sp +This function is called by MPI_Comm_free, MPI_Attr_delete, and MPI_Attr_put to do whatever is needed to remove an attribute. The function returns MPI_SUCCESS on success and an error code on failure (in which case MPI_COMM_FREE will fail). +.sp +delete_fn may be specified as MPI_NULL_DELETE_FN from either C or FORTRAN; MPI_NULL_DELETE_FN is a function that does nothing, other than returning MPI_SUCCESS. +.sp +The special key value MPI_KEYVAL_INVALID is never returned by MPI_Keyval_create. Therefore, it can be used for static initialization of key values. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Keyval_free +.br +MPI_Comm_create_keyval +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_free.3 new file mode 100644 index 00000000..232bba78 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Keyval_free.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Keyval_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Keyval_free\fP \- Frees attribute key for communicator cache attribute -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Keyval_free(int *\fIkeyval\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +keyval +Frees the integer key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Comm_free_keyval instead. +.sp +This deprecated routine is not available in C++. +.sp +Frees an extant attribute key. This function sets the value of keyval to MPI_KEYVAL_INVALID. Note that it is not erroneous to free an attribute key that is in use, because the actual free does not transpire until after all references (in other communicators on the process) to the key have been freed. These references need to be explicitly freed by the program, either via calls to MPI_Attr_delete that free one attribute instance, or by calls to MPI_Comm_free that free all attribute instances associated with the freed communicator. + +.SH NOTE +.ft R +Key values are global (they can be used with any and all communicators). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Keyval_create +.br +MPI_Comm_free_keyval +.br + + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Lookup_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Lookup_name.3 new file mode 100644 index 00000000..2e2054cb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Lookup_name.3 @@ -0,0 +1,116 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Lookup_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Lookup_name\fP \- Finds port associated with a service name + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Lookup_name(const char *\fIservice_name\fP, MPI_Info \fIinfo\fP, + char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +service_name +A service name (string). +.TP 1.4i +info +Options to the name service functions (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.4i +port_name +a port name (string). +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function retrieves a \fIport_name\fP published under +\fIservice_name\fP by a previous invocation of MPI_Publish_name. The +application must supply a \fIport_name\fP buffer large enough to hold +the largest possible port name (i.e., MPI_MAX_PORT_NAME bytes). + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized: +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +ompi_lookup_order char * Resolution order for name lookup. +.fi + +The \fIompi_lookup_order\fP info key can specify one of four valid +string values (see the NAME SCOPE section below for more information +on name scopes): + +.TP 4 +\fIlocal\fP: Only search the local scope for name resolution. +.TP 4 +\fIglobal\fP: Only search the global scope for name resolution. +.TP 4 +\fIlocal,global\fP: Search the local scope for name resolution. If +not found, try searching the global scope for name resolution. This +behavior is the default if the \fIompi_lookup_order\fP info key is not +specified. +.TP 4 +\fIglobal,local\fP: Search the global scope for name resolution. If +not found, try searching the local scope for name resolution. +.PP +If no info key is provided, the search will first check to see if a +global server has been specified and is available. If so, then the +search will default to global scope first, followed by local. Otherwise, +the search will default to local. + +.SH NAME SCOPE +Open MPI supports two name scopes: \fIglobal\fP and \fIlocal\fP. Local scope +values are placed in a data store located on the mpirun of the calling +process' job, while global scope values reside on a central server. Calls +to MPI_Unpublish_name must correctly specify the scope to be used in +finding the value to be removed. The function will return an error if +the specified service name is not found on the indicated location. +.sp +For a more detailed description of scoping rules, please see the MPI_Publish_name +man page. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Publish_name +MPI_Open_port + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Message_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Message_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Message_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Message_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Message_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Message_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Mprobe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Mprobe.3 new file mode 100644 index 00000000..b02f9dce --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Mprobe.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2012 Oracle and/or its affiliates. All rights reserved. +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Mprobe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Mprobe\fP \- Blocking matched probe for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Mprobe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, + MPI_Message\fI *message\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +message +Message (handle). +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Like MPI_Probe and MPI_Iprobe, the MPI_Mprobe and MPI_Improbe operations +allow incoming messages to be queried without actually receiving +them, except that MPI_Mprobe and MPI_Improbe provide a mechanism to +receive the specific message that was matched regardless of other +intervening probe or receive operations. This gives the application +an opportunity to decide how to receive the message, based on the +information returned by the probe. In particular, the application may +allocate memory for the receive buffer according to the length of the +probed message. +.sp +A matching probe with MPI_PROC_NULL as \fIsource\fP returns +\fImessage\fP = MPI_MESSAGE_NO_PROC, and the \fIstatus\fP object returns +source = MPI_PROC_NULL, tag = MPI_ANY_TAG, and count = 0. +.sp +When MPI_Mprobe returns (from a non-MPI_PROC_NULL \fIsource\fP), the +matched message can then be received by passing the \fImessage\fP +handle to the MPI_Mrecv or MPI_Imrecv functions. + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Improbe +MPI_Probe +MPI_Iprobe +MPI_Mrecv +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 new file mode 100644 index 00000000..ada983b2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Mrecv.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2012 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Mrecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Mrecv\fP \- Blocking receive for a matched message + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Mrecv(void \fI*buf\fP, int\fI count\fP, MPI_Datatype\fI type\fP, + MPI_Message\fI *message\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements to receive (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +message +Message (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The functions MPI_Mrecv and MPI_Imrecv receive messages that have been +previously matched by a matching probe. +.sp +If MPI_Mrecv is called with MPI_MESSAGE_NULL as the message argument, +the call returns immediately with the \fIstatus\fP object set to +\fIsource\fP = MPI_PROC_NULL, \fItag\fP = MPI_ANY_TAG, and \fIcount\fP += 0, as if a receive from MPI_PROC_NULL was issued. + +.SH NOTE +This is an MPI-3 function and has no C++ binding. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. C++ +functions do not return errors. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Mprobe +MPI_Improbe +MPI_Probe +MPI_Iprobe +MPI_Imrecv +MPI_Cancel diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgather.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgather.3 new file mode 100644 index 00000000..9a4c8b22 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgather.3 @@ -0,0 +1,109 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_allgather 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Neighbor_allgather, MPI_Ineighbor_allgather\fP \- Gathers and distributes data from and to all neighbors + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Neighbor_allgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Ineighbor_allgather(const void\fI *sendbuf\fP, int \fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, MPI_Request \fIreq\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvbuf +Starting address of recv buffer (choice). +.TP 1i +recvcount +Number of elements received from any process (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Neighbor_allgather is similar to MPI_Allgather, except that only the neighboring processes receive the result, instead of all processes. The neighbors and buffer layout is determined by the topology of \fIcomm\fP. +.sp +The type signature associated with sendcount, sendtype at a process must be equal to the type signature associated with recvcount, recvtype at any other process. +.fi + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.SH NOTES +.sp +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Neighbor_allgatherv +MPI_Cart_create +MPI_Garph_create +MPI_Dist_graph_create +.br +MPI_Gather + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgatherv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgatherv.3 new file mode 100644 index 00000000..db98fb57 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_allgatherv.3 @@ -0,0 +1,104 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_allgatherv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Neighbor_allgatherv, MPI_Ineighbor_allgatherv\fP \- Gathers and distributes data from and to all neighbors. Each process may contribute a different amount of data. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Neighbor_allgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP) + +int MPI_Ineighbor_allgatherv(const void\fI *sendbuf\fP, int\fI sendcount\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, const int\fI recvcounts[]\fP, + const int\fI displs[]\fP, MPI_Datatype\fI recvtype\fP, MPI_Comm\fI comm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +sendcount +Number of elements in send buffer (integer). +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Integer array (of length group size) containing the number of elements that are received from each neighbor. +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement (relative to recvbuf) at which to place the incoming data from neighbor i. +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +comm +Communicator (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Neighbor_allgatherv is similar to MPI_Neighbor_allgather in that all processes gather data from all neighbors, except that each process can send a different amount of data. The block of data sent from the jth neighbor is received by every neighbor and placed in the jth block of the buffer. The neighbors and buffer layout is determined by the topology of \fIcomm\fP. +.I recvbuf. +.sp +The type signature associated with sendcount, sendtype, at process j must be equal to the type signature associated with the corresponding entry in \fIrecvcounts\fP on neighboring processes. + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.SH NOTES +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler +may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Neighbor_allgather +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoall.3 new file mode 100644 index 00000000..1e886328 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoall.3 @@ -0,0 +1,149 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_alltoall 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Neighbor_alltoall, MPI_Ineighbor_alltoall\fP \- All processes send data to neighboring processes in a virtual topology communicator + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Neighbor_alltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ineighbor_alltoall(const void *\fIsendbuf\fP, int \fIsendcount\fP, + MPI_Datatype \fIsendtype\fP, void *\fIrecvbuf\fP, int \fIrecvcount\fP, + MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer (choice). +.TP 1.2i +sendcount +Number of elements to send to each process (integer). +.TP 1.2i +sendtype +Datatype of send buffer elements (handle). +.TP 1.2i +recvcount +Number of elements to receive from each process (integer). +.TP 1.2i +recvtype +Datatype of receive buffer elements (handle). +.TP 1.2i +comm +Communicator over which data is to be exchanged (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Neighbor_alltoall is a collective operation in which all processes send and receive the same amount of data to each neighbor. The operation of this routine can be represented as follows, where each process performs 2n (n being the number of neighbors in communicator \fIcomm\fP) independent point-to-point communications. The neighbors and buffer layout are determined by the topology of \fIcomm\fP. +.sp +Example of MPI_Neighbor_alltoall semantics for cartesian topologies: +.sp +.nf + MPI_Cart_get(\fIcomm\fP, maxdims, dims, periods, coords); + for (dim = 0, i = 0 ; dim < dims ; ++dim) { + MPI_Cart_shift(\fIcomm\fP, dim, 1, &r0, &r1); + MPI_Isend(\fIsendbuf\fP + i * \fIsendcount\fP * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r0, ..., \fIcomm\fP, ...); + MPI_Irecv(\fIrecvbuf\fP + i * \fIrecvcount\fP * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r0, ..., \fIcomm\fP, ...); + ++i; + MPI_Isend(\fIsendbuf\fP + i * \fIsendcount\fP * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r1, ..., \fIcomm\fP, &req[i]); + MPI_Irecv(\fIrecvbuf\fP + i * \fIrecvcount\fP * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r1, ..., \fIcomm\fP, ...); + ++i; + } + + MPI_Waitall (...); +.fi +.sp +Each process breaks up its local \fIsendbuf\fP into n blocks \- each +containing \fIsendcount\fP elements of type \fIsendtype\fP \- and +divides its \fIrecvbuf\fP similarly according to \fIrecvcount\fP and +\fIrecvtype\fP. Process j sends the k-th block of its local +\fIsendbuf\fP to neighbor k, which places the data in the j-th block of +its local \fIrecvbuf\fP. The amount of data sent must be equal to the +amount of data received, pairwise, between every pair of processes. + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.sp +.SH NOTES +.ft R +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this function. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. \fIcomm\fP +must be either a cartesian, graph, or dist graph communicator. +.sp +There are two MPI library functions that are more general than +MPI_Neighbor_alltoall. MPI_Neighbor_alltoallv allows all-to-all communication to and +from buffers that need not be contiguous; different processes may +send and receive different amounts of data. MPI_Neighbor_alltoallw expands +MPI_Neighbor_alltoallv's functionality to allow the exchange of data with +different datatypes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Neighbor_alltoallv +MPI_Neighbor_alltoallw +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create +MPI_Dist_graph_create_adjacent diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallv.3 new file mode 100644 index 00000000..375601a0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallv.3 @@ -0,0 +1,171 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_alltoallv 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Neighbor_alltoallv, MPI_Ineighbor_alltoallv\fP \- All processes send different amounts of data to, and receive different amounts of data from, all neighbors +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Neighbor_alltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP) + +int MPI_Ineighbor_alltoallv(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const int \fIsdispls\fP[], MPI_Datatype \fIsendtype\fP, + void *\fIrecvbuf\fP, const int\fI recvcounts\fP[], + const int \fIrdispls\fP[], MPI_Datatype \fIrecvtype\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to neighbor i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (offset from +\fIsendbuf\fP, in units of \fIsendtype\fP) from which to send data to +neighbor i. +.TP 1.2i +sendtype +Datatype of send buffer elements. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from neighbor j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (offset from +\fIrecvbuf\fP, in units of \fIrecvtype\fP) to which data from neighbor j +should be written. +.TP 1.2i +recvtype +Datatype of receive buffer elements. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Neighbor_alltoallv is a generalized collective operation in which all +processes send data to and receive data from all neighbors. It +adds flexibility to MPI_Neighbor_alltoall by allowing the user to specify data +to send and receive vector-style (via a displacement and element +count). The operation of this routine can be thought of as follows, +where each process performs 2n (n being the number of neighbors in +to topology of communicator \fIcomm\fP) independent point-to-point communications. +The neighbors and buffer layout are determined by the topology of \fIcomm\fP. +.sp +.nf + MPI_Cart_get(\fIcomm\fP, maxdims, dims, periods, coords); + for (dim = 0, i = 0 ; dim < dims ; ++dim) { + MPI_Cart_shift(\fIcomm\fP, dim, 1, &r0, &r1); + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r0, ..., \fIcomm\fP, ...); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r0, ..., \fIcomm\fP, ...); + ++i; + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtype\fP, r1, ..., \fIcomm\fP, &req[i]); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtype\fP, r1, ..., \fIcomm\fP, ...); + ++i; + } +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to neighbor +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts of data to different processes in the communicator. + +.sp +.SH NEIGHBOR ORDERING +For a distributed graph topology, created with MPI_Dist_graph_create, the sequence of neighbors +in the send and receive buffers at each process is defined as the sequence returned by MPI_Dist_graph_neighbors +for destinations and sources, respectively. For a general graph topology, created with MPI_Graph_create, the order of +neighbors in the send and receive buffers is defined as the sequence of neighbors as returned by MPI_Graph_neighbors. +Note that general graph topologies should generally be replaced by the distributed graph topologies. + +For a Cartesian topology, created with MPI_Cart_create, the sequence of neighbors in the send and receive +buffers at each process is defined by order of the dimensions, first the neighbor in the negative direction +and then in the positive direction with displacement 1. The numbers of sources and destinations in the +communication routines are 2*ndims with ndims defined in MPI_Cart_create. If a neighbor does not exist, i.e., at +the border of a Cartesian topology in the case of a non-periodic virtual grid dimension (i.e., +periods[...]==false), then this neighbor is defined to be MPI_PROC_NULL. + +If a neighbor in any of the functions is MPI_PROC_NULL, then the neighborhood collective communication behaves +like a point-to-point communication with MPI_PROC_NULL in this direction. That is, the buffer is still part of +the sequence of neighbors but it is neither communicated nor updated. + +.sp +.SH NOTES +.ft R +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation. +.sp +The specification of counts and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. Compare this to +MPI_Neighbor_alltoallw, where these offsets are measured in bytes. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Neighbor_alltoall +MPI_Neighbor_alltoallw +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallw.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallw.3 new file mode 100644 index 00000000..911f6c98 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Neighbor_alltoallw.3 @@ -0,0 +1,163 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Neighbor_alltoallw 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Neighbor_alltoallw, MPI_Ineighbor_alltoallw\fP \- All processes send data of different types to, and receive data of different types from, all processes + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Neighbor_alltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const MPI_Aint \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const MPI_Aint \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP) + +int MPI_Ineighbor_alltoallw(const void *\fIsendbuf\fP, const int \fIsendcounts\fP[], + const MPI_Aint \fIsdispls\fP[], const MPI_Datatype \fIsendtypes\fP[], + void *\fIrecvbuf\fP, const int \fIrecvcounts\fP[], const MPI_Aint \fIrdispls\fP[], + const MPI_Datatype \fIrecvtypes\fP[], MPI_Comm \fIcomm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.2i +sendbuf +Starting address of send buffer. +.TP 1.2i +sendcounts +Integer array, where entry i specifies the number of elements to send +to neighbor i. +.TP 1.2i +sdispls +Integer array, where entry i specifies the displacement (in bytes, +offset from \fIsendbuf\fP) from which to send data to neighbor i. +.TP 1.2i +sendtypes +Datatype array, where entry i specifies the datatype to use when +sending data to neighbor i. +.TP 1.2i +recvcounts +Integer array, where entry j specifies the number of elements to +receive from neighbor j. +.TP 1.2i +rdispls +Integer array, where entry j specifies the displacement (in bytes, +offset from \fIrecvbuf\fP) to which data from neighbor j should +be written. +.TP 1.2i +recvtypes +Datatype array, where entry j specifies the datatype to use when +receiving data from neighbor j. +.TP 1.2i +comm +Communicator over which data is to be exchanged. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1.2i +recvbuf +Address of receive buffer. +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1.2i +IERROR +Fortran only: Error status. + +.SH DESCRIPTION +.ft R +MPI_Neighbor_alltoallw is a generalized collective operation in which all +processes send data to and receive data from all neighbors. It +adds flexibility to MPI_Neighbor_alltoallv by allowing the user to specify the +datatype of individual data blocks (in addition to displacement and +element count). Its operation can be thought of in the following way, +where each process performs 2n (n being the number of neighbors in +the topology of communicator \fIcomm\fP) independent point-to-point communications. +The neighbors and buffer layout are determined by the topology of \fIcomm\fP. +.sp +.nf + MPI_Cart_get(\fIcomm\fP, maxdims, dims, periods, coords); + for (dim = 0, i = 0 ; dim < dims ; ++dim) { + MPI_Cart_shift(\fIcomm\fP, dim, 1, &r0, &r1); + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtypes\fP[i], r0, ..., \fIcomm\fP, ...); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtypes\fP[i], r0, ..., \fIcomm\fP, ...); + ++i; + MPI_Isend(\fIsendbuf\fP + \fIsdispls\fP[i] * extent(\fIsendtype\fP), + \fIsendcount\fP, \fIsendtypes\fP[i], r1, ..., \fIcomm\fP, &req[i]); + MPI_Irecv(\fIrecvbuf\fP + \fIrdispls\fP[i] * extent(\fIrecvtype\fP), + \fIrecvcount\fP, \fIrecvtypes\fP[i], r1, ..., \fIcomm\fP, ...); + ++i; + } + + MPI_Wait_all (...); + + MPI_Comm_size(\fIcomm\fP, &n); + for (i = 0, i < n; i++) + MPI_Send(\fIsendbuf\fP + \fIsdispls\fP[i], \fIsendcounts\fP[i], + \fIsendtypes\fP[i], i, ..., \fIcomm\fP); + for (i = 0, i < n; i++) + MPI_Recv(\fIrecvbuf\fP + \fIrdispls\fP[i], \fIrecvcounts\fP[i], + \fIrecvtypes\fP[i], i, ..., \fIcomm\fP); +.fi +.sp +Process j sends the k-th block of its local \fIsendbuf\fP to neighbor +k, which places the data in the j-th block of its local +\fIrecvbuf\fP. +.sp +When a pair of processes exchanges data, each may pass different +element count and datatype arguments so long as the sender specifies +the same amount of data to send (in bytes) as the receiver expects +to receive. +.sp +Note that process i may send a different amount of data to process j +than it receives from process j. Also, a process may send entirely +different amounts and types of data to different processes in the +communicator. + +.sp +.SH NOTES +.ft R +The MPI_IN_PLACE option for \fIsendbuf\fP is not meaningful for this operation +.sp +The specification of counts, types, and displacements should not cause +any location to be written more than once. +.sp +All arguments on all processes are significant. The \fIcomm\fP argument, +in particular, must describe the same communicator on all processes. +.sp +The offsets of \fIsdispls\fP and \fIrdispls\fP are measured in bytes. +Compare this to MPI_Neighbor_alltoallv, where these offsets are measured in units +of \fIsendtype\fP and \fIrecvtype\fP, respectively. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Neighbor_alltoall +MPI_Neighbor_alltoallv +MPI_Cart_create +MPI_Graph_create +MPI_Dist_graph_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_commutative.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_commutative.3 new file mode 100644 index 00000000..8b6ab39a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_commutative.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2015 FUJITSU LIMITED. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Op_commutative 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Op_commutative\fP \- Query of commutativity of reduction operation. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Op_commutative(MPI_Op \fIop\fP, int *\fIcommute\fP) + +.fi +.SH INPUT PARAMETER +.TP 1i +op +Operation (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +commute +True if op is commutative, false otherwise (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Reduction operations can be queried for their commutativity. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Op_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_create.3 new file mode 100644 index 00000000..b78d4e9d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_create.3 @@ -0,0 +1,169 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Op_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Op_create\fP \- Creates a user-defined combination function handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Op_create(MPI_User_function *\fIfunction\fP, int\fI commute\fP, + MPI_Op *\fIop\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +function +User-defined function (function). +.TP 1i +commute +True if commutative; false otherwise. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +op +Operation (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Op_create binds a user-defined global operation to an op handle that can subsequently be used in MPI_Reduce, MPI_Allreduce, MPI_Reduce_scatter, and MPI_Scan. The user-defined operation is assumed to be associative. If commute = true, then the operation should be both commutative and associative. If commute = false, then the order of operands is fixed and is defined to be in ascending, process rank order, beginning with process zero. The order of evaluation can be changed, taking advantage of the associativity of the operation. If commute = true then the order of evaluation can be changed, taking advantage of commutativity and associativity. +.sp +\fIfunction\fP is the user-defined function, which must have the following four arguments: invec, inoutvec, len, and datatype. + +.sp +The ANSI-C prototype for the function is the following: +.sp +.nf + typedef void MPI_User_function(void *invec, void *inoutvec, + int *len, + MPI_Datatype *datatype); +.fi +.sp +The Fortran declaration of the user-defined function appears below. +.sp +.nf + FUNCTION USER_FUNCTION( INVEC(*), INOUTVEC(*), LEN, TYPE) + INVEC(LEN), INOUTVEC(LEN) + INTEGER LEN, TYPE +.fi +.sp +The datatype argument is a handle to the data type that was passed into the +call to MPI_Reduce. The user reduce function should be written such that +the following holds: Let u[0],\ ...,\ u[len-1] be the len elements in the communication buffer described by the arguments invec, len, and datatype when the function is invoked; let v[0],\ ...,\ v[len-1] be len elements in the communication buffer described by the arguments inoutvec, len, and datatype when the function is invoked; let w[0],\ ...,\ w[len-1] be len elements in the communication buffer described by the arguments inoutvec, len, and datatype when the function returns; then w[i] = u[i] o v[i], for i=0\ ,...,\ len-1, where o is the reduce operation that the function computes. +.sp +Informally, we can think of invec and inoutvec as arrays of len elements +that function is combining. The result of the reduction over-writes values +in inoutvec, hence the name. Each invocation of the function results in the +pointwise evaluation of the reduce operator on len elements: i.e, the +function returns in inoutvec[i] the value invec[i] o inoutvec[i], for i = +0\,...,\ count-1, where o is the combining operation computed by the function. +.sp +By internally comparing the value of the datatype argument to known, global handles, it is possible to overload the use of a single user-defined function for several different data types. +.sp +General datatypes may be passed to the user function. However, use of datatypes that are not contiguous is likely to lead to inefficiencies. +.sp +No MPI communication function may be called inside the user function. +MPI_Abort may be called inside the function in case of an error. + +.SH NOTES +Suppose one defines a library of user-defined reduce +functions that are overloaded: The datatype argument is used to select the right execution path at each invocation, according to the types of the operands. The user-defined reduce function cannot "decode" the datatype argument that it is passed, and cannot identify, by itself, the correspondence between the datatype handles and the datatype they represent. This correspondence was established when the datatypes were created. Before the library is used, a library initialization preamble must be executed. This preamble code will define the datatypes that are used by the library and store handles to these datatypes in global, static variables that are shared by the user code and the library code. + +\fBExample:\fP Example of user-defined reduce: +.sp +Compute the product of an array of complex numbers, in C. +.sp +.nf + typedef struct { + double real,imag; + } Complex; + + /* the user-defined function + */ + void myProd( Complex *in, Complex *inout, int *len, + MPI_Datatype *dptr ) + { + int i; + Complex c; + + for (i=0; i< *len; ++i) { + c.real = inout->real*in->real - + inout->imag*in->imag; + c.imag = inout->real*in->imag + + inout->imag*in->real; + *inout = c; + in++; inout++; + } + } + + /* and, to call it\&... + */ + \&... + + /* each process has an array of 100 Complexes + */ + Complex a[100], answer[100]; + MPI_Op myOp; + MPI_Datatype ctype; + + /* explain to MPI how type Complex is defined + */ + MPI_Type_contiguous( 2, MPI_DOUBLE, &ctype ); + MPI_Type_commit( &ctype ); + /* create the complex-product user-op + */ + MPI_Op_create( myProd, True, &myOp ); + + MPI_Reduce( a, answer, 100, ctype, myOp, root, comm ); + + /* At this point, the answer, which consists of 100 Complexes, + * resides on process root + */ +.fi +.sp +The Fortran version of MPI_Reduce will invoke a user-defined reduce function using the Fortran calling conventions and will pass a Fortran-type datatype argument; the C version will use C calling convention and the C representation of a datatype handle. Users who plan to mix languages should define their reduction functions accordingly. + +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Reduce +MPI_Reduce_scatter +MPI_Allreduce +MPI_Scan +MPI_Op_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Op_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Op_free.3 new file mode 100644 index 00000000..d432d688 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Op_free.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Op_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Op_free\fP \- Frees a user-defined combination function handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Op_free(MPI_Op *\fIop\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.TP 1i +op +Operation (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Marks a user-defined reduction operation for deallocation and sets \fIop\fP to MPI_OP_NULL. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.sp +MPI_Op_create +.br +MPI_Reduce +.br +MPI_Allreduce +.br +MPI_Reduce_scatter +.br +MPI_Scan + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Open_port.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Open_port.3 new file mode 100644 index 00000000..98e75310 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Open_port.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Open_port 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Open_port\fP \- Establishes a network address for a server to accept connections from clients. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Open_port(MPI_Info \fIinfo\fP, char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +info +Options on how to establish an address (handle). No options currently supported. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +port_name +Newly established port (string). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Open_port establishes a network address, encoded in the \fIport_name\fP string, at which the server will be able to accept connections from clients. \fIport_name\fP is supplied by the system. +.sp +MPI copies a system-supplied port name into \fIport_name\fP. \fIport_name\fP identifies the newly opened port and can be used by a client to contact the server. The maximum size string that may be supplied by the system is MPI_MAX_PORT_NAME. + +.SH SUPPORTED INFO KEYS +None. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Comm_accept +MPI_Comm_connect +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 new file mode 100644 index 00000000..2444b302 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Pack\fP \- Packs data of a given datatype into contiguous memory. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Pack(const void *\fIinbuf\fP, int\fI incount\fP, MPI_Datatype\fI datatype\fP, + void\fI *outbuf\fP, int\fI outsize\fP, int\fI *position\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +incount +Number of input data items (integer). +.TP 1i +datatype +Datatype of each input data item (handle). +.TP 1i +outsize +Output buffer size, in bytes (integer). +.TP 1i +comm +Communicator for packed message (handle). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in buffer, in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Packs the message in the send buffer specified by \fIinbuf\fP, \fIincount\fP, \fIdatatype\fP into the buffer space specified by \fIoutbuf\fP and \fIoutsize\fP. The input buffer can be any communication buffer allowed in MPI_Send. The output buffer is a contiguous storage area containing \fIoutsize\fP bytes, starting at the address \fIoutbuf\fP (length is counted in bytes, not elements, as if it were a communication buffer for a message of type MPI_Packed). +.sp +The input value of \fIposition\fP is the first location in the output buffer to be used for packing. \fIposition\fP is incremented by the size of the packed message, and the output value of \fIposition\fP is the first location in the output buffer following the locations occupied by the packed message. The \fIcomm\fP argument is the communicator that will be subsequently used for sending the packed message. +.sp +\fBExample:\fP An example using MPI_Pack: +.sp +.nf + int position, i, j, a[2]; + char buff[1000]; + + \&.... + + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + if (myrank == 0) + { + / * SENDER CODE */ + + position = 0; + MPI_Pack(&i, 1, MPI_INT, buff, 1000, &position, MPI_COMM_WORLD); + MPI_Pack(&j, 1, MPI_INT, buff, 1000, &position, MPI_COMM_WORLD); + MPI_Send( buff, position, MPI_PACKED, 1, 0, MPI_COMM_WORLD); + } + else /* RECEIVER CODE */ + MPI_Recv( a, 2, MPI_INT, 0, 0, MPI_COMM_WORLD) + + } + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Unpack +.br +MPI_Pack_size + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external.3 new file mode 100644 index 00000000..3f515fc8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external.3 @@ -0,0 +1,179 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack_external 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Pack_external\fP \- Writes data to a portable format + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Pack_external(const char *\fIdatarep\fP, const void *\fIinbuf\fP, + int \fIincount\fP, MPI_Datatype\fI datatype\fP, + void *\fIoutbuf\fP, MPI_Aint \fIoutsize\fP, + MPI_Aint *\fIposition\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data representation (string). +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +incount +Number of input data items (integer). +.TP 1i +datatype +Datatype of each input data item (handle). +.TP 1i +outsize +Output buffer size, in bytes (integer). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in buffer, in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Pack_external packs data into the external32 format, a universal +data representation defined by the MPI Forum. This format is useful +for exchanging data between MPI implementations, or when writing data +to a file. +.sp +The input buffer is specified by \fIinbuf\fP, \fIincount\fP and +\fIdatatype\fP, and may be any communication buffer allowed in +MPI_Send. The output buffer \fIoutbuf\fP must be a contiguous storage +area containing \fIoutsize\fP bytes. +.sp +The input value of \fIposition\fP is the first position in +\fIoutbuf\fP to be used for packing (measured in bytes, not elements, +relative to the start of the buffer). When the function returns, +\fIposition\fP is incremented by the size of the packed message, so +that it points to the first location in \fIoutbuf\fP following the +packed message. This way it may be used as input to a subsequent call +to MPI_Pack_external. +.sp + +\fBExample:\fP An example using MPI_Pack_external: +.sp +.nf + int position, i; + double msg[5]; + char buf[1000]; + + \&... + + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + if (myrank == 0) { /* SENDER CODE */ + position = 0; + i = 5; /* number of doubles in msg[] */ + MPI_Pack_external("external32", &i, 1, MPI_INT, + buf, 1000, &position); + MPI_Pack_external("external32", &msg, i, MPI_DOUBLE, + buf, 1000, &position); + MPI_Send(buf, position, MPI_BYTE, 1, 0, + MPI_COMM_WORLD); + } else { /* RECEIVER CODE */ + MPI_Recv(buf, 1, MPI_BYTE, 0, 0, MPI_COMM_WORLD, + MPI_STATUS_IGNORE); + MPI_Unpack_external("external32", buf, 1000, + MPI_INT, &i, 1, &position); + MPI_Unpack_external("external32", buf, 1000, + MPI_DOUBLE, &msg, i, &position); + } + +.fi +.SH NOTES +.ft R +The \fIdatarep\fP argument specifies the data format. The only valid +value in the current version of MPI is "external32". The argument is +provided for future extensibility. +.sp +To understand the behavior of pack and unpack, it is convenient to +think of the data part of a message as being the sequence obtained by +concatenating the successive values sent in that message. The pack +operation stores this sequence in the buffer space, as if sending the +message to that buffer. The unpack operation retrieves this sequence +from buffer space, as if receiving a message from that buffer. (It is +helpful to think of internal Fortran files or sscanf in C for a +similar function.) +.sp +Several messages can be successively packed into one packing +unit. This is effected by several successive related calls to +MPI_Pack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of \fIposition\fP that was +output by the previous call, along with the same values for +\fIoutbuf\fP and \fIoutcount\fP. This packing unit now contains the +equivalent information that would have been stored in a message by one +send call with a send buffer that is the "concatenation" of the +individual send buffers. +.sp +A packing unit can be sent using type MPI_BYTE. Any point-to-point +or collective communication function can be used to move the sequence +of bytes that forms the packing unit from one process to another. This +packing unit can now be received using any receive operation, with any +datatype. (The type-matching rules are relaxed for messages sent with +type MPI_BYTE.) +.sp +A packing unit can be unpacked into several successive messages. This +is effected by several successive related calls to +MPI_Unpack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of position that was output +by the previous call, and the same values for \fIinbuf\fP and +\fIinsize\fP. +.sp +The concatenation of two packing units is not necessarily a packing +unit; nor is a substring of a packing unit necessarily a packing +unit. Thus, one cannot concatenate two packing units and then unpack +the result as one packing unit; nor can one unpack a substring of a +packing unit as a separate packing unit. Each packing unit that was +created by a related sequence of pack calls must be unpacked as a unit +by a sequence of related unpack calls. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external_size +MPI_Send +MPI_Unpack_external +sscanf(3C) + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external_size.3 new file mode 100644 index 00000000..ff2b7966 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_external_size.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack_external_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Pack_external_size\fP \- Calculates upper bound on space needed +to write to a portable format + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Pack_external_size(char *\fIdatarep\fP, int \fIincount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Aint *\fIsize\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data representation (string). +.TP 1i +incount +Number of input data items (integer). +.TP 1i +datatype +Datatype of each input data item (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Upper bound on size of packed message, in bytes (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Pack_external_size allows the application to find out how much +space is needed to pack a message in the portable format defined by +the MPI Forum. It returns in \fIsize\fP an upper bound on the +increment in \fIposition\fP that would occur in a call to +MPI_Pack_external with the same values for \fIdatarep\fP, +\fIincount\fP, and \fIdatatype\fP. +.sp +The call returns an upper bound, rather than an exact bound, as the +exact amount of space needed to pack the message may depend on context +and alignment (e.g., the first message packed in a packing unit may +take more space). + +.SH NOTES +.ft R +The \fIdatarep\fP argument specifies the data format. The only valid +value in the current version of MPI is "external32". The argument is +provided for future extensibility. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Unpack_external + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pack_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_size.3 new file mode 100644 index 00000000..780a4a7f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pack_size.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pack_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Pack_size\fP \- Returns the upper bound on the amount of space needed to pack a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Pack_size(int \fIincount\fP, MPI_Datatype\fI datatype\fP, MPI_Comm\fI comm\fP, + int\fI *size\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +incount +Count argument to packing call (integer). +.TP 1i +datatype +Datatype argument to packing call (handle). +.TP 1i +comm +Communicator argument to packing call (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Upper bound on size of packed message, in bytes (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Pack_size allows the application to find out how much space is needed to pack a message. A call to MPI_Pack_size(incount, datatype, comm, size) returns in size an +upper bound on the increment in position that would occur in a call to MPI_Pack, with the same values for \fIincount\fP, \fIdatatype\fP, and \fIcomm\fP. +.sp +\fBRationale:\fP The call returns an upper bound, rather than an exact bound, since the exact amount of space needed to pack the message may depend on the context (e.g., first message packed in a packing unit may take more space). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Pack +.br +MPI_Unpack + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Pcontrol.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Pcontrol.3 new file mode 100644 index 00000000..65ff22d7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Pcontrol.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Pcontrol 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Pcontrol\fP \- Controls profiling. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Pcontrol(const int \fIlevel\fP, \&... ) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +level +Profiling level. + +.SH DESCRIPTION +.ft R +MPI libraries themselves make no use of this routine; they simply return immediately to the user code. However the presence of calls to this routine allows a profiling package to be explicitly called by the user. +.sp +Since MPI has no control of the implementation of the profiling code, we are unable to specify precisely the semantics that will be provided by calls to MPI_Pcontrol. This vagueness extends to the number of arguments to the function, and their datatypes. +.sp +However to provide some level of portability of user codes to different +profiling libraries, we request the following meanings for certain values of level: +.TP + o +level==0 Profiling is disabled. +.TP + o +level==1 Profiling is enabled at a normal default level of detail. +.TP + o +level==2 Profile buffers are flushed. (This may be a no-op in some +profilers). +.TP + o +All other values of level have profile library-defined effects and additional arguments. +.LP +.sp +We also request that the default state after MPI_Init has been called is for profiling to be enabled at the normal default level (i.e., as if MPI_Pcontrol had just been called with the argument 1). This allows users to link with a profiling library and obtain profile output without having to modify their source code at all. +.sp +The provision of MPI_Pcontrol as a no-op in the standard MPI library allows users to modify their source code to obtain more detailed profiling information, but still be able to link exactly the same code against the standard MPI library. + +.SH NOTES +.ft R +This routine provides a common interface for profiling control. The interpretation of level and any other arguments is left to the profiling library. +.sp +This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 new file mode 100644 index 00000000..51506758 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Probe.3 @@ -0,0 +1,110 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Probe 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Probe\fP \- Blocking test for a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Probe(int \fIsource\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +source +Source rank or MPI_ANY_SOURCE (integer). +.TP 1i +tag +Tag value or MPI_ANY_TAG (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The MPI_Probe and MPI_Iprobe operations allow checking of incoming messages, without actual receipt of them. The user can then decide how to receive them, based on the information returned by the probe in the status variable. For example, the user may allocate memory for the receive buffer, according to the length of the probed message. +.sp +MPI_Probe behaves like MPI_Iprobe except that it is a blocking call that returns only after a matching message has been found. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +The semantics of MPI_Probe and MPI_Iprobe guarantee progress: If a call to MPI_Probe has been issued by a process, and a send that matches the probe has been initiated by some process, then the call to MPI_Probe will return, unless the message is received by another concurrent receive operation (that is executed by another thread at the probing process). Similarly, if a process busy waits with MPI_Iprobe and a matching message has been issued, then the call to MPI_Iprobe will eventually return flag = true unless the message is received by another concurrent receive operation. +.sp +\fBExample 1:\fP Use blocking probe to wait for an incoming message. +.sp +.nf +CALL MPI_COMM_RANK(comm, rank, ierr) + IF (rank.EQ.0) THEN + CALL MPI_SEND(i, 1, MPI_INTEGER, 2, 0, comm, ierr) + ELSE IF(rank.EQ.1) THEN + CALL MPI_SEND(x, 1, MPI_REAL, 2, 0, comm, ierr) + ELSE ! rank.EQ.2 + DO i=1, 2 + CALL MPI_PROBE(MPI_ANY_SOURCE, 0, + comm, status, ierr) + IF (status(MPI_SOURCE) = 0) THEN +100 CALL MPI_RECV(i, 1, MPI_INTEGER, 0, 0, status, ierr) + ELSE +200 CALL MPI_RECV(x, 1, MPI_REAL, 1, 0, status, ierr) + END IF + END DO + END IF +.fi +.sp +Each message is received with the right type. +.sp +\fBExample 2:\fP A program similar to the previous example, but with a problem. +.sp +.nf +CALL MPI_COMM_RANK(comm, rank, ierr) + IF (rank.EQ.0) THEN + CALL MPI_SEND(i, 1, MPI_INTEGER, 2, 0, comm, ierr) + ELSE IF(rank.EQ.1) THEN + CALL MPI_SEND(x, 1, MPI_REAL, 2, 0, comm, ierr) + ELSE + DO i=1, 2 + CALL MPI_PROBE(MPI_ANY_SOURCE, 0, + comm, status, ierr) + IF (status(MPI_SOURCE) = 0) THEN +100 CALL MPI_RECV(i, 1, MPI_INTEGER, MPI_ANY_SOURCE, + 0, status, ierr) + ELSE +200 CALL MPI_RECV(x, 1, MPI_REAL, MPI_ANY_SOURCE, + 0, status, ierr) + END IF + END DO + END IF +.fi +.sp +We slightly modified Example 2, using MPI_ANY_SOURCE as the source argument in the two receive calls in statements labeled 100 and 200. The program is now incorrect: The receive operation may receive a message that is distinct from the message probed by the preceding call to MPI_Probe. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Iprobe +.br +MPI_Cancel + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Publish_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Publish_name.3 new file mode 100644 index 00000000..85e10b72 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Publish_name.3 @@ -0,0 +1,151 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Publish_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Publish_name\fP \- Publishes a service name associated with a port + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Publish_name(const char *\fIservice_name\fP, MPI_Info \fIinfo\fP, + const char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +service_name +A service name (string). +.TP 1.4i +info +Options to the name service functions (handle). +.ft R +.TP 1.4i +port_name +A port name (string). + +.SH OUTPUT PARAMETER +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine publishes the pair (\fIservice_name, port_name\fP) so that +an application may retrieve \fIport_name\fP by calling MPI_Lookup_name +with \fIservice_name\fP as an argument. It is an error to publish the same +\fIservice_name\fP twice, or to use a \fIport_name\fP argument that was +not previously opened by the calling process via a call to MPI_Open_port. + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized: +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +ompi_global_scope bool If set to true, publish the name in + the global scope. Publish in the local + scope otherwise. See the NAME SCOPE + section for more details. + +ompi_unique bool If set to true, return an error if the + specified service_name already exists. + Default to overwriting any pre-existing + value. +.fi + +.sp +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. +.PP +If no info key is provided, the function will first check to see if a +global server has been specified and is available. If so, then the +publish function will default to global scope first, followed by local. Otherwise, +the data will default to publish with local scope. + +.SH NAME SCOPE +Open MPI supports two name scopes: \fIglobal\fP and \fIlocal\fP. Local scope will +place the specified service/port pair in a data store located on the +mpirun of the calling process' job. Thus, data published with local +scope will only be accessible to processes in jobs spawned by that +mpirun - e.g., processes in the calling process' job, or in jobs +spawned via MPI_Comm_spawn. +.sp +Global scope places the specified service/port pair in a data store +located on a central server that is accessible to all jobs running +in the cluster or environment. Thus, data published with global +scope can be accessed by multiple mpiruns and used for MPI_Comm_Connect +and MPI_Comm_accept between jobs. +.sp +Note that global scope operations require both the presence of the +central server and that the calling process be able to communicate +to that server. MPI_Publish_name will return an error if global +scope is specified and a global server is either not specified or +cannot be found. +.sp +Open MPI provides a server called \fIompi-server\fP to support global +scope operations. Please refer to its manual page for a more detailed +description of data store/lookup operations. +.sp +As an example of the impact of these scoping rules, consider the case +where a job has been started with +mpirun - call this job "job1". A process in job1 creates and publishes +a service/port pair using a local scope. Open MPI will store this +data in the data store within mpirun. +.sp +A process in job1 (perhaps the same as did the publish, or perhaps +some other process in the job) subsequently calls MPI_Comm_spawn to +start another job (call it "job2") under this mpirun. Since the two +jobs share a common mpirun, both jobs have access to local scope data. Hence, +a process in job2 can perform an MPI_Lookup_name with a local scope +to retrieve the information. +.sp +However, assume another user starts a job using mpirun - call +this job "job3". Because the service/port data published by job1 specified +local scope, processes in job3 cannot access that data. In contrast, if the +data had been published using global scope, then any process in job3 could +access the data, provided that mpirun was given knowledge of how to contact +the central server and the process could establish communication +with it. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Lookup_name +MPI_Open_port + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Put.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Put.3 new file mode 100644 index 00000000..cf2891c8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Put.3 @@ -0,0 +1,111 @@ +.\" -*- nroff -*- +.\" Copyright 2013-2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Put 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Put\fP, \fBMPI_Rput\fP \- Copies data from the origin memory to the target. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Put(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP) + +MPI_Rput(const void *\fIorigin_addr\fP, int \fIorigin_count\fP, MPI_Datatype + \fIorigin_datatype\fP, int \fItarget_rank\fP, MPI_Aint \fItarget_disp\fP, + int \fItarget_count\fP, MPI_Datatype \fItarget_datatype\fP, MPI_Win \fIwin\fP, + MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +origin_addr +Initial address of origin buffer (choice). +.TP 1i +origin_count +Number of entries in origin buffer (nonnegative integer). +.TP 1i +origin_datatype +Data type of each entry in origin buffer (handle). +.TP 1i +target_rank +Rank of target (nonnegative integer). +.TP 1i +target_disp +Displacement from start of window to target buffer (nonnegative integer). +.TP 1i +target_count +Number of entries in target buffer (nonnegative integer). +.TP 1i +target_datatype +Data type of each entry in target buffer (handle). +.TP 1i +win +Window object used for communication (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +request +MPI_Rput: RMA request +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Put\fP transfers \fIorigin_count\fP successive entries of the type specified by \fIorigin_datatype\fP, starting at address \fIorigin_addr\fP on the origin node to the target node specified by the \fIwin\fP, \fItarget_rank\fP pair. The data are written in the target buffer at address \fItarget_addr\fP = \fIwindow_base\fP + \fItarget_disp\fP x \fIdisp_unit\fP, where \fIwindow_base\fP and \fIdisp_unit\fP are the base address and window displacement unit specified at window initialization, by the target process. +.sp +The target buffer is specified by the arguments \fItarget_count\fP and \fItarget_datatype\fP. +.sp +The data transfer is the same as that which would occur if the origin process executed a send operation with arguments \fIorigin_addr\fP, \fIorigin_count\fP, \fIorigin_datatype\fP, \fItarget_rank\fP, \fItag\fP, \fIcomm\fP, and the target process executed a receive operation with arguments \fItarget_addr\fP, \fItarget_count\fP, \fItarget_datatype\fP, \fIsource\fP, \fItag\fP, \fIcomm\fP, where \fItarget_addr\fP is the target buffer address computed as explained above, and \fIcomm\fP is a communicator for the group of \fIwin\fP. +.sp +The communication must satisfy the same constraints as for a similar message-passing communication. The \fItarget_datatype\fP may not specify overlapping entries in the target buffer. The message sent must fit, without truncation, in the target buffer. Furthermore, the target buffer must fit in the target window. In addition, only processes within the same buffer can access the target window. +.sp +The \fItarget_datatype\fP argument is a handle to a datatype object defined at the origin process. However, this object is interpreted at the target process: The outcome is as if the target datatype object were defined at the target process, by the same sequence of calls used to define it at the origin process. The target data type must contain only relative displacements, not absolute addresses. The same holds for get and accumulate. +.sp +\fBMPI_Rput\fP is similar to \fBMPI_Put\fP, except that it allocates a communication request object and associates it with the request handle (the argument \fIrequest\fP). The completion of an MPI_Rput operation (i.e., after the corresponding test or wait) indicates that the sender is now free to update the locations in the \fIorigin_addr\fP buffer. It does not indicate that the data is available at the target window. If remote completion is required, \fBMPI_Win_flush\fP, \fBMPI_Win_flush_all\fP, \fBMPI_Win_unlock\fP, or \fBMPI_Win_unlock_all\fP can be used. + +.SH NOTES +The \fItarget_datatype\fP argument is a handle to a datatype object that is defined at the origin process, even though it defines a data layout in the target process memory. This does not cause problems in a homogeneous or heterogeneous environment, as long as only portable data types are used (portable data types are defined in Section 2.4 of the MPI-2 Standard). +.sp +The performance of a put transfer can be significantly affected, on some systems, from the choice of window location and the shape and location of the origin and target buffer: Transfers to a target window in memory allocated by MPI_Alloc_mem may be much faster on shared memory systems; transfers from contiguous buffers will be faster on most, if not all, systems; the alignment of the communication buffers may also impact performance. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITARGET_DISP\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITARGET_DISP\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Get +MPI_Rget +.br +MPI_Accumulate +MPI_Win_flush +MPI_Win_flush_all +MPI_Win_unlock +MPI_Win_unlock_all + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Query_thread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Query_thread.3 new file mode 100644 index 00000000..3c9b2d5c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Query_thread.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Query_thread 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Query_thread\fP \- Returns the current level of thread support + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Query_thread(int *\fIprovided\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +provided +C/Fortran only: Level of thread support (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine returns in \fIprovided\fP the current level of thread +support. If MPI was initialized by a call to MPI_Init_thread, +\fIprovided\fP will have the same value as was returned by that +function. +.sp +The possible values of \fIprovided\fP are as follows: +.TP 2.4i +MPI_THREAD_SINGLE +Only one thread may execute. +.TP 2.4i +MPI_THREAD_FUNNELED +If the process is multithreaded, only the thread +that called MPI_Init[_thread] may make MPI calls. +.TP 2.4i +MPI_THREAD_SERIALIZED +If the process is multithreaded, only one thread +may make MPI library calls at one time. +.TP 2.4i +MPI_THREAD_MULTIPLE +If the process is multithreaded, multiple threads +may call MPI at once with no restrictions. + +.SH NOTES +.ft R +In Open MPI, \fIprovided\fP is always MPI_THREAD_SINGLE, unless the +program has been linked with the multithreaded library, in which case +\fIprovided\fP is MPI_THREAD_MULTIPLE. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Init +MPI_Init_thread + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Raccumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Raccumulate.3 new file mode 100644 index 00000000..d1e293cc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Raccumulate.3 @@ -0,0 +1 @@ +.so man3/MPI_Accumulate.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 new file mode 100644 index 00000000..a3159239 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Recv.3 @@ -0,0 +1,93 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Recv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Recv\fP \- Performs a standard-mode blocking receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Recv(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI source\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Maximum number of elements to receive (integer). +.TP 1i +datatype +Datatype of each receive buffer entry (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of receive buffer (choice). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This basic receive operation, MPI_Recv, is blocking: it returns only after the receive buffer contains the newly received message. A receive can complete before the matching send has completed (of course, it can complete only after the matching send has started). +.sp +The blocking semantics of this call are described in Section 3.4 of the MPI-1 Standard, "Communication Modes." +.sp +The receive buffer contains a number (defined by the value of \fIcount\fP) of consecutive elements. The first element in the set of elements is located at \fIaddress_buf\fP. The type of each of these elements is specified by \fIdatatype\fP. +.sp +The length of the received message must be less than or equal to the length of the receive buffer. An MPI_ERR_TRUNCATE is returned upon the overflow condition. +.sp +If a message that is shorter than the length of the receive buffer arrives, then only +those locations corresponding to the (shorter) received message are modified. + +.SH NOTES +The \fIcount\fP argument indicates the maximum number of entries of type \fIdatatype\fP that can be received in a message. Once a message is received, use the MPI_Get_count function to determine the actual number of entries within that message. +.sp +To receive messages of unknown length, use the MPI_Probe function. (For more information about MPI_Probe and MPI_Cancel, see their respective man pages; also, see Section 3.8 of the MPI-1 Standard, "Probe and Cancel.") +.sp +A message can be received by a receive operation only if it is addressed to the receiving process, and if its source, tag, and communicator (comm) values match the source, tag, and comm values specified by the receive operation. The receive operation may specify a wildcard value for source and/or tag, indicating that any source and/or tag are acceptable. The wildcard value for source is source = MPI_ANY_SOURCE. The wildcard value for tag is tag = MPI_ANY_TAG. There is no wildcard value for comm. The scope of these wildcards is limited to the proceses in the group of the specified communicator. +.sp +The message tag is specified by the tag argument of the receive operation. +.sp +The argument source, if different from MPI_ANY_SOURCE, is specified as a rank within the process group associated with that same communicator (remote process group, for intercommunicators). Thus, the range of valid values for the source argument is {0,...,n-1} {MPI_ANY_SOURCE}, where n is the number of processes in this group. +.sp +Note the asymmetry between send and receive operations: A receive operation may accept messages from an arbitrary sender; on the other hand, a send operation must specify a unique receiver. This matches a "push" communication mechanism, where data transfer is effected by the sender (rather than a "pull" mechanism, where data transfer is effected by the receiver). +.sp +Source = destination is allowed, that is, a process can send a message to itself. However, it is not recommended for a process to send messages to itself using the blocking send and receive operations described above, since this may lead to deadlock. See Section 3.5 of the MPI-1 Standard, "Semantics of Point-to-Point Communication." +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Irecv +MPI_Probe + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Recv_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Recv_init.3 new file mode 100644 index 00000000..a49493a8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Recv_init.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Recv_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Recv_init\fP \- Builds a handle for a receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Recv_init(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI source\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Maximum number of elements to receive (integer). +.TP 1i +datatype +Type of each entry (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH INPUT/OUTPUT PARAMETER +.TP 1i +buf +Initial address of receive buffer (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a receive operation. The argument \fIbuf\fP is marked as OUT because the user gives permission to write on the receive buffer by passing the argument to MPI_Recv_init. +.sp +A persistent communication request is inactive after it is created -- no active communication is attached to the request. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start or MPI_Startall. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Rsend_init +.br +MPI_Send_init +.br +MPI_Sssend_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce.3 new file mode 100644 index 00000000..36c0d687 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce.3 @@ -0,0 +1,432 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce, MPI_Ireduce\fP \- Reduces values on all processes within a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, int\fI root\fP, + MPI_Comm\fI comm\fP) + +int MPI_Ireduce(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, int\fI root\fP, + MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (integer). +.TP 1i +datatype +Data type of elements of send buffer (handle). +.TP 1i +op +Reduce operation (handle). +.TP 1i +root +Rank of root process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice, significant only at root). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The global reduce functions (MPI_Reduce, MPI_Op_create, MPI_Op_free, MPI_Allreduce, MPI_Reduce_scatter, MPI_Scan) perform a global reduce operation (such as sum, max, logical AND, etc.) across all the members of a group. The reduction operation can be either one of a predefined list of operations, or a user-defined operation. The global reduction functions come in several flavors: a reduce that returns the result of the reduction at one node, an all-reduce that returns this result at all nodes, and a scan (parallel prefix) operation. In addition, a reduce-scatter operation combines the functionality of a reduce and a scatter operation. +.sp +MPI_Reduce combines the elements provided in the input buffer of each process in the group, using the operation op, and returns the combined value in the output buffer of the process with rank root. The input buffer is defined by the arguments sendbuf, count, and datatype; the output buffer is defined by the arguments recvbuf, count, and datatype; both have the same number of elements, with the same type. The routine is called by all group members using the same arguments for count, datatype, op, root, and comm. Thus, all processes provide input buffers and output buffers of the same length, with elements of the same type. Each process can provide one element, or a sequence of elements, in which case the combine operation is executed element-wise on each entry of the sequence. For example, if the operation is MPI_MAX and the send buffer contains two elements that are floating-point numbers (count = 2 and datatype = MPI_FLOAT), then recvbuf(1) = global max (sendbuf(1)) and recvbuf(2) = global max(sendbuf(2)). +.sp +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a reduce operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the root process \fIsendbuf\fR. In this case, the input data is taken at the root from the receive buffer, where it will be replaced by the output data. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group combines data from all the processes in the second group and then performs the \fIop\fR operation. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. Only the send buffer arguments are significant in the second group, and only the receive buffer arguments are significant in the root process of the first group. +.sp +.SH PREDEFINED REDUCE OPERATIONS +.sp +The set of predefined operations provided by MPI is listed below (Predefined Reduce Operations). That section also enumerates the datatypes each operation can be applied to. In addition, users may define their own operations that can be overloaded to operate on several datatypes, either basic or derived. This is further explained in the description of the user-defined operations (see the man pages for MPI_Op_create and MPI_Op_free). +.sp +The operation op is always assumed to be associative. All predefined operations are also assumed to be commutative. Users may define operations that are assumed to be associative, but not commutative. The ``canonical'' evaluation order of a reduction is determined by the ranks of the processes in the group. However, the implementation can take advantage of associativity, or associativity and commutativity, in order to change the order of evaluation. This may change the result of the reduction for operations that are not strictly associative and commutative, such as floating point addition. +.sp +Predefined operators work only with the MPI types listed below (Predefined Reduce Operations, and the section MINLOC and MAXLOC, below). User-defined operators may operate on general, derived datatypes. In this case, each argument that the reduce operation is applied to is one element described by such a datatype, which may contain several basic values. This is further explained in Section 4.9.4 of the MPI Standard, "User-Defined Operations." + +The following predefined operations are supplied for MPI_Reduce and related functions MPI_Allreduce, MPI_Reduce_scatter, and MPI_Scan. These operations are invoked by placing the following in op: +.sp +.nf + Name Meaning + --------- -------------------- + MPI_MAX maximum + MPI_MIN minimum + MPI_SUM sum + MPI_PROD product + MPI_LAND logical and + MPI_BAND bit-wise and + MPI_LOR logical or + MPI_BOR bit-wise or + MPI_LXOR logical xor + MPI_BXOR bit-wise xor + MPI_MAXLOC max value and location + MPI_MINLOC min value and location +.fi +.sp +The two operations MPI_MINLOC and MPI_MAXLOC are discussed separately below (MINLOC and MAXLOC). For the other predefined operations, we enumerate below the allowed combinations of op and datatype arguments. First, define groups of MPI basic datatypes in the following way: +.sp +.nf + C integer: MPI_INT, MPI_LONG, MPI_SHORT, + MPI_UNSIGNED_SHORT, MPI_UNSIGNED, + MPI_UNSIGNED_LONG + Fortran integer: MPI_INTEGER + Floating-point: MPI_FLOAT, MPI_DOUBLE, MPI_REAL, + MPI_DOUBLE_PRECISION, MPI_LONG_DOUBLE + Logical: MPI_LOGICAL + Complex: MPI_COMPLEX + Byte: MPI_BYTE +.fi +.sp +Now, the valid datatypes for each option is specified below. +.sp +.nf + Op Allowed Types + ---------------- --------------------------- + MPI_MAX, MPI_MIN C integer, Fortran integer, + floating-point + + MPI_SUM, MPI_PROD C integer, Fortran integer, + floating-point, complex + + MPI_LAND, MPI_LOR, C integer, logical + MPI_LXOR + + MPI_BAND, MPI_BOR, C integer, Fortran integer, byte + MPI_BXOR +.fi +.sp +\fBExample 1:\fR A routine that computes the dot product of two vectors that are distributed across a group of processes and returns the answer at process zero. +.sp +.nf + SUBROUTINE PAR_BLAS1(m, a, b, c, comm) + REAL a(m), b(m) ! local slice of array + REAL c ! result (at process zero) + REAL sum + INTEGER m, comm, i, ierr + + ! local sum + sum = 0.0 + DO i = 1, m + sum = sum + a(i)*b(i) + END DO + + ! global sum + CALL MPI_REDUCE(sum, c, 1, MPI_REAL, MPI_SUM, 0, comm, ierr) + RETURN +.fi +.sp +\fBExample 2:\fR A routine that computes the product of a vector and an array that are distributed across a group of processes and returns the answer at process zero. +.sp +.nf + SUBROUTINE PAR_BLAS2(m, n, a, b, c, comm) + REAL a(m), b(m,n) ! local slice of array + REAL c(n) ! result + REAL sum(n) + INTEGER n, comm, i, j, ierr + + ! local sum + DO j= 1, n + sum(j) = 0.0 + DO i = 1, m + sum(j) = sum(j) + a(i)*b(i,j) + END DO + END DO + + ! global sum + CALL MPI_REDUCE(sum, c, n, MPI_REAL, MPI_SUM, 0, comm, ierr) + + ! return result at process zero (and garbage at the other nodes) + RETURN + +.fi +.SH MINLOC AND MAXLOC +.ft R +The operator MPI_MINLOC is used to compute a global minimum and also an index attached to the minimum value. MPI_MAXLOC similarly computes a global maximum and index. One application of these is to compute a global minimum (maximum) and the rank of the process containing this value. + +.sp +The operation that defines MPI_MAXLOC is +.sp +.nf + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = max(u, v) + +and + + ( i if u > v + ( + k = ( min(i, j) if u = v + ( + ( j if u < v) + + +MPI_MINLOC is defined similarly: + + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = min(u, v) + +and + + ( i if u < v + ( + k = ( min(i, j) if u = v + ( + ( j if u > v) + + +.fi +.sp + +Both operations are associative and commutative. Note that if MPI_MAXLOC is +applied to reduce a sequence of pairs (u(0), 0), (u(1), 1),\ ..., (u(n-1), +n-1), then the value returned is (u , r), where u= max(i) u(i) and r is +the index of the first global maximum in the sequence. Thus, if each +process supplies a value and its rank within the group, then a reduce +operation with op = MPI_MAXLOC will return the maximum value and the rank +of the first process with that value. Similarly, MPI_MINLOC can be used to +return a minimum and its index. More generally, MPI_MINLOC computes a +lexicographic minimum, where elements are ordered according to the first +component of each pair, and ties are resolved according to the second +component. +.sp +The reduce operation is defined to operate on arguments that consist of a +pair: value and index. For both Fortran and C, types are provided to +describe the pair. The potentially mixed-type nature of such arguments is a +problem in Fortran. The problem is circumvented, for Fortran, by having the +MPI-provided type consist of a pair of the same type as value, and coercing +the index to this type also. In C, the MPI-provided pair type has distinct +types and the index is an int. +.sp +In order to use MPI_MINLOC and MPI_MAXLOC in a reduce operation, one must +provide a datatype argument that represents a pair (value and index). MPI +provides nine such predefined datatypes. The operations MPI_MAXLOC and +MPI_MINLOC can be used with each of the following datatypes: +.sp +.nf + Fortran: + Name Description + MPI_2REAL pair of REALs + MPI_2DOUBLE_PRECISION pair of DOUBLE-PRECISION variables + MPI_2INTEGER pair of INTEGERs + + C: + Name Description + MPI_FLOAT_INT float and int + MPI_DOUBLE_INT double and int + MPI_LONG_INT long and int + MPI_2INT pair of ints + MPI_SHORT_INT short and int + MPI_LONG_DOUBLE_INT long double and int +.fi +.sp +The data type MPI_2REAL is equivalent to: +.nf + MPI_TYPE_CONTIGUOUS(2, MPI_REAL, MPI_2REAL) +.fi +.sp +Similar statements apply for MPI_2INTEGER, MPI_2DOUBLE_PRECISION, and +MPI_2INT. +.sp +The datatype MPI_FLOAT_INT is as if defined by the following sequence of +instructions. +.sp +.nf + type[0] = MPI_FLOAT + type[1] = MPI_INT + disp[0] = 0 + disp[1] = sizeof(float) + block[0] = 1 + block[1] = 1 + MPI_TYPE_STRUCT(2, block, disp, type, MPI_FLOAT_INT) +.fi +.sp +Similar statements apply for MPI_LONG_INT and MPI_DOUBLE_INT. +.sp +\fBExample 3:\fR Each process has an array of 30 doubles, in C. For each of +the 30 locations, compute the value and rank of the process containing the +largest value. +.sp +.nf + \&... + /* each process has an array of 30 double: ain[30] + */ + double ain[30], aout[30]; + int ind[30]; + struct { + double val; + int rank; + } in[30], out[30]; + int i, myrank, root; + + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + for (i=0; i<30; ++i) { + in[i].val = ain[i]; + in[i].rank = myrank; + } + MPI_Reduce( in, out, 30, MPI_DOUBLE_INT, MPI_MAXLOC, root, comm ); + /* At this point, the answer resides on process root + */ + if (myrank == root) { + /* read ranks out + */ + for (i=0; i<30; ++i) { + aout[i] = out[i].val; + ind[i] = out[i].rank; + } + } +.fi +.sp +.fi +\fBExample 4:\fR Same example, in Fortran. +.sp +.nf + \&... + ! each process has an array of 30 double: ain(30) + + DOUBLE PRECISION ain(30), aout(30) + INTEGER ind(30); + DOUBLE PRECISION in(2,30), out(2,30) + INTEGER i, myrank, root, ierr; + + MPI_COMM_RANK(MPI_COMM_WORLD, myrank); + DO I=1, 30 + in(1,i) = ain(i) + in(2,i) = myrank ! myrank is coerced to a double + END DO + + MPI_REDUCE( in, out, 30, MPI_2DOUBLE_PRECISION, MPI_MAXLOC, root, + comm, ierr ); + ! At this point, the answer resides on process root + + IF (myrank .EQ. root) THEN + ! read ranks out + DO I= 1, 30 + aout(i) = out(1,i) + ind(i) = out(2,i) ! rank is coerced back to an integer + END DO + END IF +.fi +.sp +\fBExample 5:\fR Each process has a nonempty array of values. Find the minimum global value, the rank of the process that holds it, and its index on this process. +.sp +.nf + #define LEN 1000 + + float val[LEN]; /* local array of values */ + int count; /* local number of values */ + int myrank, minrank, minindex; + float minval; + + struct { + float value; + int index; + } in, out; + + /* local minloc */ + in.value = val[0]; + in.index = 0; + for (i=1; i < count; i++) + if (in.value > val[i]) { + in.value = val[i]; + in.index = i; + } + + /* global minloc */ + MPI_Comm_rank(MPI_COMM_WORLD, &myrank); + in.index = myrank*LEN + in.index; + MPI_Reduce( in, out, 1, MPI_FLOAT_INT, MPI_MINLOC, root, comm ); + /* At this point, the answer resides on process root + */ + if (myrank == root) { + /* read answer out + */ + minval = out.value; + minrank = out.index / LEN; + minindex = out.index % LEN; +.fi +.sp +All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER in Fortran. +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Allreduce +.br +MPI_Reduce_scatter +.br +MPI_Scan +.br +MPI_Op_create +.br +MPI_Op_free + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_local.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_local.3 new file mode 100644 index 00000000..ebbdf4c4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_local.3 @@ -0,0 +1,265 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce_local 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce_local\fP \- Perform a local reduction + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce_local(const void *\fIinbuf\fP, void *\fIinoutbuf\fP, int\fI count\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +inbuf +Address of input buffer (choice). +.TP 1i +count +Number of elements in input buffer (integer). +.TP 1i +datatype +Data type of elements of input buffer (handle). +.TP 1i +op +Reduce operation (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +inoutbuf +Address of in/out buffer (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The global reduce functions (MPI_Reduce_local, MPI_Op_create, MPI_Op_free, MPI_Allreduce, MPI_Reduce_local_scatter, MPI_Scan) perform a global reduce operation (such as sum, max, logical AND, etc.) across all the members of a group. The reduction operation can be either one of a predefined list of operations, or a user-defined operation. The global reduction functions come in several flavors: a reduce that returns the result of the reduction at one node, an all-reduce that returns this result at all nodes, and a scan (parallel prefix) operation. In addition, a reduce-scatter operation combines the functionality of a reduce and a scatter operation. +.sp +MPI_Reduce_local combines the elements provided in the input and input/output buffers of the local process, using the operation op, and returns the combined value in the inout/output buffer. The input buffer is defined by the arguments inbuf, count, and datatype; the output buffer is defined by the arguments inoutbuf, count, and datatype; both have the same number of elements, with the same type. The routine is a local call. The process can provide one element, or a sequence of elements, in which case the combine operation is executed element-wise on each entry of the sequence. For example, if the operation is MPI_MAX and the input buffer contains two elements that are floating-point numbers (count = 2 and datatype = MPI_FLOAT), then inoutbuf(1) = global max (inbuf(1)) and inoutbuf(2) = global max(inbuf(2)). +.sp +.SH USE OF IN-PLACE OPTION +The use of MPI_IN_PLACE is disallowed with MPI_Reduce_local. +.sp +.SH PREDEFINED REDUCE OPERATIONS +.sp +The set of predefined operations provided by MPI is listed below (Predefined Reduce Operations). That section also enumerates the datatypes each operation can be applied to. In addition, users may define their own operations that can be overloaded to operate on several datatypes, either basic or derived. This is further explained in the description of the user-defined operations (see the man pages for MPI_Op_create and MPI_Op_free). +.sp +The operation op is always assumed to be associative. All predefined operations are also assumed to be commutative. Users may define operations that are assumed to be associative, but not commutative. The ``canonical'' evaluation order of a reduction is determined by the ranks of the processes in the group. However, the implementation can take advantage of associativity, or associativity and commutativity, in order to change the order of evaluation. This may change the result of the reduction for operations that are not strictly associative and commutative, such as floating point addition. +.sp +Predefined operators work only with the MPI types listed below (Predefined Reduce Operations, and the section MINLOC and MAXLOC, below). User-defined operators may operate on general, derived datatypes. In this case, each argument that the reduce operation is applied to is one element described by such a datatype, which may contain several basic values. This is further explained in Section 4.9.4 of the MPI Standard, "User-Defined Operations." + +The following predefined operations are supplied for MPI_Reduce_local and related functions MPI_Allreduce, MPI_Reduce_scatter, and MPI_Scan. These operations are invoked by placing the following in op: +.sp +.nf + Name Meaning + --------- -------------------- + MPI_MAX maximum + MPI_MIN minimum + MPI_SUM sum + MPI_PROD product + MPI_LAND logical and + MPI_BAND bit-wise and + MPI_LOR logical or + MPI_BOR bit-wise or + MPI_LXOR logical xor + MPI_BXOR bit-wise xor + MPI_MAXLOC max value and location + MPI_MINLOC min value and location +.fi +.sp +The two operations MPI_MINLOC and MPI_MAXLOC are discussed separately below (MINLOC and MAXLOC). For the other predefined operations, we enumerate below the allowed combinations of op and datatype arguments. First, define groups of MPI basic datatypes in the following way: +.sp +.nf + C integer: MPI_INT, MPI_LONG, MPI_SHORT, + MPI_UNSIGNED_SHORT, MPI_UNSIGNED, + MPI_UNSIGNED_LONG + Fortran integer: MPI_INTEGER + Floating-point: MPI_FLOAT, MPI_DOUBLE, MPI_REAL, + MPI_DOUBLE_PRECISION, MPI_LONG_DOUBLE + Logical: MPI_LOGICAL + Complex: MPI_COMPLEX + Byte: MPI_BYTE +.fi +.sp +Now, the valid datatypes for each option is specified below. +.sp +.nf + Op Allowed Types + ---------------- --------------------------- + MPI_MAX, MPI_MIN C integer, Fortran integer, + floating-point + + MPI_SUM, MPI_PROD C integer, Fortran integer, + floating-point, complex + + MPI_LAND, MPI_LOR, C integer, logical + MPI_LXOR + + MPI_BAND, MPI_BOR, C integer, Fortran integer, byte + MPI_BXOR +.fi +.sp +.SH MINLOC AND MAXLOC +.ft R +The operator MPI_MINLOC is used to compute a global minimum and also an index attached to the minimum value. MPI_MAXLOC similarly computes a global maximum and index. One application of these is to compute a global minimum (maximum) and the rank of the process containing this value. + +.sp +The operation that defines MPI_MAXLOC is +.sp +.nf + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = max(u, v) + +and + + ( i if u > v + ( + k = ( min(i, j) if u = v + ( + ( j if u < v) + + +MPI_MINLOC is defined similarly: + + ( u ) ( v ) ( w ) + ( ) o ( ) = ( ) + ( i ) ( j ) ( k ) + +where + + w = min(u, v) + +and + + ( i if u < v + ( + k = ( min(i, j) if u = v + ( + ( j if u > v) + + +.fi +.sp + +Both operations are associative and commutative. Note that if MPI_MAXLOC is +applied to reduce a sequence of pairs (u(0), 0), (u(1), 1),\ ..., (u(n-1), +n-1), then the value returned is (u , r), where u= max(i) u(i) and r is +the index of the first global maximum in the sequence. Thus, if each +process supplies a value and its rank within the group, then a reduce +operation with op = MPI_MAXLOC will return the maximum value and the rank +of the first process with that value. Similarly, MPI_MINLOC can be used to +return a minimum and its index. More generally, MPI_MINLOC computes a +lexicographic minimum, where elements are ordered according to the first +component of each pair, and ties are resolved according to the second +component. +.sp +The reduce operation is defined to operate on arguments that consist of a +pair: value and index. For both Fortran and C, types are provided to +describe the pair. The potentially mixed-type nature of such arguments is a +problem in Fortran. The problem is circumvented, for Fortran, by having the +MPI-provided type consist of a pair of the same type as value, and coercing +the index to this type also. In C, the MPI-provided pair type has distinct +types and the index is an int. +.sp +In order to use MPI_MINLOC and MPI_MAXLOC in a reduce operation, one must +provide a datatype argument that represents a pair (value and index). MPI +provides nine such predefined datatypes. The operations MPI_MAXLOC and +MPI_MINLOC can be used with each of the following datatypes: +.sp +.nf + Fortran: + Name Description + MPI_2REAL pair of REALs + MPI_2DOUBLE_PRECISION pair of DOUBLE-PRECISION variables + MPI_2INTEGER pair of INTEGERs + + C: + Name Description + MPI_FLOAT_INT float and int + MPI_DOUBLE_INT double and int + MPI_LONG_INT long and int + MPI_2INT pair of ints + MPI_SHORT_INT short and int + MPI_LONG_DOUBLE_INT long double and int +.fi +.sp +The data type MPI_2REAL is equivalent to: +.nf + MPI_TYPE_CONTIGUOUS(2, MPI_REAL, MPI_2REAL) +.fi +.sp +Similar statements apply for MPI_2INTEGER, MPI_2DOUBLE_PRECISION, and +MPI_2INT. +.sp +The datatype MPI_FLOAT_INT is as if defined by the following sequence of +instructions. +.sp +.nf + type[0] = MPI_FLOAT + type[1] = MPI_INT + disp[0] = 0 + disp[1] = sizeof(float) + block[0] = 1 + block[1] = 1 + MPI_TYPE_STRUCT(2, block, disp, type, MPI_FLOAT_INT) +.fi +.sp +Similar statements apply for MPI_LONG_INT and MPI_DOUBLE_INT. +.sp +All MPI objects (e.g., MPI_Datatype, MPI_Comm) are of type INTEGER in Fortran. +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction operators ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Allreduce +.br +MPI_Reduce +.br +MPI_Reduce_scatter +.br +MPI_Scan +.br +MPI_Op_create +.br +MPI_Op_free + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter.3 new file mode 100644 index 00000000..b281fe36 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter.3 @@ -0,0 +1,95 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce_scatter 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce_scatter, MPI_Ireduce_scatter\fP \- Combines values and scatters the results. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce_scatter(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, const int\fI recvcounts\fP[], + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP) + +int MPI_Ireduce_scatter(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, const int\fI recvcounts\fP[], + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +recvcounts +Integer array specifying the number of elements in result distributed to +each process. Array must be identical on all calling processes. +.TP 1i +datatype +Datatype of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_Reduce_scatter first does an element-wise reduction on vector of \fIcount\fP\ + =\ S(i)\fIrecvcounts\fP[i] elements in the send buffer defined by \fIsendbuf\fP, \fIcount\fP, and +\fIdatatype\fP. Next, the resulting vector of results is split into n disjoint +segments, where n is the number of processes in the group. Segment i contains +\fIrecvcounts\fP[i] elements. The ith segment is sent to process i and stored in +the receive buffer defined by \fIrecvbuf\fP, \fIrecvcounts\fP[i], and \fIdatatype\fP. + + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a reduce-scatter operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the \fIsendbuf\fR. In this case, the input data is taken from the top of the receive buffer. The area occupied by the input data may be either longer or shorter than the data filled by the output data. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the reduce-scatter operation occurs in two phases. First, the result of the reduction performed on the data provided by the processes in the first group is scattered among the processes in the second group. Then the reverse occurs: the reduction performed on the data provided by the processes in the second group is scattered among the processes in the first group. For each group, all processes provide the same \fIrecvcounts\fR argument, and the sum of the \fIrecvcounts\fR values should be the same for both groups. +.sp +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter_block.3 new file mode 100644 index 00000000..a3c02c99 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Reduce_scatter_block.3 @@ -0,0 +1,97 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Reduce_scatter_block 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Reduce_scatter_block, MPI_Ireduce_scatter_block\fP \- Combines values and scatters the results in blocks. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Reduce_scatter_block(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP) + +int MPI_Ireduce_scatter_block(const void *\fIsendbuf\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI datatype\fP, MPI_Op\fI op\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Starting address of send buffer (choice). +.TP 1i +recvcount +lement count per block (non-negative integer). +.TP 1i +datatype +Datatype of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Starting address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_Reduce_scatter_block first does an element-wise reduction on vector of \fIcount\fP\ + =\ n * \fIrecvcount\fP elements in the send buffer defined by \fIsendbuf\fP, \fIcount\fP, and +\fIdatatype\fP, using the operation \fIop\fP, where n is the number of +processes in the group of \fIcomm\fP. Next, the resulting vector of results is split into n disjoint +segments, where n is the number of processes in the group. Each segments contains \fIrecvcount\fP +elements. The ith segment is sent to process i and stored in the receive buffer defined by +\fIrecvbuf\fP, \fIrecvcount\fP, and \fIdatatype\fP. + + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a reduce-scatter operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the \fIsendbuf\fR. In this case, the input data is taken from the top of the receive buffer. The area occupied by the input data may be either longer or shorter than the data filled by the output data. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the reduce-scatter operation occurs in two phases. First, the result of the reduction performed on the data provided by the processes in the first group is scattered among the processes in the second group. Then the reverse occurs: the reduction performed on the data provided by the processes in the second group is scattered among the processes in the first group. For each group, all processes provide the same \fIrecvcounts\fR argument, and the sum of the \fIrecvcounts\fR values should be the same for both groups. +.sp +.SH NOTES ON COLLECTIVE OPERATIONS + +The reduction functions ( +.I MPI_Op +) do not return an error value. As a result, +if the functions detect an error, all they can do is either call +.I MPI_Abort +or silently skip the problem. Thus, if you change the error handler from +.I MPI_ERRORS_ARE_FATAL +to something else, for example, +.I MPI_ERRORS_RETURN +, +then no error may be indicated. + +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Reduce_scatter diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Register_datarep.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Register_datarep.3 new file mode 100644 index 00000000..725c40bf --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Register_datarep.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2015-2016 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Register_datarep 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Register_datarep\fP \- Defines data representation. + +.SH SYNTAX +.ft R +.nf +.SH C Syntax +.nf +#include +int MPI_Register_datarep(const char \fI*datarep\fP, + MPI_Datarep_conversion_function \fI*read_conversion_fn\fP, + MPI_Datarep_conversion_function \fI*write_conversion_fn\fP, + MPI_Datarep_extent_function \fI*dtype_file_extent_fn\fP, + void \fI*extra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data representation identifier (string). +.ft R +.TP 1i +read_conversion_fn +Function invoked to convert from file representation to native representation (function). +.ft R +.TP 1i +write_conversion_fn +Function invoked to convert from native representation to file representation (function). +.ft R +.TP 1i +dtype_file_extent_fn +Function invoked to get the extent of a data type as represented in the file (function). +.ft R +.TP 1i +extra_state +Extra state. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Register_datarep defines a data representation. It associates the data representation's identifier (a string) with the functions that convert from file representation to the native representation and vice versa, with the function that gets the extent of a data type as represented in the file, as well as with "extra state," which is used for passing arguments. Once a data representation has been registered using this routine, you may specify its identifier as an argument to MPI_File_set_view, causing subsequent data-access operations to call the specified conversion functions. + +The call associates \fIread_conversion_fn\fP, \fIwrite_conversion_fn\fP, and \fIdtype_file_extent_fn\fP with the data representation identifier \fIdatarep\fP. \fIdatarep\fP can then be used as an argument to MPI_File_set_view, causing subsequent data access operations to call the conversion functions to convert all data items accessed between file data representation and native representation. MPI_Register_datarep is a local operation and only registers the data representation for the calling MPI process. If \fIdatarep\fP is already defined, an error in the error class MPI_ERR_DUP_DATAREP is raised using the default file error handler. The length of a data representation string is limited to the value of MPI_MAX_DATAREP_STRING. MPI_MAX_DATAREP_STRING must have a value of at least 64. No routines are provided to delete data representations and free the associated resources; it is not expected that an application will generate them in significant numbers. + +.SH NOTES +.ft R + +The Fortran version of each MPI I/O routine includes a final argument, +IERROR, which is not defined in the PARAMETERS sections. This argument is used to return the error status of the routine in the manner typical for Fortran library routines. +.sp +The C version of each routine returns an error status as an integer return value. +.sp +Error classes are found in mpi.h (for C), mpif.h (for Fortran), and mpi++.h (for C++). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. For MPI I/O function errors, the default error handler is set to MPI_ERRORS_RETURN. The error handler may be changed with MPI_File_set_errhandler; the predefined error handler MPI_ERRORS_ARE_FATAL may be used to make I/O errors fatal. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_free.3 new file mode 100644 index 00000000..15eed7e5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_free.3 @@ -0,0 +1,122 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Request_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Request_free\fP \- Frees a communication request object. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Request_free(MPI_Request *request) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +request + Communication request (handle). + +.SH DESCRIPTION +.ft R +This operation allows a request object to be deallocated without waiting for the associated communication to complete. +.sp +MPI_Request_free marks the request object for deallocation and sets request +to MPI_REQUEST_NULL. Any ongoing communication that is associated with the request will be allowed to complete. The request will be deallocated only after its completion. + +.SH NOTES +Once a request is freed by a call to MPI_Request_free, it is not possible to check for the successful completion of the associated communication with calls to MPI_Wait or MPI_Test. Also, if an error occurs subsequently during the communication, an error code cannot be returned to the user -- such an error must be treated as fatal. Questions arise as to how one knows when the operations have completed when using MPI_Request_free. Depending on the program logic, there may be other ways in which the program knows that certain operations have completed and this makes usage of MPI_Request_free practical. For example, an active send request could be freed when the logic of the program is such that the receiver sends a reply to the message sent -- the arrival of the reply informs the sender that the send has completed and the send buffer can be reused. An active receive request should never be freed, as the receiver will have no way to verify that the receive has completed and the receive buffer can be reused. + +.sp +\fBExample:\fR +.sp +.nf + CALL MPI_COMM_RANK(MPI_COMM_WORLD, rank) + IF(rank.EQ.0) THEN + DO i=1, n + CALL MPI_ISEND(outval, 1, MPI_REAL, 1, 0, req, ierr) + CALL MPI_REQUEST_FREE(req, ierr) + CALL MPI_IRECV(inval, 1, MPI_REAL, 1, 0, req, ierr) + CALL MPI_WAIT(req, status, ierr) + END DO + ELSE ! rank.EQ.1 + CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_WAIT(req, status) + DO I=1, n-1 + CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_REQUEST_FREE(req, ierr) + CALL MPI_IRECV(inval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_WAIT(req, status, ierr) + END DO + CALL MPI_ISEND(outval, 1, MPI_REAL, 0, 0, req, ierr) + CALL MPI_WAIT(req, status) + END IF +.fi +.sp +This routine is normally used to free persistent requests created with +either +.I MPI_Recv_init +or +.I MPI_Send_init +and friends. However, it can be +used to free a request created with +.I MPI_Irecv +or +.I MPI_Isend +and friends; +in that case the use can not use the test/wait routines on the request. + +It +.B is +permitted to free an active request. However, once freed, you can not +use the request in a wait or test routine (e.g., +.I MPI_Wait +). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Isend +.br +MPI_Irecv +.br +MPI_Issend +.br +MPI_Ibsend +.br +MPI_Irsend +.br +MPI_Recv_init +.br +MPI_Send_init +.br +MPI_Ssend_init +.br +MPI_Rsend_init +.br +MPI_Test +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Request_get_status.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Request_get_status.3 new file mode 100644 index 00000000..55628b15 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Request_get_status.3 @@ -0,0 +1,45 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Request_get_status 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Request_get_status\fP \- Access information associated with a request without freeing the request. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Request_get_status(MPI_Request \fIrequest\fP, int \fI*flag\fP, MPI_Status \fI*status\fP) + +.fi +.SH INPUT PARAMETER +.ft +.TP 1i +request + Communication request (handle). + +.SH OUTPUT PARAMETERS +.ft +.TP 1i +flag +Boolean flag, same as from MPI_Test (logical). +.ft +.TP 1i +status +MPI_Status object if flag is true (status). + +.SH DESCRIPTION +.ft R +MPI_Request_get_status sets \fIflag\fP=\fItrue\fP if the operation is complete or sets \fIflag\fP=\fIfalse\fP if it is not complete. If the operation is complete, it returns in \fIstatus\fP the request status. It does not deallocate or inactivate the request; a subsequent call to test, wait, or free should be executed with that request. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 new file mode 100644 index 00000000..4b4410dd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rget.3 @@ -0,0 +1 @@ +.so man3/MPI_Get.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rget_accumulate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rget_accumulate.3 new file mode 100644 index 00000000..86db5536 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rget_accumulate.3 @@ -0,0 +1 @@ +.so man3/MPI_Get_accumulate.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 new file mode 100644 index 00000000..52e806a2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rput.3 @@ -0,0 +1 @@ +.so man3/MPI_Put.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 new file mode 100644 index 00000000..1324c04c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend.3 @@ -0,0 +1,58 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Rsend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Rsend\fP \- Ready send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Rsend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A ready send may only be called if the user can guarantee that a receive is +already posted. It is an error if the receive is not posted before the +ready send is called. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Rsend_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend_init.3 new file mode 100644 index 00000000..e96ed281 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Rsend_init.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Rsend_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Rsend_init\fP \- Builds a handle for a ready send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Rsend_init(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements sent (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication object for a ready mode send operation, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Send_init +.br +MPI_Sssend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 new file mode 100644 index 00000000..4dac3724 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Scan.3 @@ -0,0 +1,200 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Scan 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Scan, MPI_Iscan\fP \- Computes an inclusive scan (partial reduction) + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Scan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP) + +int MPI_Iscan(const void *\fIsendbuf\fP, void *\fIrecvbuf\fP, int \fIcount\fP, + MPI_Datatype \fIdatatype\fP, MPI_Op \fIop\fP, MPI_Comm \fIcomm\fP, + MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Send buffer (choice). +.TP 1i +count +Number of elements in input buffer (integer). +.TP 1i +datatype +Data type of elements of input buffer (handle). +.TP 1i +op +Operation (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Scan is used to perform an inclusive prefix reduction on data +distributed across the calling processes. The operation returns, in +the \fIrecvbuf\fP of the process with rank i, the reduction +(calculated according to the function \fIop\fP) of the values in the +\fIsendbuf\fPs of processes with ranks 0, ..., i (inclusive). The type +of operations supported, their semantics, and the constraints on send +and receive buffers are as for MPI_Reduce. + +.SH EXAMPLE +.ft R +This example uses a user-defined operation to produce a segmented +scan. A segmented scan takes, as input, a set of values and a set of +logicals, where the logicals delineate the various segments of the +scan. For example, +.sp +.nf +values v1 v2 v3 v4 v5 v6 v7 v8 +logicals 0 0 1 1 1 0 0 1 +result v1 v1+v2 v3 v3+v4 v3+v4+v5 v6 v6+v7 v8 +.fi +.sp +The result for rank j is thus the sum v(i) + ... + v(j), where i is +the lowest rank such that for all ranks n, i <= n <= j, logical(n) = +logical(j). The operator that produces this effect is +.sp +.nf + [ u ] [ v ] [ w ] + [ ] o [ ] = [ ] + [ i ] [ j ] [ j ] +.fi +.sp +where +.sp + ( u + v if i = j + w = ( + ( v if i != j +.fi +.sp +Note that this is a noncommutative operator. C code that implements it is +given below. +.sp +.nf + typedef struct { + double val; + int log; + } SegScanPair; + + /* + * the user-defined function + */ + void segScan(SegScanPair *in, SegScanPair *inout, int *len, + MPI_Datatype *dptr) + { + int i; + SegScanPair c; + + for (i = 0; i < *len; ++i) { + if (in->log == inout->log) + c.val = in->val + inout->val; + else + c.val = inout->val; + + c.log = inout->log; + *inout = c; + in++; + inout++; + } + } +.fi +.sp +Note that the inout argument to the user-defined function corresponds +to the right-hand operand of the operator. When using this operator, +we must be careful to specify that it is noncommutative, as in the +following: +.sp +.nf + int i, base; + SeqScanPair a, answer; + MPI_Op myOp; + MPI_Datatype type[2] = {MPI_DOUBLE, MPI_INT}; + MPI_Aint disp[2]; + int blocklen[2] = {1, 1}; + MPI_Datatype sspair; + + /* + * explain to MPI how type SegScanPair is defined + */ + MPI_Get_address(a, disp); + MPI_Get_address(a.log, disp + 1); + base = disp[0]; + for (i = 0; i < 2; ++i) + disp[i] -= base; + MPI_Type_struct(2, blocklen, disp, type, &sspair); + MPI_Type_commit(&sspair); + + /* + * create the segmented-scan user-op + * noncommutative - set commute (arg 2) to 0 + */ + MPI_Op_create((MPI_User_function *)segScan, 0, &myOp); + \&... + MPI_Scan(a, answer, 1, sspair, myOp, comm); +.fi + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a scanning operation in place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the \fIsendbuf\fR argument. The input data is taken from the receive buffer and replaced by the output data. + +.SH NOTES ON COLLECTIVE OPERATIONS +.ft R +The reduction functions of type MPI_Op do not return an error value. +As a result, if the functions detect an error, all they can do is +either call MPI_Abort or silently skip the problem. Thus, if the +error handler is changed from MPI_ERRORS_ARE_FATAL to something else +(e.g., MPI_ERRORS_RETURN), then no error may be indicated. +.sp +The reason for this is the performance problems in ensuring that +all collective routines return the same error value. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Exscan +MPI_Op_create +MPI_Reduce + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Scatter.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Scatter.3 new file mode 100644 index 00000000..1177dbc8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Scatter.3 @@ -0,0 +1,145 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright (c) 2010-2015 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Scatter 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Scatter, MPI_Iscatter\fP \- Sends data from one task to all tasks in a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Scatter(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int\fI root\fP, + MPI_Comm\fI comm\fP) + +int MPI_Iscatter(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + void\fI *recvbuf\fP, int\fI recvcount\fP, MPI_Datatype\fI recvtype\fP, int\fI root\fP, + MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Address of send buffer (choice, significant only at root). +.TP 1i +sendcount +Number of elements sent to each process (integer, significant only at +root). +.TP 1i +sendtype +Datatype of send buffer elements (handle, significant only at root). +.TP 1i +recvcount +Number of elements in receive buffer (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +root +Rank of sending process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Scatter is the inverse operation to MPI_Gather. +.sp +The outcome is as if the root executed n send operations, +.sp +.nf + MPI_Send(sendbuf + i * sendcount * extent(sendtype), sendcount, + sendtype, i, \&...) +.fi +.sp +and each process executed a receive, +.sp +.nf + MPI_Recv(recvbuf, recvcount, recvtype, i, \&...). +.fi +.sp +An alternative description is that the root sends a message with +MPI_Send(\fIsendbuf\fP, \fIsendcount\fP * \fIn\fP,\ \fIsendtype\fP, \&...). This message is split +into \fIn\fP equal segments, the ith segment is sent to the ith process in the +group, and each process receives this message as above. +.sp +The send buffer is ignored for all nonroot processes. +.sp +The type signature associated with \fIsendcount\fP, \fIsendtype\fP at the root must be +equal to the type signature associated with \fIrecvcount\fP, \fIrecvtype\fP at all +processes (however, the type maps may be different). This implies that the +amount of data sent must be equal to the amount of data received, pairwise +between each process and the root. Distinct type maps between sender and +receiver are still allowed. +.sp +All arguments to the function are significant on process \fIroot\fP, while on +other processes, only arguments \fIrecvbuf\fP, \fIrecvcount\fP, \fIrecvtype\fP, \fIroot\fP, \fIcomm\fP +are significant. The arguments \fIroot\fP and \fIcomm\fP must have identical values on +all processes. +.sp +The specification of counts and types should not cause any location on the +root to be read more than once. +.sp +\fBRationale:\fR Though not needed, the last restriction is imposed so as +to achieve symmetry with MPI_Gather, where the corresponding restriction (a +multiple-write restriction) is necessary. +.sp +\fBExample:\fR The reverse of Example 1 in the MPI_Gather manpage. Scatter +sets of 100 ints from the root to each process in the group. +.sp +.nf + MPI_Comm comm; + int gsize,*sendbuf; + int root, rbuf[100]; + \&... + MPI_Comm_size(comm, &gsize); + sendbuf = (int *)malloc(gsize*100*sizeof(int)); + \&... + MPI_Scatter(sendbuf, 100, MPI_INT, rbuf, 100, + MPI_INT, root, comm); +.fi + +.SH USE OF IN-PLACE OPTION +When the communicator is an intracommunicator, you can perform a scatter operation in-place (the output buffer is used as the input buffer). Use the variable MPI_IN_PLACE as the value of the root process \fIrecvbuf\fR. In this case, \fIrecvcount\fR and \fIrecvtype\fR are ignored, and the root process sends no data to itself. +.sp +Note that MPI_IN_PLACE is a special kind of value; it has the same restrictions on its use as MPI_BOTTOM. +.sp +Because the in-place option converts the receive buffer into a send-and-receive buffer, a Fortran binding that includes INTENT must mark these as INOUT, not OUT. +.sp +.SH WHEN COMMUNICATOR IS AN INTER-COMMUNICATOR +.sp +When the communicator is an inter-communicator, the root process in the first group sends data to all processes in the second group. The first group defines the root process. That process uses MPI_ROOT as the value of its \fIroot\fR argument. The remaining processes use MPI_PROC_NULL as the value of their \fIroot\fR argument. All processes in the second group use the rank of that root process in the first group as the value of their \fIroot\fR argument. The receive buffer argument of the root process in the first group must be consistent with the receive buffer argument of the processes in the second group. +.sp +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +.nf +MPI_Scatterv +MPI_Gather +MPI_Gatherv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Scatterv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Scatterv.3 new file mode 100644 index 00000000..a87c86cd --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Scatterv.3 @@ -0,0 +1,190 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Scatterv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Scatterv, MPI_Iscatterv\fP \- Scatters a buffer in parts to all tasks in a group. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Scatterv(const void *\fIsendbuf\fP, const int\fI sendcounts[]\fP, const int\fI displs[]\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, int\fI root\fP, MPI_Comm\fI comm\fP) + +int MPI_Iscatterv(const void *\fIsendbuf\fP, const int\fI sendcounts[]\fP, const int\fI displs[]\fP, + MPI_Datatype\fI sendtype\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, int\fI root\fP, MPI_Comm\fI comm\fP, MPI_Request \fI*request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Address of send buffer (choice, significant only at root). +.TP 1i +sendcounts +Integer array (of length group size) specifying the number of elements to +send to each processor. +.TP 1i +displs +Integer array (of length group size). Entry i specifies the displacement +(relative to sendbuf) from which to take the outgoing data to process i. +.TP 1i +sendtype +Datatype of send buffer elements (handle). +.TP 1i +recvcount +Number of elements in receive buffer (integer). +.TP 1i +recvtype +Datatype of receive buffer elements (handle). +.TP 1i +root +Rank of sending process (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Address of receive buffer (choice). +.TP 1i +request +Request (handle, non-blocking only). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Scatterv is the inverse operation to MPI_Gatherv. +.sp +MPI_Scatterv extends the functionality of MPI_Scatter by allowing a varying +count of data to be sent to each process, since \fIsendcounts\fP is now an array. +It also allows more flexibility as to where the data is taken from on the +root, by providing the new argument, \fIdispls\fP. +.sp +The outcome is as if the root executed \fIn\fP send operations, +.sp +.nf + MPI_Send(\fIsendbuf\fP + \fIdispls\fP[\fIi\fP] * \fIextent\fP(\fIsendtype\fP), \\ + \fIsendcounts\fP[i], \fIsendtype\fP, \fIi\fP, \&...) + +and each process executed a receive, + + MPI_Recv(\fIrecvbuf\fP, \fIrecvcount\fP, \fIrecvtype\fP, \fIroot\fP, \&...) + +The send buffer is ignored for all nonroot processes. +.fi +.sp +The type signature implied by \fIsendcount\fP[\fIi\fP], \fIsendtype\fP at the root must be +equal to the type signature implied by \fIrecvcount\fP, \fIrecvtype\fP at process \fIi\fP +(however, the type maps may be different). This implies that the amount of +data sent must be equal to the amount of data received, pairwise between +each process and the root. Distinct type maps between sender and receiver +are still allowed. +.sp +All arguments to the function are significant on process \fIroot\fP, while on +other processes, only arguments \fIrecvbuf\fP, \fIrecvcount\fP, \fIrecvtype\fP, \fIroot\fP, \fIcomm\fP +are significant. The arguments \fIroot\fP and \fIcomm\fP must have identical values on +all processes. +.sp +The specification of counts, types, and displacements should not cause any +location on the root to be read more than once. +.sp +\fBExample 1:\fR The reverse of Example 5 in the MPI_Gatherv manpage. We +have a varying stride between blocks at sending (root) side, at the +receiving side we receive 100 - \fIi\fP elements into the \fIi\fPth column of a 100 x 150 C array at process \fIi\fP. +.sp +.nf + MPI_Comm comm; + int gsize,recvarray[100][150],*rptr; + int root, *sendbuf, myrank, bufsize, *stride; + MPI_Datatype rtype; + int i, *displs, *scounts, offset; + \&... + MPI_Comm_size( comm, &gsize); + MPI_Comm_rank( comm, &myrank ); + + stride = (int *)malloc(gsize*sizeof(int)); + \&... + /* stride[i] for i = 0 to gsize-1 is set somehow + * sendbuf comes from elsewhere + */ + \&... + displs = (int *)malloc(gsize*sizeof(int)); + scounts = (int *)malloc(gsize*sizeof(int)); + offset = 0; + for (i=0; i= 100. +.sp +.nf + MPI_Comm comm; + int gsize,*sendbuf; + int root, rbuf[100], i, *displs, *scounts; + + \&... + + MPI_Comm_size(comm, &gsize); + sendbuf = (int *)malloc(gsize*stride*sizeof(int)); + \&... + displs = (int *)malloc(gsize*sizeof(int)); + scounts = (int *)malloc(gsize*sizeof(int)); + for (i=0; i +int MPI_Send(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements send (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Send performs a standard-mode, blocking send. + +.SH NOTE +.ft R +This routine will block until the message is sent to the destination. For an in-depth explanation of the semantics of the standard-mode send, refer to the MPI-1 Standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.nf +MPI_Isend +MPI_Bsend +MPI_Recv + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Send_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Send_init.3 new file mode 100644 index 00000000..abc145d6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Send_init.3 @@ -0,0 +1,80 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Send_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Send_init\fP \- Builds a handle for a standard send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Send_init(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements to send (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication request for a standard mode send operation, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start or MPI_Startall. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Ssend_init +.br +MPI_Rsend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Request_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv.3 new file mode 100644 index 00000000..5281236b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Sendrecv 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Sendrecv\fP \- Sends and receives a message. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Sendrecv(const void *\fIsendbuf\fP, int\fI sendcount\fP, MPI_Datatype\fI sendtype\fP, + int\fI dest\fP, int\fI sendtag\fP, void\fI *recvbuf\fP, int\fI recvcount\fP, + MPI_Datatype\fI recvtype\fP, int\fI source\fP, int\fI recvtag\fP, + MPI_Comm\fI comm\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +sendbuf +Initial address of send buffer (choice). +.TP 1i +sendcount +Number of elements to send (integer). +.TP 1i +sendtype +Type of elements in send buffer (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +sendtag +Send tag (integer). +.TP 1i +recvcount +Maximum number of elements to receive (integer). +.TP 1i +recvtype +Type of elements in receive buffer (handle). +.TP 1i +source +Rank of source (integer). +.TP 1i +recvtag +Receive tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +recvbuf +Initial address of receive buffer (choice). +.TP 1i +status +Status object (status). This refers to the receive operation. +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The send-receive operations combine in one call the sending of a message to one destination and the receiving of another message, from another process. The two (source and destination) are possibly the same. A send-receive operation is useful for executing a shift operation across a chain of processes. If blocking sends and receives are used for such a shift, then one needs to order the sends and receives correctly (for example, even processes send, then receive; odd processes receive first, then send) in order to prevent cyclic dependencies that may lead to deadlock. When a send-receive operation is used, the communication subsystem takes care of these issues. The send-receive operation can be used in conjunction with the functions described in Chapter 6 of the MPI-1 Standard, "Process Topologies," in order to perform shifts on various logical topologies. Also, a send-receive operation is useful for implementing remote procedure calls. +.sp +A message sent by a send-receive operation can be received by a regular receive operation or probed by a probe operation; a send-receive operation can receive a message sent by a regular send operation. +.sp +MPI_Sendrecv executes a blocking send and receive operation. Both send and receive use the same communicator, but possibly different tags. The send buffer and receive buffers must be disjoint, and may have different lengths and datatypes. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Sendrecv_replace + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv_replace.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv_replace.3 new file mode 100644 index 00000000..9fbe8c86 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Sendrecv_replace.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Sendrecv_replace 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Sendrecv_replace\fP \- Sends and receives a message using a single buffer. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Sendrecv_replace(void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI sendtag\fP, int\fI source\fP, int\fI recvtag\fP, MPI_Comm\fI comm\fP, + MPI_Status\fI *status\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +buf +Initial address of send and receive buffer (choice). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of elements in send and receive buffer (integer). +.TP 1i +datatype +Type of elements to send and receive (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +sendtag +Send message tag (integer). +.TP 1i +source +Rank of source (integer). +.TP 1i +recvtag +Receive message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The send-receive operations combine in one call the sending of a message to one destination and the receiving of another message, from another process. The two (source and destination) are possibly the same. A send-receive operation is useful for executing a shift operation across a chain of processes. If blocking sends and receives are used for such a shift, then one needs to order the sends and receives correctly (for example, even processes send, then receive; odd processes receive first, then send) in order to prevent cyclic dependencies that may lead to deadlock. When a send-receive operation is used, the communication subsystem takes care of these issues. The send-receive operation can be used in conjunction with the functions described in Chapter 6 of the MPI Standard, "Process Topologies," in order to perform shifts on various logical topologies. Also, a send-receive operation is useful for implementing remote procedure calls. +.sp +A message sent by a send-receive operation can be received by a regular receive operation or probed by a probe operation; a send-receive operation can receive a message sent by a regular send operation. +.sp +MPI_Sendrecv_replace executes a blocking send and receive. The same buffer is used both for the send and for the receive, so that the message sent is replaced by the message received. +.sp +The semantics of a send-receive operation is what would be obtained if the caller forked two concurrent threads, one to execute the send, and one to execute the receive, followed by a join of these two threads. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Sendrecv + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Sizeof.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Sizeof.3 new file mode 100644 index 00000000..445be30f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Sizeof.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Sizeof 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Sizeof\fP \- Returns the size, in bytes, of the given type + +.SH SYNTAX +.ft R + +.SH INPUT PARAMETER +.ft R +.TP 1i +X +A Fortran variable of numeric intrinsic type (choice). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +SIZE +Size of machine representation of that type (integer). +.ft R +.TP 1i +IERROR +Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_SIZEOF returns the size (in bytes) of the machine representation +of the given variable. It is a generic Fortran type and has a Fortran +binding only. This routine is similar to the sizeof builtin in +C/C++. However, if given an array argument, it returns the size of the +base element, not the size of the whole array. + +.SH NOTES +This function is not available in C/C++ because it is not necessary. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 new file mode 100644 index 00000000..754ed35b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend.3 @@ -0,0 +1,56 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Ssend 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Ssend\fP \- Standard synchronous send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Ssend(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, int\fI dest\fP, + int\fI tag\fP, MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements in send buffer (nonnegative integer). +.TP 1i +datatype +Datatype of each send buffer element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Ssend performs a synchronous-mode, blocking send. See the MPI-1 Standard for more detailed information about such sends. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Ssend_init.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend_init.3 new file mode 100644 index 00000000..822f3464 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Ssend_init.3 @@ -0,0 +1,80 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Ssend_init 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Ssend_init\fP \- Builds a handle for a synchronous send. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Ssend_init(const void *\fIbuf\fP, int\fI count\fP, MPI_Datatype\fI datatype\fP, + int\fI dest\fP, int\fI tag\fP, MPI_Comm\fI comm\fP, MPI_Request\fI *request\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +buf +Initial address of send buffer (choice). +.TP 1i +count +Number of elements to send (integer). +.TP 1i +datatype +Type of each element (handle). +.TP 1i +dest +Rank of destination (integer). +.TP 1i +tag +Message tag (integer). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +request +Communication request (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Creates a persistent communication object for a synchronous mode send operation, and binds to it all the arguments of a send operation. +.sp +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Send_init +.br +MPI_Rsend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Startall +.br +MPI_Ssend + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Start.3 new file mode 100644 index 00000000..4722936e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Start.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Start\fP \- Initiates a communication using a persistent request handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Start(MPI_Request *\fIrequest\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Communication request (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A communication (send or receive) that uses a persistent request is initiated by the function MPI_Start. +.sp +The argument, request, is a handle returned by one of the persistent communication-request initialization functions (MPI_Send_init, MPI_Bsend_init, MPI_Ssend_init, MPI_Rsend_init, MPI_Recv_init). The associated request should be inactive and becomes active once the call is made. +.sp +If the request is for a send with ready mode, then a matching receive should be posted before the call is made. From the time the call is made until after the operation completes, the communication buffer should not be accessed. +.sp +The call is local, with semantics similar to the nonblocking communication operations (see Section 3.7 in the MPI-1 Standard, "Nonblocking Communication.") That is, a call to MPI_Start with a request created by MPI_Send_init starts a communication in the same manner as a call to MPI_Isend; a call to MPI_Start with a request created by MPI_Bsend_init starts a communication in the same manner as a call to MPI_Ibsend; and so on. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Rsend_init +.br +MPI_Send_init +.br +MPI_Sssend_init +.br +MPI_Recv_init +.br +MPI_Startall + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Startall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Startall.3 new file mode 100644 index 00000000..068dc92e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Startall.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Startall 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Startall\fP \- Starts a collection of requests. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Startall(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +count +List length (integer). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +array_of_requests +Array of requests (array of handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts all communications associated with requests in array_of_requests. A call to MPI_Startall(count, array_of_requests) has the same effect as calls to MPI_Start (&array_of_requests[i]), executed for i=0 ,..., count-1, in some arbitrary order. +.sp +A communication started with a call to MPI_Start or MPI_Startall is completed by a call to MPI_Wait, MPI_Test, or one of the derived functions MPI_Waitany, MPI_Testany, MPI_Waitall, MPI_Testall, MPI_Waitsome, MPI_Testsome (these are described in Section 3.7.5 of the MPI-1 Standard, "Multiple Completions"). The request becomes inactive after successful completion by such a call. The request is not deallocated, and it can be activated anew by another MPI_Start or MPI_Startall call. +.sp +A persistent request is deallocated by a call to MPI_Request_free (see Section 3.7.3 of the MPI-1 Standard, "Communication Completion"). +.sp +The call to MPI_Request_free can occur at any point in the program after the persistent request was created. However, the request will be deallocated only after it becomes inactive. Active receive requests should not be freed. Otherwise, it will not be possible to check that the receive has completed. It is preferable, in general, to free requests when they are inactive. If this rule is followed, then the persistent communication request functions will be invoked in a sequence of the form, +.br +.sp + Create (Start Complete)* Free +.br +.sp +where * indicates zero or more repetitions. If the same communication object is used in several concurrent threads, it is the user's responsibility to coordinate calls so that the correct sequence is obeyed. +.sp +A send operation initiated with MPI_Start can be matched with any receive operation and, likewise, a receive operation initiated with MPI_Start can receive messages generated by any send operation. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Bsend_init +.br +MPI_Rsend_init +.br +MPI_Send_init +.br +MPI_Ssend_init +.br +MPI_Recv_init +.br +MPI_Start +.br +MPI_Request_free + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_c2f.3 new file mode 100644 index 00000000..da04a6e9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Status_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_f2c.3 new file mode 100644 index 00000000..7e4ae046 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_f2c.3 @@ -0,0 +1,30 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Status_f2c 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Status_f2c, MPI_Status_c2f \fP \- Translates a C status into a Fortran status, or vice versa. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Status_f2c(const MPI_Fint \fI*f_status\fP, MPI_Status \fI*c_status\fP) +int MPI_Status_c2f(const MPI_Status \fI*c_status\fP, MPI_Fint \fI*f_status\fP) + +.fi +.SH DESCRIPTION +.ft R +These two procedures are provided in C to convert from a Fortran status (which is an array of integers) to a C status (which is a structure), and vice versa. The conversion occurs on all the information in \fIstatus\fP, including that which is hidden. That is, no status information is lost in the conversion. +.sp +When using MPI_Status_f2c, if \fIf_status\fP is a valid Fortran status, but not the Fortran value of MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, then MPI_Status_f2c returns in \fIc_status\fP a valid C status with the same content. If \fIf_status\fP is the Fortran value of MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if \fIf_status\fP is not a valid Fortran status, then the call is erroneous. +.sp +When using MPI_Status_c2f, the opposite conversion is applied. If \fIc_status\fP is MPI_STATUS_IGNORE or MPI_STATUSES_IGNORE, or if \fIc_status\fP is not a valid C status, then the call is erroneous. +.sp +The C status has the same source, tag and error code values as the Fortran status, and returns the same answers when queried for count, elements, and cancellation. The conversion function may be called with a Fortran status argument that has an undefined error field, in which case the value of the error field in the C status argument is undefined. +.sp + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_cancelled.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_cancelled.3 new file mode 100644 index 00000000..843ed41b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_cancelled.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Status_set_cancelled 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Status_set_cancelled\fP \- Sets \fIstatus\fP to indicate a request has been canceled. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Status_set_cancelled(MPI_Status *\fIstatus\fP, int \fIflag\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +status +Status with which to associate cancel flag (status). + +.SH INPUT PARAMETER +.ft R +.TP 1i +flag +If true, indicates request was canceled (logical). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +If \fIflag\fP is set to true, then a subsequent call to MPI_Test_cancelled(\fIstatus, flag\fP) will also return \fIflag\fP = true; otherwise it will return false. + +.SH NOTES +.ft R +Users are advised not to reuse the status fields for values other than those for which they were intended. Doing so may lead to unexpected results when using the status object. For example, calling MPI_Get_elements may cause an error if the value is out of range, or it may be impossible to detect such an error. The \fIextra_state\fP argument provided with a generalized request can be used to return information that does not logically belong in \fIstatus\fP. Furthermore, modifying the values in a status set internally by MPI, such as MPI_Recv, may lead to unpredictable results and is strongly discouraged. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements.3 new file mode 100644 index 00000000..fd2f460b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements.3 @@ -0,0 +1,64 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Status_set_elements 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Status_set_elements\fP, \fBMPI_Status_set_elements_x\fP \- Modifies opaque part of \fIstatus\fP to allow MPI_Get_elements to return \fIcount\fP. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Status_set_elements(MPI_Status *\fIstatus\fP, MPI_Datatype \fIdatatype\fP, int \fIcount\fP) +int MPI_Status_set_elements_x(MPI_Status *\fIstatus\fP, MPI_Datatype \fIdatatype\fP, MPI_Count \fIcount\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +status +Status to associate with \fIcount\fP (status). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +datatype +Data type associated with \fIcount\fP (handle). +.TP 1i +count +Number of elements to associate with \fIstatus\fP (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Status_set_elements modifies the opaque part of \fIstatus\fP so that a call to MPI_Get_elements or MPI_Get_elements_x will return \fIcount\fP. MPI_Get_count will return a compatible value. +.sp +A subsequent call to MPI_Get_count(\fIstatus, datatype, count\fP), to MPI_Get_elements(\fIstatus, datatype, count\fP), or to MPI_Get_elements_x(\fIstatus, datatype, count\fP) must use a data-type argument that has the same type signature as the data-type argument that was used in the call to MPI_Status_set_elements. + +.SH NOTES +.ft R +Users are advised not to reuse the status fields for values other than those for which they were intended. Doing so may lead to unexpected results when using the status object. For example, calling MPI_Get_elements may cause an error if the value is out of range, or it may be impossible to detect such an error. The \fIextra_state\fP argument provided with a generalized request can be used to return information that does not logically belong in \fIstatus\fP. Furthermore, modifying the values in a status set internally by MPI, such as MPI_Recv, may lead to unpredictable results and is strongly discouraged. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for the \fICOUNT\fP argument of MPI_Status_set_elements_x only for Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_COUNT_KIND \fICOUNT\fP +.sp +where MPI_COUNT_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements_x.3 new file mode 100644 index 00000000..4d643f1a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Status_set_elements_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Status_set_elements.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_changed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_changed.3 new file mode 100644 index 00000000..c82bfd8b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_changed.3 @@ -0,0 +1,38 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_changed 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_changed\fP \- Get a timestamp for the categories +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_changed(int *\fIstamp\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +stamp +A virtual time stamp to indicate the last change to the categories. + +.SH DESCRIPTION +.ft R +If two subsequent calls to this routine return the same timestamp, it is guaranteed that +no categories have been changed or added. If the timestamp from the second call is +higher than some categories have been added or changed. + +.SH ERRORS +.ft R +MPI_T_category_changed() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_categories.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_categories.3 new file mode 100644 index 00000000..b1b9d2ea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_categories.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_categories 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_categories\fP \- Query which categories are in a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_categories(int cat_index, int len, int indices[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. +.TP 1i +len +The length of the indices array. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indices +An integer array of size len, indicating category indices. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_categories can be used to query which other categories are in +a category. + +.SH ERRORS +.ft R +MPI_T_category_get_categories() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_cvars.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_cvars.3 new file mode 100644 index 00000000..c84e3471 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_cvars.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_cvars 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_cvars\fP \- Query which control variables are in a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_cvars(int \fIcat_index\fP, int \fIlen\fP, int \fIindices\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. +.TP 1i +len +The length of the indices array. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indices +An integer array of size len, indicating control variable indices. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_cvars can be used to query which control variables are contained in a +particular category. + +.SH ERRORS +.ft R +MPI_T_category_get_cvars() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_info.3 new file mode 100644 index 00000000..f5627ef8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_info.3 @@ -0,0 +1,81 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_info\fP \- Query information from a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_info(int \fIcat_index\fP, char *\fIname\fP, int *\fIname_len\fP, +char *\fIdesc\fP, int *\fIdesc_len\fP, int *\fInum_cvars\fP, int *\fInum_pvars\fP, +int *\fInum_categories\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. +.TP 1i +desc_len +Length of the string and/or buffer for desc. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +Buffer to return the string containing the name of the +category. +.TP 1i +desc +Buffer to return the string containing the description +of the category. +.TP 1i +num_cvars +Number of control variables in the category. +.TP 1i +num_pvars +Number of performance variables in the category. +.TP 1i +num_categories +Number of categories contained in the category. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_info can be used to query information from a category. The function returns the +number of control variables, performance variables, and sub-categories in the queried category in +the arguments \fInum_cvars\fP, \fInum_pvars\fP, and \fInum_categories\fP, respectively. + +.SH NOTES +.ft R +This MPI tool interface function returns two strings. This function takes two argument for each string: +a buffer to store the string, and a length which must initially specify the size of the buffer. If the +length passed is n then this function will copy at most n - 1 characters of the string into the +corresponding buffer and set the length to the number of characters copied - 1. If the length argument +is NULL or the value specified in the length is 0 the corresponding string buffer is ignored and the +string is not returned. + +.SH ERRORS +.ft R +MPI_T_category_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_num.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_num.3 new file mode 100644 index 00000000..be676085 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_num.3 @@ -0,0 +1,36 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_num 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_num\fP \- Query the number of categories +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_num(int *\fInum_cat\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_cat +Current number of categories + +.SH DESCRIPTION +.ft R +MPI_T_category_get_num can be used to query the current number of categories. + +.SH ERRORS +.ft R +MPI_T_category_get_num() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_pvars.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_pvars.3 new file mode 100644 index 00000000..d728e033 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_category_get_pvars.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_category_get_pvars 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_category_get_pvars\fP \- Query which performance variables are in a category +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_category_get_pvars(int cat_index, int len, int indices[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cat_index +Index of the category to be queried. +.TP 1i +len +The length of the indices array. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +indices +An integer array of size len, indicating performance variable indices. + +.SH DESCRIPTION +.ft R +MPI_T_category_get_pvars can be used to query which performance variables are +contained in a particular category. A category contains zero or more performance variables. + +.SH ERRORS +.ft R +MPI_T_category_get_pvars() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The category index is invalid +. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_info.3 new file mode 100644 index 00000000..8b39f942 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_info.3 @@ -0,0 +1,170 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_get_info\fP \- Query information from a control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_get_info(int \fIcvar_index\fP, char *\fIname\fP, int *\fIname_len\fP, + int *\fIverbosity\fP, MPI_Datatype *\fIdatatype\fP, MPI_T_enum *\fIenumtype\fP, + const *\fIdesc\fP, int *\fIdesc_len\fP, int *\fIbind\fP, int *\fIscope\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +cvar_index +Index of the control variable to be queried. +. +. +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. +.TP 1i +desc_len +Length of the string and/or buffer for desc. +. +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +Buffer to return the string containing the name of the +control variable. +.TP 1i +verbosity +Verbosity level of this variable. +.TP 1i +datatype +MPI datatype of the information stored in the control +variable. +.TP 1i +enumtype +Optional descriptor for enumeration information. +.TP 1i +desc +Buffer to return the string containing the description +of the control variable. +.TP 1i +bind +Type of MPI object to which this variable must be +bound. +.TP 1i +scope +Scope of when changes to this variable are possible. +. +. +.SH DESCRIPTION +.ft R +MPI_T_cvar_get_info can be used to query information about a control variable. The function returns +the verbosity, datatype, enumeration type, binding, and scope of the queried control variable in the arguments +\fIverbosity\fP, \fIdatatype\fP, \fIenumtype\fP, \fIbind\fP, and \fIscope\fP, respectively. Control variables +in Open MPI are the same as MCA parameters. +. +. +.SH VERBOSITY +.ft R +As Open MPI exposes a very large number of MCA parameters (control variables), control variables are +categorized into nine verbosity levels corresponding to the equivalent ompi_info level. The nine levels are +(in increasing order): +.TP 1i +MPI_T_VERBOSITY_USER_BASIC +Basic information of interest to users +.TP 1i +MPI_T_VERBOSITY_USER_DETAIL +Detailed information of interest to users +.TP 1i +MPI_T_VERBOSITY_USER_ALL +All remaining information of interest to users +.TP 1i +MPI_T_VERBOSITY_TUNER_BASIC +Basic information required for tuning +.TP 1i +MPI_T_VERBOSITY_TUNER_DETAIL +Detailed information required for tuning +.TP 1i +MPI_T_VERBOSITY_TUNER_ALL +All remaining information required for tuning +.TP 1i +MPI_T_VERBOSITY_MPIDEV_BASIC +Basic information for MPI implementors +.TP 1i +MPI_T_VERBOSITY_MPIDEV_DETAIL +Detailed information for MPI implementors +.TP 1i +MPI_T_VERBOSITY_MPIDEV_ALL +All remaining information for MPI implementors + +For more information see MPI-3 \[char167] 14.3.1. + +.SH DATATYPE +.ft R +The datatype returned by MPI_T_cvar_get_info is restricted to one of the following datatypes: MPI_INT, +MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, MPI_COUNT, MPI_CHAR, and MPI_DOUBLE. For more +information on datatypes in MPI_T see MPI-3 \[char167] 14.3.5. + +.SH SCOPE +.ft R +The scope describes when and how changes can be made to a control variable. From MPI-3 \[char167] 14.3.6, the scope may be any of the following: +.TP 1i +MPI_T_SCOPE_CONSTANT +read-only, value is constant +.TP 1i +MPI_T_SCOPE_READONLY +read-only, cannot be written, but can change +.TP 1i +MPI_T_SCOPE_LOCAL +may be writeable, writing is a local operation +.TP 1i +MPI_T_SCOPE_GROUP +may be writeable, must be done to a group of processes, all processes in a group must be set to consistent values +.TP 1i +MPI_T_SCOPE_GROUP_EQ +may be writeable, must be done to a group of processes, all processes in a group must be set to the same value +.TP 1i +MPI_T_SCOPE_ALL +may be writeable, must be done to all processes, all connected processes must be set to consistent values +.TP 1i +MPI_T_SCOPE_ALL_EQ +may be writeable, must be done to all processes, all connected processes must be set to the same value + +For more information see MPI-3 \[char167] 14.3.6 Table 14.4. + +.SH NOTES +.ft R +This MPI tool interface function returns two strings. This function takes two argument for each string: +a buffer to store the string, and a length which must initially specify the size of the buffer. If the +length passed is n then this function will copy at most n - 1 characters of the string into the +corresponding buffer and set the length to the number of characters copied - 1. If the length argument +is NULL or the value specified in the length is 0 the corresponding string buffer is ignored and the +string is not returned. +.sp +Open MPI does not currently support binding control variables to MPI objects. +. +. +.SH ERRORS +.ft R +MPI_T_cvar_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The control variable index is invalid +. +.SH SEE ALSO +.ft R +.nf +ompi_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_num.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_num.3 new file mode 100644 index 00000000..bb6afb07 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_get_num.3 @@ -0,0 +1,39 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_get_num 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_get_num\fP \- Query the number of control variables +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_get_num(int *\fInum_cvar\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_cvar +Current number of control variables. +. +. +.SH DESCRIPTION +.ft R +MPI_T_cvar_get_num can be used to query the current number of control variables. The number +of control variables may increase throughout the execution of the process but will never +decrease. + +.SH ERRORS +.ft R +MPI_T_cvar_get_num() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_alloc.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_alloc.3 new file mode 100644 index 00000000..149bacd4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_alloc.3 @@ -0,0 +1,68 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_handle_alloc 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_handle_alloc\fP, \fBMPI_T_cvar_handle_free\fP \- Allocate/free contol variable handles +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_handle_alloc(int \fIcvar_index\fP, void *\fIobj_handle\fP, + MPI_T_cvar_handle *\fIhandle\fP, int *\fIcount\fP) + +int MPI_T_cvar_handle_free(MPI_T_cvar_handle *\fIhandle\fP) + +.SH DESCRIPTION +.ft R +MPI_T_cvar_handle_alloc binds the control variable specified in \fIcvar_index\fP to the MPI +object specified in \fIobj_handle\fP. If MPI_T_cvar_get_info returns MPI_T_BIND_NO_OBJECT +as the binding of the variable the \fIobj_handle\fP argument is ignored. The number of +values represented by this control variable is returned in the \fIcount\fP parameter. If the +control variable represents a string then \fIcount\fP will be the maximum length of the +string. + +MPI_T_cvar_handle_free frees a handle allocated by MPI_T_cvar_handle_alloc and sets the +\fIhandle\fP argument to MPI_T_CVAR_HANDLE_NULL. + + +.SH NOTES +.ft R +Open MPI does not currently support binding MPI objects to control variables so the +\fIobj_handle\fP argument is always ignored. + + +.SH ERRORS +.ft R +MPI_T_cvar_handle_alloc() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The control variable index is invalid +.TP 1i +[MPI_T_ERR_OUT_OF_HANDLES] +No more handles available +.TP 1i +MPI_T_cvar_handle_free() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid + + +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_get_info + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_free.3 new file mode 100644 index 00000000..3fa22647 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_handle_free.3 @@ -0,0 +1 @@ +.so man3/MPI_T_cvar_handle_alloc.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_read.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_read.3 new file mode 100644 index 00000000..554b32e1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_read.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_read 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_read\fP \- Read the value of a control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_read(MPI_T_cvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +handle +Handle of the control variable to be read. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_cvar_read reads the value of the control variable identified by the handle +specified in \fIhandle\fP and stores the value in the buffer pointed to by \fIbuf\fP. +The caller must ensure that the buffer pointed to by \fIbuf\fP is large enough to +hold the entire value of the control variable. + +.SH ERRORS +.ft R +MPI_T_cvar_read() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid + +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_handle_alloc +MPI_T_cvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_write.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_write.3 new file mode 100644 index 00000000..fd0828d9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_cvar_write.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_cvar_write 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_cvar_write\fP \- Write the value of a bound control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_cvar_write(MPI_T_cvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +handle +Handle of the control variable to be written. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_cvar_write sets the value the control variable identified by the handle +specified in \fIhandle\fP from the buffer provided in \fIbuf\fP. The caller must +ensure that the buffer specified in \fIbuf\fP is large enough to hold the +entire value of the control variable. If the variable has global scope, any +write call must be issued on all connected MPI processes. For more +information see MPI-3 \[char167] 14.3.6. + +.SH ERRORS +.ft R +MPI_T_cvar_write() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid +.TP 1i +[MPI_T_ERR_CVAR_SET_NOT_NOW] +Variable cannot be set at this moment +.TP 1i +[MPI_T_ERR_CVAR_SET_NEVER] +Variable cannot be set until end of execution + +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_handle_alloc +MPI_T_cvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_info.3 new file mode 100644 index 00000000..f8be8231 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_info.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_enum_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_enum_get_info\fP \- Query information about an enumerator +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_enum_get_info(MPI_T_enum \fIenumtype\fP, int *\fInum\fP, char *\fIname\fP, int *\fIname_len\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +enumtype +Enumerator to be queried. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. + +.SH OUTPUT PARAMETERS +.ft R +.TP li +num +number of discrete values represented by this enumeration. +.TP 1i +name +Buffer to return the string containing the name of the +category. + +.SH DESCRIPTION +.ft R +MPI_T_enum_get_info can be used to query information about an enumerator. The function returns the +number of discrete values represented by this enumerator in the \fInum\fP parameter. + +.SH NOTES +.ft R +This MPI tool interface function returns the name of the enumeration as a string. This function +takes two argument for the string: \fIname\fP which specifies a buffer where the name of the +should be stored, and \fIname_len\fP which must initially specify the size of the buffer pointed +to by \fIname\fP. This function will copy at most \fIname_len\fP - 1 characters of the name +and sets \fIname_len\fP to the number of characters returned + 1. If \fIname_len\fP is NULL +or the value specified in \fIname_len\fP is 0 the \fIname\fP buffer is ignored and the name of +the enumeration is not returned. + +.SH ERRORS +.ft R +MPI_T_enum_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The enumeration is invalid or has been deleted diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_item.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_item.3 new file mode 100644 index 00000000..4585014c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_enum_get_item.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_enum_get_item 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_enum_get_item\fP \- Query information about an enumerator +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_enum_get_item(MPI_T_enum \fIenumtype\fP, int \fIindex\fP, int *\fIvalue\fP, char *\fIname\fP, + int *\fIname_len\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +enumtype +Enumeration to be queried. +.TP 1i +index +Number of the value to be queried in this enumeration. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. + +.SH OUTPUT PARAMETERS +.ft R +.TP li +value +Variable value. +.TP 1i +name +Buffer to return the string containing the name of the +category. + +.SH DESCRIPTION +.ft R +MPI_T_enum_get_item can be used to query information about an item in an enumerator. This function +returns the enumeration value in the \fIvalue\fP parameter. + +.SH NOTES +.ft R +This MPI tool interface function returns the name of the item as a string. This function takes two +arguments for the string: a buffer to store the string, and a length which must initially specify the +size of the buffer. If the length passed is n then this function will copy at most n - 1 characters +of the string into the buffer and sets the length to the number of characters copied - 1. If the length +argument is NULL or the value specified in the length is 0 the string buffer is ignored and the +string is not returned. For more information see MPI-3 \[char167] 14.3.3. + +.SH ERRORS +.ft R +MPI_T_enum_get_item() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The enumeration is invalid or has been deleted diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_finalize.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_finalize.3 new file mode 100644 index 00000000..1ccd1e0a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_finalize.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_T_finalize 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_T_finalize \fP \- Finalize the MPI tool information interface + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_T_finalize(void) + +.SH DESCRIPTION +.ft R +MPI_T_finalize() finalizes the MPI tool information interface and must be called the same +number of times as MPI_T_init_thread() by the end of execution. Calls to MPI tool functions +are allowed at any point in execution as long as MPI_T_init_thread() has been called at least +once and the number of calls to MPI_T_init_thread() is greater than the number of calls to +MPI_T_finalize(). If at any point in execution the number of calls to MPI_T_finalize() equals +the number of calls to MPI_T_init_thread() the MPI tool interface will no longer be available +until another call to MPI_T_init_thread(). + +.SH NOTES +.ft R +Before the end of execution the number of calls to MPI_T_init_thread() and MPI_T_finalize must +be the same. + +.SH ERRORS +.ft R +MPI_T_finalize() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized + +.SH SEE ALSO +.ft T +.nf +MPI_T_init_thread + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_init_thread.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_init_thread.3 new file mode 100644 index 00000000..5ed40cee --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_init_thread.3 @@ -0,0 +1,90 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_init_thread 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_init_thread\fP \- Initializes the MPI Tool imformation interface +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_init_thread(int \fIrequired\fP, int *\fIprovided\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +required +Desired level of thread support (integer). +. +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +provided +Available level of thread support (integer). +. +. +.SH DESCRIPTION +.ft R +MPI_T_init_thread() initializes the MPI tool information interface. Calls to MPI tool functions +are allowed at any point in execution (including before MPI_Init() and after MPI_Finalize()) as +long as MPI_T_init_thread() has been called at least once and the number of calls to +MPI_T_init_thread() is greater than the number of calls to MPI_T_finalize(). If at any point in +execution the number of calls to MPI_T_finalize() equals the number of calls to +MPI_T_init_thread() the MPI tool interface will no longer be available until another call to +MPI_T_init_thread(). + +.sp +MPI_T_init_thread, like MPI_Init_thread, has a provision to request a +certain level of thread support in \fIrequired\fP: +.TP 2.4i +MPI_THREAD_SINGLE +Only one thread will execute. +.TP 2.4i +MPI_THREAD_FUNNELED +If the process is multithreaded, only the thread that called +MPI_Init_thread will make MPI calls. +.TP 2.4i +MPI_THREAD_SERIALIZED +If the process is multithreaded, only one thread will make MPI library +calls at one time. +.TP 2.4i +MPI_THREAD_MULTIPLE +If the process is multithreaded, multiple threads may call MPI at once +with no restrictions. +. +.PP +The level of thread support available to the program is set in +\fIprovided\fP. In Open MPI, the value is dependent on how the library was +configured and built. Note that there is no guarantee that +\fIprovided\fP will be greater than or equal to \fIrequired\fP. +. +.SH NOTES +.ft R +It is the caller's responsibility to check the value of \fIprovided\fP, +as it may be less than what was requested in \fIrequired\fP. + +.SH ERRORS +.ft R +MPI_T_init_thread() will fail if: +.TP 1i +[MPI_T_ERR_MEMORY] +Out of memory +.TP 1i +[MPI_T_ERR_CANNOT_INIT] +Interface not in the state to be initialized + +.SH SEE ALSO +.ft R +.nf +MPI_Init_thread +MPI_T_finalize + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_info.3 new file mode 100644 index 00000000..edf3151b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_info.3 @@ -0,0 +1,204 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_get_info\fP \- Query information from a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_get_info(int \fIpvar_index\fP, char *\fIname\fP, int *\fIname_len\fP, + int *\fIverbosity\fP, int *\fIvar_class\fP, MPI_Datatype *\fIdatatype\fP, MPI_T_enum *\fIenumtype\fP, + char *\fIdesc\fP, int *\fIdesc_len\fP, int *\fIbind\fP, int *\fIreadonly\fP, int *\fIcontinuous\fP, + int *\fIatomic\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +pvar_index +Index of the performance variable to be queried. + +.SH INPUT/OUTPUT PARAMETERS +.ft R +.TP 1i +name_len +Length of the string and/or buffer for name. +.TP 1i +desc_len +Length of the string and/or buffer for desc. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +name +Buffer to return the string containing the name of the +performance variable. +.TP 1i +verbosity +Verbosity level of this variable. +.TP 1i +var_class +Class of performance variable. +.TP 1i +datatype +MPI datatype of the information stored in the performance variable. +.TP 1i +enumtype +Optional descriptor for enumeration information. +.TP 1i +desc +Buffer to return the string containing the description of the performance variable. +.TP 1i +bind +Type of MPI object to which this variable must be bound. +.TP 1i +readonly +Flag indicating whether the variable can be written/reset. +.TP 1i +continuous +Flag indicating whether the variable can be started and stopped or is continuously active. +.TP 1i +atomic +Flag indicating whether the variable can be atomically read and reset. +. +. +.SH DESCRIPTION +.ft R +MPI_T_pvar_get_info can be used to query information from a performance variable. The function returns +the verbosity, class, datatype, enumeration type, and binding of the queried control variable in the arguments +\fIverbosity\fP, \fIvar_class\fP, \fIdatatype\fP, \fIenumtype\fP, and \fIbind\fP respectively. Flags indicating +whether the variable is read-only, continuous, or atomic are returns in \fIreadonly\fP, \fIcontinuous\fP, and +\fIatomic\fP accordingly. See MPI-3 § 14.3.7 for more information. See the man page for MPI_T_cvar_get_info +for information on variable verbosity. + +.SH VARIABLE CLASS +.ft R +Performance variables are categorized into classes which describe their initial value, valid types, and +behavior. The class returned in the \fIvar_class\fP parameter may be one of the following: +.TP 2 +MPI_T_PVAR_CLASS_STATE +Variable represents a set of discrete states that may be described by an enumerator. Variables of this class +must be represented by an MPI_INT. The starting value is the current state of the variable. +.TP 2 +MPI_T_PVAR_CLASS_LEVEL +Variable represents the current utilization level of a resource. Variables of this class must be represented +by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value is the +current utilization level of the resource. +.TP 2 +MPI_T_PVAR_CLASS_SIZE +Variable represents the fixed size of a resource. Variables of this class are represented by an MPI_UNSIGNED, +MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value is the current size of the resource. +.TP 2 +MPI_T_PVAR_CLASS_PERCENTAGE +Variable represents the current precentage utilization level of a resource. Variables of this class are +represented by an MPI_DOUBLE. The starting value is the current percentage utilization of the resource. +.TP 2 +MPI_T_PVAR_CLASS_HIGHWATERMARK +Variable represents the high watermark of the utilization of a resource. Variables of this class are +represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value +is the current utilization of the resource. +.TP 2 +MPI_T_PVAR_CLASS_HIGHWATERMARK +Variable represents the low watermark of the utilization of a resource. Variables of this class are +represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. The starting value +is the current utilization of the resource. +.TP 2 +MPI_T_PVAR_CLASS_COUNTER +Variable represents a count of the number of occurrences of a specific event. Variables of this class are +represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, or MPI_UNSIGNED_LONG_LONG. The starting value is 0. +.TP 2 +MPI_T_PVAR_CLASS_COUNTER +Variable represents an aggregated value that represents a sum of arguments processed during a specific event. +Variables of this class are represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, +or MPI_DOUBLE. The starting value is 0. +.TP 2 +MPI_T_PVAR_CLASS_TIMER +Variable represents the aggregated time spent by the MPI implementation while processing an event, type of +event, or section of code. Variables of this class are represented by an MPI_UNSIGNED, MPI_UNSIGNED_LONG, +MPI_UNSIGNED_LONG_LONG, or MPI_DOUBLE. If the variable is represented by an MPI_DOUBLE the units will be +the same as those used by MPI_Wtime(). The starting value is 0. +.TP 2 +MPI_T_PVAR_CLASS_GENERIC +Variable does not fit into any other class. Can by represented by an type supported by the MPI tool +information interface (see DATATYPE). Starting value is variable specific. + +For more information see MPI-3 \[char 167] 14.3.7. + +.SH DATATYPE +.ft R +The datatype returned by MPI_T_pvar_get_info is restricted to one of the following datatypes: MPI_INT, +MPI_UNSIGNED, MPI_UNSIGNED_LONG, MPI_UNSIGNED_LONG_LONG, MPI_COUNT, MPI_CHAR, and MPI_DOUBLE. For more +information on datatypes in the MPI Tool information interface see MPI-3 \[char167] 14.3.5. + +.SH BINDING +.ft R +Performance variables may be bound to an MPI object. The binding returned in the \fIbind\fP parameter may be +one of the following: +.TP 1i +MPI_T_BIND_NO_OBJECT +No object +.TP 1i +MPI_T_BIND_MPI_COMM +MPI communicator +.TP 1i +MPI_T_BIND_MPI_DATATYPE +MPI datatype +.TP 1i +MPI_T_BIND_MPI_ERRHANDLER +MPI error handler +.TP 1i +MPI_T_BIND_MPI_FILE +MPI file handle +.TP 1i +MPI_T_BIND_MPI_GROUP +MPI group +.TP 1i +MPI_T_BIND_MPI_OP +MPI reduction operator +.TP 1i +MPI_T_BIND_MPI_REQUEST +MPI request +.TP 1i +MPI_T_BIND_MPI_WIN +MPI window for one-sided communication +.TP 1i +MPI_T_BIND_MPI_MESSAGE +MPI message object +.TP 1i +MPI_T_BIND_MPI_INFO +MPI info object + +For more information see MPI-3 \[char167] 14.3.2. + +.SH NOTES +.ft R +This MPI tool interface function returns two strings. This function takes two argument for each string: +a buffer to store the string, and a length which must initially specify the size of the buffer. If the +length passed is n then this function will copy at most n - 1 characters of the string into the +corresponding buffer and set the length to the number of characters copied - 1. If the length argument +is NULL or the value specified in the length is 0 the corresponding string buffer is ignored and the +string is not returned. For more information see MPI-3 \[char167] 14.3.3. + +.SH ERRORS +.ft R +MPI_T_pvar_get_info() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The performance variable index is invalid +. +.SH SEE ALSO +.ft R +.nf +MPI_T_cvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_num.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_num.3 new file mode 100644 index 00000000..ea72f256 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_get_num.3 @@ -0,0 +1,38 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_get_num 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_get_num\fP \- Query the number of performance variables +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_get_num(int *\fInum_pvar\fP) + +.fi +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_pvar +Current number of performance variables. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_get_num can be used to query the current number of performance variables. The number +of performance variables may increase throughout the exection of the process but will never +decrease. + +.SH ERRORS +.ft R +MPI_T_pvar_get_num() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_alloc.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_alloc.3 new file mode 100644 index 00000000..fd56819a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_alloc.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_handle_alloc 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_handle_alloc\fP, \fBMPI_T_pvar_handle_free\fP \- Allocate/free MPI performance variable handles +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_handle_alloc(int \fIpvar_index\fP, void *\fIobj_handle\fP, + MPI_T_pvar_handle *\fIhandle\fP, int *\fIcount\fP) + +int MPI_T_pvar_handle_free(MPI_T_pvar_handle *\fIhandle\fP) + +.SH DESCRIPTION +.ft R +MPI_T_pvar_handle_alloc binds the performance variable specified in \fIpvar_index\fP to the MPI +object specified in \fIobj_handle\fP. If MPI_T_pvar_get_info returns MPI_T_BIND_NO_OBJECT +as the binding for the variable the \fIobj_handle\fP argument is ignored. The number of +values represented by this performance variable is returned in the \fIcount\fP parameter. + +MPI_T_pvar_handle_free frees a handle allocated by MPI_T_pvar_handle_alloc and sets the +\fIhandle\fP argument to MPI_T_PVAR_HANDLE_NULL. + + +.SH ERRORS +.ft R +MPI_T_pvar_handle_alloc() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_INDEX] +The performance variable index is invalid +.TP 1i +[MPI_T_ERR_OUT_OF_HANDLES] +No more handles available +.TP 1i +MPI_T_pvar_handle_free() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid + + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_get_info + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_free.3 new file mode 100644 index 00000000..378fd2d1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_handle_free.3 @@ -0,0 +1 @@ +.so man3/MPI_T_pvar_handle_alloc.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_read.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_read.3 new file mode 100644 index 00000000..ff15141d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_read.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_read 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_read\fP \- Read the value of a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_read(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_read queries the value of a performance variable identified by the handle +specified in \fIhandle\fP in the session specified in \fIsession\fP. The result is +stored in the buffer pointed to by \fIbuf\fP. The caller must ensure that the +buffer pointed to by \fIbuf\fP is large enough to hold the entire value of the +performance variable. + +.SH ERRORS +.ft R +MPI_T_pvar_read() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid or not associated with the session +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_readreset.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_readreset.3 new file mode 100644 index 00000000..353fa7db --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_readreset.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_readreset 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_readreset\fP \- Atomically read and reset the value of a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_readreset(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_readreset atomically queries and resets the value of a performance variable +bound to the handle specified by \fIhandle\fP in the session specified by \fIsession\fP. +The result is stored in the buffer pointed to by \fIbuf\fP. This function can only be +used with performance variables that are atomic and not readonly. The caller must ensure +that the buffer pointed to by \fIbuf\fP is large enough to hold the entire value of the +performance variable. + +.SH ERRORS +.ft R +MPI_T_pvar_readreset() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid or not associated with the session +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session +.TP 1i +[MPI_T_ERR_PVAR_NO_ATOMIC] +Variable cannot be read and written atomically +.TP 1i +[MPI_T_ERR_PVAR_NO_WRITE] +Variable cannot be reset + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create +MPI_T_pvar_read +MPI_T_pvar_reset + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_reset.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_reset.3 new file mode 100644 index 00000000..4217756f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_reset.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_reset 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_reset\fP \- Reset the value of a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_reset(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle or MPI_T_PVAR_ALL_HANDLES. +. +. +.SH DESCRIPTION +.ft R +MPI_T_pvar_reset sets the performance variable specified by the handle in \fIhandle\fP +to its initial value. The special value MPI_T_PVAR_ALL_HANDLES can be passed in \fIhandle\fP +to reset all read-write handles in the session specified in \fIsession\fP. +. +. +.SH ERRORS +.ft R +MPI_T_pvar_reset() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session +.TP 1i +[MPI_T_ERR_PVAR_NO_WRITE] +Variable cannot be reset + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create +MPI_T_pvar_write diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_create.3 new file mode 100644 index 00000000..b48ba658 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_create.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_session_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_session_create\fP, \fBMPI_T_pvar_session_free\fP \- Create/free performance variable session +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_session_create(MPI_T_pvar_session *\fIsession\fP) + +int MPI_T_pvar_session_free(MPI_T_pvar_session *\fIsession\fP) + +.SH DESCRIPTION +.ft R +MPI_T_pvar_session_create creates a session for accessing performance variables. The +new session is returned in the \fIsession\fP parameter. + +MPI_T_pvar_session_free releases a session allocated by MPI_T_pvar_session_create and sets +the \fIsession\fP parameter to MPI_T_PVAR_SESSION_NULL. + +.SH ERRORS +.ft R +MPI_T_pvar_session_create() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_MEMORY] +Out of memory +.TP 1i +[MPI_T_ERR_OUT_OF_SESSIONS] +No more sessions available +.TP 1i +MPI_T_pvar_session_free() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +The session parameter is not a valid session + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_free.3 new file mode 100644 index 00000000..4a42a63f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_session_free.3 @@ -0,0 +1 @@ +.so man3/MPI_T_pvar_session_create.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_start.3 new file mode 100644 index 00000000..04aad196 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_start.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_start\fP, \fBMPI_T_pvar_stop\fP \- Start/stop a performance variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_start(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP) + +int MPI_T_pvar_stop(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP) + +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_start starts the performance variable with the handle specified in \fIhandle\fP. +The special value MPI_T_PVAR_ALL_HANDLES can be passed in \fIhandle\fP to start all +non-continuous handles in the session specified in \fIsession\fP. + +MPI_T_pvar_stop stops the performance variable with the handle specified in \fIhandle\fP. +The special value MPI_T_PVAR_ALL_HANDLES can be passed in \fIhandle\fP to stop all +non-continuous handles in the session specified in \fIsession\fP. + +Continuous performance variables can neither be started nor stopped. + +.SH ERRORS +.ft R +MPI_T_pvar_start() and MPI_T_pvar_stop() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session parameter is not a valid session +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +Invalid handle or handle not associated with the session +.TP 1i +[MPI_T_ERR_PVAR_NO_STARTSTOP] +The variable cannot be started or stopped + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_get_info diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_stop.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_stop.3 new file mode 100644 index 00000000..3907001b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_stop.3 @@ -0,0 +1 @@ +.so man3/MPI_T_pvar_start.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_write.3 b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_write.3 new file mode 100644 index 00000000..e5e16a4d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_T_pvar_write.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_T_pvar_write 3 "Mar 26, 2019" "4.0.1" "Open MPI" +. +.SH NAME +\fBMPI_T_pvar_write\fP \- Write the value of a control variable +. +.SH SYNTAX +.ft R +. +.SH C Syntax +.nf +#include +int MPI_T_pvar_write(MPI_T_pvar_session \fIsession\fP, MPI_T_pvar_handle \fIhandle\fP, const void *\fIbuf\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +session +Performance experiment session. +.TP 1i +handle +Performance variable handle. +.TP 1i +buf +Initial address of storage location for variable value. + +.SH DESCRIPTION +.ft R +MPI_T_pvar_write attempts to set the value of the performance variable identified by +the handle specified in \fIhandle\fP in the session specified in \fPsession\fI. The +value to be written is specified in \fIbuf\fP. The caller must ensure that the buffer +specified in \fIbuf\fP is large enough to hold the entire value of the performance +variable. + +.SH ERRORS +.ft R +MPI_T_pvar_write() will fail if: +.TP 1i +[MPI_T_ERR_NOT_INITIALIZED] +The MPI Tools interface not initialized +.TP 1i +[MPI_T_ERR_INVALID_HANDLE] +The handle is invalid or not associated with the session +.TP 1i +[MPI_T_ERR_INVALID_SESSION] +Session argument is not a valid session +.TP 1i +[MPI_T_ERR_PVAR_NO_WRITE] +Variable cannot be written + +.SH SEE ALSO +.ft R +.nf +MPI_T_pvar_handle_alloc +MPI_T_pvar_get_info +MPI_T_pvar_session_create diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Test.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Test.3 new file mode 100644 index 00000000..2b5a8fe6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Test.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright 2007-2008 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Test 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Test\fP \- Tests for the completion of a specific send or receive. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Test(MPI_Request *\fIrequest\fP, int\fI *flag\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Communication request (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if operation completed (logical). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A call to MPI_Test returns flag = true if the operation identified by request is complete. In such a case, the status object is set to contain information on the completed operation; if the communication object was created by a nonblocking send or receive, then it is deallocated and the request handle is set to MPI_REQUEST_NULL. The call returns flag = false, otherwise. In this case, the value of the status object is undefined. MPI_Test is a local operation. +.sp +The return status object for a receive operation carries information that can be accessed as described in Section 3.2.5 of the MPI-1 Standard, "Return Status." The status object for a send operation carries information that can be accessed by a call to MPI_Test_cancelled (see Section 3.8 of the MPI-1 Standard, "Probe and Cancel"). +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +One is allowed to call MPI_Test with a null or inactive \fIrequest\fP argument. In such a case the operation returns with \fIflag\fP = true and empty \fIstatus\fP. +.sp +The functions MPI_Wait and MPI_Test can be used to complete both sends and +receives. + +.SH NOTES +The use of the nonblocking MPI_Test call allows the user to schedule alternative activities within a single thread of execution. An event-driven thread scheduler can be emulated with periodic calls to MPI_Test. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_TEST do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler +and may be passed back to the caller through the return value of +MPI_TEST if the back-end error handler returns it. The +pre-defined MPI error handler MPI_ERRORS_RETURN exhibits this +behavior, for example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Test_cancelled.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Test_cancelled.3 new file mode 100644 index 00000000..a9f4c19d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Test_cancelled.3 @@ -0,0 +1,50 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Test_cancelled 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Test_cancelled\fP \- Tests whether a request was canceled. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Test_cancelled(const MPI_Status *\fIstatus\fP, int \fI*flag\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +status +Status object (status). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if operation was cancelled (logical). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns \fIflag\fP = true if the communication associated with the status object +was canceled successfully. In such a case, all other fields of status (such as \fIcount\fP or \fItag\fP) are undefined. Otherwise, returns \fIflag\fP = false. If a receive operation might be canceled, one should call MPI_Test_cancelled first, to check whether the operation was canceled, before checking on the other fields of the return status. + +.SH NOTES +Cancel can be an expensive operation that should be used only exceptionally. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Testall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Testall.3 new file mode 100644 index 00000000..64868a88 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Testall.3 @@ -0,0 +1,104 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Testall 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Testall\fP \- Tests for the completion of all previously initiated communications in a list. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Testall(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + int\fI *flag\fP, MPI_Status\fI array_of_statuses[]\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Lists length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +flag +True if previously initiated communications are complete (logical.) +.TP 1i +array_of_statuses +Array of status objects (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Returns \fIflag\fP = true if all communications associated with active handles in the array have completed (this includes the case where no handle in the list is active). In this case, each status entry that corresponds to an active handle request is set to the status of the corresponding communication; if the request was allocated by a nonblocking communication call then it is deallocated, and the handle is set to MPI_REQUEST_NULL. Each status entry that corresponds to a null or inactive handle is set to empty. +.sp +Otherwise, \fIflag\fP = false is returned, no request is modified and the values of the status entries are undefined. This is a local operation. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. +.sp +Errors that occurred during the execution of MPI_Testall are handled in the same manner as errors in MPI_Waitall. + +.SH NOTE +.ft R +\fIflag\fP is true only if all requests have completed. Otherwise, \fIflag\fP is false, +and neither \fIarray_of_requests\fP nor \fIarray_of_statuses\fP is modified. + +.SH ERRORS +For each invocation of MPI_Testall, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Testall to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Testany.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Testany.3 new file mode 100644 index 00000000..e00f5368 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Testany.3 @@ -0,0 +1,98 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Testany 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Testany\fP \- Tests for completion of any one previously initiated communication in a list. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Testany(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + int\fI *index\fP, int\fI *flag\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +List length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +index +Index of operation that completed, or MPI_UNDEFINED if none completed +(integer). +.TP 1i +flag +True if one of the operations is complete (logical). +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Testany tests for completion of either one or none of the operations associated with active handles. In the former case, it returns \fIflag\fP = true, returns in \fIindex\fP the index of this request in the array, and returns in \fIstatus\fP the status of that operation; if the request was allocated by a nonblocking communication call then the request is deallocated and the handle is set to MPI_REQUEST_NULL. (The array is indexed from 0 in C, and from 1 in Fortran.) In the latter case (no operation completed), it returns \fIflag\fP = false, returns a value of MPI_UNDEFINED in \fIindex\fP, and \fIstatus\fP is undefined. +.sp +The array may contain null or inactive handles. If the array contains no active handles then the call returns immediately with \fIflag\fP = true, \fIindex\fP = MPI_UNDEFINED, and an empty \fIstatus\fP. +.sp +If the array of requests contains active handles then the execution of +MPI_Testany(count, array_of_requests, index, status) has the same effect as the execution of MPI_Test(&\fIarray_of_requests[i\fP], \fIflag\fP, \fIstatus\fP), for \fIi\fP=0,1,...,count-1, in some arbitrary order, until one call returns \fIflag\fP = true, or all fail. In the former case, \fIindex\fP is set to the last value of \fIi\fP, and in the latter case, it is set to MPI_UNDEFINED. MPI_Testany with an array containing one active entry is equivalent to MPI_Test. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_TESTANY do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler and +may be passed back to the caller through the return value of +MPI_TESTANY if the back-end error handler returns it. The pre-defined +MPI error handler MPI_ERRORS_RETURN exhibits this behavior, for +example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Testsome.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Testsome.3 new file mode 100644 index 00000000..ec3b0a9a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Testsome.3 @@ -0,0 +1,123 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011-2015 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Testsome 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Testsome\fP \- Tests for completion of one or more previously initiated communications in a list. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Testsome(int \fIincount\fP, MPI_Request \fIarray_of_requests[]\fP, + int\fI *outcount\fP, int\fI array_of_indices[]\fP, + MPI_Status\fI array_of_statuses[]\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +incount +Length of array_of_requests (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outcount +Number of completed requests (integer). +.TP 1i +array_of_indices +Array of indices of operations that completed (array of integers). +.TP 1i +array_of_statuses +Array of status objects for operations that completed (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Behaves like MPI_Waitsome, except that it returns immediately. +.sp +Returns in outcount the number of requests from the list +array_of_requests that have completed. Returns in the first outcount +locations of the array array_of_indices the indices of these +operations (index within the array array_of_requests; the array is +indexed from 0 in C and from 1 in Fortran). Returns in the first +outcount locations of the array array_of_status the status for these +completed operations. If a request that completed was allocated by a +nonblocking communication call, then it is deallocated, and the +associated handle is set to MPI_REQUEST_NULL. +.sp +If no operation has completed it returns outcount = 0. If there is no +active handle in the list, it returns outcount = MPI_UNDEFINED. +.sp +MPI_Testsome is a local operation, which returns immediately, whereas MPI_Waitsome blocks until a communication completes, if it was passed a list that contains at least one active handle. Both calls fulfill a fairness requirement: If a request for a receive repeatedly appears in a list of requests passed to MPI_Waitsome or MPI_Testsome, and a matching send has been posted, then the receive will eventually succeed unless the send is satisfied by another receive; send requests also fulfill this fairness requirement. +.sp +Errors that occur during the execution of MPI_Testsome are handled as for +MPI_Waitsome. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. + +.SH NOTES +The use of MPI_Testsome is likely to be more +efficient than the use of MPI_Testany. The former returns information on all completed communications; with the latter, a new call is required for each communication that completes. +.sp +A server with multiple clients can use MPI_Waitsome so as not to starve any client. Clients send messages to the server with service requests. The server calls MPI_Waitsome with one receive request for each client, then handles all receives that have completed. If a call to MPI_Waitany is used instead, then one client could starve while requests from another client always sneak in first. + +.SH ERRORS +For each invocation of MPI_Testsome, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Testsome to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Topo_test.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Topo_test.3 new file mode 100644 index 00000000..78a2a5f8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Topo_test.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Topo_test 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Topo_test\fP \- Determines the type of topology (if any) associated with a communicator. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Topo_test(MPI_Comm \fIcomm\fP, int\fI *top_type\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +top_type +Topology type of communicator comm (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Topo_test returns the type of topology that is assigned to a communicator. +.sp +The output value \fItop_type\fP is one of the following: +.sp +.nf + MPI_GRAPH graph topology + MPI_CART Cartesian topology + MPI_DIST_GRAPH distributed graph topology + MPI_UNDEFINED no topology + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Graph_create +.br +MPI_Cart_create + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_commit.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_commit.3 new file mode 100644 index 00000000..2bdd2cbc --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_commit.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_commit 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_commit\fP \- Commits a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_commit(MPI_Datatype *\fIdatatype\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The commit operation commits the data type. A data type is the formal description of a communication buffer, not the content of that buffer. After a data type has been committed, it can be repeatedly reused to communicate the changing content of a buffer or, indeed, the content of different buffers, with different starting addresses. +.sp +\fBExample:\fP The following Fortran code fragment gives examples of using MPI_Type_commit. +.sp +.nf + INTEGER type1, type2 + CALL MPI_TYPE_CONTIGUOUS(5, MPI_REAL, type1, ierr) + ! new type object created + CALL MPI_TYPE_COMMIT(type1, ierr) + ! now type1 can be used for communication +.fi +.sp +If the data type specified in \fIdatatype\fP is already committed, it is equivalent to a no-op. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_contiguous.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_contiguous.3 new file mode 100644 index 00000000..d6df0583 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_contiguous.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_contiguous 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_contiguous\fP \- Creates a contiguous datatype. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_contiguous(int \fIcount\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Replication count (nonnegative integer). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The simplest datatype constructor is MPI_Type_contiguous, which allows replication of a datatype into contiguous locations. +.sp +\fInewtype\fP is the datatype obtained by concatenating \fIcount\fP copies of \fIoldtype\fP. Concatenation is defined using the extent of \fIoldtype\fP as the size of the concatenated copies. +.sp +\fBExample:\fR Let oldtype have type map {(double, 0), (char, 8)}, with extent 16, and let count = 3. The type map of the datatype returned by newtype is +.sp +.nf + {(double, 0), (char, 8), (double, 16), (char, 24), + (double, 32), (char, 40)]; +.fi +.sp +i.e., alternating double and char elements, with displacements 0, 8, 16, 24, 32, 40. +.sp +In general, assume that the type map of oldtype is +.sp +.nf + {(type(0), disp(0)),...,(type(n-1), disp(n-1))}, +.fi +.sp +with extent ex. Then newtype has a type map with count times n entries defined by: +.sp +.nf + {(type(0), disp(0)), ...,(type(n-1), disp(n-1)), + (type(0), disp(0) + ex), ...,(type(n-1), + disp(n-1) + ex), ...,(type(0), disp(0) + ex * (count - 1)), + ...,(type(n-1), disp(n-1) + ex * (count - 1))}. +.fi +.sp +For more information about derived datatypes, see Section 3.12 of the MPI-1 Standard. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_darray.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_darray.3 new file mode 100644 index 00000000..1f8f4f28 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_darray.3 @@ -0,0 +1,122 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_darray 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_darray\fP \- Creates a distributed array datatype; + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_darray(int \fIsize\fP, int \fIrank\fP, int \fIndims\fP, + const int \fIarray_of_gsizes\fP[], const int \fIarray_of_distribs\fP[], + const int \fIarray_of_dargs\fP[], const int \fIarray_of_psizes\fP[], + int \fIorder\fP, MPI_Datatype \fIoldtype\fP, MPI_Datatype \fI*newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of process group (positive integer). +.TP 1i +rank +Rank in process group (nonnegative integer). +.TP 1i +ndims +Number of array dimensions as well as process grid dimensions (positive integer). +.sp +.TP 1i +array_of_gsizes +Number of elements of type \fIoldtype\fP in each dimension of global array (array of positive integers). +.sp +.TP 1i +array_of_distribs +Distribution of array in each dimension (array of state). +.TP 1i +array_of_dargs +Distribution argument in each dimension (array of positive integers). +.sp +.TP 1i +array_of_psizes +Size of process grid in each dimension (array of positive integers). +.sp +.TP 1i +order +Array storage order flag (state). +.TP 1i +oldtype +Old data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +MPI_Type_create_darray can be used to generate the data types corresponding to the distribution of an ndims-dimensional array of \fIoldtype\fP elements onto an \fIndims\fP-dimensional grid of logical processes. Unused dimensions of \fIarray_of_psizes\fP should be set to 1. For a call to MPI_Type_create_darray to be correct, the equation +.sp +.nf + \fIndims\fP-1 + pi \fIarray_of_psizes[i]\fP = \fIsize\fP + \fIi\fP=0 + +.fi +.sp +must be satisfied. The ordering of processes in the process grid is assumed to be row-major, as in the case of virtual Cartesian process topologies in MPI-1. +.sp +Each dimension of the array can be distributed in one of three ways: +.sp +.nf +- MPI_DISTRIBUTE_BLOCK - Block distribution +- MPI_DISTRIBUTE_CYCLIC - Cyclic distribution +- MPI_DISTRIBUTE_NONE - Dimension not distributed. +.fi +.sp +The constant MPI_DISTRIBUTE_DFLT_DARG specifies a default distribution argument. The distribution argument for a dimension that is not distributed is ignored. For any dimension \fIi\fP in which the distribution is MPI_DISTRIBUTE_BLOCK, it erroneous to specify \fIarray_of_dargs[i]\fP \fI*\fP \fIarray_of_psizes[i]\fP < \fIarray_of_gsizes[i]\fP. +.sp +For example, the HPF layout ARRAY(CYCLIC(15)) corresponds to MPI_DISTRIBUTE_CYCLIC with a distribution argument of 15, and the HPF layout ARRAY(BLOCK) corresponds to MPI_DISTRIBUTE_BLOCK with a distribution argument of MPI_DISTRIBUTE_DFLT_DARG. +.sp +The \fIorder\fP argument is used as in MPI_TYPE_CREATE_SUBARRAY to specify the storage order. Therefore, arrays described by this type constructor may be stored in Fortran (column-major) or C (row-major) order. Valid values for order are MPI_ORDER_FORTRAN and MPI_ORDER_C. +.sp +This routine creates a new MPI data type with a typemap defined in terms of a function called "cyclic()" (see below). +.sp +Without loss of generality, it suffices to define the typemap for the MPI_DISTRIBUTE_CYCLIC case where MPI_DISTRIBUTE_DFLT_DARG is not used. +.sp +MPI_DISTRIBUTE_BLOCK and MPI_DISTRIBUTE_NONE can be reduced to the MPI_DISTRIBUTE_CYCLIC case for dimension \fIi\fP as follows. +.sp +MPI_DISTRIBUTE_BLOCK with \fIarray_of_dargs[i]\fP equal to MPI_DISTRIBUTE_DFLT_DARG is equivalent to MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP set to +.sp +.nf + (\fIarray_of_gsizes[i]\fP + \fIarray_of_psizes[i]\fP - 1)/\fIarray_of_psizes[i]\fP +.fi +.sp +If \fIarray_of_dargs[i]\fP is not MPI_DISTRIBUTE_DFLT_DARG, then MPI_DISTRIBUTE_BLOCK and DISTRIBUTE_CYCLIC are equivalent. +.sp +MPI_DISTRIBUTE_NONE is equivalent to MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP set to \fIarray_of_gsizes[i]\fP. +.sp +Finally, MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP equal to MPI_DISTRIBUTE_DFLT_DARG is equivalent to MPI_DISTRIBUTE_CYCLIC with \fIarray_of_dargs[i]\fP set to 1. +.sp + +.SH NOTES +.ft R +For both Fortran and C arrays, the ordering of processes in the process grid is assumed to be row-major. This is consistent with the ordering used in virtual Cartesian process topologies in MPI-1. To create such virtual process topologies, or to find the coordinates of a process in the process grid, etc., users may use the corresponding functions provided in MPI-1. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_complex.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_complex.3 new file mode 100644 index 00000000..227d8fee --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_complex.3 @@ -0,0 +1,125 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_f90_complex 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Type_create_f90_complex\fP \- Returns a bounded MPI complex datatype + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_create_f90_complex(int \fIp\fP, int \fIr\fP, + MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +p +Precision, in decimal digits (integer). +.TP 1i +r +Decimal exponent range (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function provides a way to declare KIND-parameterized COMPLEX MPI +datatypes. The arguments are interpreted in a similar fashion to the +F90 function SELECTED_REAL_KIND. The parameters \fIp\fP and \fIr\fP +must be scalar integers. The argument \fIp\fP represents the required +level of numerical precision, in decimal digits. The \fIr\fP parameter +indicates the range of exponents desired: the returned datatype will +have at least one exponent between \+\fIr\fP and \-\fIr\fP (inclusive). +.sp +Either \fIp\fP or \fIr\fP, but not both, may be omitted from calls to +SELECTED_REAL_KIND. Similarly, either argument to +MPI_Type_create_f90_complex may be set to MPI_UNDEFINED. + +.SH NOTES +.ft R +It is erroneous to supply values for \fIp\fP and \fIr\fP not supported by +the compiler. +.sp +The Fortran function SELECTED_REAL_KIND maps a large number of +(\fIp,r\fP) pairs to a much smaller number of KIND parameters +supported by the compiler. KIND parameters are not specified by the +language and are not portable. From the point of view of the language, +variables of the same base type and KIND parameter are equivalent, +even if their KIND parameters were generated by different (\fIp,r\fP) +arguments to SELECTED_REAL_KIND. However, to help facilitate +interoperability in a heterogeneous environment, equivalency is more +strictly defined for datatypes returned by +MPI_Type_create_f90_complex. Two MPI datatypes, each generated by this +function, will match if and only if they have identical values for +both \fIp\fP and \fIr\fP. +.sp +The interaction between the datatypes returned by this function and +the external32 data representation \- used by MPI_Pack_external, +MPI_Unpack_external, and many MPI_File functions \- is subtle. The +external32 representation of returned datatypes is as follows. +.sp +.nf + if (\fIp\fP > 33) and/or (\fIr\fP > 4931): + external32 size = n/a (undefined) + else if (\fIp\fP > 15) and/or (\fIr\fP > 307): + external32 size = 32 + else if (\fIp\fP > 6) and/or (\fIr\fP > 37): + external32 size = 16 + else: + external32 size = 8 +.fi +.sp +If the external32 representation of a datatype is undefined, so are +the results of using that datatype in operations that require the +external32 format. Care should be taken not to use incompatible +datatypes indirectly, e.g., as part of another datatype or through a +duplicated datatype, in these functions. +.sp +If a variable is declared specifying a nondefault KIND value that was +not obtained with SELECTED_REAL_KIND (i.e., \fIp\fP and/or \fIr\fP are +unknown), the only way to obtain a matching MPI datatype is to use the +functions MPI_Sizeof and MPI_Type_match_size. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Sizeof +MPI_Type_match_size +MPI_Unpack_external +SELECTED_REAL_KIND + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_integer.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_integer.3 new file mode 100644 index 00000000..95e1a445 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_integer.3 @@ -0,0 +1,118 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_f90_integer 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Type_create_f90_integer\fP \- Returns a bounded MPI integer datatype + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_create_f90_integer(int \fIr\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +r +Precision, in decimal digits (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function provides a way to declare KIND-parameterized INTEGER MPI +datatypes. The argument is interpreted in a similar fashion to the F90 +function SELECTED_INT_KIND: \fIr\fP must be a scalar integer, and +represents the desired level of numerical precision, in decimal +digits. + +.SH NOTES +.ft R +It is erroneous to supply a value for \fIr\fP not supported by the +compiler. +.sp +The Fortran function SELECTED_INT_KIND maps a large number of \fIr\fP +values to a much smaller number of KIND parameters supported by the +compiler. KIND parameters are not specified by the language and are +not portable. From the point of view of the language, variables of the +same base type and KIND parameter are equivalent, even if their KIND +parameters were generated by different \fIr\fP arguments to +SELECTED_INT_KIND. However, to help facilitate interoperability in a +heterogeneous environment, equivalency is more strictly defined for +datatypes returned by MPI_Type_create_f90_integer. Two MPI datatypes, +each generated by this function, will match if and only if they have +identical values for \fIr\fP. +.sp +The interaction between the datatypes returned by this function and +the external32 data representation \- used by MPI_Pack_external, +MPI_Unpack_external and many MPI_File functions \- is subtle. The +external32 representation of returned datatypes is as follows. +.sp +.nf + if (\fIr\fP > 38): + external32 size = n/a (undefined) + else if (\fIr\fP > 18): + external32 size = 16 + else if (\fIr\fP > 9): + external32 size = 8 + else if (\fIr\fP > 4): + external32 size = 4 + else if (\fIr\fP > 2): + external32 size = 2 + else: + external32 size = 1 +.fi +.sp +If the external32 representation of a datatype is undefined, so are +the results of using that datatype in operations that require the +external32 format. Care should be taken not to use incompatible +datatypes indirectly, e.g., as part of another datatype or through a +duplicated datatype, in these functions. +.sp +If a variable is declared specifying a nondefault KIND value that was +not obtained with SELECTED_INT_KIND (i.e., \fIr\fP is unknown), the +only way to obtain a matching MPI datatype is to use the functions +MPI_Sizeof and MPI_Type_match_size. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Sizeof +MPI_Type_match_size +MPI_Unpack_external +SELECTED_INT_KIND + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_real.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_real.3 new file mode 100644 index 00000000..80621a8e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_f90_real.3 @@ -0,0 +1,124 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_f90_real 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Type_create_f90_real\fP \- Returns a bounded MPI real datatype + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_create_f90_real(int \fIp\fP, int \fIr\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +p +Precision, in decimal digits (integer). +.TP 1i +r +Decimal exponent range (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function provides a way to declare KIND-parameterized REAL MPI +datatypes. The arguments are interpreted in a similar fashion to the +F90 function SELECTED_REAL_KIND. The parameters \fIp\fP and \fIr\fP +must be scalar integers. The argument \fIp\fP represents the required +level of numerical precision, in decimal digits. The \fIr\fP parameter +indicates the range of exponents desired: the returned datatype will +have at least one exponent between \+\fIr\fP and \-\fIr\fP (inclusive). +.sp +Either \fIp\fP or \fIr\fP, but not both, may be omitted from calls to +SELECTED_REAL_KIND. Similarly, either argument to +MPI_Type_create_f90_real may be set to MPI_UNDEFINED. + +.SH NOTES +.ft R +It is erroneous to supply values for \fIp\fP and \fIr\fP not supported by +the compiler. +.sp +The Fortran function SELECTED_REAL_KIND maps a large number of +(\fIp,r\fP) pairs to a much smaller number of KIND parameters +supported by the compiler. KIND parameters are not specified by the +language and are not portable. From the point of view of the language, +variables of the same base type and KIND parameter are equivalent, +even if their KIND parameters were generated by different (\fIp,r\fP) +arguments to SELECTED_REAL_KIND. However, to help facilitate +interoperability in a heterogeneous environment, equivalency is more +strictly defined for datatypes returned by +MPI_Type_create_f90_real. Two MPI datatypes, each generated by this +function, will match if and only if they have identical values for +both \fIp\fP and \fIr\fP. +.sp +The interaction between the datatypes returned by this function and +the external32 data representation \- used by MPI_Pack_external, +MPI_Unpack_external and many MPI_File functions \- is subtle. The +external32 representation of returned datatypes is as follows. +.sp +.nf + if (\fIp\fP > 33) and/or (\fIr\fP > 4931): + external32 size = n/a (undefined) + else if (\fIp\fP > 15) and/or (\fIr\fP > 307): + external32 size = 16 + else if (\fIp\fP > 6) and/or (\fIr\fP > 37): + external32 size = 8 + else: + external32 size = 4 +.fi +.sp +If the external32 representation of a datatype is undefined, so are +the results of using that datatype in operations that require the +external32 format. Care should be taken not to use incompatible +datatypes indirectly, e.g., as part of another datatype or through a +duplicated datatype, in these functions. +.sp +If a variable is declared specifying a nondefault KIND value that was +not obtained with SELECTED_REAL_KIND (i.e., \fIp\fP and/or \fIr\fP are +unknown), the only way to obtain a matching MPI datatype is to use the +functions MPI_Sizeof and MPI_Type_match_size. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Sizeof +MPI_Type_match_size +MPI_Unpack_external +SELECTED_REAL_KIND + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed.3 new file mode 100644 index 00000000..079131d9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_indexed.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed_block.3 new file mode 100644 index 00000000..eb17e26c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hindexed_block.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_create_indexed_block.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hvector.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hvector.3 new file mode 100644 index 00000000..ae260ce0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_hvector.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_hvector 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_hvector\fP \- Creates a vector (strided) data type with offset in bytes. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_hvector(int \fIcount\fP, int \fIblocklength\fP, + MPI_Aint \fIstride\fP, MPI_Datatype \fIoldtype\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (nonnegative integer). +.TP 1i +blocklength +Number of elements in each block (nonnegative integer). +.TP 1i +stride +Number of bytes between start of each block (integer). +.TP 1i +oldtype +Old data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +MPI_Type_create_hvector creates a vector (strided) data type with offset in bytes. +.PP +NOTE \- This routine replaces MPI_Type_hvector, which is deprecated. See the man page MPI_Type_hvector(3) for information about that routine. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISTRIDE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fISTRIDE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Type_hvector +.br +MPI_Type_vector +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_indexed_block.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_indexed_block.3 new file mode 100644 index 00000000..e21b213a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_indexed_block.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_indexed_block 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_indexed_block, MPI_Type_create_hindexed_block\fP \- Creates an indexed data type with the same block length for all blocks. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_indexed_block(int \fIcount\fP, int \fIblocklength\fP, const int \fIarray_of_displacements\fP[], MPI_Datatype \fIoldtype\fP, MPI_Datatype *\fInewtype\fP) + +int MPI_Type_create_hindexed_block(int \fIcount\fP, int \fIblocklength\fP, const int \fIarray_of_displacements\fP[], MPI_Datatype \fIoldtype\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Length of array of displacements (integer). +.TP 1i +blocklength +Size of block (integer). +.TP 1i +array_of_displacements +Array of displacements (array of integers). In units of the extent of \fIoldtype\fP for MPI_Type_create_indexed_block and bytes for MPI_Type_create_hindexed_block. +.TP 1i +oldtype +Old data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_create_indexed_block and MPI_Type_create_hindexed_block create an indexed data type with the same block length for all blocks. The only difference between the two functions is MPI_Type_create_indexed_block takes an array of displacements in units of the extent of \fIoldtype\fP while MPI_Type_create_hindexed_block takes displacements in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_indexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_keyval.3 new file mode 100644 index 00000000..eb979e6a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_keyval.3 @@ -0,0 +1,117 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_keyval\fP \- Generates a new attribute key for caching on data types. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_keyval(MPI_Type_copy_attr_function *\fItype_copy_attr_fn\fP, + MPI_Type_delete_attr_function *\fItype_delete_attr_fn\fP, + int *\fItype_keyval\fP, void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +type_copy_attr_fn +Copy callback function for \fItype_keyval\fP (function). +.TP 1i +type_delete_attr_fn +Delete callback function for \fItype_keyval\fP (function). +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +type_keyval +Key value for future access (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_create_keyval generates a new attribute key for caching on data types. This routine partially replaces MPI_Keyval_create. +.sp +The argument \fItype_copy_attr_fn\fP may be specified as MPI_TYPE_NULL_COPY_FN or MPI_TYPE_DUP_FN from C, C++, or Fortran. MPI_TYPE_NULL_COPY_FN is a function that does nothing other than returning \fIflag\fP = 0 and MPI_SUCCESS. MPI_TYPE_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. +.sp +The argument \fItype_delete_attr_fn\fP may be specified as MPI_TYPE_NULL_DELETE_FN from C, C++, or Fortran. MPI_TYPE_NULL_DELETE_FN is a function that does nothing beyond returning MPI_SUCCESS. +The C callback functions are: +.sp +.nf +typedef int MPI_Type_copy_attr_function(MPI_Datatype \fIoldtype\fP, + int \fItype_keyval\fP, void *\fIextra_state\fP, void *\fIattribute_val_in\fP, + void *\fIattribute_val_out\fP, int *\fIflag\fP); +.fi +and +.nf +typedef int MPI_Type_delete_attr_function(MPI_Datatype \fItype\fP, int \fItype_keyval\fP, + void *\fIattribute_val\fP, void *\fIextra_state\fP); +.fi +.sp +The Fortran callback functions are: +.sp +.nf +SUBROUTINE TYPE_COPY_ATTR_FN(\fIOLDTYPE, TYPE_KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR\fP) + INTEGER \fIOLDTYPE, TYPE KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT\fP + LOGICAL \fIFLAG\fP +.fi +and +.nf +SUBROUTINE TYPE_DELETE_ATTR_FN(\fITYPE, TYPE_KEYVAL, ATTRIBUTE_VAL, EXTRA_STATE, + IERROR\fP) + INTEGER \fITYPE, TYPE_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE VAL, EXTRA_STATE\fP +.fi +.sp +The C++ callbacks are: +.sp +.nf +typedef int MPI::Datatype::Copy_attr_function(const MPI::Datatype& \fIoldtype\fP, + int \fItype_keyval\fP, void* \fIextra_state\fP, + const void* \fIattribute_val_in\fP, void* \fIattribute_val_out\fP, + bool& \fIflag\fP); +.fi +and +.nf +typedef int MPI::Datatype::Delete_attr_function(MPI::Datatype& \fItype\fP, + int \fItype_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); +.fi +.sp + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_free_keyval + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_resized.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_resized.3 new file mode 100644 index 00000000..40d712d3 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_resized.3 @@ -0,0 +1,72 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_create_resized 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_resized\fP \- Returns a new data type with new extent and upper and lower bounds. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_resized(MPI_Datatype \fIoldtype\fP, MPI_Aint\fI lb\fP, + MPI_Aint \fIextent\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +oldtype +Input data type (handle). +.TP 1i +lb +New lower bound of data type (integer). +.TP 1i +extent +New extent of data type (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +Output data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_create_resized returns in \fInewtype\fP a handle to a new data type that is identical to \fIoldtype\fP, except that the lower bound of this new data type is set to be \fIlb\fP, and its upper bound is set to be \fIlb\fP + \fIextent\fP. Any previous \fIlb\fP and \fIub\fP markers are erased, and a new pair of lower bound and upper bound markers are put in the positions indicated by the \fIlb\fP and \fIextent\fP arguments. This affects the behavior of the data type when used in communication operations, with \fIcount\fP > 1, and when used in the construction of new derived data types. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fILB\fP and \fIEXTENT\fP arguments only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fILB\fP +or + INTEGER*MPI_ADDRESS_KIND \fIEXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH NOTE +.ft R +Use of MPI_Type_create_resized is strongly recommended over the old MPI-1 functions MPI_Type_extent and MPI_Type_lb. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO + +MPI_Type_get_extent + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_struct.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_struct.3 new file mode 100644 index 00000000..74533cb2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_struct.3 @@ -0,0 +1,75 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_struct 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_struct\fP \- Creates a structured data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_struct(int \fIcount\fP, int \fIarray_of_blocklengths\fP[], + const MPI_Aint \fIarray_of_displacements\fP[], const MPI_Datatype \fIarray_of_types\fP[], + MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (integer) -- also number of entries in arrays \fIarray_of_types\fP, \fIarray_of_displacements\fP, and \fIarray_of_blocklengths\fP. +.TP 1i +array_of_blocklengths +Number of elements in each block (array of integers). +.TP 1i +array_of_displacements +Byte displacement of each block (array of integers). +.TP 1i +array_of_types +Type of elements in each block (array of handles to data-type objects). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +MPI_Type_create_struct creates a structured data type. This routine replaces MPI_Type_struct, which is now deprecated. +.PP +NOTE \- This routine replaces MPI_Type_struct, which is deprecated. See the man page MPI_Type_struct(3) for information about that routine. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIARRAY_OF_DISPLACEMENTS\fP(*) argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIARRAY_OF_DISPLACEMENTS\fP(*) +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_struct +.br +MPI_Type_create_hindexed + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_subarray.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_subarray.3 new file mode 100644 index 00000000..b4f5430e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_create_subarray.3 @@ -0,0 +1,113 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_create_subarray 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_create_subarray\fP \- Creates a data type describing an \fIn\fP-dimensional subarray of an \fIn\fP-dimensional array. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_create_subarray(int \fIndims\fP, const int \fIarray_of_sizes[]\fP, const int \fIarray_of_subsizes[]\fP, const int \fIarray_of_starts[]\fP, int \fIorder\fP, MPI_Datatype \fIoldtype\fP, MPI_Datatype \fI*newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +ndims +Number of array dimensions (positive integer). +.TP 1i +array_of_sizes +Number of elements of type \fIoldtype\fP in each dimension of the full array (array of positive integers). +.TP 1i +array_of_subsizes +Number of elements of type \fIoldtype\fP in each dimension of the subarray (array of positive integers). +.TP 1i +array_of_starts +Starting coordinates of the subarray in each dimension (array of nonnegative integers). +.TP 1i +order +Array storage order flag (state). +.TP 1i +oldtype +Array element data type (handle). + + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New data type (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The subarray type constructor creates an MPI data type describing an \fIn\fP-dimensional subarray of an \fIn\fP-dimensional array. The subarray may be situated anywhere within the full array, and may be of any nonzero size up to the size of the larger array as long as it is confined within this array. This type constructor facilitates creating file types to access arrays distributed in blocks among processes to a single file that contains the global array. +.sp +This type constructor can handle arrays with an arbitrary number of dimensions and works for both C- and Fortran-ordered matrices (that is, row-major or column-major). Note that a C program may use Fortran order and a Fortran program may use C order. +.sp +The \fIndims\fP parameter specifies the number of dimensions in the full data array and gives the number of elements in \fIarray_of_sizes\fP, \fIarray_of_subsizes\fP, and \fIarray_of_starts\fP. +.sp +The number of elements of type \fIoldtype\fP in each dimension of the \fIn\fP-dimensional array and the requested subarray are specified by \fIarray_of_sizes\fP and \fIarray_of_subsizes\fP, respectively. For any dimension \fIi\fP, it is erroneous to specify \fIarray_of_subsizes[i]\fP < 1 or \fIarray_of_subsizes[i]\fP > \fIarray of sizes[i]\fP. +.sp +The \fIarray_of_starts\fP contains the starting coordinates of each dimension of the subarray. Arrays are assumed to be indexed starting from zero. For any dimension \fIi\fP, it is erroneous to specify +.sp +.nf +\fIarray_of_starts[i]\fP < 0 +.fi +.sp +or +.sp +.nf +\fIarray_of_starts[i]\fP > (\fIarray_of_sizes[i]\fP - \fIarray_of_subsizes[i]\fP). +.fi +.sp +The \fIorder\fP argument specifies the storage order for the subarray as well as the full array. It must be set to one of the following: +.sp +- MPI_ORDER_C: The ordering used by C arrays, (that is, row-major order) +.sp +- MPI_ORDER_FORTRAN: The ordering used by Fortran arrays, (that is, column-major order) +.sp +A \fIndims\fP-dimensional subarray (\fInewtype\fP) with no extra padding can be defined by the function Subarray() as follows: +.sp +.nf + newtype = Subarray(ndims, {size , size ,\..., size }, + 0 1 ndims-1 + {subsize , subsize , \..., subsize }, + 0 1 ndims-1 + {start , start , \..., start }, \fIoldtype\fP) + 0 1 ndims-1 +.fi +.sp +Let the typemap of \fIoldtype\fP have the form: +.sp +.nf + {(type , disp ), (type , disp ), \..., (type , disp )} + 0 0 1 1 n-1 n-1 +.fi +.sp +where type\fIi\fP is a predefined MPI data type, and let \fIex\fP be the extent of \fIoldtype\fP. +.sp +The Subarray() function is defined recursively in three equations on page 72 of the MPI-2 standard. +.sp +For an example use of MPI_Type_create_subarray in the context of I/O, see Section 9.9.2 of the MPI-2 standard. + + +.SH NOTES +.ft R +In a Fortran program with arrays indexed starting from 1, if the starting coordinate of a particular dimension of the subarray is \fIn\fP, then the entry in array of starts for that dimension is \fIn\fP-1. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_delete_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_delete_attr.3 new file mode 100644 index 00000000..3df520cb --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_delete_attr.3 @@ -0,0 +1,54 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_delete_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_delete_attr\fP \- Deletes a datatype-caching attribute value associated with a key. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_delete_attr(MPI_Datatype \fItype\fP, int \fItype_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type +Data type from which the attribute is deleted (handle).n + +.SH INPUT PARAMETER +.ft R +.TP 1i +type_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_delete_attr deletes a datatype-caching attribute value associated with a key. This routines partially replaces MPI_Attr_delete, which is now deprecated. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_dup.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_dup.3 new file mode 100644 index 00000000..06a66ff8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_dup.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_dup 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_dup\fP \- Duplicates a data type with associated key values. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_dup(MPI_Datatype \fItype\fP, MPI_Datatype *\fInewtype\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +type +Data type (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +Copy of \fItype\fP (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_dup is a type constructor that duplicates the existing type with associated key values. For each key value, the respective copy callback function determines the attribute value associated with this key in the new communicator. One particular action that a copy callback may take is to delete the attribute from the new data type. Returns in \fInewtype\fP a new data type with exactly the same properties as \fItype\fP, as well as any copied cached information. The new data type has identical upper bound and lower bound and yields the same net result when fully decoded with the functions described in Section 8.6 of the MPI-2 standard. \fInewtype\fP has the same committed state as the old \fItype\fP. + + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +attribute copy callback invokes other MPI functions. In Open MPI, it +is not valid for attribute copy callbacks (or any of their children) +to add or delete attributes on the same object on which the attribute +copy callback is being invoked. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_keyval +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_extent.3 new file mode 100644 index 00000000..178b681e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_extent.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_extent\fP \- Returns the extent of a data type, the difference between the upper and lower bounds of the data type -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_extent(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *extent\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +extent +Datatype extent (integer). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_extent returns the extent of a data type, the difference between the upper and lower bounds of the data type. +.sp +In general, if +.sp +.nf + Typemap = {(type(0), disp(0)), ..., (type(n-1), disp(n-1))} +.fi +.sp +then the lower bound of Typemap is defined to be +.sp +.nf + ( min(j) disp(j) if no entry has + lb(Typemap)=( basic type lb + (min(j) {disp(j) such that type(j) = lb} otherwise + +.fi +.sp +Similarly, the upper bound of Typemap is defined to be +.sp +.nf + (max(j) disp(j) + sizeof(type(j)) + e if no entry has + ub(Typemap)=( basic type ub + (max(j) {disp(j) such that type(j) = ub} otherwise +.fi +.sp +Then +.sp +.nf + extent(Typemap) = ub(Typemap) - lb(Typemap) +.fi +.sp +If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_extent +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free.3 new file mode 100644 index 00000000..bafa5945 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_free\fP \- Frees a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_free(MPI_Datatype *\fIdatatype\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype that is freed (handle). +.sp +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Marks the datatype object associated with datatype for de-allocation and sets datatype to MPI_DATATYPE_NULL. Any communication that is currently using this datatype will complete normally. Derived datatypes that were defined from the freed datatype are not affected. +.sp +Freeing a datatype does not affect any other datatype that was built from the freed datatype. The system behaves as if input datatype arguments to derived datatype constructors are passed by value. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_free_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free_keyval.3 new file mode 100644 index 00000000..abfb7d36 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_free_keyval.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_free_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_free_keyval\fP \- Frees a previously created type key value. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_free_keyval(int *\fItype_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type_keyval +Key value to free (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_keyval +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_attr.3 new file mode 100644 index 00000000..86eac718 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_attr.3 @@ -0,0 +1,65 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_get_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_attr\fP \- Returns the attribute associated with a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_attr(MPI_Datatype \fItype\fP, int \fItype_keyval\fP, void *\fIattribute_val\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +type +Data type to which the attribute is attached (handle). +.TP 1i +type_keyval +Key value (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +attribute_val +Attribute value, unless \fIflag\fP = false +.TP 1i +flag +"false" if no attribute is associated with the key (logical). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +For the given data type, MPI_Type_get_attr returns an attribute value that corresponds to the specified key value. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. Sun FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_set_attr +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_contents.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_contents.3 new file mode 100644 index 00000000..87da6776 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_contents.3 @@ -0,0 +1,88 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_contents 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_contents\fP \- Returns information about arguments used in creation of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_contents(MPI_Datatype \fIdatatype\fP, int \fImax_integers\fP, + int \fImax_addresses\fP, int \fImax_datatypes\fP, int \fIarray_of_integers\fP[], MPI_Aint \fIarray_of_addresses\fP[], MPI_Datatype array_of_datatypes\fP[]) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datatype +Data type to access (handle). +.TP 1i +max_integers +Number of elements in \fIarray_of_integers\fP (nonnegative integer). +.TP 1i +max_addresses +Number of elements in \fIarray_of_addresses\fP (nonnegative integer). +.TP 1i +max_datatypes +Number of elements in \fIarray_of_datatypes\fP (nonnegative integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +array_of_integers +Contains integer arguments used in constructing \fIdatatype\fP (array of integers). +.TP 1i +array_of_addresses +Contains address arguments used in constructing \fIdatatype\fP (array of integers). +.TP 1i +array_of_datatypes +Contains data-type arguments used in constructing \fIdatatype\fP (array of integers). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For the given data type, MPI_Type_get_envelope returns information on the number and type of input arguments used in the call that created the data type. The number-of-arguments values returned can be used to provide sufficiently large arrays in the decoding routine MPI_Type_get_contents. This call and the meaning of the returned values is described below. The combiner reflects the MPI data type constructor call that was used in creating \fIdatatype\fP. + +The parameter \fIdatatype\fP must be a predefined unnamed or a derived data type. The call is erroneous if \fIdatatype\fP is a predefined named data type. +.sp +The values given for \fImax_integers\fP, \fImax_addresses\fP, and \fImax_datatypes\fP must be at least as large as the value returned in \fInum_integers\fP, \fInum_addresses\fP, and \fInum_datatypes\fP, respectively, in the call MPI_Type_get_envelope for the same \fIdatatype\fP argument. +.sp +The data types returned in \fIarray_of_datatypes\fP are handles to data-type objects that are equivalent to the data types used in the original construction call. If these were derived data types, then the returned data types are new data-type objects, and the user is responsible for freeing these datatypes with MPI_Type_free. If these were predefined data types, then the returned data type is equal to that (constant) predefined data type and cannot be freed. +.sp +The committed state of returned derived data types is undefined, that is, the data types may or may not be committed. Furthermore, the content of attributes of returned data types is undefined. +.sp +Note that MPI_Type_get_contents can be invoked with a data-type argument that was constructed using MPI_Type_create_f90_real, MPI_Type_create_f90_integer, or MPI_Type_create_f90_complex (an unnamed predefined data type). In such a case, an empty \fIarray_of_datatypes\fP is returned. +.sp +In the MPI-1 data-type constructor calls, the address arguments in Fortran are of type INTEGER. In the new MPI-2 calls, the address arguments are of type INTEGER(KIND=MPI_ADDRESS_KIND). The call MPI_Type_get_contents returns all addresses in an argument of type INTEGER(KIND=MPI_ADDRESS_KIND). This is true even if the old MPI-1 calls were used. Thus, the location of values returned can be thought of as being returned by the C bindings. It can also be determined by examining the new MPI-2 calls for data-type constructors for the deprecated MPI-1 calls that involve addresses. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIARRAY_OF_ADDRESSES\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIARRAY_OF_ADDRESSES\fP(*) +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Type_get_envelope +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_envelope.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_envelope.3 new file mode 100644 index 00000000..30734b05 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_envelope.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_envelope 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_envelope\fP \- Returns information about input arguments associated with a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_envelope(MPI_Datatype \fIdatatype\fP, int *\fInum_integers\fP, + int *\fInum_addresses\fP, int *\fInum_datatypes\fP, int *\fIcombiner\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type to access (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +num_integers +Number of input integers used in the call constructing \fIcombiner\fP (nonnegative integer). +.TP 1i +num_addresses +Number of input addresses used in the call constructing \fIcombiner\fP (nonnegative integer). +.TP 1i +num_datatypes +Number of input data types used in the call constructing \fIcombiner\fP (nonnegative integer). +.TP 1i +combiner +Combiner (state). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +For the given data type, MPI_Type_get_envelope returns information on the number and type of input arguments used in the call that created the data type. The number-of-arguments values returned can be used to provide sufficiently large arrays in the decoding routine MPI_Type_get_contents. This call and the meaning of the returned values is described below. The combiner reflects the MPI data type constructor call that was used in creating \fIdatatype\fP. + +.SH NOTES +.ft R +These are the values that can be returned in \fIcombiner\fP and their associated calls: +.sp +.nf +Values Associated Calls + +MPI_COMBINER_NAMED a named predefined data type +MPI_COMBINER_DUP MPI_Type_dup +MPI_COMBINER_CONTIGUOUS MPI_Type_contiguous +MPI_COMBINER_VECTOR MPI_Type_vector +MPI_COMBINER_HVECTOR MPI_Type_hvector +MPI_COMBINER_INDEXED MPI_Type_indexed +MPI_COMBINER_HINDEXED MPI_Type_hindexed +MPI_COMBINER_INDEXED_BLOCK MPI_Type_create_indexed_block +MPI_COMBINER_STRUCT MPI_Type_struct +MPI_COMBINER_SUBARRAY MPI_Type_create_subarray +MPI_COMBINER_DARRAY MPI_Type_create_darray +MPI_COMBINER_F90_REAL MPI_Type_create_f90_real +MPI_COMBINER_F90_COMPLEX MPI_Type_create_f90_complex +MPI_COMBINER_F90_INTEGER MPI_Type_create_f90_integer +MPI_COMBINER_RESIZED MPI_Type_create_resized +.fi +.sp +If \fIcombiner\fP is MPI_COMBINER_NAMED, then \fIdatatype\fP is a named predefined data type. +.sp +The actual arguments used in the creation call for a data type can be obtained from the call MPI_Type_get_contents. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft r +MPI_Type_get_contents +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent.3 new file mode 100644 index 00000000..457e2d50 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent.3 @@ -0,0 +1,78 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_extent\fP, \fBMPI_Type_get_extent_x\fP \- Returns the lower bound and extent of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_extent(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *lb\fP, + MPI_Aint *\fIextent\fP) +int MPI_Type_get_extent_x(MPI_Datatype \fIdatatype\fP, MPI_Count\fI *lb\fP, + MPI_Count *\fIextent\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +lb +Lower bound of data type (integer). +.TP 1i +extent +Data type extent (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_get_extent returns the lower bound and the extent of \fIdatatype\fP. For either function, if either the \fIlb\fP or \fIextent\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. + +.SH NOTE +.ft R +Use of MPI_Type_get_extent is strongly recommended over the old MPI-1 functions MPI_Type_extent and MPI_Type_lb. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fILB\fP and \fIEXTENT\fP arguments only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +MPI_Type_get_extent: +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fILB\fP +or + INTEGER*MPI_ADDRESS_KIND \fIEXTENT\fP +.fi +.sp +MPI_Type_get_extent_x: +.sp +.nf + INTEGER*MPI_COUNT_KIND \fILB\fP +or + INTEGER*MPI_COUNT_KIND \fIEXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND and MPI_COUNT_KIND are constants defined in mpif.h +and give the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent_x.3 new file mode 100644 index 00000000..84dc57aa --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_extent_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_get_extent.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_name.3 new file mode 100644 index 00000000..39b96cb5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_name.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_get_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_name\fP \- Gets the name of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_name(MPI_Datatype \fItype\fP, char *\fItype_name\fP, + int *\fIresultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +type +Data type whose name is to be returned (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +type_name +The name previously stored on the data type, or an empty string if not such name exists (string). +.TP 1i +resultlen +Length of returned name (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_get_name returns the printable identifier associated with an MPI data type. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_set_name +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent.3 new file mode 100644 index 00000000..da879c8f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent.3 @@ -0,0 +1,77 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_get_true_extent 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_get_true_extent\fP, \fBMPI_Type_get_true_extent_x\fP \- Returns the true lower bound and extent of a data type's corresponding typemap, ignoring MPI_UB and MPI_LB markers. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_get_true_extent(MPI_Datatype \fIdatatype\fP, + MPI_Aint *\fItrue_lb\fP, MPI_Aint *\fItrue_extent\fP) +int MPI_Type_get_true_extent_x(MPI_Datatype \fIdatatype\fP, + MPI_Count *\fItrue_lb\fP, MPI_Count *\fItrue_extent\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Data type for which information is wanted (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +true_lb +True lower bound of data type (integer). +.TP 1i +true_extent +True size of data type (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The \fItrue_lb\fP parameter returns the offset of the lowest unit of store that is addressed by the data type, that is, the lower bound of the corresponding typemap, ignoring MPI_LB markers. The \fItrue_extent\fP parameter returns the true size of the data type, that is, the extent of the corresponding typemap, ignoring MPI_LB and MPI_UB markers, and performing no rounding for alignment. For both functions, if either the \fItrue_lb\fP or \fItrue_extent\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. +.sp +The \fItrue_extent\fP is the minimum number of bytes of memory necessary to hold a data type, uncompressed. +.sp +See § 4.1.8 of the MPI-3 standard for more detailed definitions of these parameters in relation to the typemap. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fITRUE_LB\fP and \fITRUE_EXTENT\fP arguments only for Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +MPI_Type_get_true_extent: +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fITRUE_LB\fP +or + INTEGER*MPI_ADDRESS_KIND \fITRUE_EXTENT\fP +.fi +.sp +MPI_Type_get_true_extent_x: +.sp +.nf + INTEGER*MPI_COUNT_KIND \fITRUE_LB\fP +or + INTEGER*MPI_COUNT_KIND \fITRUE_EXTENT\fP +.fi +.sp +where MPI_ADDRESS_KIND and MPI_COUNT_KIND are constants defined in mpif.h and give the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent_x.3 new file mode 100644 index 00000000..c7e53864 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_get_true_extent_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_get_true_extent.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_hindexed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hindexed.3 new file mode 100644 index 00000000..7d0b50ff --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hindexed.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_hindexed 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_hindexed\fP \- Creates an indexed datatype with offsets in bytes -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_hindexed(int \fIcount\fP, int\fI *array_of_blocklengths\fP, + MPI_Aint\fI *array_of_displacements\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks -- also number of entries in array_of_displacements and +array_of_blocklengths (integer). +.TP 1i +array_of_blocklengths +Number of elements in each block (array of nonnegative integers). +.TP 1i +array_of_displacements +Byte displacement of each block (C: array of +.IR MPI_Aint , +Fortran: array of integer). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_hindexed instead. +.sp +This deprecated routine is not available in C++. +.sp +The function is identical to MPI_Type_indexed, except that block displacements in array_of_displacements are specified in bytes, rather than in multiples of the oldtype extent. +.sp +Assume that oldtype has type map +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}, +.fi +.sp +with extent ex. Let B be the array_of_blocklength argument and D be the +array_of_displacements argument. The newly created datatype has +.nf +n x S^count-1 + (i=0) B[i] entries: + + {(type(0), disp(0) + D[0]),...,(type(n-1), disp(n-1) + D[0]),..., + (type(0), disp(0) + (D[0] + B[0]-1)* ex),..., + type(n-1), disp(n-1) + (D[0]+ B[0]-1)* ex),..., + (type(0), disp(0) + D[count-1]),...,(type(n-1), disp(n-1) + D[count-1]),..., + (type(0), disp(0) + D[count-1] + (B[count-1] -1)* ex),..., + (type(n-1), disp(n-1) + D[count-1] + (B[count-1] -1)* ex)} +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Type_create_hindexed +.br +MPI_Type_indexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_hvector.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hvector.3 new file mode 100644 index 00000000..4ecb900d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_hvector.3 @@ -0,0 +1,89 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_hvector 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_hvector\fP \- Creates a vector (strided) datatype with offset in bytes -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_hvector(int \fIcount\fP, int\fI blocklength\fP, MPI_Aint\fI stride\fP, + MPI_Datatype\fI oldtype\fP, MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (nonnegative integer). +.TP 1i +blocklength +Number of elements in each block (nonnegative integer). +.TP 1i +stride +Number of bytes between start of each block (integer). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_hvector instead. +.sp +This deprecated routine is not available in C++. +.sp +The function MPI_Type_hvector is identical to MPI_Type_vector, except that +stride is given in bytes, rather than in elements. The use for both types +of vector constructors is illustrated in the examples in Section 3.12.7 of the MPI-1 Standard. +.sp +Assume that oldtype has type map +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))} +.fi +.sp +with extent ex. Let bl be the blocklength. The newly created datatype has a type map with count * bl * n entries: +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1)), + (type(0), disp(0) + ex), ..., (type(n-1), disp(n-1) + ex), + ..., (type(0), disp(0) + (bl -1) * ex),...,(type(n-1), + disp(n-1) + (bl -1) * ex), (type(0), disp(0) + stride), + ...,(type(n-1), disp(n-1) + stride), ..., (type(0), + disp(0) + stride + (bl - 1) * ex), ..., (type(n-1), + disp(n-1) + stride + (bl -1) * ex), ..., (type(0), + disp(0) + stride * (count -1)), ...,(type(n-1), + disp(n-1) + stride * (count -1)), ..., (type(0), + disp(0) + stride * (count -1) + (bl -1) * ex), ..., + (type(n-1), disp(n-1) + stride * (count -1) + (bl -1) * ex)} + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_hvector +.br +MPI_Type_vector +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_indexed.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_indexed.3 new file mode 100644 index 00000000..5ad5636c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_indexed.3 @@ -0,0 +1,119 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_indexed 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_indexed, MPI_Type_create_hindexed\fP \- Creates an indexed datatype. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_indexed(int \fIcount\fP, const int\fI array_of_blocklengths[]\fP, + const int\fI array_of_displacements[]\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +int MPI_Type_create_hindexed(int \fIcount\fP, + const int\fI array_of_blocklengths[]\fP, + const MPI_Aint\fI array_of_displacements[]\fP, MPI_Datatype\fI oldtype\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks -- also number of entries in array_of_displacements and +array_of_blocklengths (nonnegative integer). +.TP 1i +array_of_blocklengths +Number of elements per block (array of nonnegative integers). +.TP 1i +array_of_displacements +Displacement for each block, in multiples of oldtype extent for MPI_Type_indexed and bytes for MPI_Type_create_hindexed (array of +integer for +.BR MPI_TYPE_INDEXED , +array of +.I MPI_Aint +for +.BR MPI_TYPE_CREATE_HINDEXED ). +.TP 1i +oldtype +Old datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Type_indexed allows replication of an old datatype into a sequence of blocks (each block is a concatenation of the old datatype), where each block can contain a different number of copies and have a different displacement. All block displacements are multiples of the old data type's extent. +.sp + +\fBExample:\fP Let oldtype have type map {(double, 0), (char, 8)}, with extent 16. Let B = (3, 1) and let D = (4, 0). A call to MPI_Type_indexed(2, B, D, oldtype, newtype) returns a datatype with type map +.sp +.nf + {(double, 64), (char, 72), (double, 80), (char, 88), + (double, 96), (char, 104), + (double, 0), (char, 8)} +.fi +.sp +That is, three copies of the old type starting at displacement 4 x 16 = 64, and one copy starting at displacement 0. +.sp +In general, assume that oldtype has type map +.sp +.nf + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}, +.fi +.sp +with extent ex. Let B be the array_of_blocklength argument and D be the +array_of_displacements argument. The newly created datatype has +.br +.nf +n x S ^count-1 + i = 0 B[i] entries: + + {(type(0), disp(0) + D[0]* ex), ..., + (type(n-1), disp(n-1) + D[0]* ex), ..., + (type(0), disp(0) + (D[0] + B[0]-1)* ex), ..., + (type(n-1), disp(n-1) + (D[0]+ B[0]-1)* ex), ..., + (type(0), disp(0) + D[count-1]* ex), ..., + (type(n-1), disp(n-1) + D[count-1]* ex), ..., + (type(0), disp(0) + (D[count-1] + B[count-1] -1)* ex), ..., + (type(n-1), disp(n-1) + (D[count-1] + B[count-1] -1)* ex)} +.fi +.sp +A call to MPI_Type_vector(count, blocklength, stride, oldtype, newtype) is equivalent to a call to MPI_Type_indexed(count, B, D, oldtype, newtype) where +.sp +.nf + D[j] = j * stride, j = 0,..., count-1 + +and + + B[j] = blocklength, j = 0, .., count-1 +.fi + +The function MPI_Type_create_hindexed is identical to MPI_Type_indexed, except that block displacements in \fIarray_of_displacements\fP are specified in bytes, rather than in multiples of the \fIoldtype\fP extent. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_hindexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_lb.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_lb.3 new file mode 100644 index 00000000..c45a1c9f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_lb.3 @@ -0,0 +1,84 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_lb 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_lb\fP \- Returns the lower bound of a data type -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_lb(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *displacement\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +displacement +Displacement of lower bound from origin, in bytes (integer). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_lb returns the lower bound of a data type. This may differ from zero if the type was constructed using MPI_LB. +.sp +The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the lower bound (or the upper bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor. +.sp +In general, if +.sp +.nf + Typemap = {(type0, disp0), ..., (type(n-1), disp(n-1)} +.fi +.sp +then the lower bound of Typemap is defined to be +.nf + + (min(j) disp(j) if no entry has + lb(Typemap) = ( basic type lb + (min(j) {disp(j) such that type(j) = lb} otherwise + +.fi +Similarly, the upper bound of Typemap is defined to be +.nf + + (max(j) disp(j) + sizeof((type(j)) + e if no entry has + ub(Typemap) = ( basic type ub + (max(j) {disp(j) such that type(j) = ub} otherwise + +Then + + extent(Typemap) = ub(Typemap) - lb(Typemap) +.fi +.sp +If type(i) requires alignment to a byte address that is a multiple of k(i), +then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_extent +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_match_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_match_size.3 new file mode 100644 index 00000000..7759c86e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_match_size.3 @@ -0,0 +1,82 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_match_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME + +\fBMPI_Type_match_size\fP \- Returns an MPI datatype of a given type and size + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Type_match_size(int \fItypeclass\fP, int \fIsize\fP, + MPI_Datatype *\fItype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +typeclass +Generic type specifier (integer). +.ft R +.TP 1i +size +Size, in bytes, of representation (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +type +Datatype with correct type and size (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function returns an MPI datatype matching a local variable of type +(\fItypeclass\fP, \fIsize\fP). The returned type is a reference +(handle) to a predefined named datatype, not a duplicate. This type +cannot be freed. +.sp +The value of \fItypeclass\fR may be set to one of MPI_TYPECLASS_REAL, +MPI_TYPECLASS_INTEGER, or MPI_TYPECLASS_COMPLEX, corresponding to the +desired datatype. +.sp +MPI_type_match_size can be used to obtain a size-specific type that +matches a Fortran numeric intrinsic type: first call MPI_Sizeof to +compute the variable size, then call MPI_Type_match_size to find a +suitable datatype. In C and C++, use the sizeof builtin instead of +MPI_Sizeof. +.sp +It is erroneous to specify a size not supported by the compiler. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Sizeof +MPI_Type_get_extent + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_attr.3 new file mode 100644 index 00000000..3d6f112b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_attr.3 @@ -0,0 +1,67 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_set_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_set_attr\fP \- Sets a key value/attribute pair to a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_set_attr(MPI_Datatype \fItype\fP, int \fItype_keyval\fP, + void *\fIattribute_val\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type +Data type to which attribute will be attached (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +type_keyval +Key value (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +For the given data type, MPI_Type_set_attr sets the key value to the value of the specified attribute. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_attr +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_name.3 new file mode 100644 index 00000000..d21c71ea --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_set_name.3 @@ -0,0 +1,53 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines +.\" $COPYRIGHT$ +.TH MPI_Type_set_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_set_name\fP \- Sets the name of a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_set_name(MPI_Datatype \fItype\fP, const char *\fItype_name\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +type +Data type for which the identifier is to be set (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +type_name +The character string remembered as the name (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + + +.SH DESCRIPTION +.ft R +MPI_Type_set_name associates a printable identifier with an MPI data type. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_name +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_size.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size.3 new file mode 100644 index 00000000..23020995 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size.3 @@ -0,0 +1,57 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_size 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_size\fP, \fBMPI_Type_size_x\fP \- Returns the number of bytes occupied by entries in a data type. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_size(MPI_Datatype \fIdatatype\fP, int\fI *size\fP) +int MPI_Type_size_x(MPI_Datatype \fIdatatype\fP, MPI_Count\fI *size\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Datatype size (integer). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Type_size returns the total size, in bytes, of the entries in the type signature associated with datatype; i.e., the total size of the data in a message that would be created with this datatype. Entries that occur multiple times in the datatype are counted with their multiplicity. For either function, if the \fIsize\fP parameter cannot express the value to be returned (e.g., if the parameter is too small to hold the output value), it is set to MPI_UNDEFINED. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for the \fISIZE\fP argument of MPI_Type_size_x only for Fortran 90. FORTRAN 77 users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_COUNT_KIND \fISIZE\fP +.fi +.sp +where MPI_COUNT_KIND is a constant defined in mpif.h and gives the length of the declared integer in bytes. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_size_x.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size_x.3 new file mode 100644 index 00000000..4e33322d --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_size_x.3 @@ -0,0 +1 @@ +.so man3/MPI_Type_size.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_struct.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_struct.3 new file mode 100644 index 00000000..3da457f2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_struct.3 @@ -0,0 +1,106 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_struct 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_struct\fP \- Creates a \fIstruct\fP data type -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_struct(int \fIcount\fP, int\fI *array_of_blocklengths\fP, + MPI_Aint\fI *array_of_displacements\fP, MPI_Datatype\fI *array_of_types\fP, + MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (integer) also number of entries in arrays +array_of_types, array_of_displacements, and array_of_blocklengths. +.TP 1i +array_of_blocklengths +Number of elements in each block (array). +.TP 1i +array_of_displacements +Byte displacement of each block (array). +.TP 1i +array_of_types +Type of elements in each block (array of handles to datatype objects). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Use MPI_Type_create_struct instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_struct is the most general type constructor. It further generalizes MPI_Type_hindexed in that it allows each block to consist of replications of different datatypes. +.sp +\fBExample:\fP Let type1 have type map +.nf + + {(double, 0), (char, 8)} + +.fi +with extent 16. Let B = (2, 1, 3), D = (0, 16, 26), and T = (MPI_FLOAT, type1, MPI_CHAR). Then a call to MPI_Type_struct(3, B, D, T, newtype) returns a datatype with type map +.nf + + {(float, 0), (float,4), (double, 16), (char, 24), + (char, 26), (char, 27), (char, 28)} + +.fi +That is, two copies of MPI_FLOAT starting at 0, followed by one copy of type1 starting at 16, followed by three copies of MPI_CHAR, starting at 26. (We assume that a float occupies 4 bytes.) +.sp +For more information, see section 3.12.1 of the MPI-1.1 Standard. + +.SH NOTES +If an upperbound is set explicitly by using the MPI datatype MPI_UB, the corresponding index must be positive. +.sp +The MPI-1 Standard originally made vague statements about padding and alignment; this was intended to allow the simple definition of structures that could be sent with a count greater than one. For example, +.nf + struct {int a; char b;} foo; +.fi +may have +.nf + sizeof(foo) = sizeof(int) + sizeof(char); +.fi +defining the extent of a datatype as including an epsilon, which would have allowed an implementation to make the extent an MPI datatype for this structure equal to 2*sizeof(int). However, since different systems might define different paddings, a clarification to the standard made epsilon zero. Thus, if you define a structure datatype and wish to send or receive multiple items, you should explicitly include an MPI_UB entry as the last member of the structure. For example, the following code can be used for the structure foo: +.nf + + blen[0] = 1; indices[0] = 0; oldtypes[0] = MPI_INT; + blen[1] = 1; indices[1] = &foo.b - &foo; oldtypes[1] = MPI_CHAR; + blen[2] = 1; indices[2] = sizeof(foo); oldtypes[2] = MPI_UB; + MPI_Type_struct( 3, blen, indices, oldtypes, &newtype ); + +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_struct +.br +MPI_Type_create_hindexed +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_ub.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_ub.3 new file mode 100644 index 00000000..4f5e3ff2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_ub.3 @@ -0,0 +1,87 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_ub 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_ub\fP \- Returns the upper bound of a datatype -- use of this routine is deprecated. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_ub(MPI_Datatype \fIdatatype\fP, MPI_Aint\fI *displacement\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +datatype +Datatype (handle). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +displacement +Displacement of upper bound from origin, in bytes (integer). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Note that use of this routine is \fIdeprecated\fP as of MPI-2. Please use MPI_Type_get_extent instead. +.sp +This deprecated routine is not available in C++. +.sp +MPI_Type_ub returns the upper bound of a data type. This will differ from zero if the type was constructed using MPI_UB. The upper bound will take into account any alignment considerations. +.sp +The "pseudo-datatypes," MPI_LB and MPI_UB, can be used, respectively, to mark the upper bound (or the lower bound) of a datatype. These pseudo-datatypes occupy no space (extent (MPI_LB) = extent (MPI_UB) =0. They do not affect the size or count of a datatype, and do not affect the context of a message created with this datatype. However, they do affect the definition of the extent of a datatype and, therefore, affect the outcome of a replication of this datatype by a datatype constructor. +.sp +In general, if +.nf + + Typemap = {(type(0), disp(0)), ..., (type(n-1), disp(n-1))} + +.fi +then the lower bound of Typemap is defined to be +.nf + + (min(j) disp(j) if no entry has + lb(Typemap) = ( basic type lb + (min(j) {disp(j) such that type(j) = lb} otherwise + +.fi +Similarly, the upper bound of Typemap is defined to be +.nf + + (max(j) disp(j) + sizeof(type(j) = lb} if no entry has + ub(Typemap) = ( basic type ub + (max(j) {disp(j) such that type(j) = ub} otherwise + +.fi +Then +.nf + + extent(Typemap) = ub(Typemap) - lb(Typemap) + +.fi +If type(i) requires alignment to a byte address that is a multiple of k(i), then e is the least nonnegative increment needed to round extent(Typemap) to the next multiple of max(i) k(i). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_get_extent +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Type_vector.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Type_vector.3 new file mode 100644 index 00000000..3e49aec7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Type_vector.3 @@ -0,0 +1,105 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Type_vector 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Type_vector\fP \- Creates a vector (strided) datatype. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Type_vector(int \fIcount\fP, int\fI blocklength\fP, int\fI stride\fP, + MPI_Datatype\fI oldtype\fP, MPI_Datatype\fI *newtype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Number of blocks (nonnegative integer). +.TP 1i +blocklength +Number of elements in each block (nonnegative integer). +.TP 1i +stride +Number of elements between start of each block (integer). +.TP 1i +oldtype +Old datatype (handle). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +newtype +New datatype (handle). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The function MPI_Type_vector is a general constructor that allows replication of a datatype into locations that consist of equally spaced blocks. Each block is obtained by concatenating the same number of copies of the old datatype. The spacing between blocks is a multiple of the extent of the old datatype. +.sp +\fBExample 1:\fP Assume, again, that oldtype has type map {(double, 0), (char, 8)}, with extent 16. A call to MPI_Type_vector(2, 3, 4, oldtype, newtype) will create the datatype with type map +.nf + {(double, 0), (char, 8), (double, 16), (char, 24), + (double, 32), (char, 40), + (double, 64), (char, 72), + (double, 80), (char, 88), (double, 96), (char, 104)} +.fi +.sp +That is, two blocks with three copies each of the old type, with a stride of 4 elements (4 x 6 bytes) between the blocks. +.sp +\fBExample 2:\fP A call to MPI_Type_vector(3, 1, -2, oldtype, newtype) will create the datatype +.nf + + {(double, 0), (char, 8), (double, -32), (char, -24), + (double, -64), (char, -56)} + +.fi +In general, assume that oldtype has type map +.nf + + {(type(0), disp(0)), ..., (type(n-1), disp(n-1))}, + +.fi +with extent ex. Let bl be the blocklength. The newly created datatype has a type map with count x bl x n entries: +.nf + + {(type(0), disp(0)), ..., (type(n-1), disp(n-1)), + (type(0), disp(0) + ex), ..., (type(n-1), disp(n-1) + ex), ..., + (type(0), disp(0) + (bl -1) * ex),..., + (type(n-1), disp(n-1) + (bl -1)* ex), + (type(0), disp(0) + stride * ex),..., (type(n-1), + disp(n-1) + stride * ex), ..., + (type(0), disp(0) + (stride + bl - 1) * ex), ..., + (type(n-1), disp(n-1) + (stride + bl -1) * ex), ..., + (type(0), disp(0) + stride * (count -1) * ex), ..., + (type(n-1), disp(n-1) + stride * (count -1) * ex), ..., + (type(0), disp(0) + (stride * (count -1) + bl -1) * ex), ..., + (type(n-1), disp(n-1) + (stride * (count -1) + bl -1) * ex)} + +.fi +A call to MPI_Type_contiguous(count, oldtype, newtype) is equivalent to a call to MPI_Type_vector(count, 1, 1, oldtype, newtype), or to a call to MPI_Type_vector(1, count, n, oldtype, newtype), n arbitrary. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Type_create_hvector +.br +MPI_Type_hvector +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Unpack.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack.3 new file mode 100644 index 00000000..e8e3fe95 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack.3 @@ -0,0 +1,85 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Unpack 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Unpack\fP \- Unpacks a datatype into contiguous memory. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Unpack(const void *\fIinbuf\fP, int\fI insize\fP, int\fI *position\fP, + void\fI *outbuf\fP, int\fI outcount\fP, MPI_Datatype\fI datatype\fP, + MPI_Comm\fI comm\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +insize +Size of input buffer, in bytes (integer). +.TP 1i +outcount +Number of items to be unpacked (integer). +.TP 1i +datatype +Datatype of each output data item (handle). +.TP 1i +comm +Communicator for packed message (handle). +.sp +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Unpacks a message into the receive buffer specified by outbuf, outcount, datatype from the buffer space specified by inbuf and insize. The output buffer can be any communication buffer allowed in MPI_Recv. The input buffer is a contiguous storage area containing insize bytes, starting at address inbuf. The input value of position is the first location in the input buffer occupied by the packed message. \fIposition\fP is incremented by the size of the packed message, so that the output value of position is the first location in the input buffer after the locations occupied by the message that was unpacked. \fIcomm\fP is the communicator used to receive the packed message. + +.SH NOTES +Note the difference between MPI_Recv and MPI_Unpack: In MPI_Recv, the \fIcount\fP argument specifies the maximum number of items that can be received. The actual number of items received is determined by the length of the incoming message. In MPI_Unpack, the count argument specifies the actual number of items that are to be unpacked; the "size" of the corresponding message is the increment in position. The reason for this change is that the "incoming message size" is not predetermined since the user decides how much to unpack; nor is it easy to determine the "message size" from the number of items to be unpacked. +.sp +To understand the behavior of pack and unpack, it is convenient to think of the data part of a message as being the sequence obtained by concatenating the successive values sent in that message. The pack operation stores this sequence in the buffer space, as if sending the message to that buffer. The unpack operation retrieves this sequence from buffer space, as if receiving a message from that buffer. (It is helpful to think of internal Fortran files or sscanf in C for a similar function.) +.sp +Several messages can be successively packed into one packing unit. This is effected by several successive related calls to MPI_Pack, where the first call provides position = 0, and each successive call inputs the value of position that was output by the previous call, and the same values for outbuf, outcount, and comm. This packing unit now contains the equivalent information that would have been stored in a message by one send call with a send buffer that is the "concatenation" of the individual send buffers. +.sp +A packing unit can be sent using type MPI_Packed. Any point-to-point or collective communication function can be used to move the sequence of bytes that forms the packing unit from one process to another. This packing unit can now be received using any receive operation, with any datatype: The type-matching rules are relaxed for messages sent with type MPI_Packed. +.sp +A message sent with any type (including MPI_Packed) can be received using the type MPI_Packed. Such a message can then be unpacked by calls to MPI_Unpack. +.sp +A packing unit (or a message created by a regular, "typed" send) can be unpacked into several successive messages. This is effected by several successive related calls to MPI_Unpack, where the first call provides position = 0, and each successive call inputs the value of position that was output by the previous call, and the same values for inbuf, insize, and comm. +.sp +The concatenation of two packing units is not necessarily a packing unit; nor is a substring of a packing unit necessarily a packing unit. Thus, one cannot concatenate two packing units and then unpack the result as one packing unit; nor can one unpack a substring of a packing unit as a separate packing unit. Each packing unit that was created by a related sequence of pack calls or by a regular send must be unpacked as a unit, by a sequence of related unpack calls. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +MPI_Pack +.br +MPI_Pack_size + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Unpack_external.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack_external.3 new file mode 100644 index 00000000..c2ee6fb5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Unpack_external.3 @@ -0,0 +1,156 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Unpack_external 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Unpack_external\fP \- Reads data from a portable format + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Unpack_external(const char \fIdatarep\fP[], const void *\fIinbuf\fP, + MPI_Aint \fIinsize\fP, MPI_Aint *\fIposition\fP, + void *\fIoutbuf\fP, int \fIoutcount\fP, + MPI_Datatype \fIdatatype\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +datarep +Data Representation (string). +.ft R +.TP 1i +inbuf +Input buffer start (choice). +.TP 1i +insize +Size of input buffer, in bytes (integer). +.TP 1i +outcount +Number of items to be unpacked (integer). +.TP 1i +datatype +Datatype of each output data item (handle). + +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +position +Current position in buffer, in bytes (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outbuf +Output buffer start (choice). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Unpack_external unpacks data from the external32 format, a +universal data representation defined by the MPI Forum. This format is +useful for exchanging data between MPI implementations, or when +writing data to a file. +.sp +The input buffer is a contiguous storage area pointed to by +\fIinbuf\fP containing \fIinsize\fP bytes. The output buffer can be +any communication buffer allowed in MPI_Recv, and is specified by +\fIoutbuf\fP, \fIoutcount\fP, and \fIdatatype\fP. +.sp +The input value of \fIposition\fP is the first position in \fIinbuf\fP +to be read for unpacking (measured in bytes, not elements, relative to +the start of the buffer). When the function returns, \fIposition\fP is +incremented by the size of the packed message, so that it points to +the first location in \fIinbuf\fP following the message that was +unpacked. This way it may be used as input to a subsequent call to +MPI_Unpack_external. + +.SH NOTES +.ft R +Note the difference between MPI_Recv and MPI_Unpack_external: In +MPI_Recv, the \fIcount\fP argument specifies the maximum number of +items that can be received. In MPI_Unpack_external, the \fIoutcount\fP +argument specifies the actual number of items that are to be +unpacked. With a regular receive operation, the incoming message size +determines the number of components that will be received. With +MPI_Unpack_external, it is up to the user to specify how many +components to unpack, since the user may wish to unpack the received +message multiple times into various buffers. +.sp +To understand the behavior of pack and unpack, it is convenient to +think of the data part of a message as being the sequence obtained by +concatenating the successive values sent in that message. The pack +operation stores this sequence in the buffer space, as if sending the +message to that buffer. The unpack operation retrieves this sequence +from buffer space, as if receiving a message from that buffer. (It is +helpful to think of internal Fortran files or sscanf in C for a +similar function.) +.sp +Several messages can be successively packed into one packing +unit. This is effected by several successive related calls to +MPI_Pack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of \fIposition\fP that was +output by the previous call, along with the same values for +\fIoutbuf\fP and \fIoutcount\fP. This packing unit now contains the +equivalent information that would have been stored in a message by one +send call with a send buffer that is the "concatenation" of the +individual send buffers. +.sp +A packing unit can be sent using type MPI_BYTE. Any point-to-point +or collective communication function can be used to move the sequence +of bytes that forms the packing unit from one process to another. This +packing unit can now be received using any receive operation, with any +datatype: The type-matching rules are relaxed for messages sent with +type MPI_BYTE. +.sp +A packing unit can be unpacked into several successive messages. This +is effected by several successive related calls to +MPI_Unpack_external, where the first call provides \fIposition\fP=0, +and each successive call inputs the value of position that was output +by the previous call, and the same values for \fIinbuf\fP and +\fIinsize\fP. +.sp +The concatenation of two packing units is not necessarily a packing +unit; nor is a substring of a packing unit necessarily a packing +unit. Thus, one cannot concatenate two packing units and then unpack +the result as one packing unit; nor can one unpack a substring of a +packing unit as a separate packing unit. Each packing unit that was +created by a related sequence of pack calls must be unpacked as a unit +by a sequence of related unpack calls. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Pack_external +MPI_Pack_external_size +MPI_Recv +sscanf(3C) + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Unpublish_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Unpublish_name.3 new file mode 100644 index 00000000..ccb1625e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Unpublish_name.3 @@ -0,0 +1,115 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Unpublish_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +.nf +\fBMPI_Unpublish_name\fP \- Unpublishes a service name + +.fi +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Unpublish_name(const char *\fIservice_name\fP, MPI_Info \fIinfo\fP, + const char *\fIport_name\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +service_name +A service name (string). +.TP 1.4i +info +Options to the name service functions (handle). +.ft R +.TP 1.4i +port_name +A port name (string). + +.SH OUTPUT PARAMETER +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This routine removes the pair (\fIservice_name, port_name\fP) so that +applications may no longer retrieve \fIport_name\fP by calling +MPI_Lookup_name. It is an error to unpublish a \fIservice_name\fP +that was not published via MPI_Publish_name. Both the \fIservice_name\fP +and \fIport_name\fP arguments to MPI_Unpublish_name must be identical +to the arguments to the previous call to MPI_Publish_name. + +.SH INFO ARGUMENTS +The following keys for \fIinfo\fP are recognized: +.sp +.sp +.nf +Key Type Description +--- ---- ----------- + +ompi_global_scope bool If set to true, unpublish the name from + the global scope. Unpublish from the local + scope otherwise. See the NAME SCOPE + section for more details. + +.fi + +.sp +\fIbool\fP info keys are actually strings but are evaluated as +follows: if the string value is a number, it is converted to an +integer and cast to a boolean (meaning that zero integers are false +and non-zero values are true). If the string value is +(case-insensitive) "yes" or "true", the boolean is true. If the +string value is (case-insensitive) "no" or "false", the boolean is +false. All other string values are unrecognized, and therefore false. +.PP +If no info key is provided, the function will first check to see if a +global server has been specified and is available. If so, then the +unpublish function will default to global scope first, followed by local. Otherwise, +the data will default to unpublish with local scope. + +.SH NAME SCOPE +Open MPI supports two name scopes: \fIglobal\fP and \fIlocal\fP. Local scope +values are placed in a data store located on the mpirun of the calling +process' job, while global scope values reside on a central server. Calls +to MPI_Unpublish_name must correctly specify the scope to be used in +finding the value to be removed. The function will return an error if +the specified service name is not found on the indicated location. +.sp +For a more detailed description of scoping rules, please see the MPI_Publish_name +man page. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does not +guarantee that an MPI program can continue past an error. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Publish_name +MPI_Lookup_name +MPI_Open_port + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 new file mode 100644 index 00000000..9363fe85 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Wait.3 @@ -0,0 +1,104 @@ +.\" -*- nroff -*- +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Wait 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Wait\fP \- Waits for an MPI send or receive to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Wait(MPI_Request *\fIrequest\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +request +Request (handle). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +status +Status object (status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A call to MPI_Wait returns when the operation identified by request is complete. If the communication object associated with this request was created by a nonblocking send or receive call, then the object is deallocated by the call to MPI_Wait and the request handle is set to MPI_REQUEST_NULL. +.sp +The call returns, in status, information on the completed operation. The content of the status object for a receive operation can be accessed as described in Section 3.2.5 of the MPI-1 Standard, "Return Status." The status object for a send operation may be queried by a call to MPI_Test_cancelled (see Section 3.8 of the MPI-1 Standard, "Probe and Cancel"). +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +One is allowed to call MPI_Wait with a null or inactive request argument. In this case the operation returns immediately with empty status. + +.SH NOTES +Successful return of MPI_Wait after an MPI_Ibsend implies that the user send buffer can be reused i.e., data has been sent out or copied into a buffer attached with MPI_Buffer_attach. Note that, at this point, we can no longer cancel the send (for more information, see Section 3.8 of the MPI-1 Standard, "Probe and Cancel"). If a matching receive is never posted, then the buffer cannot be freed. This runs somewhat counter to the stated goal of MPI_Cancel (always being able to free program space that was committed to the communication subsystem). +.sp +Example: Simple usage of nonblocking operations and MPI_Wait. +.sp +.nf + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank.EQ.0) THEN + CALL MPI_ISEND(a(1), 10, MPI_REAL, 1, tag, comm, request, ierr) + **** do some computation **** + CALL MPI_WAIT(request, status, ierr) + ELSE + CALL MPI_IRECV(a(1), 15, MPI_REAL, 0, tag, comm, request, ierr) + **** do some computation **** + CALL MPI_WAIT(request, status, ierr) + END IF + +.fi +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_WAIT do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler +and may be passed back to the caller through the return value of +MPI_WAIT if the back-end error handler returns it. The +pre-defined MPI error handler MPI_ERRORS_RETURN exhibits this +behavior, for example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Waitall.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Waitall.3 new file mode 100644 index 00000000..70f431ac --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Waitall.3 @@ -0,0 +1,96 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Waitall 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Waitall\fP \- Waits for all given communications to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Waitall(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + MPI_Status \fI*array_of_statuses\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +Lists length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). +.sp +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +array_of_statuses +Array of status objects (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Blocks until all communication operations associated with active handles in the list complete, and returns the status of all these operations (this includes the case where no handle in the list is active). Both arrays have the same number of valid entries. The ith entry in array_of_statuses is set to the return status of the ith operation. Requests that were created by nonblocking communication operations are deallocated, and the corresponding handles in the array are set to MPI_REQUEST_NULL. The list may contain null or inactive handles. The call sets to empty the status of each such entry. +.sp +The error-free execution of MPI_Waitall(count, array_of_requests, array_of_statuses) has the same effect as the execution of MPI_Wait(&array_of_request[i], &array_of_statuses[i]), for i=0,...,count-1, in some arbitrary order. MPI_Waitall with an array of length 1 is equivalent to MPI_Wait. +.sp +When one or more of the communications completed by a call to MPI_Waitall fail, it is desirable to return specific information on each communication. The function MPI_Waitall will return in such case the error code MPI_ERR_IN_STATUS and will set the error field of each status to a specific error code. This code will be MPI_SUCCESS if the specific communication completed; it will be another specific error code if it failed; or it can be MPI_ERR_PENDING if it has neither failed nor completed. The function MPI_Waitall will return MPI_SUCCESS if no request had an error, or will return another error code if it failed for other reasons (such as invalid arguments). In such cases, it will not update the error fields of the statuses. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. + +.SH ERRORS +For each invocation of MPI_Waitall, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Waitall to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitany +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Waitany.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Waitany.3 new file mode 100644 index 00000000..6d048ca7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Waitany.3 @@ -0,0 +1,121 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Waitany 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Waitany\fP \- Waits for any specified send or receive to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Waitany(int \fIcount\fP, MPI_Request\fI array_of_requests[]\fP, + int \fI*index\fP, MPI_Status\fI *status\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +count +List length (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). +.sp + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +index +Index of handle for operation that completed (integer). In the range 0 to +count-1. In Fortran, the range is 1 to count. +.TP 1i +status +Status object (status). +.sp +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +A call to MPI_Waitany can be used to wait for the completion of one out of several requests. +.sp +The array_of_requests list may contain null or inactive handles. If the list contains no active handles (list has length zero or all entries are null or inactive), then the call returns immediately with index = MPI_UNDEFINED, and an empty status. +.sp +The execution of MPI_Waitany(count, array_of_requests, index, status) has the same effect as the execution of MPI_Wait(&array_of_requests[i], status), where i is the value returned by index (unless the value of index is MPI_UNDEFINED). MPI_Waitany with an array containing one active entry is equivalent to MPI_Wait. +.sp +If your application does not need to examine the \fIstatus\fP field, you can save resources by using the predefined constant MPI_STATUS_IGNORE as a special value for the \fIstatus\fP argument. +.sp +\fBExample:\fR Client-server code (starvation can occur). +.sp +.nf + CALL MPI_COMM_SIZE(comm, size, ierr) + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank .GT 0) THEN ! client code + DO WHILE(.TRUE.) + CALL MPI_ISEND(a, n, MPI_REAL, 0, tag, comm, request, ierr) + CALL MPI_WAIT(request, status, ierr) + END DO + ELSE ! rank=0 -- server code + DO i=1, size-1 + CALL MPI_IRECV(a(1,i), n, MPI_REAL, i tag, + comm, request_list(i), ierr) + END DO + DO WHILE(.TRUE.) + CALL MPI_WAITANY(size-1, request_list, index, status, ierr) + CALL DO_SERVICE(a(1,index)) ! handle one message + CALL MPI_IRECV(a(1, index), n, MPI_REAL, index, tag, + comm, request_list(index), ierr) + END DO + END IF +.fi +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler, MPI_File_set_errhandler, or +MPI_Win_set_errhandler (depending on the type of MPI handle that +generated the request); the predefined error handler MPI_ERRORS_RETURN +may be used to cause error values to be returned. Note that MPI does +not guarantee that an MPI program can continue past an error. +.sp +Note that per MPI-1 section 3.2.5, MPI exceptions on requests passed +to MPI_WAITANY do not set the status.MPI_ERROR field in the returned +status. The error code is passed to the back-end error handler and +may be passed back to the caller through the return value of +MPI_WAITANY if the back-end error handler returns it. The pre-defined +MPI error handler MPI_ERRORS_RETURN exhibits this behavior, for +example. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitsome +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Waitsome.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Waitsome.3 new file mode 100644 index 00000000..74b90429 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Waitsome.3 @@ -0,0 +1,134 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Waitsome 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Waitsome\fP \- Waits for some given communications to complete. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Waitsome(int \fIincount\fP, MPI_Request \fIarray_of_requests[]\fP, + int\fI *outcount\fP, int\fI array_of_indices[]\fP, + MPI_Status \fIarray_of_statuses[]\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +incount +Length of array_of_requests (integer). +.TP 1i +array_of_requests +Array of requests (array of handles). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +outcount +Number of completed requests (integer). +.TP 1i +array_of_indices +Array of indices of operations that completed (array of integers). +.TP 1i +array_of_statuses +Array of status objects for operations that completed (array of status). +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Waits until at least one of the operations associated with active handles in the list have completed. Returns in outcount the number of requests from the list array_of_requests that have completed. Returns in the first outcount locations of the array array_of_indices the indices of these operations (index within the array array_of_requests; the array is indexed from 0 in C and from 1 in Fortran). Returns in the first outcount locations of the array array_of_status the status for these completed operations. If a request that completed was allocated by a nonblocking communication call, then it is deallocated, and the associated handle is set to MPI_REQUEST_NULL. +.sp +If the list contains no active handles, then the call returns immediately with outcount = MPI_UNDEFINED. +.sp +When one or more of the communications completed by MPI_Waitsome fails, then it is desirable to return specific information on each communication. The arguments outcount, array_of_indices, and array_of_statuses will be adjusted to indicate completion of all communications that have succeeded or failed. The call will return the error code MPI_ERR_IN_STATUS and the error field of each status returned will be set to indicate success or to indicate the specific error that occurred. The call will return MPI_SUCCESS if no request resulted in an error, and will return another error code if it failed for other reasons (such as invalid arguments). In such cases, it will not update the error fields of the statuses. +.sp +If your application does not need to examine the \fIarray_of_statuses\fP field, you can save resources by using the predefined constant MPI_STATUSES_IGNORE can be used as a special value for the \fIarray_of_statuses\fP argument. +.sp +\fBExample:\fR Same code as the example in the MPI_Waitany man page, but using MPI_Waitsome. +.sp +.nf + CALL MPI_COMM_SIZE(comm, size, ierr) + CALL MPI_COMM_RANK(comm, rank, ierr) + IF(rank .GT. 0) THEN ! client code + DO WHILE(.TRUE.) + CALL MPI_ISEND(a, n, MPI_REAL, 0, tag, comm, request, ierr) + CALL MPI_WAIT(request, status, ierr) + END DO + ELSE ! rank=0 -- server code + DO i=1, size-1 + CALL MPI_IRECV(a(1,i), n, MPI_REAL, i, tag, + comm, requests(i), ierr) + END DO + DO WHILE(.TRUE.) + CALL MPI_WAITSOME(size, request_list, numdone, + indices, statuses, ierr) + DO i=1, numdone + CALL DO_SERVICE(a(1, indices(i))) + CALL MPI_IRECV(a(1, indices(i)), n, MPI_REAL, 0, tag, + comm, requests(indices(i)), ierr) + END DO + END DO + END IF +.fi +.sp +.SH NOTES +.ft R +The array of indices are in the range 0 to incount-1 for C and in the range 1 to incount for Fortran. + +.SH ERRORS +For each invocation of MPI_Waitsome, if one or more requests generate +an MPI exception, only the \fIfirst\fP MPI request that caused an +exception will be passed to its corresponding error handler. No other +error handlers will be invoked (even if multiple requests generated +exceptions). However, \fIall\fP requests that generate an exception +will have a relevant error code set in the corresponding +status.MPI_ERROR field (unless MPI_STATUSES_IGNORE was used). +.sp +The default error handler aborts the MPI job, except for I/O function +errors. The error handler may be changed with MPI_Comm_set_errhandler, +MPI_File_set_errhandler, or MPI_Win_set_errhandler (depending on the +type of MPI handle that generated the MPI request); the predefined +error handler MPI_ERRORS_RETURN may be used to cause error values to +be returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +.sp +If the invoked error handler allows MPI_Waitsome to return to the +caller, the value MPI_ERR_IN_STATUS will be returned in the C and +Fortran bindings. In C++, if the predefined error handler +MPI::ERRORS_THROW_EXCEPTIONS is used, the value MPI::ERR_IN_STATUS +will be contained in the MPI::Exception object. The MPI_ERROR field +can then be examined in the array of returned statuses to determine +exactly which request(s) generated an exception. + +.SH SEE ALSO +.ft R +.sp +MPI_Comm_set_errhandler +.br +MPI_File_set_errhandler +.br +MPI_Test +.br +MPI_Testall +.br +MPI_Testany +.br +MPI_Testsome +.br +MPI_Wait +.br +MPI_Waitall +.br +MPI_Waitany +.br +MPI_Win_set_errhandler +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate.3 new file mode 100644 index 00000000..7e01d047 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate.3 @@ -0,0 +1,98 @@ +.\" -*- nroff -*- +.\" Copyright 2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_allocate 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_allocate\fP \- One-sided MPI call that allocates memory and +returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_allocate (MPI_Aint \fIsize\fP, int \fIdisp_unit\fP, MPI_Info \fIinfo\fP, + MPI_Comm \fIcomm\fP, void *\fIbaseptr\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of window in bytes (nonnegative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +baseptr +Initial address of window. +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_allocate\fP is a collective call executed by all processes +in the group of \fIcomm\fP. On each process, it allocates memory of at +least \fIsize\fP bytes, returns a pointer to it, and returns a window +object that can be used by all processes in \fIcomm\fP to perform RMA +operations. The returned memory consists of \fIsize\fP bytes local to +each process, starting at address \fIbaseptr\fP and is associated with +the window as if the user called \fBMPI_Win_create\fP on existing +memory. The \fIsize\fP argument may be different at each process and +\fIsize\fP = 0 is valid; however, a library might allocate and expose +more memory in order to create a fast, globally symmetric +allocation. The discussion of and rationales for \fBMPI_Alloc_mem\fP and +\fBMPI_Free_mem\fP in MPI-3.1 \[char167] 8.2 also apply to +\fBMPI_Win_allocate\fP; in particular, see the rationale in MPI-3.1 +\[char167] 8.2 for an explanation of the type used for \fIbaseptr\fP. +.sp +The displacement unit argument is provided to facilitate address +arithmetic in RMA operations: the target displacement argument of an +RMA operation is scaled by the factor \fIdisp_unit\fP specified by the +target process, at window creation. +.sp +For supported info keys see \fBMPI_Win_create\fI. +.sp + +.SH NOTES +Common choices for \fIdisp_unit\fP are 1 (no scaling), and (in C +syntax) \fIsizeof(type)\fP, for a window that consists of an array of +elements of type \fItype\fP. The later choice will allow one to use +array indices in RMA calls, and have those scaled correctly to byte +displacements, even in a heterogeneous environment. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Free_mem +MPI_Win_create +MPI_Win_allocate_shared diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate_shared.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate_shared.3 new file mode 100644 index 00000000..50c08bd8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_allocate_shared.3 @@ -0,0 +1,123 @@ +.\" -*- nroff -*- +.\" Copyright 2015-2016 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_allocate_shared 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_allocate_shared\fP \- One-sided MPI call that allocates +shared memory and returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_allocate_shared (MPI_Aint \fIsize\fP, int \fIdisp_unit\fP, MPI_Info \fIinfo\fP, + MPI_Comm \fIcomm\fP, void *\fIbaseptr\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +size +Size of window in bytes (nonnegative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +baseptr +Initial address of window. +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_allocate_shared\fP is a collective call executed by all +processes in the group of \fIcomm\fP. On each process, it allocates +memory of at least \fIsize\fP bytes that is shared among all processes +in \fIcomm\fP, and returns a pointer to the locally allocated segment +in \fIbaseptr\fP that can be used for load/store accesses on the +calling process. The locally allocated memory can be the target of +load/store accesses by remote processes; the base pointers for other +processes can be queried using the function +\fBMPI_Win_shared_query\fP. The call also returns a window object that +can be used by all processes in \fIcomm\fP to perform RMA +operations. The \fIsize\fP argument may be different at each process +and \fIsize\fP = 0 is valid. It is the user's responsibility to ensure +that the communicator \fIcomm\fP represents a group of processes that +can create a shared memory segment that can be accessed by all +processes in the group. The discussions of rationales for +\fBMPI_Alloc_mem\fP and \fBMPI_Free_mem\fP in MPI-3.1 \[char167] 8.2 +also apply to \fBMPI_Win_allocate_shared\fP; in particular, see the +rationale in MPI-3.1 \[char167] 8.2 for an explanation of the type +used for \fIbaseptr\fP. The allocated memory is contiguous across +process ranks unless the info key \fIalloc_shared_noncontig\fP is +specified. Contiguous across process ranks means that the first +address in the memory segment of process i is consecutive with the +last address in the memory segment of process i - 1. This may enable +the user to calculate remote address offsets with local information +only. +.sp +The following info keys are supported: +.ft R +.TP 1i +alloc_shared_noncontig +If not set to \fItrue\fP, the allocation strategy is to allocate +contiguous memory across process ranks. This may limit the performance +on some architectures because it does not allow the implementation to +modify the data layout (e.g., padding to reduce access latency). +.sp +.TP 1i +blocking_fence +If set to \fItrue\fP, the osc/sm component will use \fBMPI_Barrier\fP +for \fBMPI_Win_fence\fP. If set to \fIfalse\fP a condition variable +and counter will be used instead. The default value is +\fIfalse\fP. This info key is Open MPI specific. +.sp +.TP 1i +For additional supported info keys see \fBMPI_Win_create\fP. +.sp + +.SH NOTES +Common choices for \fIdisp_unit\fP are 1 (no scaling), and (in C +syntax) \fIsizeof(type)\fP, for a window that consists of an array of +elements of type \fItype\fP. The later choice will allow one to use +array indices in RMA calls, and have those scaled correctly to byte +displacements, even in a heterogeneous environment. +.sp + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Free_mem +MPI_Win_allocate +MPI_Win_create +MPI_Win_shared_query diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_attach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_attach.3 new file mode 100644 index 00000000..f2596b36 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_attach.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015-2019 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" Copyright (c) 2019 FUJITSU LIMITED. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_attach 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_attach, MPI_Win_detach\fP \- One-sided MPI call that attach / detach a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_attach(MPI_Win \fIwin\fP, void *\fIbase\fP, MPI_Aint \fIsize\fP) + +MPI_Win_detach(MPI_Win \fIwin\fP, void *\fIbase\fP) +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +A window that was created with +.I MPI_Win_create_dynamic + +.TP 1i +base +Initial address of window (choice). +.TP 1i +size +Size of window in bytes (nonnegative integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_attach is a one-sided MPI communication collective call executed by all processes in the group of \fIcomm\fP. It returns a window object that can be used by these processes to perform RMA operations. Each process specifies a window of existing memory that it exposes to RMA accesses by the processes in the group of \fIcomm\fP. The window consists of \fIsize\fP bytes, starting at address \fIbase\fP. A process may elect to expose no memory by specifying \fIsize\fP = 0. +.sp +If the \fIbase\fP value used by MPI_Win_attach was allocated by MPI_Alloc_mem, the size of the window can be no larger than the value set by the MPI_ALLOC_MEM function. +.sp + +.SH NOTES +Use memory allocated by MPI_Alloc_mem to guarantee properly aligned window boundaries (such as word, double-word, cache line, page frame, and so on). +.sp + + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_c2f.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_c2f.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_c2f.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_call_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_call_errhandler.3 new file mode 100644 index 00000000..12776238 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_call_errhandler.3 @@ -0,0 +1,66 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_call_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" + +.SH NAME +\fBMPI_Win_call_errhandler\fP \- Passes the supplied error code to the +error handler assigned to a window + +.SH SYNTAX +.ft R + +.SH C Syntax +.nf +#include +int MPI_Win_call_errhandler(MPI_Win \fIwin\fP, int \fIerrorcode\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1.4i +win +Window with error handler (handle). +.ft R +.TP 1.4i +errorcode +MPI error code (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1.4i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +This function invokes the error handler assigned to the window +\fIwin\fP with the supplied error code \fIerrorcode\fP. If the error +handler was successfully called, the process is not aborted, and the +error handler returns, this function returns MPI_SUCCESS. + +.SH NOTES +.ft R +Users should note that the default error handler is +MPI_ERRORS_ARE_FATAL. Thus, calling this function will abort the +window processes if the default error handler has not been changed for +this window. + +.SH ERRORS +.ft R +Almost all MPI routines return an error value; C routines as +the value of the function and Fortran routines in the last argument. C++ +functions do not return errors. If the default error handler is set to +MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism +will be used to throw an MPI::Exception object. +.sp +See the MPI man page for a full list of MPI error codes. + +.SH SEE ALSO +.ft R +.nf +MPI_Win_create_errhandler +MPI_Win_set_errhandler + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_complete.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_complete.3 new file mode 100644 index 00000000..e1bdcdb9 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_complete.3 @@ -0,0 +1,44 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_complete 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_complete\fP \- Completes an RMA access epoch on \fIwin\fP started by a call to MPI_Win_start + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_complete(MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_complete is a one-sided MPI communication synchronization call, completing an RMA access epoch on \fIwin\fP started by a call to MPI_Win_start. MPI_Win_complete enforces the completion of preceding RMA calls at the origin and not at the target. A put or accumulate call may not have completed at the target when it has completed at the origin. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_start +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create.3 new file mode 100644 index 00000000..dd88bf08 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create.3 @@ -0,0 +1,129 @@ +.\" -*- nroff -*- +.\" Copyright 2015 Los Alamos National Security, LLC. All rights +.\" reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_create 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create\fP \- One-sided MPI call that returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_create(void *\fIbase\fP, MPI_Aint \fIsize\fP, int \fIdisp_unit\fP, + MPI_Info \fIinfo\fP, MPI_Comm \fIcomm\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +base +Initial address of window (choice). +.TP 1i +size +Size of window in bytes (nonnegative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_create is a one-sided MPI communication collective call executed by all processes in the group of \fIcomm\fP. It returns a window object that can be used by these processes to perform RMA operations. Each process specifies a window of existing memory that it exposes to RMA accesses by the processes in the group of \fIcomm\fP. The window consists of \fIsize\fP bytes, starting at address \fIbase\fP. A process may elect to expose no memory by specifying \fIsize\fP = 0. +.sp +If the \fIbase\fP value used by MPI_Win_create was allocated by MPI_Alloc_mem, the size of the window can be no larger than the value set by the MPI_ALLOC_MEM function. +.sp +The displacement unit argument is provided to facilitate address arithmetic in RMA operations: the target displacement argument of an RMA operation is scaled by the factor \fIdisp_unit\fP specified by the target process, at window creation. +.sp +The following info keys are supported: +.ft R +.TP 1i +no_locks +If set to \fItrue\fP, then the implementation may assume that the local +window is never locked (by a call to MPI_Win_lock or +MPI_Win_lock_all). Setting this value if only active synchronization +may allow the implementation to enable certain optimizations. +.sp +.TP 1i +accumulate_ordering +By default, accumulate operations from one initiator to one target on +the same window are strictly ordered. If the info key +accumulate_ordering is set to \fInone\fP, no ordering of accumulate +operations guaranteed. They key can also be a comma-separated list of +required orderings consisting of \fIrar\fP, \fIwar\fP, \fIraw\fP, and \fIwaw\fP for +read-after-read, write-after-read, read-after-write, and +write-after-write, respectively. Looser ordering constraints are +likely to result in improved performance. +.sp +.TP 1i +accumulate_ops +If set to \fIsame_op\fP, the implementation will assume that all concurrent +accumulate calls to the same target address will use the same +operation. If set to \fIsame_op_no_op\fP, then the implementation will +assume that all concurrent accumulate calls to the same target address +will use the same operation or MPI_NO_OP. The default is \fIsame_op_no_op\fP. +.sp +.TP 1i +same_size +If set to \fItrue\fP, then the implementation may assume that the argument +\fIsize\fP is identical on all processes, and that all processes have +provided this info key with the same value. +.sp +.TP 1i +same_disp_unit +If set to \fItrue\fP, then the implementation may assume that the argument +\fIdisp_unit\fP is identical on all processes, and that all processes have +provided this info key with the same value. +.sp +.SH NOTES +Common choices for \fIdisp_unit\fP are 1 (no scaling), and (in C syntax) \fIsizeof(type)\fP, for a window that consists of an array of elements of type \fItype\fP. The later choice will allow one to use array indices in RMA calls, and have those scaled correctly to byte displacements, even in a heterogeneous environment. +.sp +Use memory allocated by MPI_Alloc_mem to guarantee properly aligned window boundaries (such as word, double-word, cache line, page frame, and so on). +.sp + + + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fISIZE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fISIZE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Free_mem +MPI_Win_allocate +MPI_Win_allocate_shared diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_dynamic.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_dynamic.3 new file mode 100644 index 00000000..784f8469 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_dynamic.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_create_dynamic 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create_dynamic\fP \- One-sided MPI call that returns a window object for RMA operations. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_create_dynamic(MPI_Info \fIinfo\fP, MPI_Comm \fIcomm\fP, MPI_Win *\fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +info +Info argument (handle). +.TP 1i +comm +Communicator (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win +Window object returned by the call (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_create_dynamic is a one-sided MPI communication collective call executed by all processes in the group of \fIcomm\fP. It returns a window object without memory attached that can be used by these processes to perform RMA operations. +.sp +The following info keys are supported: +.ft R +.TP 1i +no_locks +If set to \fItrue\fP, then the implementation may assume that the local +window is never locked (by a call to MPI_Win_lock or +MPI_Win_lock_all). Setting this value if only active synchronization +may allow the implementation to enable certain optimizations. +.sp +.TP 1i +accumulate_ordering +By default, accumulate operations from one initiator to one target on +the same window are strictly ordered. If the info key +accumulate_ordering is set to \fInone\fP, no ordering of accumulate +operations guaranteed. They key can also be a comma-separated list of +required orderings consisting of \fIrar\fP, \fIwar\fP, \fIraw\fP, and \fIwaw\fP for +read-after-read, write-after-read, read-after-write, and +write-after-write, respectively. Looser ordering constraints are +likely to result in improved performance. +.sp +.TP 1i +accumulate_ops +If set to \fIsame_op\fP, the implementation will assume that all concurrent +accumulate calls to the same target address will use the same +operation. If set to \fIsame_op_no_op\fP, then the implementation will +assume that all concurrent accumulate calls to the same target address +will use the same operation or MPI_NO_OP. The default is \fIsame_op_no_op\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_errhandler.3 new file mode 100644 index 00000000..91e8f76a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_errhandler.3 @@ -0,0 +1,70 @@ +.\" -*- nroff -*- +.\" Copyright 2009-2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_create_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create_errhandler\fP \- Creates an error handler for a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_create_errhandler(MPI_Win_errhandler_function *\fIfunction\fP, + MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH DEPRECATED TYPE NAME NOTE +.ft R +MPI-2.2 deprecated the MPI_Win_errhandler_fn and +MPI::Win::Errhandler_fn types in favor of +MPI_Win_errhandler_function and MPI::Win::Errhandler_function, +respectively. Open MPI supports both names (indeed, the _fn names are +typedefs to the _function names). + +.SH INPUT PARAMETER +.ft R +.TP 1i +function +User-defined error-handling procedure (function). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +MPI error handler (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_create_errhandler should be, in C, a function of type MPI_Win_errhandler_function, which is defined as +.sp +.nf +typedef void MPI_Win_errhandler_function(MPI Win *, int *, ...); +.fi +.sp +The first argument is the window in use, the second is the error code to be returned. +.sp +In Fortran, the user routine should be of the form: +.sp +.nf +SUBROUTINE WIN_ERRHANDLER_FUNCTION(WIN, ERROR_CODE, ...) + INTEGER WIN, ERROR_CODE +.fi +.sp +In C++, the user routine should be of the form: +.sp +.nf +typedef void MPI::Win::errhandler_function(MPI::Win &, int *, ...); +.fi + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_keyval.3 new file mode 100644 index 00000000..b9b8b1a8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_create_keyval.3 @@ -0,0 +1,114 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_create_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_create_keyval\fP \- Creates a keyval for a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_create_keyval(MPI_Win_copy_attr_function *\fIwin_copy_attr_fn\fP, + MPI_Win_delete_attr_function *\fIwin_delete_attr_fn\fP, + int *\fIwin_keyval\fP, void *\fIextra_state\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win_copy_attr_fn +Copy callback function for \fIwin_keyval\fP (function). +.TP 1i +win_delete_attr_fn +Delete callback function for \fIwin_keyval\fP (function). +.TP 1i +extra_state +Extra state for callback functions. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win_keyval +Key value for future access (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +The argument \fIwin_copy_attr_fn\fP may be specified as MPI_WIN_NULL_COPY_FN or MPI_WIN_DUP_FN from either C, C++, or Fortran. MPI_WIN_NULL_COPY_FN is a function that serves only to return \fIflag\fP = 0 and MPI_SUCCESS. MPI_WIN_DUP_FN is a simple-minded copy function that sets \fIflag\fP = 1, returns the value of \fIattribute_val_in\fP in \fIattribute_val_out\fP, and returns MPI_SUCCESS. +.sp +The argument \fIwin_delete_attr_fn\fP may be specified as MPI_WIN_NULL_DELETE_FN from either C, C++, or Fortran. MPI_WIN_NULL_DELETE_FN is a function that serves only to return MPI_SUCCESS. +.sp +The C callback functions are: +.sp +.nf +typedef int MPI_Win_copy_attr_function(MPI_Win \fIoldwin\fP, int \fIwin_keyval\fP, + void *\fIextra_state\fP, void *\fIattribute_val_in\fP, + void *\fIattribute_val_out\fP, int *\fIflag\fP); +.fi +.sp +and +.sp +.nf +typedef int MPI_Win_delete_attr_function(MPI_Win \fIwin\fP, int \fIwin_keyval\fP, + void *\fIattribute_val\fP, void *\fIextra_state\fP); +.fi +.sp +The Fortran callback functions are: +.sp +.nf +SUBROUTINE WIN_COPY_ATTR_FN(\fIOLDWIN, WIN_KEYVAL, EXTRA_STATE, + ATTRIBUTE_VAL_IN, ATTRIBUTE_VAL_OUT, FLAG, IERROR\fP) + INTEGER \fIOLDWIN, WIN_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIEXTRA_STATE, ATTRIBUTE_VAL_IN, + ATTRIBUTE_VAL_OUT\fP + LOGICAL \fIFLAG\fP +.fi +.sp +and +.sp +.nf +SUBROUTINE WIN_DELETE_ATTR_FN(\fIWIN, WIN_KEYVAL, ATTRIBUTE_VAL, + EXTRA_STATE, IERROR\fP) + INTEGER \fIWIN, WIN_KEYVAL, IERROR\fP + INTEGER(KIND=MPI_ADDRESS_KIND) \fIATTRIBUTE_VAL, EXTRA_STATE\fP +.fi +.sp +The C++ callbacks are: +.sp +.nf +typedef int MPI::Win::Copy_attr_function(const MPI::Win& \fIoldwin\fP, + int \fIwin_keyval\fP, void* \fIextra_state\fP, void* \fIattribute_val_in\fP, + void* \fIattribute_val_out\fP, bool& \fIflag\fP); +.fi +.sp +and +.sp +.nf +typedef int MPI::Win::Delete_attr_function(MPI::Win& \fIwin\fP, int \fIwin_keyval\fP, void* \fIattribute_val\fP, void* \fIextra_state\fP); +.fi + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIEXTRA_STATE\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIEXTRA_STATE\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_delete_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_delete_attr.3 new file mode 100644 index 00000000..411a0bc0 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_delete_attr.3 @@ -0,0 +1,48 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2010-2014 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_delete_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_delete_attr\fP \- Deletes an attribute from a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_delete_attr(MPI_Win \fIwin\fP, int \fIwin_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window from which the attribute is deleted (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +win_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH NOTES +Note that it is not defined by the MPI standard what happens if the +delete_fn callback invokes other MPI functions. In Open MPI, it is +not valid for delete_fn callbacks (or any of their children) to add or +delete attributes on the same object on which the delete_fn callback +is being invoked. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_detach.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_detach.3 new file mode 100644 index 00000000..42a7c2b2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_detach.3 @@ -0,0 +1 @@ +.so man3/MPI_Win_attach.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_f2c.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_f2c.3 new file mode 100644 index 00000000..a13fce69 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_f2c.3 @@ -0,0 +1 @@ +.so man3/MPI_Comm_f2c.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_fence.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_fence.3 new file mode 100644 index 00000000..47d103d8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_fence.3 @@ -0,0 +1,59 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_fence 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_fence\fP \- Synchronizes RMA calls on a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_fence(int \fIassert\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_fence synchronizes RMA calls on \fIwin\fP. The call is collective on the group of \fIwin\fP. All RMA operations on \fIwin\fP originating at a given process and started before the fence call will complete at that process before the fence call returns. They will be completed at their target before the fence call returns at the target. RMA operations on \fIwin\fP started by a process after the fence call returns will access their target window only after MPI_Win_fence has been called by the target process. +.sp +The call completes an RMA access epoch if it was preceded by another fence call and the local process issued RMA communication calls on \fIwin\fP between these two calls. The call completes an RMA exposure epoch if it was preceded by another fence call and the local window was the target of RMA accesses between these two calls. The call starts an RMA access epoch if it is followed by another fence call and by RMA communication calls issued between these two fence calls. The call starts an exposure epoch if it is followed by another fence call and the local window is the target of RMA accesses between these two fence calls. Thus, the fence call is equivalent to calls to a subset of \fIpost, start, complete, wait\fP. +.sp +A fence call usually entails a barrier synchronization: a process completes a call to MPI_Win_fence only after all other processes in the group have entered their matching call. However, a call to MPI_Win_fence that is known not to end any epoch (in particular, a call with \fIassert\fP = MPI_MODE_NOPRECEDE) does not necessarily act as a barrier. + +.SH NOTE +Calls to MPI_Win_fence should both precede and follow calls to put, get or accumulate that are synchronized with fence calls. +.sp + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_create +MPI_Win_start +MPI_Win_post +MPI_Win_complete +MPI_Win_wait +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush.3 new file mode 100644 index 00000000..c1a26b5f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_flush 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_flush\fP, \fBMPI_Win_flush_all\fP \- Complete all outstanding RMA operations at both the origin and the target + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_flush (int \fIrank\fP, MPI_Win \fIwin\fP) + +int MPI_Win_flush_all (MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of window (nonnegative integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_flush\fP completes all outstanding RMA operations initiated by the calling process to the target rank on the specified window. The operations are completed both at the origin and at the target. \fBMPI_Win_flush_all\fP completes all outstanding RMA operations to all targets. +.sp +Can only be called from within a passive target epoch. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_flush_local +MPI_Win_lock +MPI_Win_lock_all +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_all.3 new file mode 100644 index 00000000..b30e345a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_all.3 @@ -0,0 +1 @@ +.so man3/MPI_Win_flush.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local.3 new file mode 100644 index 00000000..6b7cd79a --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_flush_local 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_flush_local\fP, \fBMPI_Win_flush_local_all\fP \- Complete all outstanding RMA operations at both the origin + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_flush_local (int \fIrank\fP, MPI_Win \fIwin\fP) + +int MPI_Win_flush_local_all (MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of window (nonnegative integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_flush_local\fP locally completes at the origin all outstanding RMA operations initiated by the calling process to the target process specified by rank on the specified window. For example, after this routine completes, the user may reuse any buffers provided to put, get, or accumulate operations. \fBMPI_Win_flush_local_all\fP locally completes at the origin all outstanding RMA operations to all targets. +.sp +Can only be called from within a passive target epoch. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_flush +MPI_Win_lock +MPI_Win_lock_all +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local_all.3 new file mode 100644 index 00000000..6b740a2b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_flush_local_all.3 @@ -0,0 +1 @@ +.so man3/MPI_Win_flush_local.3 diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_free.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free.3 new file mode 100644 index 00000000..ccee6a5e --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free.3 @@ -0,0 +1,45 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_free 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_free\fP \- Frees the window object and returns a null handle. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_free(MPI_Win *\fIwin\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_free frees the window object \fIwin\fP and returns a null handle (equal to MPI_WIN_NULL). This collective call is executed by all processes in the group associated with \fIwin\fP. It can be invoked by a process only after it has completed its involvement in RMA communications on window \fIwin\fP, that is, the process has called MPI_Win_fence, or called MPI_Win_unlock to match a previous call to MPI_Win_lock. When the call returns, the window memory can be freed. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_create +MPI_Win_fence +MPI_Win_unlock +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_free_keyval.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free_keyval.3 new file mode 100644 index 00000000..f70c752c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_free_keyval.3 @@ -0,0 +1,35 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_free_keyval 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_free_keyval\fP \- Frees a window keyval. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_free_keyval(int *\fIwin_keyval\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win_keyval +Key value (integer). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_attr.3 new file mode 100644 index 00000000..b91cfb65 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_attr.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_attr\fP \- Obtains the value of a window attribute. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_attr(MPI_Win \fIwin\fP, int \fIwin_keyval\fP, + void *\fIattribute_val\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window to which the attribute is attached (handle). +.TP 1i +win_keyval +Key value (integer). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +attribute_val +Attribute value, unless \fIag\fP = false +.TP 1i +flag +False if no attribute is associated with the key (logical). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Obtains the value of a window attribute. +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_errhandler.3 new file mode 100644 index 00000000..1f715f19 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_errhandler.3 @@ -0,0 +1,43 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_errhandler\fP \- Retrieves the error handler currently associated with a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_errhandler(MPI_Win \fIwin\fP, MPI_Errhandler *\fIerrhandler\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +win +Window (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +errhandler +Error handler currently associated with window (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_get_errhandler retrieves the error handler currently associated with a window. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_group.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_group.3 new file mode 100644 index 00000000..f9215f3c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_group.3 @@ -0,0 +1,42 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_group 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_group\fP \- Returns a duplicate of the group of the communicator used to create the window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +MPI_Win_get_group(MPI_Win \fIwin\fP, MPI_Group *\fIgroup\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +group +Group of processes that share access to the window (handle). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_get_group returns a duplicate of the group of the communicator used to create the window associated with \fIwin\fP. The group is returned in \fIgroup\fP. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_info.3 new file mode 100644 index 00000000..dd7681ec --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_info.3 @@ -0,0 +1,58 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_get_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_info\fP \- Retrieves active window info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_info(MPI_Win \fIwin\fP, MPI_Info \fI*info_used\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window from which to receive active info hints +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +info_used +New info object returned with all active hints on this window. +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_Win_get_info returns a new info object containing the hints of +the window associated with +.IR win . +The current setting of all hints actually used by the system related +to this window is returned in +.IR info_used . +If no such hints exist, a handle to a newly created info object is +returned that contains no key/value pair. The user is responsible for +freeing info_used via MPI_Info_free. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Win_set_info, +MPI_Win_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_name.3 new file mode 100644 index 00000000..bcb84f31 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_get_name.3 @@ -0,0 +1,45 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_get_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_get_name\fP \- Obtains the name of a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_get_name(MPI_Win \fIwin\fP, char *\fIwin_name\fP, int *\fIresultlen\fP) + +.fi +.SH INPUT PARAMETER +.ft R +.TP 1i +win +Window whose name is to be returned (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +win_name +the name previously stored on the window, or an empty string if no such name exists (string). +.TP 1i +resultlen +Length of returned name (integer). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock.3 new file mode 100644 index 00000000..f827fa52 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock.3 @@ -0,0 +1,69 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_lock 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_lock\fP \- Starts an RMA access epoch locking access to a particular rank. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_lock(int \fIlock_type\fP, int \fIrank\fP, int \fIassert\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +lock_type +Either MPI_LOCK_EXCLUSIVE or MPI_LOCK_SHARED (state). +.TP 1i +rank +Rank of locked window (nonnegative integer). +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts an RMA access epoch. Locks ensure that only the windows created by specific processes can be accessed by those processes (and by no other processes) during that epoch. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. +Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. +.sp +The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid. +.sp +.ft +.SH NOTES +.ft R +In a client/server environment in which clients connect to +a server and create windows that span both the client and the +server, if a client or server that has obtained a lock +on such a window and then terminates abnormally, the server or other clients +may hang in a MPI_Win_lock call, failing to notice that the peer MPI job +has terminated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_unlock +MPI_Win_lock_all +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock_all.3 new file mode 100644 index 00000000..362a861b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_lock_all.3 @@ -0,0 +1,62 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_lock_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_lock_all\fP \- Starts an RMA access epoch locking access to all processes in the window + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_lock_all(int \fIassert\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +Starts an RMA access epoch to all processes in \fIwin\fP, with a lock type of MPI_LOCK_SHARED. During the epoch, the calling process can access the window memory on all processes in \fIwin\fP by using RMA operations. A window locked with MPI_Win_lock_all must be unlocked with MPI_Win_unlock_all. This routine is not collective — the ALL refers to a lock on all members of the group of the window. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. +Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. +.sp +The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid. +.sp +.ft +.SH NOTES +.ft R +In a client/server environment in which clients connect to +a server and create windows that span both the client and the +server, if a client or server that has obtained a lock +on such a window and then terminates abnormally, the server or other clients +may hang in a MPI_Win_lock_all call, failing to notice that the peer MPI job +has terminated. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_unlock_all +MPI_Win_lock +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_post.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_post.3 new file mode 100644 index 00000000..7819c5ca --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_post.3 @@ -0,0 +1,52 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_post 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_post\fP \- Starts an RMA exposure epoch for the local window associated with \fIwin\fP + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_post(MPI_Group \fIgroup\fP, int assert, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +The group of origin processes (handle) +.TP 1i +assert +Program assertion (integer) +.TP 1i +win +Window object (handle) + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION + +Starts an RMA exposure epoch for the local window associated with \fIwin\fP. Only the processes belonging to \fIgroup\fP should access the window with RMA calls on \fIwin\fP during this epoch. Each process in \fIgroup\fP must issue a matching call to MPI_Win_start. MPI_Win_post does not block. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_start +MPI_Win_wait +.br + + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_attr.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_attr.3 new file mode 100644 index 00000000..dee9160f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_attr.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_set_attr 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_attr\fP \- Sets the value of a window attribute. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_attr(MPI_Win \fIwin\fP, int \fIwin_keyval\fP, void *\fIattribute_val\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window to which attribute will be attached (handle). + +.SH INPUT PARAMETERS +.ft R +.TP 1i +win_keyval +Key value (integer). +.TP 1i +attribute_val +Attribute value. + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH FORTRAN 77 NOTES +.ft R +The MPI standard prescribes portable Fortran syntax for +the \fIATTRIBUTE_VAL\fP argument only for Fortran 90. FORTRAN 77 +users may use the non-portable syntax +.sp +.nf + INTEGER*MPI_ADDRESS_KIND \fIATTRIBUTE_VAL\fP +.fi +.sp +where MPI_ADDRESS_KIND is a constant defined in mpif.h +and gives the length of the declared integer in bytes. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_errhandler.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_errhandler.3 new file mode 100644 index 00000000..2e09728f --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_errhandler.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_set_errhandler 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_errhandler\fP \- Attaches a new error handler to a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_errhandler(MPI_Win \fIwin\fP, MPI_Errhandler \fIerrhandler\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +errhandler +New error handler for window (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_set_errhandler attaches a new error handler to a window. The error handler must be either a predefined error handler or an error handler created by a call to MPI_Win_create_errhandler. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_info.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_info.3 new file mode 100644 index 00000000..4857a0fe --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_info.3 @@ -0,0 +1,60 @@ +.\" -*- nroff -*- +.\" Copyright (c) 2015 Research Organization for Information Science +.\" and Technology (RIST). All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Win_set_info 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_info\fP \- Set window info hints +. +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_info(MPI_Win \fIwin\fP, MPI_Info \fIinfo\fP) +. +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window on which to set info hints +.TP 1i +info +Info object containing hints to be set on +.I win +. +.SH OUTPUT PARAMETERS +.TP 1i +IERROR +Fortran only: Error status (integer). +. +.SH DESCRIPTION +.ft R +MPI_WIN_SET_INFO sets new values for the hints of the window +associated with +.IR win. +MPI_WIN_SET_INFO is a collective routine. The info object may be +different on each process, but any info entries that an implementation +requires to be the same on all processes must appear with the same +value in each process's +.I info +object. +. +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. +. +.SH SEE ALSO +MPI_Win_get_info, +MPI_Info_create, +MPI_Info_set, +MPI_Info_free diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_name.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_name.3 new file mode 100644 index 00000000..a1fe06a8 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_set_name.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2013 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_set_name 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_set_name\fP \- Sets the name of a window. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_set_name(MPI_Win \fIwin\fP, const char *\fIwin_name\fP) + +.fi +.SH INPUT/OUTPUT PARAMETER +.ft R +.TP 1i +win +Window whose identifier is to be set (handle). + +.SH INPUT PARAMETER +.ft R +.TP 1i +win_name +The character string used as the name (string). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_shared_query.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_shared_query.3 new file mode 100644 index 00000000..32111079 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_shared_query.3 @@ -0,0 +1,79 @@ +.\" -*- nroff -*- +.\" Copyright 2015 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_shared_query 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_shared_query\fP \- Query a shared memory window + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_shared_query (MPI_Win \fIwin\fP, int \fIrank\fP, MPI_Aint *\fIsize\fP, + int *\fIdisp_unit\fP, void *\fIbaseptr\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Shared memory window object (handle). +.TP 1i +rank +Rank in the group of window \fIwin\fP (non-negative integer) +or MPI_PROC_NULL. + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +size +Size of the window segment (non-negative integer). +.TP 1i +disp_unit +Local unit size for displacements, in bytes (positive integer). +.TP 1i +baseptr +Address for load/store access to window segment +(choice). +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_shared_query\fP queries the process-local address for +remote memory segments created with MPI_Win_allocate_shared. This +function can return different process-local addresses for the same +physical memory on different processes. The returned memory can be +used for load/store accesses subject to the constraints defined in +MPI-3.1 \[char167] 11.7. This function can only be called with windows +of flavor MPI_WIN_FLAVOR_SHARED. If the passed window is not of flavor +MPI_WIN_FLAVOR_SHARED, the error MPI_ERR_RMA_FLAVOR is raised. When +rank is MPI_PROC_NULL, the \fIpointer\fP, \fIdisp_unit\fP, and +\fIsize\fP returned are the pointer, disp_unit, and size of the memory +segment belonging the lowest rank that specified \fIsize\fP > 0. If +all processes in the group attached to the window specified \fIsize\fP += 0, then the call returns \fIsize\fP = 0 and a \fIbaseptr\fP as if +\fBMPI_Alloc_mem\fP was called with \fIsize\fP = 0. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value +of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for +I/O function errors. The error handler may be changed with +MPI_Comm_set_errhandler; the predefined error handler +MPI_ERRORS_RETURN may be used to cause error values to be +returned. Note that MPI does not guarantee that an MPI program can +continue past an error. + +.SH SEE ALSO +.ft R +.sp +MPI_Alloc_mem +MPI_Win_allocate_shared diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_start.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_start.3 new file mode 100644 index 00000000..ff72b973 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_start.3 @@ -0,0 +1,61 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_start 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_start\fP \- Starts an RMA access epoch for \fIwin\fP + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_start(MPI_Group \fIgroup\fP, int assert, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +group +The group of target processes (handle). +.TP 1i +assert +Program assertion (integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_start is a one-sided MPI communication synchronization call that starts an RMA access epoch for \fIwin\fP. RMA calls issued on \fIwin\fP during this epoch must +access only windows at processes in \fIgroup\fP. Each process in \fIgroup\fP must issue a matching +call to MPI_Win_post. MPI_Win_start +is allowed to block until the corresponding MPI_Win_post calls have been executed, but is not required to. +.sp +The \fIassert\fP argument is used to provide assertions on the context of the call that may be used for various optimizations. (See Section 6.4.4 of the MPI-2 Standard.) A value of \fIassert\fP = 0 is always valid. The following assertion value is supported: +.sp +.TP 1i +MPI_MODE_NOCHECK +When this value is passed in to this call, the library assumes that +the post call on the target has been called and it is not necessary +for the library to check to see if such a call has been made. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_post +MPI_Win_complete +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_sync.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_sync.3 new file mode 100644 index 00000000..db5c64b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_sync.3 @@ -0,0 +1,39 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_sync 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_sync\fP, \- Synchronize the private and public copies of the window + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_sync (MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +\fBMPI_Win_sync\fP synchronizes the private and public window copies of \fIwin\fP. For the purposes of synchronizing the private and public window, \fBMPI_Win_sync\fP has the effect of ending and reopening an access and exposure epoch on the window (note that it does not actually end an epoch or complete any pending MPI RMA operations). + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with \fBMPI_Comm_set_errhandler\fP; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_test.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_test.3 new file mode 100644 index 00000000..e9b4ea02 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_test.3 @@ -0,0 +1,55 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_test 3 "Mar 26, 2019" ""4.0.1"" "Open MPI" +.SH NAME +\fBMPI_Win_test\fP \- Attempts to complete an RMA exposure epoch; a nonblocking version of MPI_Win_wait + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_test(MPI_Win \fIwin\fP, int *\fIflag\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle) + + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). +.TP 1i +flag +The returning state of the test for epoch closure. + + +.SH DESCRIPTION +.ft R +MPI_Win_test is a one-sided MPI communication synchronization call, a +nonblocking version of MPI_Win_wait. It returns \fIflag = true\fP if +MPI_Win_wait would return, \fIflag = false\fP otherwise. The effect of return of MPI_Win_test with \fIflag = true\fP is the same as the effect of a return of MPI_Win_wait. If \fIflag = false\fP is returned, then the call has no visible effect. +.sp +Invoke MPI_Win_test only where MPI_Win_wait can be invoked. Once +the call has returned \fIflag = true\fP, it must not be invoked anew, until the window is posted anew. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_post +MPI_Win_wait +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock.3 new file mode 100644 index 00000000..5864acc4 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock.3 @@ -0,0 +1,51 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_unlock 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_unlock\fP \- Completes an RMA access epoch started by a call to MPI_Win_lock. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_unlock(int \fIrank\fP, MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +rank +Rank of window (nonnegative integer). +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_unlock completes an RMA access epoch started by a call to MPI_Win_lock. RMA operations issued during this period will have completed both at the origin and at the target when the call returns. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_lock +MPI_Win_unlock_all +.br + + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock_all.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock_all.3 new file mode 100644 index 00000000..f33b2ec7 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_unlock_all.3 @@ -0,0 +1,46 @@ +.\" -*- nroff -*- +.\" Copyright 2014 Los Alamos National Security, LLC. All rights reserved. +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_unlock_all 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_unlock_all\fP \- Completes an RMA access epoch started by a call to MPI_Win_lock_all. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_unlock_all(MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETER +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_unlock_all completes an RMA access epoch started by a call to MPI_Win_lock_all. RMA operations issued during this period will have completed both at the origin and at the target when the call returns. +.sp +Locks are used to protect accesses to the locked target window effected by RMA calls issued between the lock and unlock call, and to protect local load/store accesses to a locked local window executed between the lock and unlock call. Accesses that are protected by an exclusive lock will not be concurrent at the window site with other accesses to the same window that are lock protected. Accesses that are protected by a shared lock will not be concurrent at the window site with accesses protected by an exclusive lock to the same window. + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_lock_all +MPI_Win_unlock +.br diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Win_wait.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Win_wait.3 new file mode 100644 index 00000000..068a3ec2 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Win_wait.3 @@ -0,0 +1,49 @@ +.\" -*- nroff -*- +.\" Copyright 2010 Cisco Systems, Inc. All rights reserved. +.\" Copyright 2007-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" $COPYRIGHT$ +.TH MPI_Win_wait 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Win_wait\fP \- Completes an RMA exposure epoch started by a call to MPI_Win_post on \fIwin\fP + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +int MPI_Win_wait(MPI_Win \fIwin\fP) + +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +win +Window object (handle). + +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +IERROR +Fortran only: Error status (integer). + +.SH DESCRIPTION +.ft R +MPI_Win_wait is a one-sided MPI communication synchronization call that completes an RMA exposure epoch started by a call to MPI_Win_post on \fIwin\fP. This +call matches calls to MPI_Win_complete(\fIwin\fP) issued by each of the processes that +were granted access to the window during this epoch. The call to MPI_Win_wait blocks +until all matching calls to MPI_Win_complete have occurred. This guarantees that all +these origin processes have completed their RMA accesses to the local window. When the +call returns, all these RMA accesses will have completed at the target window. + + +.SH ERRORS +Almost all MPI routines return an error value; C routines as the value of the function and Fortran routines in the last argument. C++ functions do not return errors. If the default error handler is set to MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism will be used to throw an MPI::Exception object. +.sp +Before the error value is returned, the current MPI error handler is +called. By default, this error handler aborts the MPI job, except for I/O function errors. The error handler may be changed with MPI_Win_set_errhandler; the predefined error handler MPI_ERRORS_RETURN may be used to cause error values to be returned. Note that MPI does not guarantee that an MPI program can continue past an error. + +.SH SEE ALSO +MPI_Win_post +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 new file mode 100644 index 00000000..0177da2c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Wtick.3 @@ -0,0 +1,38 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2017 Cisco Systems, Inc. +.\" $COPYRIGHT$ +.TH MPI_Wtick 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Wtick\fP \- Returns the resolution of MPI_Wtime. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +double MPI_Wtick() + +.fi +.SH RETURN VALUE +.ft R +Time in seconds of resolution of MPI_Wtime. + +.SH DESCRIPTION +.ft R +MPI_Wtick returns the resolution of MPI_Wtime in seconds. That is, it +returns, as a double-precision value, the number of seconds between +successive clock ticks. For example, if the clock is implemented by +the hardware as a counter that is incremented every millisecond, the +value returned by MPI_Wtick should be 10^-3. +.PP + +.SH NOTE +This function does not return an error value. Consequently, the result +of calling it before MPI_Init or after MPI_Finalize is undefined. + +.SH SEE ALSO +.ft R +.sp +MPI_Wtime diff --git a/macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 b/macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 new file mode 100644 index 00000000..d023e1ff --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/MPI_Wtime.3 @@ -0,0 +1,74 @@ +.\" -*- nroff -*- +.\" Copyright 2006-2008 Sun Microsystems, Inc. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH MPI_Wtime 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBMPI_Wtime\fP \- Returns an elapsed time on the calling processor. + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +double MPI_Wtime() + +.fi +.SH RETURN VALUE +.ft R +Time in seconds since an arbitrary time in the past. + +.SH DESCRIPTION +.ft R +MPI_Wtime returns a floating-point number of seconds, representing elapsed wall-clock time since some time in the past. +.PP +The "time in the past" is guaranteed not to change during the life of the process. The user is responsible for converting large numbers of seconds to other units if they are preferred. +.PP +This function is portable (it returns seconds, not "ticks"), it allows high resolution, and carries no unnecessary baggage. One would use it like this: +.sp +.nf + { + double starttime, endtime; + starttime = MPI_Wtime(); + \&.... stuff to be timed \&... + endtime = MPI_Wtime(); + printf("That took %f seconds\\n",endtime-starttime); + } +.fi +.PP +The times returned are local to the node that called them. There is no requirement that different nodes return the "same" time. +.SH NOTES +The boolean variable MPI_WTIME_IS_GLOBAL, a predefined attribute key that indicates whether clocks are synchronized, does not have a valid value in Open MPI, as the clocks are not guaranteed to be synchronized. + +.PP +This function is intended to be a high-resolution, elapsed (or wall) clock. See MPI_Wtick to determine the resolution of MPI_Wtime. +.PP +On POSIX platforms, this function may utilize a timer that is cheaper +to invoke than the gettimeofday() system call, but will fall back to +gettimeofday() if a cheap high-resolution timer is not available. The +ompi_info command can be consulted to see if Open MPI supports a +native high-resolution timer on your platform; see the value for "MPI_WTIME +support" (or "options:mpi-wtime" when viewing the parsable +output). If this value is "native", a method that is likely to be +cheaper than gettimeofday() will be used to obtain the time when +MPI_Wtime is invoked. +.PP +For example, on platforms that support it, the +.I clock_gettime() +function will be used to obtain a monotonic clock value with whatever +precision is supported on that platform (e.g., nanoseconds). +.PP +Note, too, that the MCA parameter opal_timer_require_monotonic can +influcence this behavior. It defaults to true, but if set to false, +Open MPI may use a finer-grained timing mechanism (e.g., the +RDTSC/RDTSCP clock ticks on x86_64 platforms), but is not guaranteed +to be monotonic in some cases (e.g., if the MPI process is not bound +to a single processor core). +.PP +This function does not return an error value. Consequently, the result of calling it before MPI_Init or after MPI_Finalize is undefined. + +.SH SEE ALSO +MPI_Wtick +.br + diff --git a/macx64/mpi/openmpi/share/man/man3/OMPI_Affinity_str.3 b/macx64/mpi/openmpi/share/man/man3/OMPI_Affinity_str.3 new file mode 100644 index 00000000..71a7c88b --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/OMPI_Affinity_str.3 @@ -0,0 +1,193 @@ +.\" -*- nroff -*- +.\" Copyright 2007-2010 Oracle and/or its affiliates. All rights reserved. +.\" Copyright (c) 1996 Thinking Machines Corporation +.\" Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +.\" $COPYRIGHT$ +.TH OMPI_Affinity_str 3 "Mar 26, 2019" "4.0.1" "Open MPI" +.SH NAME +\fBOMPI_Affinity_str\fP \- Obtain prettyprint strings of processor affinity information for this process + +.SH SYNTAX +.ft R +.SH C Syntax +.nf +#include +#include + +int OMPI_Affinity_str(ompi_affinity_fmt_type_t \fIfmt_type\fP, + char \fIompi_bound\fP[OMPI_AFFINITY_STRING_MAX], + char \fIcurrent_binding\fP[OMPI_AFFINITY_STRING_MAX], + char \fIexists\fP[OMPI_AFFINITY_STRING_MAX]) +.fi +.SH INPUT PARAMETERS +.ft R +.TP 1i +fmt_type +An enum indicating how to format the returned ompi_bound and +current_binding strings. OMPI_AFFINITY_RSRC_STRING_FMT returns the +string as human-readable resource names, such as "socket 0, core 0". + +OMPI_AFFINITY_LAYOUT_FMT returns ASCII art representing where this MPI +process is bound relative to the machine resource layout. For example +"[. B][. .]" shows the process that called the routine is bound to +socket 0, core 1 in a system with 2 sockets, each containing 2 cores. + +See below for more output examples. + +. +.SH OUTPUT PARAMETERS +.ft R +.TP 1i +ompi_bound +A prettyprint string describing what processor(s) Open MPI bound this +process to, or a string indicating that Open MPI did not bind this +process. +. +.TP 1i +current_binding +A prettyprint string describing what processor(s) this process is +currently bound to, or a string indicating that the process is bound +to all available processors (and is therefore considered "unbound"). +. +.TP 1i +exists +A prettyprint string describing the available sockets and sockets on +this host. + +.SH DESCRIPTION +.ft R +Open MPI may bind a process to specific sockets and/or cores at +process launch time. This non-standard Open MPI function call returns +prettyprint information about three things: +. +.TP +Where Open MPI bound this process. +The string returned in +.B +ompi_bound +will either indicate that Open MPI did not bind this process to +anything, or it will contain a prettyprint description of the +processor(s) to which Open MPI bound this process. +. +.TP +Where this process is currently bound. +Regardless of whether Open MPI bound this process or not, another +entity may have bound it. The string returned in +.B current_binding +will indicate what the +.I +current +binding is of this process, regardless of what Open MPI may have done +earlier. The string returned will either indicate that the process is +unbound (meaning that it is bound to all available processors) or it +will contain a prettyprint description of the sockets and cores to +which the process is currently bound. +. +.TP +What processors exist. +As a convenience to the user, the +.B +exists +string will contain a prettyprint description of the sockets and cores +that this process can see (which is +.I usually +all processors in the system). + +.SH Examples +.ft R +\fBExample 1:\fP Print out processes binding using resource string format. +.sp +.nf + int rank; + char ompi_bound[OMPI_AFFINITY_STRING_MAX]; + char current_binding[OMPI_AFFINITY_STRING_MAX]; + char exists[OMPI_AFFINITY_STRING_MAX]; + + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + + OMPI_Affinity_str(OMPI_AFFINITY_RSRC_STRING_FMT, + ompi_bound, current_binding, exists); + printf("rank %d: \\n" + " ompi_bound: %s\\n" + " current_binding: %s\\n" + " exists: %s\\n", + rank, ompi_bound, current_binding, exists); + ... +.fi +.PP +Output of mpirun -np 2 -bind-to-core a.out: +.nf +rank 0: + ompi_bound: socket 0[core 0] + current_binding: socket 0[core 0] + exists: socket 0 has 4 cores +rank 1: + ompi_bound: socket 0[core 1] + current_binding: socket 0[core 1] + exists: socket 0 has 4 cores +.fi +.PP +Output of mpirun -np 2 -bind-to-socket a.out: +.nf +rank 0: + ompi_bound: socket 0[core 0-3] + current_binding: Not bound (or bound to all available processors) + exists: socket 0 has 4 cores +rank 1: + ompi_bound: socket 0[core 0-3] + current_binding: Not bound (or bound to all available processors) + exists: socket 0 has 4 cores +.fi +.sp +.br +\fBExample 2:\fP Print out processes binding using layout string format. +.sp +.nf + int rank; + char ompi_bound[OMPI_AFFINITY_STRING_MAX]; + char current_binding[OMPI_AFFINITY_STRING_MAX]; + char exists[OMPI_AFFINITY_STRING_MAX]; + + MPI_Init(&argc, &argv); + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + + OMPI_Affinity_str(OMPI_AFFINITY_LAYOUT_FMT, + ompi_bound, current_binding, exists); + printf("rank %d: \\n" + " ompi_bound: %s\\n" + " current_binding: %s\\n" + " exists: %s\\n", + rank, ompi_bound, current_binding, exists); + ... +.fi +.PP +Output of mpirun -np 2 -bind-to-core a.out: +.nf +rank 0: + ompi_bound: [B . . .] + current_binding: [B . . .] + exists: [. . . .] +rank 1: + ompi_bound: [. B . .] + current_binding: [. B . .] + exists: [. . . .] +.fi +.PP +Output of mpirun -np 2 -bind-to-socket a.out: +.nf +rank 0: + ompi_bound: [B B B B] + current_binding: [B B B B] + exists: [. . . .] +rank 1: + ompi_bound: [B B B B] + current_binding: [B B B B] + exists: [. . . .] +.fi + +.SH See Also +.ft R +.nf +mpirun(1) +.fi diff --git a/macx64/mpi/openmpi/share/man/man3/OpenMPI.3 b/macx64/mpi/openmpi/share/man/man3/OpenMPI.3 new file mode 100644 index 00000000..3cc56226 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man3/OpenMPI.3 @@ -0,0 +1 @@ +.so man3/MPI.3 diff --git a/macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 b/macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 new file mode 100644 index 00000000..bb913c03 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/ompi_crcp.7 @@ -0,0 +1,93 @@ +.\" +.\" Man page for OMPI's CRCP Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH OMPI_CRCP 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +OMPI_CRCP \- Open MPI MCA Checkpoint/Restart Coordination Protocol (CRCP) Framework: +Overview of Open MPI's CRCP framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +The CRCP Framework is used by Open MPI for the encapsulation of various +Checkpoint/Restart Coordination Protocols (e.g., Coordinated, Uncoordinated, +Message/Communication Induced, ...). +. +.\" ************************** +.\" General Process Requirements Section +.\" ************************** +.SH GENERAL PROCESS REQUIREMENTS +.PP +In order for a process to use the Open MPI CRCP components it must adhear to a +few programmatic requirements. +.PP +First, the program must call \fIMPI_INIT\fR early in its execution. +.PP +The program must call \fIMPI_FINALIZE\fR before termination. +.PP +A user may initiate a checkpoint of a parallel application by using the +ompi-checkpoint(1) and ompi-restart(1) commands. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open MPI currently ships with one CRCP component: \fIcoord\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +crcp_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on error. +. +.\" Coord Component +.\" ****************** +.SS coord CRCP Component +.PP +The \fIcoord\fR component implements a Coordinated Checkpoint/Restart +Coordination Protocol similar to the one implemented in LAM/MPI. +. +.PP +The \fIcoord\fR component has the following MCA parameters: +. +.TP 4 +crcp_coord_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +crcp_coord_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.\" Special 'none' option +.\" ************************ +.SS none CRCP Component +.PP +The \fInone\fP component simply selects no CRCP component. All of the CRCP +function calls return immediately with OMPI_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then Open MPI will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + ompi-checkpoint(1), ompi-restart(1), opal-checkpoint(1), opal-restart(1), +orte_snapc(7), orte_filem(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/man/man7/opal_crs.7 b/macx64/mpi/openmpi/share/man/man7/opal_crs.7 new file mode 100644 index 00000000..c98bfac1 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/opal_crs.7 @@ -0,0 +1,179 @@ +.\" +.\" Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for OPAL's CRS Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH OPAL_CRS 7 "Mar 26, 2019" "4.0.1" "Open MPI" + +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +OPAL_CRS \- Open PAL MCA Checkpoint/Restart Service (CRS): Overview of Open PAL's +CRS framework, and selected modules. Open MPI 4.0.1. +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +Open PAL can involuntarily checkpoint and restart sequential programs. +Doing so requires that Open PAL was compiled with thread support and +that the back-end checkpointing systems are available at run-time. +. +.SS Phases of Checkpoint / Restart +.PP +Open PAL defines three phases for checkpoint / restart support in a +procress: +. +.TP 4 +Checkpoint +When the checkpoint request arrives, the procress is notified of the +request before the checkpoint is taken. +. +.TP 4 +Continue +After a checkpoint has successfully completed, the same process as the +checkpoint is notified of its successful continuation of execution. +. +.TP 4 +Restart +After a checkpoint has successfully completed, a new / restarted +process is notified of its successful restart. +. +.PP +The Continue and Restart phases are identical except for the process +in which they are invoked. The Continue phase is invoked in the same process +as the Checkpoint phase was invoked. The Restart phase is only invoked in newly +restarted processes. +. +.\" ************************** +.\" General Process Requirements Section +.\" ************************** +.SH GENERAL PROCESS REQUIREMENTS +.PP +In order for a process to use the Open PAL CRS components it must adhear to a +few programmatic requirements. +.PP +First, the program must call \fIOPAL_INIT\fR early in its execution. This +should only be called once, and it is not possible to checkpoint the process +without it first having called this function. +.PP +The program must call \fIOPAL_FINALIZE\fR before termination. This does a +significant amount of cleanup. If it is not called, then it is very likely that +remnants are left in the filesystem. +.PP +To checkpoint and restart a process you must use the Open PAL tools to do +so. Using the backend checkpointer's checkpoint and restart tools will lead +to undefined behavior. +To checkpoint a process use \fIopal_checkpoint\fR (opal_checkpoint(1)). +To restart a process use \fIopal_restart\fR (opal_restart(1)). +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open PAL ships with two CRS components: \fIself\fR and \fIblcr\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +crs_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on error. +. +.\" Self Component +.\" ****************** +.SS self CRS Component +.PP +The \fIself\fR component invokes user-defined functions to save and restore +checkpoints. It is simply a mechanism for user-defined functions to be invoked +at Open PAL's Checkpoint, Continue, and Restart phases. Hence, the only data +that is saved during the checkpoint is what is written in the user's checkpoint +function. No libary state is saved at all. +. +.PP +As such, the model for the \fIself\fR component is slightly differnt than for +other components. Specifically, the Restart function is not invoked in the same +process image of the process that was checkpointed. The Restart phase is +invoked during \fBOPAL_INIT\fR of the new instance of the applicaiton (i.e., it +starts over from main()). +. +.PP +The \fIself\fR component has the following MCA parameters: +.TP 4 +crs_self_prefix +Speficy a string prefix for the name of the checkpoint, continue, and restart +functions that Open PAL will invoke during the respective stages. That is, +by specifying "-mca crs_self_prefix foo" means that Open PAL expects to find +three functions at run-time: + + int foo_checkpoint() + + int foo_continue() + + int foo_restart() + +By default, the prefix is set to "opal_crs_self_user". +. +.TP 4 +crs_self_priority +Set the \fIself\fR components default priority +. +.TP 4 +crs_self_verbose +Set the verbosity level. Default is 0, or silent except on error. +. +.TP 4 +crs_self_do_restart +This is mostly internally used. A general user should never need to set this +value. This is set to non-0 when a the new process should invoke the restart +callback in \fIOPAL_INIT\fR. Default is 0, or normal execution. +. +.\" BLCR Component +.\" ****************** +.SS blcr CRS Component +.PP +The Berkeley Lab Checkpoint/Restart (BLCR) single-process checkpoint is a +software system developed at Lawrence Berkeley National Laboratory. See the +project website for more details: + + \fI http://ftg.lbl.gov/CheckpointRestart/CheckpointRestart.shtml \fR +. +.PP +The \fIblcr\fR component has the following MCA parameters: +.TP 4 +crs_blcr_priority +Set the \fIblcr\fR components default priority. +. +.TP 4 +crs_blcr_verbose +Set the verbosity level. Default is 0, or silent except on error. +. +.\" Special 'none' option +.\" ************************ +.SS none CRS Component +.PP +The \fInone\fP component simply selects no CRS component. All of the CRS +function calls return immediately with OPAL_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then OPAL will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + opal_checkpoint(1), opal_restart(1) +.\", orte_crs(7), ompi_crs(7) diff --git a/macx64/mpi/openmpi/share/man/man7/orte_filem.7 b/macx64/mpi/openmpi/share/man/man7/orte_filem.7 new file mode 100644 index 00000000..ea6ac4ed --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_filem.7 @@ -0,0 +1,92 @@ +.\" +.\" Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for ORTE's FileM Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_FILEM 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ORTE_FILEM \- Open RTE MCA File Management (FileM) Framework: Overview of Open RTE's +FileM framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +FileM is a utility framework used by OpenRTE for a variety of purposes, including +the transport of checkpoint files, preloading user binaries, and preloading of user files. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open RTE currently ships with one FileM component: \fIrsh\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +filem_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on +error. +. +. +.\" rsh Component +.\" ****************** +.SS rsh FileM Component +.PP +The \fIrsh\fR component uses \fIrcp\fP or \fIscp\fP to do its file transfers. This component +requires the use of passwordless \fIrsh\fP or \fIssh\fP between all nodes. +. +.PP +The \fIrsh\fR component has the following MCA parameters: +. +.TP 4 +filem_rsh_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +filem_rsh_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.TP 4 +filem_rsh_rcp +The program to use to copy files. Generally will be rcp or scp. +. +.TP 4 +filem_rsh_rsh +The program used to remotely log into a given machine and remove files. +Generally will be rsh or ssh. +. +.\" Special 'none' option +.\" ************************ +.SS none FileM Component +.PP +The \fInone\fP component simply selects no FileM component. All of the FileM +function calls return immediately with ORTE_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then ORTE will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orte-checkpoint(1), orte-restart(1), opal-checkpoint(1), opal-restart(1), orte_snapc(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/man/man7/orte_hosts.7 b/macx64/mpi/openmpi/share/man/man7/orte_hosts.7 new file mode 100644 index 00000000..c13ad18c --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_hosts.7 @@ -0,0 +1,197 @@ +.\" +.\" Copyright (c) 2008 Los Alamos National Security, LLC All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for ORTE's Hostfile functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_HOSTS 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ORTE_HOSTS \- OpenRTE Hostfile and HOST Behavior: Overview of OpenRTE's support for user-supplied +hostfiles and comma-delimited lists of hosts +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +OpenRTE supports several levels of user-specified host lists based on an established +precedence order. Users can specify a \fIdefault hostfile\fP that contains a list of +nodes available to all app_contexts given on the command line. Only \fIone\fP default +hostfile can be provided for any job. In addition, users +can specify a \fIhostfile\fP that contains a list of nodes to be used for a specific +app_context, or can provide a comma-delimited list of nodes to be used for that +app_context via the \fI-host\fP command line option. +.sp +The precedence order applied to these various options depends to some extent on +the local environment. The following table illustrates how host and hostfile directives +work together to define the set of hosts upon which a job will execute +in the absence of a resource manager (RM): +.sp +.nf + default + hostfile host hostfile Result +---------- ------ ---------- ----------------------------------------- + unset unset unset Job is co-located with mpirun + unset set unset Host defines resource list for the job + unset unset set Hostfile defines resource list for the job + unset set set Hostfile defines resource list for the job, + then host filters the list to define the final + set of nodes available to each application + within the job + set unset unset Default hostfile defines resource list for the job + set set unset Default hostfile defines resource list for the job, + then host filters the list to define the final + set of nodes available to each application + within the job + set set set Default hostfile defines resource list for the job, + then hostfile filters the list, and then host filters + the list to define the final set of nodes available + to each application within the job +.fi +.sp +This changes somewhat in the presence of a RM as that entity specifies the +initial allocation of nodes. In this case, the default hostfile, hostfile and host +directives are all used to filter the RM's specification so that a user can utilize different +portions of the allocation for different jobs. This is done according to the same precedence +order as in the prior table, with the RM providing the initial pool of nodes. +.sp +. +.\" ************************** +.\" Relative Indexing +.\" ************************** +.SH RELATIVE INDEXING +. +.PP +Once an initial allocation has been specified (whether by an RM, default hostfile, or hostfile), +subsequent hostfile and -host specifications can be made using relative indexing. This allows a +user to stipulate which hosts are to be used for a given app_context without specifying the +particular host name, but rather its relative position in the allocation. +.sp +This can probably best be understood through consideration of a few examples. Consider the case +where an RM has allocated a set of nodes to the user named "foo1, foo2, foo3, foo4". The user +wants the first app_context to have exclusive use of the first two nodes, and a second app_context +to use the last two nodes. Of course, the user could printout the allocation to find the names +of the nodes allocated to them and then use -host to specify this layout, but this is cumbersome +and would require hand-manipulation for every invocation. +.sp +A simpler method is to utilize OpenRTE's relative indexing capability to specify the desired +layout. In this case, a command line of: +.sp +mpirun -pernode -host +n1,+n2 ./app1 : -host +n3,+n4 ./app2 +.sp +.PP +would provide the desired pattern. The "+" syntax indicates that the information is being +provided as a relative index to the existing allocation. Two methods of relative indexing +are supported: +.sp +.TP +.B +n<#> +A relative index into the allocation referencing the <#> node. OpenRTE will substitute +the <#> node in the allocation +. +. +.TP +.B +e[:<#>] +A request for <#> empty nodes - i.e., OpenRTE is to substitute this reference with +<#> nodes that have not yet been used by any other app_context. If the ":<#>" is not +provided, OpenRTE will substitute the reference with all empty nodes. Note that OpenRTE +does track the empty nodes that have been assigned in this manner, so multiple +uses of this option will result in assignment of unique nodes up to the limit of the +available empty nodes. Requests for more empty nodes than are available will generate +an error. +.sp +.PP +Relative indexing can be combined with absolute naming of hosts in any arbitrary manner, +and can be used in hostfiles as well as with the -host command line option. In addition, +any slot specification provided in hostfiles will be respected - thus, a user can specify +that only a certain number of slots from a relative indexed host are to be used for a +given app_context. +.sp +Another example may help illustrate this point. Consider the case where a user has a default +hostfile containing: +.sp +.nf +dummy1 slots=4 +dummy2 slots=4 +dummy3 slots=4 +dummy4 slots=4 +dummy5 slots=4 +.fi +.sp +.PP +This may, for example, be a hostfile that describes a set of commonly-used resources that +the user wishes to execute applications against. For this particular application, the user +plans to map byslot, and wants the first two ranks to be on the second node of any allocation, +the next ranks to land on an empty node, have one rank specifically on dummy4, the next rank +to be on the second node of the allocation again, and finally any remaining ranks to be on +whatever empty nodes are left. To accomplish this, the user provides a hostfile of: +.sp +.nf ++n2 slots=2 ++e:1 +dummy4 slots=1 ++n2 ++e +.fi +.sp +.PP +The user can now use this information in combination with OpenRTE's sequential mapper to +obtain their specific layout: +.sp +.nf +mpirun --default-hostfile dummyhosts -hostfile mylayout -mca rmaps seq ./my_app +.fi +.sp +.PP +which will result in: +.nf +.sp +rank0 being mapped to dummy3 +.br +rank1 to dummy1 as the first empty node +.br +rank2 to dummy4 +.br +rank3 to dummy3 +.br +rank4 to dummy2 and rank5 to dummy5 as the last remaining unused nodes +.sp +.fi +Note that the sequential mapper ignores the number of slots arguments as it only +maps one rank at a time to each node in the list. +.sp +If the default round-robin mapper had been used, then the mapping would have resulted in: +.sp +.nf +ranks 0 and 1 being mapped to dummy3 since two slots were specified +.br +ranks 2-5 on dummy1 as the first empty node, which has four slots +.br +rank6 on dummy4 since the hostfile specifies only a single slot from that node is to be used +.br +ranks 7 and 8 on dummy3 since only two slots remain available +.br +ranks 9-12 on dummy2 since it is the next available empty node and has four slots +.br +ranks 13-16 on dummy5 since it is the last remaining unused node and has four slots +.fi +.sp +.PP +Thus, the use of relative indexing can allow for complex mappings to be ported across +allocations, including those obtained from automated resource managers, without the need +for manual manipulation of scripts and/or command lines. +. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orterun(1) +. diff --git a/macx64/mpi/openmpi/share/man/man7/orte_snapc.7 b/macx64/mpi/openmpi/share/man/man7/orte_snapc.7 new file mode 100644 index 00000000..f58cf930 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_snapc.7 @@ -0,0 +1,105 @@ +.\" +.\" Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. +.\" +.\" Man page for ORTE's SnapC Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_SNAPC 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +ORTE_SNAPC \- Open RTE MCA Snapshot Coordination (SnapC) Framework: Overview of +Open RTE's SnapC framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +Open RTE can coordinate the generation of a global snapshot of a parallel job +from many distributed local snapshots. The components in this framework +determine how to: Initiate the checkpoint of the parallel application, gather +together the many distributed local snapshots, and provide the user with a +global snapshot handle reference that can be used to restart the parallel +application. +. +.\" ************************** +.\" General Process Requirements Section +.\" ************************** +.SH GENERAL PROCESS REQUIREMENTS +.PP +In order for a process to use the Open RTE SnapC components it must adhear to a +few programmatic requirements. +.PP +First, the program must call \fIORTE_INIT\fR early in its execution. This +should only be called once, and it is not possible to checkpoint the process +without it first having called this function. +.PP +The program must call \fIORTE_FINALIZE\fR before termination. +.PP +A user may initiate a checkpoint of a parallel application by using the +orte-checkpoint(1) and orte-restart(1) commands. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +Open RTE ships with one SnapC component: \fIfull\fR. +. +.PP +The following MCA parameters apply to all components: +. +.TP 4 +snapc_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on error. +. +.\" full Component +.\" ****************** +.SS full SnapC Component +.PP +The \fIfull\fR component gathers together the local snapshots to the disk local +to the Head Node Process (HNP) before completing the checkpoint of the process. This +component does not currently support replicated HNPs, or timer based gathering +of local snapshot data. This is a 3-tiered hierarchy of coordinators. +. +.PP +The \fIfull\fR component has the following MCA parameters: +. +.TP 4 +snapc_full_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +snapc_full_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.\" Special 'none' option +.\" ************************ +.SS none SnapC Component +.PP +The \fInone\fP component simply selects no SnapC component. All of the SnapC +function calls return immediately with ORTE_SUCCESS. +. +.PP +This component is the last component to be selected by default. This means that if +another component is available, and the \fInone\fP component was not explicity +requested then ORTE will attempt to activate all of the available components +before falling back to this component. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orte-checkpoint(1), orte-restart(1), opal-checkpoint(1), opal-restart(1), +orte_filem(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/man/man7/orte_sstore.7 b/macx64/mpi/openmpi/share/man/man7/orte_sstore.7 new file mode 100644 index 00000000..363c08b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/man/man7/orte_sstore.7 @@ -0,0 +1,66 @@ +.\" +.\" Copyright (c) 2010 The Trustees of Indiana University and Indiana +.\" University Research and Technology +.\" Corporation. All rights reserved. +.\" +.\" Man page for ORTE's SStore Functionality +.\" +.\" .TH name section center-footer left-footer center-header +.TH ORTE_SSTORE 7 "Mar 26, 2019" "4.0.1" "Open MPI" +.\" ************************** +.\" Name Section +.\" ************************** +.SH NAME +. +Open RTE MCA File Management (SStore) Framework \- Overview of Open RTE's SStore +framework, and selected modules. Open MPI 4.0.1 +. +.\" ************************** +.\" Description Section +.\" ************************** +.SH DESCRIPTION +. +.PP +SStore is a utility framework used by OpenRTE for a variety of purposes, including +the transport of checkpoint files, preloading user binaries, and preloading of user files. +. +.\" ********************************** +.\" Available Components Section +.\" ********************************** +.SH AVAILABLE COMPONENTS +.PP +The following MCA parameters apply to all components: +. +.TP 4 +sstore_base_verbose +Set the verbosity level for all components. Default is 0, or silent except on +error. +. +. +.\" central Component +.\" ****************** +.SS central SStore Component +.PP +The \fIcentral\fR component implements a fully centralized stable storage +mechanism that requires a shared storage medium (e.g., NFS). +. +.PP +The \fIcentral\fR component has the following MCA parameters: +. +.TP 4 +sstore_central_priority +The component's priority to use when selecting the most appropriate component +for a run. +. +.TP 4 +sstore_central_verbose +Set the verbosity level for this component. Default is 0, or silent except on +error. +. +.\" ************************** +.\" See Also Section +.\" ************************** +. +.SH SEE ALSO + orte-checkpoint(1), orte-restart(1), opal-checkpoint(1), opal-restart(1), orte_snapc(7), opal_crs(7) +. diff --git a/macx64/mpi/openmpi/share/openmpi/amca-param-sets/example.conf b/macx64/mpi/openmpi/share/openmpi/amca-param-sets/example.conf new file mode 100644 index 00000000..f9fa6cd9 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/amca-param-sets/example.conf @@ -0,0 +1,5 @@ +# +# This is an example file illustrating how to setup an Aggregate MCA parameters +# file. +# +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-btl-vader.txt b/macx64/mpi/openmpi/share/openmpi/help-btl-vader.txt new file mode 100644 index 00000000..9d872675 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-btl-vader.txt @@ -0,0 +1,137 @@ +# -*- text -*- +# +# Copyright (c) 2004-2009 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2006-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2012-2014 Los Alamos National Security, LLC. +# All rights reserved. +# Copyright (c) 2014 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's shared memory support. +# +[sys call fail] +A system call failed during vader shared memory BTL initialization +that should not have. It is likely that your MPI job will now either +abort or experience performance degradation. + + System call: %s + Error: %s (errno %d) +# +[no locality] +WARNING: Missing locality information required for vader shared memory +BTL initialization. Continuing without shared memory support. +# +[knem permission denied] +WARING: Open MPI failed to open the /dev/knem device due to a +permissions problem. Please check with your system administrator to +get the permissions fixed, or set the btl_vader_single_copy_mechanism +MCA variable to none to silence this warning and run without knem +support. + + Local host: %s + /dev/knem permissions: 0%o +# +[knem fail open] +WARNING: Open MPI failed to open the /dev/knem device due to a local +error. Please check with your system administrator to get the problem +fixed, or set the btl_vader_single_copy_mechanism MCA variable to none +to silence this warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Errno: %d (%s) +# +[knem get ABI fail] +WARNING: Open MPI failed to retrieve the ABI version from the +/dev/knem device due to a local error. This usually indicates an +error in your knem installation; please check with your system +administrator, or set the btl_vader_single_copy_mechanism MCA variable +to none to silence this warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Errno: %d (%s) +# +[knem ABI mismatch] +WARNING: Open MPI was compiled with support for one version of the +knem kernel module, but it discovered a different version running in +/dev/knem. Open MPI needs to be installed with support for the same +version of knem as is in the running Linux kernel. Please check with +your system administrator, or set the btl_vader_single_copy_mechanism +MCA variable to none to silence this warning and run without knem +support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Open MPI's knem version: 0x%x + /dev/knem's version: 0x%x +# +[knem mmap fail] +Open MPI failed to map support from the knem Linux kernel module; this +shouldn't happen. Please check with your system administrator, or set +the btl_vader_single_copy_mechanism MCA variable to none to silence +this warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + System call: mmap() + Errno: %d (%s) +# +[knem init error] +Open MPI encountered an error during the knem initialization. Please +check with your system administrator, or set the +btl_vader_single_copy_mechanism MCA variable to none to silence this +warning and run without knem support. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + System call: %s + Errno: %d (%s) +# +[knem requested but not available] +WARNING: Linux kernel knem support was requested via the +btl_vader_single_copy_mechanism MCA parameter, but Knem support was either not +compiled into this Open MPI installation, or Knem support was unable +to be activated in this process. + +The vader BTL will fall back on another single-copy mechanism if one +is available. This may result in lower performance. + + Local host: %s +# +[cma-permission-denied] +WARNING: Linux kernel CMA support was requested via the +btl_vader_single_copy_mechanism MCA variable, but CMA support is +not available due to restrictive ptrace settings. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s +# +[xpmem-make-failed] +WARNING: Could not generate an xpmem segment id for this process' +address space. + +The vader shared memory BTL will fall back on another single-copy +mechanism if one is available. This may result in lower performance. + + Local host: %s + Error code: %d (%s) diff --git a/macx64/mpi/openmpi/share/openmpi/help-coll-sync.txt b/macx64/mpi/openmpi/share/openmpi/help-coll-sync.txt new file mode 100644 index 00000000..4a5c8712 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-coll-sync.txt @@ -0,0 +1,22 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI's sync +# collective component. +# +[missing collective] +The sync collective component in Open MPI was activated on a +communicator where it did not find an underlying collective operation +defined. This usually means that the sync collective module's +priority was not set high enough. Please try increasing sync's +priority. + + Local host: %s + Sync coll module priority: %d + First discovered missing collective: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-dash-host.txt b/macx64/mpi/openmpi/share/openmpi/help-dash-host.txt new file mode 100644 index 00000000..c4514d3b --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-dash-host.txt @@ -0,0 +1,68 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for hostfile utilities. +# + +[not-all-mapped-alloc] +At least one of the requested hosts is not included in the current allocation. + +Missing requested host: %s + +Please check your allocation or your request. +# +[dash-host:relative-syntax] +A relative host was specified, but no prior allocation has been made. +Thus, there is no way to determine the proper host to be used. + +-host: %s + +Please see the orte_hosts man page for further information. +# +[dash-host:relative-node-not-found] +A relative host was specified, but was not found. The requested host was +specified with --host as: + +Index: %d +Syntax given: %s + +Please see the orte_hosts man page for further information. +# +[dash-host:relative-node-out-of-bounds] +A relative host was specified, but the index given is beyond the number +of hosts in the current allocation: + +Index: %d +#hosts: %d + +You could obtain a larger allocation or reduce the relative host index. +Please see the orte_hosts man page for further information. +# +[dash-host:invalid-relative-node-syntax] +A relative host was improperly specified - the value provided was. + +-host: %s + +You may have forgotten to preface a node with 'N' or 'n', or used the 'e' or 'E' to indicate +empty nodes. Please see the orte_hosts man page for further information. +# +[dash-host:not-enough-empty] +The requested number of empty hosts was not available - the system was short by %d hosts. + +Please recheck your allocation - further information is available on the +orte_hosts man page. diff --git a/macx64/mpi/openmpi/share/openmpi/help-errmgr-base.txt b/macx64/mpi/openmpi/share/openmpi/help-errmgr-base.txt new file mode 100644 index 00000000..30ff0f88 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-errmgr-base.txt @@ -0,0 +1,112 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014-2017 Intel, Inc. All rights reserved. +# Copyright (c) 2017 IBM Corporation. All rights reserved. +# Copyright (c) 2018 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[undeliverable-msg] +An attempt was made to send a message to a process whose +address is unknown: + + Sender: %s + From node: %s + Recipient: %s + On node: %s + +The message could not be delivered, and we are aborting. +# +[failed-daemon-launch] +ORTE was unable to reliably start one or more daemons. +This usually is caused by: + +* not finding the required libraries and/or binaries on + one or more nodes. Please check your PATH and LD_LIBRARY_PATH + settings, or configure OMPI with --enable-orterun-prefix-by-default + +* lack of authority to execute on one or more specified nodes. + Please verify your allocation and authorities. + +* the inability to write startup files into /tmp (--tmpdir/orte_tmpdir_base). + Please check with your sys admin to determine the correct location to use. + +* compilation of the orted with dynamic libraries when static are required + (e.g., on Cray). Please check your configure cmd line and consider using + one of the contrib/platform definitions for your system type. + +* an inability to create a connection back to mpirun due to a + lack of common network interfaces and/or no route found between + them. Please check network connectivity (including firewalls + and network routing requirements). +# +[failed-daemon] +An ORTE daemon has unexpectedly failed after launch and before +communicating back to mpirun. This could be caused by a number +of factors, including an inability to create a connection back +to mpirun due to a lack of common network interfaces and/or no +route found between them. Please check network connectivity +(including firewalls and network routing requirements). +# +[node-died] +ORTE has lost communication with a remote daemon. + + HNP daemon : %s on node %s + Remote daemon: %s on node %s + +This is usually due to either a failure of the TCP network +connection to the node, or possibly an internal failure of +the daemon itself. We cannot recover from this failure, and +therefore will terminate the job. +# +[no-path] +ORTE does not know how to route a message to the specified daemon +located on the indicated node: + + my node: %s + target node: %s + +This is usually an internal programming error that should be +reported to the developers. In the meantime, a workaround may +be to set the MCA param routed=direct on the command line or +in your environment. We apologize for the problem. +# +[no-connect] +ORTE is unable to establish a communication connection to the +specified daemon located on the indicated node: + + my node: %s + target node: %s + +This is usually due to a lack of common network interfaces and/or +no route found between them. Please check network connectivity (including +firewalls and network routing requirements). If these look okay, +then it could be an internal programming error that should be +reported to the developers. In the meantime, a workaround may +be to set the MCA param routed=direct on the command line or +in your environment. +# +[simple-message] +An internal error has occurred in ORTE: + +%s + +This is something that should be reported to the developers. +# +[normal-termination-but] +%s job %s terminated normally, but %d %s. Per user-direction, the job has been aborted. diff --git a/macx64/mpi/openmpi/share/openmpi/help-ess-base.txt b/macx64/mpi/openmpi/share/openmpi/help-ess-base.txt new file mode 100644 index 00000000..89d98ccb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ess-base.txt @@ -0,0 +1,97 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the SDS base. +# +[ess-base:execv-error] +The singleton application was not able to find the executable "orted" in +your PATH or in the directory where Open MPI/OpenRTE was initially installed, +and therefore cannot continue. + +For reference, we tried the following command: + + %s + +and got the error %s. + +This could mean that your PATH or executable name is wrong, or that you do not +have the necessary permissions. Please ensure that the executable is able to be +found and executed as it is required for singleton operations. +[ess-base:cannot-forward] +The system does not support trapping and forwarding of the +specified signal: + + signal: %s + param: %s + +Please remove that signal from the ess_base_forward_signals MCA parameter. +[ess-base:unknown-signal] +The following signal was included in the ess_base_forward_signals +MCA parameter: + + signal: %s + param: %s + +This is not a recognized signal value. Please fix or remove it. +# +[slurm-error] +The application appears to have been direct launched using "srun", +but OMPI was not built with SLURM's PMI support and therefore cannot +execute. There are several options for building PMI support under +SLURM, depending upon the SLURM version you are using: + + version 16.05 or later: you can use SLURM's PMIx support. This + requires that you configure and build SLURM --with-pmix. + + Versions earlier than 16.05: you must use either SLURM's PMI-1 or + PMI-2 support. SLURM builds PMI-1 by default, or you can manually + install PMI-2. You must then build Open MPI using --with-pmi pointing + to the SLURM PMI library location. + +Please configure as appropriate and try again. +# +[slurm-error2] +The application appears to have been direct launched using "srun", +but OMPI was not built with SLURM support. This usually happens +when OMPI was not configured --with-slurm and we weren't able +to discover a SLURM installation in the usual places. + +Please configure as appropriate and try again. +# +[alps-error] +The application appears to have been direct launched using "aprun", +but OMPI was not built with ALPS PMI support and therefore cannot +execute. You must build Open MPI using --with-pmi pointing +to the ALPS PMI library location. + +Please configure as appropriate and try again. +# +[alps-error2] +The application appears to have been direct launched using "aprun", +but OMPI was not built with ALPS support. This usually happens +when OMPI was not configured --with-alps and we weren't able +to discover an ALPS installation in the usual places. + +Please configure as appropriate and try again. +# +[legacy-tool] +We no longer support non-PMIx-based tools, and require a +minimum level of PMIx v2.0. + +Please update the tool and/or the PMIx version you are using. diff --git a/macx64/mpi/openmpi/share/openmpi/help-hostfile.txt b/macx64/mpi/openmpi/share/openmpi/help-hostfile.txt new file mode 100644 index 00000000..a5b99074 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-hostfile.txt @@ -0,0 +1,146 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2012 Los Alamos National Security, LLC +# All rights reserved. +# Copyright (c) 2016 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for hostfile utilities. +# +[no-hostfile] +Open RTE was unable to open the hostfile: + %s +Check to make sure the path and filename are correct. +[port] +Open RTE detected a bad parameter in the hostfile: + %s +The port parameter is less than 0: + port=%d +[slots] +Open RTE detected a bad parameter in the hostfile: + %s +The slots parameter is less than 0: + slots=%d +[max_slots] +Open RTE detected a bad parameter in the hostfile: + %s +The max_slots parameter is less than 0: + max_slots=%d +[max_slots_lt] +Open RTE detected a bad parameter in the hostfile: + %s +The max_slots parameter is less than the slots parameter: + slots=%d + max_slots=%d +[parse_error_string] +Open RTE detected a parse error in the hostfile: + %s +It occured on line number %d on token %d: + %s +[parse_error_int] +Open RTE detected a parse error in the hostfile: + %s +It occured on line number %d on token %d: + %d +[parse_error] +Open RTE detected a parse error in the hostfile: + %s +It occured on line number %d on token %d. +[not-all-mapped-alloc] +Some of the requested hosts are not included in the current allocation. + +The requested hosts were in this hostfile: + %s + +Please verify that you have specified the allocated resources properly in +the provided hostfile. +# +[hostfile:relative-syntax] +A relative host was specified, but no prior allocation has been made. +Thus, there is no way to determine the proper host to be used. + +hostfile entry: %s + +Please see the orte_hosts man page for further information. +# +[hostfile:relative-node-not-found] +A relative host was specified, but was not found. The requested host was +specified as: + +Index: %d +Syntax given: %s + +This is most likely due to the relative index being out of bounds. You +could obtain a larger allocation or reduce the relative host index. +Please see the orte_hosts man page for further information. +# +[hostfile:invalid-relative-node-syntax] +A relative host was improperly specified - the value provided was. + +hostfile entry: %s + +You may have forgotten to preface a node with 'N' or 'n', or used the 'e' or 'E' to indicate +empty nodes. Please see the orte_hosts man page for further information. +# +[hostfile:not-enough-empty] +The requested number of empty hosts was not available - the system was short by %d hosts. + +Please recheck your allocation - further information is available on the +orte_hosts man page. +[boards] +Open RTE detected a bad parameter in the hostfile: + %s +The boards parameter is less than 0: + boards=%d +[sockets] +Open RTE detected a bad parameter in the hostfile: + %s +The sockets parameter is less than 0: + sockets=%d +[cores] +Open RTE detected a bad parameter in the hostfile: + %s +The cores parameter is less than 0: + cores=%d + +# +[hostfile:extra-node-not-found] +A hostfile was provided that contains at least one node not +present in the allocation: + + hostfile: %s + node: %s + +If you are operating in a resource-managed environment, then only +nodes that are in the allocation can be used in the hostfile. You +may find relative node syntax to be a useful alternative to +specifying absolute node names see the orte_hosts man page for +further information. +# +[slots-given] +A hostfile was provided that contains multiple definitions +of the slot count for at least one node: + + hostfile: %s + node: %s + +You can either list a node multiple times, once for each slot, +or you can provide a single line that contains "slot=N". Mixing +the two methods is not supported. + +Please correct the hostfile and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-base.txt new file mode 100644 index 00000000..543b5c51 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-base.txt @@ -0,0 +1,61 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2014 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[find-available:not-valid] +A requested component was not found, or was unable to be opened. This +means that this component is either not installed or is unable to be +used on your system (e.g., sometimes this means that shared libraries +that the component requires are unable to be found/loaded). Note that +Open MPI stopped checking at the first component that it did not find. + +Host: %s +Framework: %s +Component: %s +# +[find-available:none found] +No components were able to be opened in the %s framework. + +This typically means that either no components of this type were +installed, or none of the installed components can be loaded. +Sometimes this means that shared libraries required by these +components are unable to be found/loaded. + + Host: %s + Framework: %s +# +[framework-param:too-many-negates] +MCA framework parameters can only take a single negation operator +("^"), and it must be at the beginning of the value. The following +value violates this rule: + + %s + +When used, the negation operator sets the "exclusive" behavior mode, +meaning that it will exclude all specified components (and implicitly +include all others). If the negation operator is not specified, the +"inclusive" mode is assumed, meaning that all specified components +will be included (and implicitly exclude all others). + +For example, "^a,b" specifies the exclusive behavior and means "use +all components *except* a and b", while "c,d" specifies the inclusive +behavior and means "use *only* components c and d." + +You cannot mix inclusive and exclusive behavior. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-bml-r2.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-bml-r2.txt new file mode 100644 index 00000000..69d7c24d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-bml-r2.txt @@ -0,0 +1,34 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[unreachable proc] +At least one pair of MPI processes are unable to reach each other for +MPI communications. This means that no Open MPI device has indicated +that it can be used to communicate between these processes. This is +an error; Open MPI requires that all MPI processes be able to reach +each other. This error can sometimes be the result of forgetting to +specify the "self" BTL. + + Process 1 (%s) is on host: %s + Process 2 (%s) is on host: %s + BTLs attempted: %s + +Your MPI job is now going to abort; sorry. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-coll-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-coll-base.txt new file mode 100644 index 00000000..d6e0071f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-coll-base.txt @@ -0,0 +1,47 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2015 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA coll-specific +# error messages. +# +[comm-select:none-available] +Although some coll components are available on your system, none of +them said that they could be used for a new communicator. + +This is extremely unusual -- either the "basic", "libnbc" or "self" components +should be able to be chosen for any communicator. As such, this +likely means that something else is wrong (although you should double +check that the "basic", "libnbc" and "self" coll components are available on +your system -- check the output of the "ompi_info" command). +# +[comm-select:no-function-available] +Although some coll components are available on your system, none of +them said that they could be used for %s on a new communicator. + +This is extremely unusual -- either the "basic", "libnbc" or "self" components +should be able to be chosen for any communicator. As such, this +likely means that something else is wrong (although you should double +check that the "basic", "libnbc" and "self" coll components are available on +your system -- check the output of the "ompi_info" command). +#[comm-unselect:failed-finalize] +A coll module failed to finalize properly when a communicator that was +using it was destroyed. + +This is somewhat unusual: the module itself may be at fault, or this +may be a symptom of another issue (e.g., a memory problem). diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-hook-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-hook-base.txt new file mode 100644 index 00000000..c364d229 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-hook-base.txt @@ -0,0 +1,19 @@ +# -*- text -*- +# +# Copyright (c) 2017 IBM Corporation. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA hook-specific +# error messages. +# +[hook:missing-required-component] +Error: A request was made to exclude a hook component from consideration that +is required to be included. This component (noted below) can -not- be excluded +from consideration. The program will fail at this time. + +Framework: %s +Component: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mca-var.txt b/macx64/mpi/openmpi/share/openmpi/help-mca-var.txt new file mode 100644 index 00000000..316342bb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mca-var.txt @@ -0,0 +1,139 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. All rights +# reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[invalid-flag-combination] +ERROR: An invalid combination of flags was passed to mca_base_var_register. + + Variable: %s + Flags: %s %s +# +[default-only-param-set] +WARNING: A user-supplied value attempted to override the default-only MCA +variable named "%s". + +The user-supplied value was ignored. +# +[missing-param-file] +Process %d Unable to locate the variable file "%s" in the following search path: + %s +# +[deprecated-mca-env] +A deprecated MCA variable value was specified in the environment or +on the command line. Deprecated MCA variables should be avoided; +they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-cli] +A deprecated MCA variable value was specified on the command line. Deprecated +MCA variables should be avoided; they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-file] +A deprecated MCA variable value was specified in an MCA variable +file. Deprecated MCA variables should be avoided; they may disappear +in future releases. + + Deprecated variable: %s + Source file: %s + New variable: %s +# +[mutually-exclusive-vars] +Two mutually-exclusive MCA variables were specified. This can result +in undefined behavior, such as ignoring the components that the MCA +variables are supposed to affect. + + 1st MCA variable: %s + Source of value: %s + 2nd MCA variable: %s + Source of value: %s +# +[re-register-with-different-type] +An MCA variable was re-registered with a different type (i.e., it was +either originally registered as an INT and re-registered as a STRING, +or it was originially registered as a STRING and re-registered as an +INT). This a developer error; your job may abort. + + MCA variable name: %s +# +[var-name-conflict] +A name collision was detected on an MCA variable name. This can happen +if two components try to register the same variable with slightly +different name components. The conflicting variables are listed below: + + MCA variable name: %s + New name: %s %s %s + Existing name: %s %s %s +# +[overridden-param-set] +WARNING: A user-supplied value attempted to set a variable that is set +in the override variable file (openmpi-mca-params-override.conf). + + Variable: %s + +The user-supplied value was ignored. +# +[invalid-value] +An invalid value was supplied for an MCA variable. + + Variable : %s + Value : %s +# +[invalid-value-enum] +An invalid value was supplied for an enum variable. + + Variable : %s + Value : %s + Valid values : %s +# +[environment-only-param] +WARNING: The special MCA parameter "%s" was set in +an unexpected way, and is likely not working the way you want it to. + +Specifically, this MCA parameter is "special" in that it can *only* be +set in the environment. Setting this value in a file -- and sometimes +even on the command line -- will not work as intended. The *only* way +to set this value is to set "OMPI_MCA_%s" in the environment before +starting your job. + + Value: %s + Source: %s +# +[incorrect-env-list-param] +WARNING: The format of "mca_base_env_list" parameter is a delimited list of VAR=VAL or +VAR instances. By default, the delimiter is a semicolon: VAR1=VAL1;VAR2;VAR3=VAL3;... +You can set other via "mca_base_env_list_delimiter" parameter. If the delimiter is a +semicolon, the value of "mca_base_env_list" variable should be quoted to not interfere +with SHELL command line parsing. In the case where a value is not assigned to variable +VAR, the value will be taken from the current environment. +The following environment variable was not found in the environment: + Variable: %s + MCA variable value: %s +# +[incorrect-env-list-sep] +An invalid value was supplied for an MCA variable "mca_base_env_list_delimiter". +The "mca_base_env_list" variable will be ignored. + Value: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-api.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-api.txt new file mode 100644 index 00000000..81e76d01 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-api.txt @@ -0,0 +1,33 @@ +# -*- text -*- +# +# Copyright (c) 2006 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2006-2015 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2018 IBM Corporation. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[mpi-abort] +MPI_ABORT was invoked on rank %d in communicator %s +with errorcode %d. + +NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes. +You may or may not see output from other processes, depending on +exactly when Open MPI kills them. +# +[MPI function not supported] +Your application has invoked an MPI function that is not supported in +this environment. + + MPI function: %s + Reason: %s +[info-set-with-reserved-prefix] +Comments +MPI_Info_set warning, key is using a reserved prefix. + Key: %s + Reserved prefix: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-base.txt new file mode 100644 index 00000000..5531b1dd --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-base.txt @@ -0,0 +1,31 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2017 Cisco Systems, Inc. All rights reserved +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[btl:no-nics] +%s: A high-performance Open MPI point-to-point messaging module +was unable to find any relevant network interfaces: + +Module: %s + Host: %s + +Another transport will be used instead, although this may result in +lower performance. + +NOTE: You can disable this warning by setting the MCA parameter +btl_base_warn_component_unused to 0. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-sm.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-sm.txt new file mode 100644 index 00000000..8424944c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-sm.txt @@ -0,0 +1,24 @@ +# -*- text -*- +# +# Copyright (c) 2004-2009 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2006-2017 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2012-2013 Los Alamos National Security, LLC. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for the deprecated "sm" BTL. +# +[btl sm is dead] +As of version 3.0.0, the "sm" BTL is no longer available in Open MPI. + +Efficient, high-speed same-node shared memory communication support in +Open MPI is available in the "vader" BTL. To use the vader BTL, you +can re-run your job with: + + mpirun --mca btl vader,self,... your_mpi_application diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-tcp.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-tcp.txt new file mode 100644 index 00000000..d513ef4d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-btl-tcp.txt @@ -0,0 +1,169 @@ +# -*- text -*- +# +# Copyright (c) 2009-2018 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2015-2016 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2016 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's TCP support +# (the openib BTL). +# +[invalid if_inexclude] +WARNING: An invalid value was given for btl_tcp_if_%s. This +value will be ignored. + + Local host: %s + Value: %s + Message: %s +# +[invalid minimum port] +WARNING: An invalid value was given for the btl_tcp_port_min_%s. Legal +values are in the range [1 .. 2^16-1]. This value will be ignored +(reset to the default value of 1024). + + Local host: %s + Value: %d +# +[client connect fail] +WARNING: Open MPI failed to TCP connect to a peer MPI process. This +should not happen. + +Your Open MPI job may now hang or fail. + + Local host: %s + PID: %d + Message: %s + Error: %s (%d) +# +[client handshake fail] +WARNING: Open MPI failed to handshake with a connecting peer MPI +process over TCP. This should not happen. + +Your Open MPI job may now hang or fail. + + Local host: %s + PID: %d + Message: %s +# +[accept failed] +WARNING: The accept(3) system call failed on a TCP socket. While this +should generally never happen on a well-configured HPC system, the +most common causes when it does occur are: + + * The process ran out of file descriptors + * The operating system ran out of file descriptors + * The operating system ran out of memory + +Your Open MPI job will likely hang (or crash) until the failure +resason is fixed (e.g., more file descriptors and/or memory becomes +available), and may eventually timeout / abort. + + Local host: %s + PID: %d + Errno: %d (%s) +# +[peer hung up] +An MPI communication peer process has unexpectedly disconnected. This +usually indicates a failure in the peer process (e.g., a crash or +otherwise exiting without calling MPI_FINALIZE first). + +Although this local MPI process will likely now behave unpredictably +(it may even hang or crash), the root cause of this problem is the +failure of the peer -- that is what you need to investigate. For +example, there may be a core file that you can examine. More +generally: such peer hangups are frequently caused by application bugs +or other external events. + + Local host: %s + Local PID: %d + Peer host: %s +# +[dropped inbound connection] +Open MPI detected an inbound MPI TCP connection request from a peer +that appears to be part of this MPI job (i.e., it identified itself as +part of this Open MPI job), but it is from an IP address that is +unexpected. This is highly unusual. + +The inbound connection has been dropped, and the peer should simply +try again with a different IP interface (i.e., the job should +hopefully be able to continue). + + Local host: %s + Local PID: %d + Peer hostname: %s (%s) + Source IP of socket: %s + Known IPs of peer: %s +# +[socket flag fail] +WARNING: Open MPI failed to get or set flags on a TCP socket. This +should not happen. + +This may cause unpredictable behavior, and may end up hanging or +aborting your job. + + Local host: %s + PID: %d + Flag: %s + Error: %s (%d) +# +[server did not get guid] +WARNING: Open MPI accepted a TCP connection from what appears to be a +another Open MPI process but the peer process did not complete the +initial handshake properly. This should not happen. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d +# +[server accept cannot find guid] +WARNING: Open MPI accepted a TCP connection from what appears to be a +another Open MPI process but cannot find a corresponding process +entry for that peer. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d +# +[server getpeername failed] +WARNING: Open MPI failed to look up the peer IP address information of +a TCP connection that it just accepted. This should not happen. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d + Error: %s (%d) +# +[server cannot find endpoint] +WARNING: Open MPI accepted a TCP connection from what appears to be a +valid peer Open MPI process but cannot find a corresponding endpoint +entry for that peer. This should not happen. + +This attempted connection will be ignored; your MPI job may or may not +continue properly. + + Local host: %s + PID: %d +# +[client connect fail] +WARNING: Open MPI failed to TCP connect to a peer MPI process via +TCP. This should not happen. + +Your Open MPI job may now fail. + + Local host: %s + PID: %d + Message: %s + Error: %s (%d) diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-coll-sm.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-coll-sm.txt new file mode 100644 index 00000000..ce42bb65 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-coll-sm.txt @@ -0,0 +1,36 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI's Shared memory +# collective component. +# +[tree-degree-larger-than-control] +The specified shared memory collective tree degree +(coll_sm_tree_degree = %d) is too large. It must be less than or +equal to the control size (coll_sm_control_size = %d). + +Automatically adjusting the tree degree to be equal to the control +size and continuing... +# +[tree-degree-larger-than-255] +The specified shared memory collective tree degree +(coll_sm_tree_degree = %d) is too large. It must be less than or +equal to 255. + +Automatically adjusting the tree degree to be 255 and continuing... +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-common-sm.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-common-sm.txt new file mode 100644 index 00000000..f5630c27 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-common-sm.txt @@ -0,0 +1,34 @@ +# -*- text -*- +# +# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2012 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[mmap too small] +Open MPI requested a shared memory segment that was too small to do +anything useful. This is likely an error in Open MPI itself. If you +see this error, you should see if there is an update available for +Open MPI, and if not, contact the Open MPI developers. + + Local host: %s + Requested size: %ul + Control seg size: %ul + Data seg aligment: %ul +# +[unexpected message id] +Open MPI received an unexpected message ID during common sm initialization. +This is likely an error in Open MPI itself. If you see this error, you should +see if there is an update available for Open MPI that addresses this issue, and +if not, contact the Open MPI developers. + + Local Host: %s + Expected Message ID: %s + Message ID Received: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-errors.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-errors.txt new file mode 100644 index 00000000..a6dcf717 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-errors.txt @@ -0,0 +1,40 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Oak Ridge National Labs. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# *** THESE MESSAGES ARE COORDINATED WITH FIXED STRINGS IN +# *** errhandler_predefined.c! Do not change these messages without also +# *** changing errhandler_predefined.c! +# +[mpi_errors_are_fatal] +%s *** An error occurred %s %s +%s *** reported by process [%lu,%lu] +%s *** on %s %s +%s *** %s +%s *** MPI_ERRORS_ARE_FATAL (processes in this %s will now abort, +%s *** and potentially your MPI job) +# +[mpi_errors_are_fatal unknown handle] +%s *** An error occurred %s %s +%s *** reported by process [%lu,%lu] +%s *** on a NULL %s +%s *** %s +%s *** MPI_ERRORS_ARE_FATAL (processes in this %s will now abort, +%s *** and potentially your MPI job) +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-pml-ob1.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-pml-ob1.txt new file mode 100644 index 00000000..b03cedd5 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-pml-ob1.txt @@ -0,0 +1,44 @@ +# -*- text -*- +# +# Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[eager_limit_too_small] +The "eager limit" MCA parameter in the %s BTL was set to a value which +is too low for Open MPI to function properly. Please re-run your job +with a higher eager limit value for this BTL; the exact MCA parameter +name and its corresponding minimum value is shown below. + + Local host: %s + BTL name: %s + BTL eager limit value: %d (set via btl_%s_eager_limit) + BTL eager limit minimum: %d + MCA parameter name: btl_%s_eager_limit +# +[cuda_eager_limit_too_small] +The "CUDA eager limit" MCA parameter in the %s BTL was set to a value which +is too low for Open MPI to function properly. Please re-run your job +with a higher CUDA eager limit value for this BTL; the exact MCA parameter +name and its corresponding minimum value is shown below. + + Local host: %s + BTL name: %s + BTL CUDA eager limit value: %d (set via btl_%s_cuda_eager_limit) + BTL CUDA eager limit minimum: %d + MCA parameter name: btl_%s_cuda_eager_limit +# +[cuda_rdma_limit_too_small] +The "CUDA rdma limit" MCA parameter in the %s BTL was set to a value which +is too low for Open MPI to function properly. Please re-run your job +with a higher CUDA rdma limit value for this BTL; the exact MCA parameter +name and its corresponding minimum value is shown below. + + Local host: %s + BTL name: %s + BTL CUDA rndv limit value: %d (set via btl_%s_cuda_rdma_limit) + BTL CUDA rndv limit minimum: %d + MCA parameter name: btl_%s_cuda_rdma_limit diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpi-runtime.txt b/macx64/mpi/openmpi/share/openmpi/help-mpi-runtime.txt new file mode 100644 index 00000000..5b7c3759 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpi-runtime.txt @@ -0,0 +1,121 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2007-2018 Cisco Systems, Inc. All rights reserved +# Copyright (c) 2013 NVIDIA Corporation. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[mpi_init:startup:internal-failure] +It looks like %s failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during %s; some of which are due to configuration or environment +problems. This failure appears to be an internal failure; here's some +additional information (which may only be relevant to an Open MPI +developer): + + %s + --> Returned "%s" (%d) instead of "Success" (0) +# +[mpi_init:startup:pml-add-procs-fail] +MPI_INIT has failed because at least one MPI process is unreachable +from another. This *usually* means that an underlying communication +plugin -- such as a BTL or an MTL -- has either not loaded or not +allowed itself to be used. Your MPI job will now abort. + +You may wish to try to narrow down the problem; + + * Check the output of ompi_info to see which BTL/MTL plugins are + available. + * Run your application with MPI_THREAD_SINGLE. + * Set the MCA parameter btl_base_verbose to 100 (or mtl_base_verbose, + if using MTL-based communications) to see exactly which + communication plugins were considered and/or discarded. +# +[mpi-param-check-enabled-but-compiled-out] +WARNING: The MCA parameter mpi_param_check has been set to true, but +parameter checking has been compiled out of Open MPI. The +mpi_param_check value has therefore been ignored. +# +[mpi_init: invoked multiple times] +Open MPI has detected that this process has attempted to initialize +MPI (via MPI_INIT or MPI_INIT_THREAD) more than once. This is +erroneous. +# +[mpi_init: already finalized] +Open MPI has detected that this process has attempted to initialize +MPI (via MPI_INIT or MPI_INIT_THREAD) after MPI_FINALIZE has been +called. This is erroneous. +# +[mpi_finalize: not initialized] +The function MPI_FINALIZE was invoked before MPI was initialized in a +process on host %s, PID %d. + +This indicates an erroneous MPI program; MPI must be initialized +before it can be finalized. +# +[mpi_finalize:invoked_multiple_times] +The function MPI_FINALIZE was invoked multiple times in a single +process on host %s, PID %d. + +This indicates an erroneous MPI program; MPI_FINALIZE is only allowed +to be invoked exactly once in a process. +# +[sparse groups enabled but compiled out] +WARNING: The MCA parameter mpi_use_sparse_group_storage has been set +to true, but sparse group support was not compiled into Open MPI. The +mpi_use_sparse_group_storage value has therefore been ignored. +# +[heterogeneous-support-unavailable] +This installation of Open MPI was configured without support for +heterogeneous architectures, but at least one node in the allocation +was detected to have a different architecture. The detected node was: + +Node: %s + +In order to operate in a heterogeneous environment, please reconfigure +Open MPI with --enable-heterogeneous. +# +[no cuda support] +The user requested CUDA support with the --mca mpi_cuda_support 1 flag +but the library was not compiled with any support. +# +[noconxcpt] +The user has called an operation involving MPI_Connect and/or MPI_Accept, +but this environment lacks the necessary infrastructure support for +that operation. Open MPI relies on the PMIx_Publish/Lookup (or one of +its predecessors) APIs for this operation. + +This typically happens when launching outside of mpirun where the underlying +resource manager does not provide publish/lookup support. One way of solving +the problem is to simply use mpirun to start the application. +# +[lib-call-fail] +A library call unexpectedly failed. This is a terminal error; please +show this message to an Open MPI wizard: + + Library call: %s + Source file: %s + Source line number: %d + +Aborting... +# +[spc: MPI_T disabled] +There was an error registering software performance counters (SPCs) as +MPI_T performance variables. Your job will continue, but SPCs will be +disabled for MPI_T. diff --git a/macx64/mpi/openmpi/share/openmpi/help-mpool-base.txt b/macx64/mpi/openmpi/share/openmpi/help-mpool-base.txt new file mode 100644 index 00000000..17e01111 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-mpool-base.txt @@ -0,0 +1,32 @@ +# -*- text -*- +# +# Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[all mem leaks] +The following memory locations were allocated via MPI_ALLOC_MEM but +not freed via MPI_FREE_MEM before invoking MPI_FINALIZE: + +Process ID: %s +Hostname: %s +PID: %d + +%s +# +[some mem leaks] +The following memory locations were allocated via MPI_ALLOC_MEM but +not freed via MPI_FREE_MEM before invoking MPI_FINALIZE: + +Process ID: %s +Hostname: %s +PID: %d + +%s + +%d additional leak%s recorded but %s not displayed here. Set the MCA +parameter mpi_show_mpi_alloc_mem_leaks to a larger number to see that +many leaks, or set it to a negative number to see all leaks. diff --git a/macx64/mpi/openmpi/share/openmpi/help-oob-base.txt b/macx64/mpi/openmpi/share/openmpi/help-oob-base.txt new file mode 100644 index 00000000..5e233475 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-oob-base.txt @@ -0,0 +1,23 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2006 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014 Intel, Inc. All rights reserved +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[no-interfaces-avail] +No network interfaces were found for out-of-band communications. We require +at least one available network for out-of-band messaging. diff --git a/macx64/mpi/openmpi/share/openmpi/help-oob-tcp.txt b/macx64/mpi/openmpi/share/openmpi/help-oob-tcp.txt new file mode 100644 index 00000000..e5562ac4 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-oob-tcp.txt @@ -0,0 +1,134 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2006 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014-2017 Intel, Inc. All rights reserved. +# Copyright (c) 2015-2018 Cisco Systems, Inc. All rights reserved +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[static-and-dynamic] +Both static and dynamic port ranges were specified for the +out-of-band (OOB) communication subsystem: + +Static ports: %s +Dynamic ports: %s + +Only one can be specified. Please choose either static or +dynamic ports and try again. +# +[include-exclude] +Both TCP interface include and exclude lists were specified: + + Include: %s + Exclude: %s + +Only one of these can be given. +# +[not-parseable] +The specified network is not parseable. Since we cannot determine +your desired intent, we cannot establish a TCP socket for out-of-band +communications and will therefore abort. Please correct the network +specification and retry. +# +[no-included-found] +None of the TCP networks specified to be included for out-of-band communications +could be found: + + Value given: %s + +Please revise the specification and try again. +# +[excluded-all] +The specified list of networks to be excluded for TCP out-of-band communications +resulted in no networks being available: + + Value given: %s + +Please revise the specification and try again. +# +[invalid if_inexclude] +WARNING: An invalid value was given for oob_tcp_if_%s. This +value will be ignored. + + Local host: %s + Value: %s + Message: %s +# +[authent-fail] +An attempt was made to make a TCP connection between two hosts: + + Initiating host: %s + Receiving host: %s + +Unfortunately, the connection was refused due to a failure to +authenticate. This is usually caused by a mis-match between +the security domains of the two hosts - e.g., one might be +using Munge while the other is not. This can typically be +resolved by specifying the desired security method. For +example, adding "--mca sec basic" to your command line. +# +[accept failed] +WARNING: The accept(3) system call failed on a TCP socket. While this +should generally never happen on a well-configured HPC system, the +most common causes when it does occur are: + + * The process ran out of file descriptors + * The operating system ran out of file descriptors + * The operating system ran out of memory + +Your Open MPI job will likely hang until the failure resason is fixed +(e.g., more file descriptors and/or memory becomes available), and may +eventually timeout / abort. + + Local host: %s + Errno: %d (%s) + Probable cause: %s +# +[privilege failure] +An attempt was made to initiate a TCP connection from an +unprivileged source while we are operating at privileged +levels. + + Local host: %s + Listening port: %d + Remote host: %s + Remote port: %d + +The connection was rejected. +# +[static-fwd] +Static ports were requested while orte_fwd_mpirun_port was set. +Both options cannot be simultaneously set. Please either set +orte_fwd_mpirun_port=false or remove any static port directives. +# +[version mismatch] +Open MPI detected a mismatch in versions between two processes. This +typically means that you executed "mpirun" (or "mpiexec") from one +version of Open MPI on on node, but your default path on one of the +other nodes upon which you launched found a different version of Open +MPI. + +Open MPI only supports running exactly the same version between all +processes in a single job. + +This will almost certainly cause unpredictable behavior, and may end +up aborting your job. + + Local host: %s + Local process name: %s + Local Open MPI version: %s + Peer host: %s + Peer process name: %s + Peer Open MPI version: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-crs-none.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-crs-none.txt new file mode 100644 index 00000000..8407c7f9 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-crs-none.txt @@ -0,0 +1,20 @@ + -*- text -*- +# +# Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open PAL CRS framework. +# +[none:select-warning] +Error: 'none' component selected. + Checkpoint/Restart functionality may not work properly. + Make sure that you have configured with and are using a fully functional + CRS component. + To disable this warning set the following MCA parmeter: + --mca crs_none_select_warning 0 diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-hwloc-base.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-hwloc-base.txt new file mode 100644 index 00000000..a2c6af0c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-hwloc-base.txt @@ -0,0 +1,61 @@ +# -*- text -*- +# +# Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2014 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's hwloc base support +# +[mbind failure] +Open MPI failed to bind internal memory to a specific NUMA node. This +message will only be reported at most once per process. + + Local host: %s + PID: %d + File: %s:%d + Message: %s + Severity: %s +# +[invalid binding_policy] +The specified %s policy is not recognized: + + Policy: %s + +Please check for a typo or ensure that the option is a supported +one. +# +[redefining-policy] +Conflicting directives for binding policy are causing the policy +to be redefined: + + New policy: %s + Prior policy: %s + +Please check that only one policy is defined. +# +[deprecated] +The following command line option and corresponding MCA parameter have +been deprecated and replaced as follows: + + Command line option: + Deprecated: %s + Replacement: %s + + Equivalent MCA parameter: + Deprecated: %s + Replacement: %s + +The deprecated forms *will* disappear in a future version of Open MPI. +Please update to the new syntax. +# +[obj-idx-failed] +Open MPI failed to find a cache of a specified type. This is a highly +unusual error; it may indicate a system configuration error. This +additional information may be of help: + + Message: %s + Cache level: %d diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-runtime.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-runtime.txt new file mode 100644 index 00000000..95fd280c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-runtime.txt @@ -0,0 +1,68 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. +# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[opal_init:startup:internal-failure] +It looks like opal_init failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during opal_init; some of which are due to configuration or +environment problems. This failure appears to be an internal failure; +here's some additional information (which may only be relevant to an +Open MPI developer): + + %s failed + --> Returned value %d instead of OPAL_SUCCESS +# +[opal_cr_init:no-crs] +It looks like opal_cr_init failed. This usually means that the CRS component +could not be activated on this machine. Check the installation of your +checkpointer, MCA parameters, and configuration. If all of that seems +correct, then copy this error message with the additional information below +to the Open MPI users list. + Function: %s + Return value: %d +# +# Just want a clean printout for sys limit as the +# message was already generated by show-help +[opal_init:syslimit] +%s +# +[opal_init:warn-fork] +A process has executed an operation involving a call to the +"fork()" system call to create a child process. Open MPI is currently +operating in a condition that could result in memory corruption or +other system errors; your job may hang, crash, or produce silent +data corruption. The use of fork() (or system() or other calls that +create child processes) is strongly discouraged. + +The process that invoked fork was: + + Local host: %s (PID %d) + +If you are *absolutely sure* that your application will successfully +and correctly survive a call to fork(), you may disable this warning +by setting the mpi_warn_on_fork MCA parameter to 0. +# +[mpi-params:leave-pinned-and-pipeline-selected] +WARNING: Cannot set both the MCA parameters opal_leave_pinned (a.k.a., +mpi_leave_pinned) and opal_leave_pinned_pipeline (a.k.a., +mpi_leave_pinned_pipeline) to "true". Defaulting to mpi_leave_pinned +ONLY. diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-mmap.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-mmap.txt new file mode 100644 index 00000000..67fa8f94 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-mmap.txt @@ -0,0 +1,53 @@ +# -*- text -*- +# +# Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2012 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. It is likely that your MPI job will now either abort or +experience performance degradation. + + Local host: %s + System call: %s %s + Error: %s (errno %d) +# +[mmap on nfs] +WARNING: Open MPI will create a shared memory backing file in a +directory that appears to be mounted on a network filesystem. +Creating the shared memory backup file on a network file system, such +as NFS or Lustre is not recommended -- it may cause excessive network +traffic to your file servers and/or cause shared memory traffic in +Open MPI to be much slower than expected. + +You may want to check what the typical temporary directory is on your +node. Possible sources of the location of this temporary directory +include the $TEMPDIR, $TEMP, and $TMP environment variables. + +Note, too, that system administrators can set a list of filesystems +where Open MPI is disallowed from creating temporary files by setting +the MCA parameter "orte_no_session_dir". + + Local host: %s + Filename: %s + +You can set the MCA paramter shmem_mmap_enable_nfs_warning to 0 to +disable this message. +# +[target full] +It appears as if there is not enough space for %s (the shared-memory backing +file). It is likely that your MPI job will now either abort or experience +performance degradation. + + Local host: %s + Space Requested: %lu B + Space Available: %llu B diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-posix.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-posix.txt new file mode 100644 index 00000000..ffa4585f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-posix.txt @@ -0,0 +1,22 @@ +# -*- text -*- +# +# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. It is likely that your MPI job will now either abort or +experience performance degradation. + + Local host: %s + System call: %s %s + Error: %s (errno %d) diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-sysv.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-sysv.txt new file mode 100644 index 00000000..ffa4585f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-shmem-sysv.txt @@ -0,0 +1,22 @@ +# -*- text -*- +# +# Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Los Alamos National Security, LLC. +# All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI's common shmem support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. It is likely that your MPI job will now either abort or +experience performance degradation. + + Local host: %s + System call: %s %s + Error: %s (errno %d) diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-util.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-util.txt new file mode 100644 index 00000000..07b49fd1 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-util.txt @@ -0,0 +1,116 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[stacktrace signal override] +Open MPI was inserting a signal handler for signal %d but noticed +that there is already a non-default handler installed. Open MPI's +handler was therefore not installed; your job will continue. This +warning message will only be displayed once, even if Open MPI +encounters this situation again. + +To avoid displaying this warning message, you can either not install +the error handler for signal %d or you can have Open MPI not try to +install its own signal handler for this signal by setting the +"opal_signals" MCA parameter. + + Signal: %d + Current opal_signal value: %s +# +[stacktrace bad signal] +Open MPI was inserting a signal handler but was given an invalid +signal number: + + Signal string: %s + Bad value: %s + +The given value must be an integer within the signal number +range. Please correct the value and try again. +# +[malformed net_private_ipv4] +Open MPI has detected at least one malformed IP address or netmask in +the value of the opal_net_private_ipv4 MCA parameter. The +opal_net_private_ipv4 MCA parameter accepts a semicolon-delimited list +of Classless Inter-Domain Routing (CIDR) notation specifications, each +of the form /. For example: + + 10.0.0.0/8;172.16.0.0/12;192.168.0.0/16;169.254.0.0/16 + +The first detected malformed entry was %s. +# +[invalid-net-mask] +Open MPI has detected a malformed IPv4 address or netmask: + + Value provided: %s + +Accepted values follow the Classless Inter-Domain +Routing (CIDR) notation specifications. For example: + + 10.0.0.0/8 + 172.16/12 + 192.168 + 169.254.0.0/16 +# +[malformed-uri] +Open MPI has detected a malformed URI: + + URI: %s + +Accepted values follow IETF RFC3986, e.g. file://192.168.1.1/over/there +# +[relative-path] +When creating a URI, all files must be specified in absolute paths: + + Value provided: %s + +Please update your application to provide the full path to the file. +# +[sys-limit-failed] +Per request, Open MPI attempted to set a system resource +limit to a given value: + + Resource: %s + Limit: %s + +The system has refused to allow this operation. This is likely +due to a permission limitation, or specifying an unsupported +value. Please check the system or remove the request and try +again. +# +[sys-limit-unrecognized] +Open MPI received a request to set a system resource limit. +Sadly, OMPI does not recognize or currently support the specified +resource: + + Resource: %s + Limit: %s + +Please correct the request and try again. +# +[dir-mode] +While working through a directory tree, we were unable to set +a directory to the desired mode: + + Directory: %s + Mode: %0x + Error: %s + +Please check to ensure you have adequate permissions to perform +the desired operation. +# +[mkdir-failed] +A call to mkdir was unable to create the desired directory: + + Directory: %s + Error: %s + +Please check to ensure you have adequate permissions to perform +the desired operation. diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal-wrapper.txt b/macx64/mpi/openmpi/share/openmpi/help-opal-wrapper.txt new file mode 100644 index 00000000..3302f14c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal-wrapper.txt @@ -0,0 +1,81 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2006-2010 Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2012-2014 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI wrapper compiler error +# messages. +# +[no-language-support] +Unfortunately, this installation of Open MPI was not compiled with +%s support. As such, the %s compiler is non-functional. +# +[no-profiling-support] +Warning: the "-lpmpi" flag was included on the command line, +indicating use of MPI profiling layer. However, Open MPI was not +compiled with support for the MPI profiling layer. This flag has +therefore been ignored. +# +[no-compiler-specified] +No underlying compiler was specified in the wrapper compiler data file +(e.g., mpicc-wrapper-data.txt) +# +[no-compiler-found] +The Open MPI wrapper compiler was unable to find the specified compiler +%s in your PATH. + +Note that this compiler was either specified at configure time or in +one of several possible environment variables. +# +[version] +%s: %s %s (Language: %s) +# +[usage] +%s [-showme[:]] args + + -showme:command Show command used to invoke real compiler + -showme:compile Show flags added when compiling + -showme:link Show flags added when linking + -showme:incdirs Show list of include dirs added when compiling + -showme:libdirs Show list of library dirs added when linking + -showme:libs Show list of libraries added when linking + -showme:version Show version of %s + -showme:help This help message +# +[file-not-found] +%s could not find the file %s, needed for %s support. +This may indicate an incomplete install and linking will likely fail. +# +[spawn-failed] +Unable to call the compiler (%s). The failure return the error +%s. +The failed command was [%s]. +# +[compiler-failed] +The child process (%s) exit with error %d. +The failed command was [%s]. +# +[no-options-support] +The %s wrapper compiler was unable to find a block of options in its +configuration to support your compiler mode. Your application was not +compiled. or linked. + +The wrapper compiler command line was: + + %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-opal_info.txt b/macx64/mpi/openmpi/share/openmpi/help-opal_info.txt new file mode 100644 index 00000000..5bbf85c2 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-opal_info.txt @@ -0,0 +1,65 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. All rights +# reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI ompi_info error +# messages. +# +[usage] +The ompi_info command can be used to provide detailed information on +your Open MPI installation. Syntax: + +%s +[lib-call-fail] +A library call unexpectedly failed. This is a terminal error; please +show this message to an Open MPI wizard: + + Library call: %s + Source file: %s + Source line number: %d + +Aborting... +# +[developer warning: field too long] +************************************************************************** +*** DEVELOPER WARNING: A field in ompi_info output is too long and +*** will appear poorly in the prettyprint output. +*** +*** Value: "%s" +*** Max length: %d +************************************************************************** +# +[not-found] +The specified framework could not be found: + + Framework: %s + +This could be due to a misspelling of the framework name, or because support +for that framework was not configured into this version of OMPI. Please see + + ompi_info --config + +for a full report of how OMPI was configured. +# +[invalid-level] +An invalid MCA parameter information level was specified. Valid values are +1-9. + + Value: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-clean.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-clean.txt new file mode 100644 index 00000000..c0b17a28 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-clean.txt @@ -0,0 +1,26 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI Clean tool +# +[usage] +ompi-clean [OPTIONS] + Open MPI Runtime Environment Cleaning tool + +%s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-filem-raw.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-filem-raw.txt new file mode 100644 index 00000000..905e1166 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-filem-raw.txt @@ -0,0 +1,46 @@ + -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for ORTE FileM framework. +# +[orte-filem-rsh:get-file-exists] +WARNING: Could not preload specified file: File already exists. + +Fileset: %s +Host: %s + +Will continue attempting to launch the process. + +[orte-filem-rsh:put-file-not-exist] +WARNING: Could not preload specified file: File does not exist. + +Fileset: %s +Host: %s + +Will continue attempting to launch the process. + +[orte-filem-rsh:remote-get-failed] +WARNING: Remote peer (%s) failed to preload a file. + +Exit Status: %d +Local File: %s +Remote File: %s +Command: + %s + +Will continue attempting to launch the process(es). diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-info.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-info.txt new file mode 100644 index 00000000..51859448 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-info.txt @@ -0,0 +1,58 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2010-2012 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for ORTE orte-info error +# messages. +# +[usage] +The orte-info command can be used to provide detailed information on +your ORTE installation. Syntax: + +%s +# +[lib-call-fail] +A library call unexpectedly failed. This is a terminal error; please +show this message to an ORTE wizard: + + Library call: %s + Source file: %s + Source line number: %d + +Aborting... +# +[developer warning: field too long] +************************************************************************** +*** DEVELOPER WARNING: A field in orte-info output is too long and +*** will appear poorly in the prettyprint output. +*** +*** Value: "%s" +*** Max length: %d +************************************************************************** +# +[not-found] +The specified framework could not be found: + + Framework: %s + +This could be due to a misspelling of the framework name, or because support +for that framework was not configured into this version of orte. Please see + + orte-info --config + +for a full report of how orte was configured. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-odls-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-base.txt new file mode 100644 index 00000000..29c83dbb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-base.txt @@ -0,0 +1,103 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2014 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's ODLS Framework +# +[orte-odls-base:could-not-kill] +WARNING: A process refused to die despite all the efforts! +This process may still be running and/or consuming resources. + +Host: %s +PID: %d + +[orte-odls-base:could-not-preload-binary] +WARNING: Could not preload the binary file. + +Binary: %s + +Will continue attempting to launch the process. +[orte-odls-base:could-not-preload-files] +WARNING: Could not preload the files specified. + +Fileset: %s + +Will continue attempting to launch the process. +[orte-odls-base:could-not-preload] +WARNING: Could not preload the requested files and directories. + +Binary : %s +Fileset: %s + +Will continue attempting to launch the process. + +# +[orte-odls-base:xterm-rank-out-of-bounds] +The xterm option was asked to display a rank that is larger +than the number of procs in the job: + +Node: %s +Rank: %d +Num procs: %d + +Note that ranks start with 0, not 1, and must be specified +accordingly. +# +[orte-odls-base:xterm-neg-rank] +The xterm option was asked to display a rank that is negative: + +Rank: %d +Num procs: %d + +Note that ranks start with 0, not 1, and must be specified +accordingly. +# +[orte-odls-base:show-bindings] +System has detected external process binding to cores %04lx. +# +[warn not bound] +A request to bind the processes to a %s was made, but the operation +resulted in the processes being unbound. This was most likely caused +by the following: + + %s + +This is only a warning that can be suppressed in the future by +setting the odls_warn_if_not_bound MCA parameter to 0. Execution +will continue. + + Local host: %s + Application name: %s + Action requested: %s %s +# +[error not bound] +A request to bind the processes to a %s was made, but the operation +resulted in the processes being unbound. This was most likely caused +by the following: + + %s + +This is an error; your job will now abort. + + Local host: %s + Application name: %s + Action requested: %s %s +# +[orte-odls-base:fork-agent-not-found] +The specified fork agent was not found: + + Node: %s + Fork agent: %s + +The application cannot be launched. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-odls-default.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-default.txt new file mode 100644 index 00000000..06181b7c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-default.txt @@ -0,0 +1,140 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is a US/English help file. +# +[execve error] +Open MPI tried to fork a new process via the "execve" system call but +failed. Open MPI checks many things before attempting to launch a +child process, but nothing is perfect. This error may be indicative +of another problem on the target host, or even something as silly as +having specified a directory for your application. Your job will now +abort. + + Local host: %s + Working dir: %s + Application name: %s + Error: %s +# +[binding not supported] +Open MPI tried to bind a new process, but process binding is not +supported on the host where it was launched. The process was killed +without launching the target application. Your job will now abort. + + Local host: %s + Application name: %s +# +[binding generic error] +Open MPI tried to bind a new process, but something went wrong. The +process was killed without launching the target application. Your job +will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[bound to everything] +Open MPI tried to bind a new process to a specific set of processors, +but ended up binding it to *all* processors. This means that the new +process is effectively unbound. + +This is only a warning -- your job will continue. You can suppress +this warning in the future by setting the odls_warn_if_not_bound MCA +parameter to 0. + + Local host: %s + Application name: %s + Location: %s:%d +# +[slot list and paffinity_alone] +Open MPI detected that both a slot list was specified and the MCA +parameter "paffinity_alone" was set to true. Only one of these can be +used at a time. Your job will now abort. + + Local host: %s + Application name: %s +# +[iof setup failed] +Open MPI tried to launch a child process but the "IOF child setup" +failed. This should not happen. Your job will now abort. + + Local host: %s + Application name: %s +# +[not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[syscall fail] +A system call failed that should not have. In this particular case, +a warning or error message was not displayed that should have been. +Your job may behave unpredictably after this, or abort. + + Local host: %s + Application name: %s + Function: %s + Location: %s:%d +# +[memory not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue, though performance may +be degraded. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d + +# +[memory binding error] +Open MPI tried to bind memory for a new process but something went +wrong. The process was killed without launching the target +application. Your job will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[set limit] +Error message received from: + + Local host: %s + Application name: %s + Location: %s:%d + +Message: + +%s +# +[incorrectly-bound] +WARNING: Open MPI incorrectly bound a process to the daemon's cores. +This is a warning only; your job will continue. + + Local host: %s + Application name: %s + Location: %s:%d diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-odls-pspawn.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-pspawn.txt new file mode 100644 index 00000000..06181b7c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-odls-pspawn.txt @@ -0,0 +1,140 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. +# Copyright (c) 2010-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is a US/English help file. +# +[execve error] +Open MPI tried to fork a new process via the "execve" system call but +failed. Open MPI checks many things before attempting to launch a +child process, but nothing is perfect. This error may be indicative +of another problem on the target host, or even something as silly as +having specified a directory for your application. Your job will now +abort. + + Local host: %s + Working dir: %s + Application name: %s + Error: %s +# +[binding not supported] +Open MPI tried to bind a new process, but process binding is not +supported on the host where it was launched. The process was killed +without launching the target application. Your job will now abort. + + Local host: %s + Application name: %s +# +[binding generic error] +Open MPI tried to bind a new process, but something went wrong. The +process was killed without launching the target application. Your job +will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[bound to everything] +Open MPI tried to bind a new process to a specific set of processors, +but ended up binding it to *all* processors. This means that the new +process is effectively unbound. + +This is only a warning -- your job will continue. You can suppress +this warning in the future by setting the odls_warn_if_not_bound MCA +parameter to 0. + + Local host: %s + Application name: %s + Location: %s:%d +# +[slot list and paffinity_alone] +Open MPI detected that both a slot list was specified and the MCA +parameter "paffinity_alone" was set to true. Only one of these can be +used at a time. Your job will now abort. + + Local host: %s + Application name: %s +# +[iof setup failed] +Open MPI tried to launch a child process but the "IOF child setup" +failed. This should not happen. Your job will now abort. + + Local host: %s + Application name: %s +# +[not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[syscall fail] +A system call failed that should not have. In this particular case, +a warning or error message was not displayed that should have been. +Your job may behave unpredictably after this, or abort. + + Local host: %s + Application name: %s + Function: %s + Location: %s:%d +# +[memory not bound] +WARNING: Open MPI tried to bind a process but failed. This is a +warning only; your job will continue, though performance may +be degraded. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d + +# +[memory binding error] +Open MPI tried to bind memory for a new process but something went +wrong. The process was killed without launching the target +application. Your job will now abort. + + Local host: %s + Application name: %s + Error message: %s + Location: %s:%d +# +[set limit] +Error message received from: + + Local host: %s + Application name: %s + Location: %s:%d + +Message: + +%s +# +[incorrectly-bound] +WARNING: Open MPI incorrectly bound a process to the daemon's cores. +This is a warning only; your job will continue. + + Local host: %s + Application name: %s + Location: %s:%d diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-base.txt new file mode 100644 index 00000000..0d4724ae --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-base.txt @@ -0,0 +1,457 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2011 Los Alamos National Security, LLC. +# All rights reserved. +# Copyright (c) 2014-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rmaps-base:alloc-error] +There are not enough slots available in the system to satisfy the %d +slots that were requested by the application: + + %s + +Either request fewer slots for your application, or make more slots +available for use. + +A "slot" is the Open MPI term for an allocatable unit where we can +launch a process. The number of slots available are defined by the +environment in which Open MPI processes are run: + + 1. Hostfile, via "slots=N" clauses (N defaults to number of + processor cores if not provided) + 2. The --host command line parameter, via a ":N" suffix on the + hostname (N defaults to 1 if not provided) + 3. Resource manager (e.g., SLURM, PBS/Torque, LSF, etc.) + 4. If none of a hostfile, the --host command line parameter, or an + RM is present, Open MPI defaults to the number of processor cores + +In all the above cases, if you want Open MPI to default to the number +of hardware threads instead of the number of processor cores, use the +--use-hwthread-cpus option. + +Alternatively, you can use the --oversubscribe option to ignore the +number of available slots when deciding the number of processes to +launch. +# +[orte-rmaps-base:not-all-mapped-alloc] +Some of the requested hosts are not included in the current allocation for the +application: + %s +The requested hosts were: + %s + +Verify that you have mapped the allocated resources properly using the +--host or --hostfile specification. +[orte-rmaps-base:no-mapped-node] +There are no allocated resources for the application: + %s +that match the requested mapping: + %s: %s + +Verify that you have mapped the allocated resources properly for the +indicated specification. +[orte-rmaps-base:nolocal-no-available-resources] +There are no available nodes allocated to this job. This could be because +no nodes were found or all the available nodes were already used. + +Note that since the -nolocal option was given no processes can be +launched on the local node. +[orte-rmaps-base:no-available-resources] +No nodes are available for this job, either due to a failure to +allocate nodes to the job, or allocated nodes being marked +as unavailable (e.g., down, rebooting, or a process attempting +to be relocated to another node when none are available). +[orte-rmaps-base:all-available-resources-used] +All nodes which are allocated for this job are already filled. +# +[out-of-vpids] +The system has exhausted its available ranks - the application is attempting +to spawn too many daemons and will be aborted. + +This may be resolved by increasing the number of available ranks by +re-configuring with the --enable-jumbo-apps option, and then +re-building the application. +# +[rmaps:too-many-procs] +Your job has requested a conflicting number of processes for the +application: + +App: %s +number of procs: %d + +This is more processes than we can launch under the following +additional directives and conditions: + +%s: %d +%s: %d + +Please revise the conflict and try again. +# +[too-many-cpus-per-rank] +Your job has requested more cpus per process(rank) than there +are cpus in a socket: + + Cpus/rank: %d + #cpus/socket: %d + +Please correct one or both of these values and try again. +# +[failed-map] +Your job failed to map. Either no mapper was available, or none +of the available mappers was able to perform the requested +mapping operation. This can happen if you request a map type +(e.g., loadbalance) and the corresponding mapper was not built. + + Mapper result: %s + #procs mapped: %d + #nodes assigned: %d + +# +[unrecognized-policy] +The specified %s policy is not recognized: + + Policy: %s + +Please check for a typo or ensure that the option is a supported +one. +# +[redefining-policy] +Conflicting directives for %s policy are causing the policy +to be redefined: + + New policy: %s + Prior policy: %s + +Please check that only one policy is defined. +# +[rmaps:binding-target-not-found] +A request was made to bind to %s, but an appropriate target could not +be found on node %s. +# +[rmaps:binding-overload] +A request was made to bind to that would result in binding more +processes than cpus on a resource: + + Bind to: %s + Node: %s + #processes: %d + #cpus: %d + +You can override this protection by adding the "overload-allowed" +option to your binding directive. +# +[rmaps:no-topology] +A mapping directive was given that requires knowledge of +a remote node's topology. However, no topology info is +available for the following node: + + Node: %s + +The job cannot be executed under this condition. Please either +remove the directive or investigate the lack of topology info. +# +[rmaps:no-available-cpus] +While computing bindings, we found no available cpus on +the following node: + + Node: %s + +Please check your allocation. +# +[rmaps:cpubind-not-supported] +A request was made to bind a process, but at least one node does NOT +support binding processes to cpus. + +Node: %s + +Open MPI uses the "hwloc" library to perform process and memory +binding. This error message means that hwloc has indicated that +processor binding support is not available on this machine. + +On OS X, processor and memory binding is not available at all (i.e., +the OS does not expose this functionality). + +On Linux, lack of the functionality can mean that you are on a +platform where processor and memory affinity is not supported in Linux +itself, or that hwloc was built without NUMA and/or processor affinity +support. When building hwloc (which, depending on your Open MPI +installation, may be embedded in Open MPI itself), it is important to +have the libnuma header and library files available. Different linux +distributions package these files under different names; look for +packages with the word "numa" in them. You may also need a developer +version of the package (e.g., with "dev" or "devel" in the name) to +obtain the relevant header files. + +If you are getting this message on a non-OS X, non-Linux platform, +then hwloc does not support processor / memory affinity on this +platform. If the OS/platform does actually support processor / memory +affinity, then you should contact the hwloc maintainers: +https://github.com/open-mpi/hwloc. +# +[rmaps:membind-not-supported] +WARNING: a request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +Open MPI uses the "hwloc" library to perform process and memory +binding. This error message means that hwloc has indicated that +processor binding support is not available on this machine. + +On OS X, processor and memory binding is not available at all (i.e., +the OS does not expose this functionality). + +On Linux, lack of the functionality can mean that you are on a +platform where processor and memory affinity is not supported in Linux +itself, or that hwloc was built without NUMA and/or processor affinity +support. When building hwloc (which, depending on your Open MPI +installation, may be embedded in Open MPI itself), it is important to +have the libnuma header and library files available. Different linux +distributions package these files under different names; look for +packages with the word "numa" in them. You may also need a developer +version of the package (e.g., with "dev" or "devel" in the name) to +obtain the relevant header files. + +If you are getting this message on a non-OS X, non-Linux platform, +then hwloc does not support processor / memory affinity on this +platform. If the OS/platform does actually support processor / memory +affinity, then you should contact the hwloc maintainers: +https://github.com/open-mpi/hwloc. + +This is a warning only; your job will continue, though performance may +be degraded. +# +[rmaps:membind-not-supported-fatal] +A request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +Open MPI uses the "hwloc" library to perform process and memory +binding. This error message means that hwloc has indicated that +processor binding support is not available on this machine. + +On OS X, processor and memory binding is not available at all (i.e., +the OS does not expose this functionality). + +On Linux, lack of the functionality can mean that you are on a +platform where processor and memory affinity is not supported in Linux +itself, or that hwloc was built without NUMA and/or processor affinity +support. When building hwloc (which, depending on your Open MPI +installation, may be embedded in Open MPI itself), it is important to +have the libnuma header and library files available. Different linux +distributions package these files under different names; look for +packages with the word "numa" in them. You may also need a developer +version of the package (e.g., with "dev" or "devel" in the name) to +obtain the relevant header files. + +If you are getting this message on a non-OS X, non-Linux platform, +then hwloc does not support processor / memory affinity on this +platform. If the OS/platform does actually support processor / memory +affinity, then you should contact the hwloc maintainers: +https://github.com/open-mpi/hwloc. + +The provided memory binding policy requires that Open MPI abort the +job at this time. +# +[rmaps:no-bindable-objects] +No bindable objects of the specified type were available +on at least one node: + + Node: %s + Target: %s +# +[rmaps:unknown-binding-level] +Unknown binding level: + + Target: %s + Cache level: %u +# +[orte-rmaps-base:missing-daemon] +While attempting to build a map of this job, a node +was detected to be missing a daemon: + + Node: %s + +This usually indicates a mismatch between what the +allocation provided for the node name versus what was +actually found on the node. +# +[orte-rmaps-base:no-objects] +No objects of the specified type were found on at least one node: + + Type: %s + Node: %s + +The map cannot be done as specified. +# +[topo-file] +A topology file was given for the compute nodes, but +we were unable to correctly process it. Common errors +include incorrectly specifying the path to the file, +or the file being generated in a way that is incompatible +with the version of hwloc being used by OMPI. + + File: %s + +Please correct the problem and try again. +# +[deprecated] +The following command line options and corresponding MCA parameter have +been deprecated and replaced as follows: + + Command line options: + Deprecated: %s + Replacement: %s + + Equivalent MCA parameter: + Deprecated: %s + Replacement: %s + +The deprecated forms *will* disappear in a future version of Open MPI. +Please update to the new syntax. +# +[mismatch-binding] +A request for multiple cpus-per-proc was given, but a conflicting binding +policy was specified: + + #cpus-per-proc: %d + type of cpus: %s + binding policy given: %s + +The correct binding policy for the given type of cpu is: + + correct binding policy: %s + +This is the binding policy we would apply by default for this +situation, so no binding need be specified. Please correct the +situation and try again. +# +[mapping-too-low] +A request for multiple cpus-per-proc was given, but a directive +was also give to map to an object level that has less cpus than +requested ones: + + #cpus-per-proc: %d + number of cpus: %d + map-by: %s + +Please specify a mapping level that has more cpus, or else let us +define a default mapping that will allow multiple cpus-per-proc. +# +[unrecognized-modifier] +The mapping request contains an unrecognized modifier: + + Request: %s + +Please check your request and try again. +# +[invalid-pattern] +The mapping request contains a pattern that doesn't match +the required syntax of #:object + + Pattern: %s + +Please check your request and try again. +# +[orte-rmaps-base:oversubscribed] +The requested number of processes exceeds the allocated +number of slots: + + #slots: %d + #processes: %d + +This creates an oversubscribed condition that may adversely +impact performance when combined with the requested binding +operation. We will continue, but will not bind the processes. +This warning can be omitted by adding the "overload-allowed" +qualifier to the binding policy. +# +[cannot-launch] +Although we were able to map your job, we are unable to launch +it at this time due to required resources being busy. Please +try again later. +# +[rmaps:no-locale] +The request to bind processes could not be completed due to +an internal error - the locale of the following process was +not set by the mapper code: + + Process: %s + +Please contact the OMPI developers for assistance. Meantime, +you will still be able to run your application without binding +by specifying "--bind-to none" on your command line. +# +[mapping-too-low-init] +A request for multiple cpus-per-proc was given, but a directive +was also give to map to an object level that cannot support that +directive. + +Please specify a mapping level that has more than one cpu, or +else let us define a default mapping that will allow multiple +cpus-per-proc. +# +[seq:not-enough-resources] +A sequential map was requested, but not enough node entries +were given to support the requested number of processes: + + Num procs: %d + Num nodes: %d + +We cannot continue - please adjust either the number of processes +or provide more node locations in the file. +# +[device-not-specified] +The request to map processes by distance could not be completed +because device to map near by was not specified. Please, use +rmaps_dist_device mca parameter to set it. +# +[num-procs-not-specified] +Either the -host or -hostfile options were given, but the number +of processes to start was omitted. This combination is not supported. + +Please specify the number of processes to run and try again. +# +[failed-assignments] +The attempt to assign hardware locations to processes on a +compute node failed: + + Node: %s + Policy: %s + +We cannot continue - please check that the policy is in +accordance with the actual available hardware. +# +[rmaps:insufficient-cpus] +The request to bind processes to cpus in a provided list +of logical id's based on their local rank on a node cannot +be met due to there being more processes on a node than +available cpus: + + Node: %s + Local rank: %d + Cpu list: %s + +Please adjust either the number of processes per node or +the list of cpus. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-md.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-md.txt new file mode 100644 index 00000000..a9eee8eb --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-md.txt @@ -0,0 +1,53 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[multi-apps-and-zero-np] +Open MPI found multiple applications to be launched, and at least one +that failed to specify the number of processes to execute. When +specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. +# +[orte-rmaps-mindist:no-pci-locality-info] +No PCI locality information could be found on at least one node. Please, upgrade BIOS to expose NUMA info. + + Node: %s + +Open MPI will map the application by default (BYSLOT). +# +[orte-rmaps-mindist:several-devices] +On at least one node, more than one of the specified device was discovered. +In this scenario, passing the 'auto' option to the rmaps minimum +distance mapper is ambiguous and therefore not valid. +Please select the particular device that you would like +to be mapped nearest via -mca rmaps_dist_device option, +e.g. --map-by dist -mca rmaps_dist_device mlx4_0. + + Device type: %s + #Devices: %d + Node: %s + +Open MPI will map the application by default (BYSLOT). +# +[orte-rmaps-mindist:device-not-found] +The specified device type cannot be found on at least one node. + + Device: %s + Node: %s + +Open MPI will map the application by default (BYSLOT). diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-ppr.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-ppr.txt new file mode 100644 index 00000000..d208cb3a --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-ppr.txt @@ -0,0 +1,66 @@ +# -*- text -*- +# +# Copyright (c) 2011 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[invalid-ppr] +An invalid value was given for the number of processes +per resource (ppr) to be mapped on each node: + + PPR: %s + +The specification must be a comma-separated list containing +combinations of number, followed by a colon, followed +by the resource type. For example, a value of "1:socket" indicates that +one process is to be mapped onto each socket. Values are supported +for hwthread, core, L1-3 caches, socket, numa, and node. Note that +enough characters must be provided to clearly specify the desired +resource (e.g., "nu" for "numa"). +# +[unrecognized-ppr-option] +An unrecognized value was given for the number of processes +per resource (ppr) to be mapped on each node: + + Value: %s + PPR: %s + +The specification must be a number, followed by a colon, followed +by the resource type. For example, a value of "1:slot" indicates that +anything over one process per slot is to be considered oversubscribed. +Only values for "hwthread", "core", "socket", +"l1cache", "l2cache", "l3cache", "numa", and "node" are allowed. Note that +enough characters must be provided to clearly specify the desired +resource (e.g., "nu" for "numa"). +# +[ppr-violation] +The provided mapping directives resulted in too many processes +being placed on a node: + + Node: %s + Num procs: %d + Limiting resource: %s + Num resources: %d + Specified constraint: %s + +Please adjust and try again. +# +[ppr-too-many-procs] +Your job has requested more processes than the ppr for +this topology can support: + + App: %s + Number of procs: %d + PPR: %s + +Please revise the conflict and try again. +# +[ppr-topo-missing] +A ppr pattern was specified, but the topology information +for the following node is missing: + + Node: %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-resilient.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-resilient.txt new file mode 100644 index 00000000..712b1058 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-resilient.txt @@ -0,0 +1,28 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the resilient mapper. +# +[orte-rmaps-resilient:file-not-found] +The specified file that describes the fault groups for this system: + +FILE: %s + +was not found. Please verify the file name and location. +# +[orte-rmaps-resilient:num-procs] +The resilient mapper requires that you specify the number of processes +to be launched for each application. Please provide the required information +and try again. + +Alternatively, if you truly wish to take advantage of the -perxxx options +or to simply launch one process on every available slot, do not specify the +resilient mapper. Mpirun will automatically select the appropriate mapper +to support your request. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-rr.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-rr.txt new file mode 100644 index 00000000..ca459dd7 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-rr.txt @@ -0,0 +1,56 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# Copyright (c) 2018 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rmaps-rr:multi-apps-and-zero-np] +RMAPS found multiple applications to be launched, with +at least one that failed to specify the number of processes to execute. +When specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. + +[orte-rmaps-rr:per-node-and-too-many-procs] +There are not enough nodes in your allocation to satisfy your request to launch +%d processes on a per-node basis - only %d nodes were available. + +Either request fewer processes, or obtain a larger allocation. +[orte-rmaps-rr:n-per-node-and-too-many-procs] +There are not enough nodes in your allocation to satisfy your request to launch +%d processes on a %d per-node basis - only %d nodes with a total of %d slots were available. + +Either request fewer processes, or obtain a larger allocation. +[orte-rmaps-rr:n-per-node-and-not-enough-slots] +There are not enough slots on the nodes in your allocation to satisfy your request to launch on a %d process-per-node basis - only %d slots/node were available. + +Either request fewer processes/node, or obtain a larger allocation. + +[orte-rmaps-rr:no-np-and-user-map] +You have specified a rank-to-node/slot mapping, but failed to provide +the number of processes to be executed. For some reason, this information +could not be obtained from the mapping you provided, so we cannot continue +with executing the specified application. +# +[orte-rmaps-rr:not-enough-objs] +There are not enough resources on the available nodes +to meet the requested mapping. + + Application: %s + Number of procs: %d + Number of resources: %d diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-seq.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-seq.txt new file mode 100644 index 00000000..fbab6609 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rmaps-seq.txt @@ -0,0 +1,26 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2018 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rmaps-seq:resource-not-found] +The specified hostfile contained a node (%s) that is not in your +allocation. We therefore cannot map a process rank to it. Please +check your allocation and hostfile to ensure the hostfile only +contains allocated nodes. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-base.txt new file mode 100644 index 00000000..8414cc58 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-base.txt @@ -0,0 +1,288 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2011 Los Alamos National Security, LLC. +# All rights reserved. +# Copyright (c) 2014 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orte-rtc-base:not-all-mapped-alloc] +Some of the requested hosts are not included in the current allocation for the +application: + %s +The requested hosts were: + %s + +Verify that you have mapped the allocated resources properly using the +--host or --hostfile specification. +[orte-rtc-base:no-mapped-node] +There are no allocated resources for the application: + %s +that match the requested mapping: + %s: %s + +Verify that you have mapped the allocated resources properly for the +indicated specification. +[orte-rtc-base:nolocal-no-available-resources] +There are no available nodes allocated to this job. This could be because +no nodes were found or all the available nodes were already used. + +Note that since the -nolocal option was given no processes can be +launched on the local node. +[orte-rtc-base:no-available-resources] +No nodes are available for this job, either due to a failure to +allocate nodes to the job, or allocated nodes being marked +as unavailable (e.g., down, rebooting, or a process attempting +to be relocated to another node when none are available). +[orte-rtc-base:all-available-resources-used] +All nodes which are allocated for this job are already filled. +# +[out-of-vpids] +The system has exhausted its available ranks - the application is attempting +to spawn too many daemons and will be aborted. + +This may be resolved by increasing the number of available ranks by +re-configuring with the --enable-jumbo-apps option, and then +re-building the application. +# +[rtc:too-many-procs] +Your job has requested a conflicting number of processes for the +application: + +App: %s +number of procs: %d + +This is more processes than we can launch under the following +additional directives and conditions: + +%s: %d +%s: %d + +Please revise the conflict and try again. +# +[too-many-cpus-per-rank] +Your job has requested more cpus per process(rank) than there +are cpus in a socket: + + Cpus/rank: %d + #cpus/socket: %d + +Please correct one or both of these values and try again. +# +[failed-map] +Your job failed to map. Either no mapper was available, or none +of the available mappers was able to perform the requested +mapping operation. This can happen if you request a map type +(e.g., loadbalance) and the corresponding mapper was not built. +# +[unrecognized-policy] +The specified %s policy is not recognized: + + Policy: %s + +Please check for a typo or ensure that the option is a supported +one. +# +[redefining-policy] +Conflicting directives for %s policy are causing the policy +to be redefined: + + New policy: %s + Prior policy: %s + +Please check that only one policy is defined. +# +[rtc:binding-target-not-found] +A request was made to bind to %s, but an appropriate target could not +be found on node %s. +# +[rtc:binding-overload] +A request was made to bind to that would result in binding more +processes than cpus on a resource: + + Bind to: %s + Node: %s + #processes: %d + #cpus: %d + +You can override this protection by adding the "overload-allowed" +option to your binding directive. +# +[rtc:no-topology] +A mapping directive was given that requires knowledge of +a remote node's topology. However, no topology info is +available for the following node: + + Node: %s + +The job cannot be executed under this condition. Please either +remove the directive or investigate the lack of topology info. +# +[rtc:no-available-cpus] +While computing bindings, we found no available cpus on +the following node: + + Node: %s + +Please check your allocation. +# +[rtc:cpubind-not-supported] +A request was made to bind a process, but at least one node does NOT +support binding processes to cpus. + + Node: %s +# +[rtc:membind-not-supported] +WARNING: a request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +This is a warning only; your job will continue, though performance may +be degraded. +# +[rtc:membind-not-supported-fatal] +A request was made to bind a process. While the system +supports binding the process itself, at least one node does NOT +support binding memory to the process location. + + Node: %s + +The provided memory binding policy requires that we abort the +job at this time. +# +[rtc:no-bindable-objects] +No bindable objects of the specified type were available +on at least one node: + + Node: %s + Target: %s +# +[rtc:unknown-binding-level] +Unknown binding level: + + Target: %s + Cache level: %u +# +[orte-rtc-base:missing-daemon] +While attempting to build a map of this job, a node +was detected to be missing a daemon: + + Node: %s + +This usually indicates a mismatch between what the +allocation provided for the node name versus what was +actually found on the node. +# +[orte-rtc-base:no-objects] +No objects of the specified type were found on at least one node: + + Type: %s + Node: %s + +The map cannot be done as specified. +# +[topo-file] +A topology file was given for the compute nodes, but +we were unable to correctly process it. Common errors +include incorrectly specifying the path to the file, +or the file being generated in a way that is incompatible +with the version of hwloc being used by OMPI. + + File: %s + +Please correct the problem and try again. +# +[deprecated] +The following command line options and corresponding MCA parameter have +been deprecated and replaced as follows: + + Command line options: + Deprecated: %s + Replacement: %s + + Equivalent MCA parameter: + Deprecated: %s + Replacement: %s + +The deprecated forms *will* disappear in a future version of Open MPI. +Please update to the new syntax. +# +[mismatch-binding] +A request for multiple cpus-per-proc was given, but a conflicting binding +policy was specified: + + #cpus-per-proc: %d + type of cpus: %s + binding policy given: %s + +The correct binding policy for the given type of cpu is: + + correct binding policy: %s + +This is the binding policy we would apply by default for this +situation, so no binding need be specified. Please correct the +situation and try again. +# +[mapping-too-low] +A request for multiple cpus-per-proc was given, but a directive +was also give to map to an object level that has less cpus than +requested ones: + + #cpus-per-proc: %d + number of cpus: %d + map-by: %s + +Please specify a mapping level that has more cpus, or else let us +define a default mapping that will allow multiple cpus-per-proc. +# +[unrecognized-modifier] +The mapping request contains an unrecognized modifier: + + Request: %s + +Please check your request and try again. +# +[invalid-pattern] +The mapping request contains a pattern that doesn't match +the required syntax of #:object + + Pattern: %s + +Please check your request and try again. +# +[orte-rtc-base:oversubscribed] +The requested number of processes exceeds the allocated +number of slots: + + #slots: %d + #processes: %d + +This creates an oversubscribed condition that may adversely +impact performance when combined with the requested binding +operation. We will continue, but will not bind the processes. +This warning can be omitted by adding the "overload-allowed" +qualifier to the binding policy. +# +[cannot-launch] +Although we were able to map your job, we are unable to launch +it at this time due to required resources being busy. Please +try again later. + diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-hwloc.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-hwloc.txt new file mode 100644 index 00000000..8144c3aa --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-rtc-hwloc.txt @@ -0,0 +1,30 @@ +# -*- text -*- +# +# Copyright (c) 2009-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2010-2012 Los Alamos National Security, LLC. +# All rights reserved. +# +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for ORTE's hwloc support. +# +[sys call fail] +A system call failed during shared memory initialization that should +not have. + + Local host: %s + System call: %s %s + Error: %s (errno %d) +# +[target full] +It appears as if there is not enough space for %s (the shared-memory backing +file for hwloc topology). + + Local host: %s + Space Requested: %lu B + Space Available: %llu B diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-runtime.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-runtime.txt new file mode 100644 index 00000000..97bd3e4f --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-runtime.txt @@ -0,0 +1,63 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open MPI. +# +[orte_init:startup:internal-failure] +It looks like orte_init failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during orte_init; some of which are due to configuration or +environment problems. This failure appears to be an internal failure; +here's some additional information (which may only be relevant to an +Open MPI developer): + + %s failed + --> Returned value %s (%d) instead of ORTE_SUCCESS +# +# +[orte:session:dir:prohibited] +The specified location for the temporary directories required by Open MPI +is on the list of prohibited locations: + +Location given: %s +Prohibited locations: %s + +If you believe this is in error, please contact your system administrator +to have the list of prohibited locations changed. Otherwise, please identify +a different location to be used (use -h to see the cmd line option), or +simply let the system pick a default location. +# +[orte:session:dir:nopwname] +Open MPI was unable to obtain the username in order to create a path +for its required temporary directories. This type of error is usually +caused by a transient failure of network-based authentication services +(e.g., LDAP or NIS failure due to network congestion), but can also be +an indication of system misconfiguration. + +Please consult your system administrator about these issues and try +again. +# +[orte_nidmap:too_many_nodes] +An error occurred while trying to pack the information about the job. More nodes +have been found than the %d expected. Please check your configuration files such +as the mapping. +# +[orte_init:startup:num_daemons] +Open MPI was unable to determine the number of nodes in your allocation. We +are therefore assuming a very large number to ensure you receive proper error +messages. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-server.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-server.txt new file mode 100644 index 00000000..6e63009a --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-server.txt @@ -0,0 +1,27 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's data server. +# +[orteserver:usage] +Start an Open RTE data server + +Usage: %s [OPTIONS] + +%s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orte-snapc-base.txt b/macx64/mpi/openmpi/share/openmpi/help-orte-snapc-base.txt new file mode 100644 index 00000000..b186d3b5 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orte-snapc-base.txt @@ -0,0 +1,25 @@ + -*- text -*- +# +# Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for ORTE SNAPC framework. +# +[invalid_metadata] +Error: The local checkpoint contains invalid or incomplete metadata for Process %s. + This usually indicates that the local checkpoint is invalid. + Check the metadata file (%s) in the following directory: + %s diff --git a/macx64/mpi/openmpi/share/openmpi/help-orted.txt b/macx64/mpi/openmpi/share/openmpi/help-orted.txt new file mode 100644 index 00000000..2f390d06 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orted.txt @@ -0,0 +1,109 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orted. +# +[orted:usage] +Usage: %s [OPTION]... +Start an Open RTE Daemon + +%s +[orted:environ] +Open RTE Daemon was unable to set + %s = %s +in the environment. Returned value %d instead of ORTE_SUCCESS. +[orted:init-failure] +Open RTE was unable to initialize properly. The error occured while +attempting to %s. Returned value %d instead of ORTE_SUCCESS. + +# +[orted:cannot-bind] +A request was made to bind the Open RTE daemons to +a core that does not exist on this node: + + node: %s + cores: %s + +The MCA param directing this behavior is orte_daemon_cores. +Please correct the request and try again. +# +[cwd] +A dynamic operation (%s) was requested that requires us to obtain +the current working directory. Unfortunately, an error was returned +when we attempted to obtain it: + + error: %d + +We are unable to complete the requested operation. +# +[bad-key] +A dynamic operation (%s) was requested that included an unrecognized +info key: + + group: %s + key: %s + +The operation will continue, but may not behave completely as expected. +# +[timedout] +A request has timed out and will therefore fail: + + Operation: %s + +Your job may terminate as a result of this problem. You may want to +adjust the MCA parameter pmix_server_max_wait and try again. If this +occurred during a connect/accept operation, you can adjust that time +using the pmix_base_exchange_timeout parameter. +# +[noroom] +A request for an asynchronous runtime operation cannot be fulfilled +because of a lack of room in the tracking array: + + Operation: %s + Number of rooms: %d + +This is usually caused by a large job that encounters significant +delays across the cluster when starting the application processes. +Your job may terminate as a result of this problem. You may want to +adjust the MCA parameter pmix_server_max_reqs and try again. +# +[noserver] +A publish/lookup server was provided, but we were unable to connect +to it - please check the connection info and ensure the server +is alive: + + Connection: %s +# +[mpir-debugger-detected] +Open MPI has detected that you have attached a debugger to this MPI +job, and that debugger is using the legacy "MPIR" method of +attachment. + +Please note that Open MPI has deprecated the "MPIR" debugger +attachment method in favor of the new "PMIx" debugger attchment +mechanisms. + +*** This means that future versions of Open MPI may not support the +*** "MPIR" debugger attachment method at all. Specifically: the +*** debugger you just attached may not work with future versions of +*** Open MPI. + +You may wish to contact your debugger vendor to inquire about support +for PMIx-based debugger attachment mechanisms. Meantime, you can +disable this warning by setting the OMPI_MPIR_DO_NOT_WARN envar to 1. diff --git a/macx64/mpi/openmpi/share/openmpi/help-orterun.txt b/macx64/mpi/openmpi/share/openmpi/help-orterun.txt new file mode 100644 index 00000000..2b006f00 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-orterun.txt @@ -0,0 +1,694 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2007-2016 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2012 Oak Ridge National Labs. All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[orterun:init-failure] +Open RTE was unable to initialize properly. The error occured while +attempting to %s. Returned value %d instead of ORTE_SUCCESS. +[orterun:usage] +%s (%s) %s + +Usage: %s [OPTION]... [PROGRAM]... +Start the given program using Open RTE + +%s + +Report bugs to %s +[orterun:version] +%s (%s) %s + +Report bugs to %s +[orterun:allocate-resources] +%s was unable to allocate enough resources to start your application. +This might be a transient error (too many nodes in the cluster were +unavailable at the time of the request) or a permenant error (you +requsted more nodes than exist in your cluster). + +While probably only useful to Open RTE developers, the error returned +was %d. +[orterun:error-spawning] +%s was unable to start the specified application. An attempt has been +made to clean up all processes that did start. The error returned was +%d. +[orterun:appfile-not-found] +Unable to open the appfile: + + %s + +Double check that this file exists and is readable. +[orterun:executable-not-specified] +No executable was specified on the %s command line. + +Aborting. +[orterun:multi-apps-and-zero-np] +%s found multiple applications specified on the command line, with +at least one that failed to specify the number of processes to execute. +When specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. +[orterun:nothing-to-do] +%s could not find anything to do. + +It is possible that you forgot to specify how many processes to run +via the "-np" argument. +[orterun:call-failed] +%s encountered a %s call failure. This should not happen, and +usually indicates an error within the operating system itself. +Specifically, the following error occurred: + + %s + +The only other available information that may be helpful is the errno +that was returned: %d. +[orterun:environ] +%s was unable to set + %s = %s +in the environment. Returned value %d instead of ORTE_SUCCESS. +[orterun:precondition] +%s was unable to precondition transports +Returned value %d instead of ORTE_SUCCESS. +[orterun:attr-failed] +%s was unable to define an attribute +Returned value %d instead of ORTE_SUCCESS. +# +[orterun:proc-ordered-abort] +%s has exited due to process rank %lu with PID %lu on +node %s calling "abort". This may have caused other processes +in the application to be terminated by signals sent by %s +(as reported here). +# +[orterun:proc-exit-no-sync] +%s has exited due to process rank %lu with PID %lu on +node %s exiting improperly. There are three reasons this could occur: + +1. this process did not call "init" before exiting, but others in +the job did. This can cause a job to hang indefinitely while it waits +for all processes to call "init". By rule, if one process calls "init", +then ALL processes must call "init" prior to termination. + +2. this process called "init", but exited without calling "finalize". +By rule, all processes that call "init" MUST call "finalize" prior to +exiting or it will be considered an "abnormal termination" + +3. this process called "MPI_Abort" or "orte_abort" and the mca parameter +orte_create_session_dirs is set to false. In this case, the run-time cannot +detect that the abort call was an abnormal termination. Hence, the only +error message you will receive is this one. + +This may have caused other processes in the application to be +terminated by signals sent by %s (as reported here). + +You can avoid this message by specifying -quiet on the %s command line. +# +[orterun:proc-exit-no-sync-unknown] +%s has exited due to a process exiting without calling "finalize", +but has no info as to the process that caused that situation. This +may have caused other processes in the application to be +terminated by signals sent by %s (as reported here). +# +[orterun:proc-aborted] +%s noticed that process rank %lu with PID %lu on node %s exited on signal %d. +# +[orterun:proc-aborted-unknown] +%s noticed that the job aborted, but has no info as to the process +that caused that situation. +# +[orterun:proc-aborted-signal-unknown] +%s noticed that the job aborted by signal, but has no info as +to the process that caused that situation. +# +[orterun:proc-aborted-strsignal] +%s noticed that process rank %lu with PID %lu on node %s exited on signal %d (%s). +# +[orterun:abnormal-exit] +WARNING: %s has exited before it received notification that all +started processes had terminated. You should double check and ensure +that there are no runaway processes still executing. +# +[orterun:sigint-while-processing] +WARNING: %s is in the process of killing a job, but has detected an +interruption (probably control-C). + +It is dangerous to interrupt %s while it is killing a job (proper +termination may not be guaranteed). Hit control-C again within 1 +second if you really want to kill %s immediately. +# +[orterun:double-prefix] +Both a prefix was supplied to %s and the absolute path to %s was +given: + + Prefix: %s + Path: %s + +Only one should be specified to avoid potential version +confusion. Operation will continue, but the -prefix option will be +used. This is done to allow you to select a different prefix for +the backend computation nodes than used on the frontend for %s. +# +[orterun:app-prefix-conflict] +Both a prefix or absolute path was given for %s, and a different +prefix provided for the first app_context: + + Mpirun prefix: %s + App prefix: %s + +Only one should be specified to avoid potential version +confusion. Operation will continue, but the application's prefix +option will be ignored. +# +[orterun:empty-prefix] +A prefix was supplied to %s that only contained slashes. + +This is a fatal error; %s will now abort. No processes were launched. +# +[debugger-mca-param-not-found] +Internal error -- the orte_base_user_debugger MCA parameter was not able to +be found. Please contact the Open RTE developers; this should not +happen. +# +[debugger-orte_base_user_debugger-empty] +The MCA parameter "orte_base_user_debugger" was empty, indicating that +no user-level debuggers have been defined. Please set this MCA +parameter to a value and try again. +# +[debugger-not-found] +A suitable debugger could not be found in your PATH. Check the values +specified in the orte_base_user_debugger MCA parameter for the list of +debuggers that was searched. +# +[debugger-exec-failed] +%s was unable to launch the specified debugger. This is what was +launched: + + %s + +Things to check: + + - Ensure that the debugger is installed properly + - Ensure that the "%s" executable is in your path + - Ensure that any required licenses are available to run the debugger +# +[orterun:sys-limit-pipe] +%s was unable to launch the specified application as it encountered an error: + +Error: system limit exceeded on number of pipes that can be open +Node: %s + +when attempting to start process rank %lu. + +This can be resolved by setting the mca parameter opal_set_max_sys_limits to 1, +increasing your limit descriptor setting (using limit or ulimit commands), +asking the system administrator for that node to increase the system limit, or +by rearranging your processes to place fewer of them on that node. +# +[orterun:sys-limit-sockets] +Error: system limit exceeded on number of network connections that can be open + +This can be resolved by setting the mca parameter opal_set_max_sys_limits to 1, +increasing your limit descriptor setting (using limit or ulimit commands), +or asking the system administrator to increase the system limit. +# +[orterun:pipe-setup-failure] +%s was unable to launch the specified application as it encountered an error: + +Error: pipe function call failed when setting up I/O forwarding subsystem +Node: %s + +while attempting to start process rank %lu. +# +[orterun:sys-limit-children] +%s was unable to launch the specified application as it encountered an error: + +Error: system limit exceeded on number of processes that can be started +Node: %s + +when attempting to start process rank %lu. + +This can be resolved by either asking the system administrator for that node to +increase the system limit, or by rearranging your processes to place fewer of them +on that node. +# +[orterun:failed-term-attrs] +%s was unable to launch the specified application as it encountered an error: + +Error: reading tty attributes function call failed while setting up +I/O forwarding system +Node: %s + +while attempting to start process rank %lu. +# +[orterun:wdir-not-found] +%s was unable to launch the specified application as it could not +change to the specified working directory: + +Working directory: %s +Node: %s + +while attempting to start process rank %lu. +# +[orterun:exe-not-found] +%s was unable to find the specified executable file, and therefore +did not launch the job. This error was first reported for process +rank %lu; it may have occurred for other processes as well. + +NOTE: A common cause for this error is misspelling a %s command + line parameter option (remember that %s interprets the first + unrecognized command line token as the executable). + +Node: %s +Executable: %s +# +[orterun:exe-not-accessible] +%s was unable to launch the specified application as it could not access +or execute an executable: + +Executable: %s +Node: %s + +while attempting to start process rank %lu. +# +[orterun:pipe-read-failure] +%s was unable to launch the specified application as it encountered an error: + +Error: reading from a pipe function call failed while spawning a local process +Node: %s + +while attempting to start process rank %lu. +# +[orterun:proc-failed-to-start] +%s was unable to start the specified application as it encountered an +error: + +Error code: %d +Error name: %s +Node: %s + +when attempting to start process rank %lu. +# +[orterun:proc-socket-not-avail] +%s was unable to start the specified application as it encountered an +error: + +Error name: %s +Node: %s + +when attempting to start process rank %lu. +# +[orterun:proc-failed-to-start-no-status] +%s was unable to start the specified application as it encountered an +error on node %s. More information may be available above. +# +[orterun:proc-failed-to-start-no-status-no-node] +%s was unable to start the specified application as it encountered an +error. More information may be available above. +# +[debugger requires -np] +The number of MPI processes to launch was not specified on the command +line. + +The %s debugger requires that you specify a number of MPI processes to +launch on the command line via the "-np" command line parameter. For +example: + + %s -np 4 %s + +Skipping the %s debugger for now. +# +[debugger requires executable] +The %s debugger requires that you specify an executable on the %s +command line; you cannot specify application context files when +launching this job in the %s debugger. For example: + + %s -np 4 my_mpi_executable + +Skipping the %s debugger for now. +# +[debugger only accepts single app] +The %s debugger only accepts SPMD-style launching; specifying an +MPMD-style launch (with multiple applications separated via ':') is +not permitted. + +Skipping the %s debugger for now. +# +[orterun:daemon-died-during-execution] +%s has detected that a required daemon terminated during execution +of the application with a non-zero status. This is a fatal error. +A best-effort attempt has been made to cleanup. However, it is +-strongly- recommended that you execute the orte-clean utility +to ensure full cleanup is accomplished. +# +[orterun:no-orted-object-exit] +%s was unable to determine the status of the daemons used to +launch this application. Additional manual cleanup may be required. +Please refer to the "orte-clean" tool for assistance. +# +[orterun:unclean-exit] +%s was unable to cleanly terminate the daemons on the nodes shown +below. Additional manual cleanup may be required - please refer to +the "orte-clean" tool for assistance. +# +[orterun:event-def-failed] +%s was unable to define an event required for proper operation of +the system. The reason for this error was: + +Error: %s + +Please report this to the Open MPI mailing list users@open-mpi.org. +# +[orterun:ompi-server-filename-bad] +%s was unable to parse the filename where contact info for the +ompi-server was to be found. The option we were given was: + +--ompi-server %s + +This appears to be missing the required ':' following the +keyword "file". Please remember that the correct format for this +command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute. +# +[orterun:ompi-server-filename-missing] +%s was unable to parse the filename where contact info for the +ompi-server was to be found. The option we were given was: + +--ompi-server %s + +This appears to be missing a filename following the ':'. Please +remember that the correct format for this command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute. +# +[orterun:ompi-server-filename-access] +%s was unable to access the filename where contact info for the +ompi-server was to be found. The option we were given was: + +--ompi-server %s + +Please remember that the correct format for this command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute, and that +you must have read access permissions to that file. +# +[orterun:ompi-server-file-bad] +%s was unable to read the ompi-server's contact info from the +given filename. The filename we were given was: + +FILE: %s + +Please remember that the correct format for this command line option is: + +--ompi-server file:path-to-file + +where path-to-file can be either relative to the cwd or absolute, and that +the file must have a single line in it that contains the Open MPI +uri for the ompi-server. Note that this is *not* a standard uri, but +a special format used internally by Open MPI for communications. It can +best be generated by simply directing the ompi-server to put its +uri in a file, and then giving %s that filename. +[orterun:multiple-hostfiles] +Error: More than one hostfile was passed for a single application +context, which is not supported at this time. +# +[orterun:conflicting-params] +%s has detected multiple instances of an MCA param being specified on +the command line, with conflicting values: + +MCA param: %s +Value 1: %s +Value 2: %s + +This MCA param does not support multiple values, and the system is unable +to identify which value was intended. If this was done in error, please +re-issue the command with only one value. You may wish to review the +output from ompi_info for guidance on accepted values for this param. + +[orterun:server-not-found] +%s was instructed to wait for the requested ompi-server, but was unable to +establish contact with the server during the specified wait time: + +Server uri: %s +Timeout time: %ld + +Error received: %s + +Please check to ensure that the requested server matches the actual server +information, and that the server is in operation. +# +[orterun:server-unavailable] +The user has called an operation involving MPI_Connect and/or MPI_Accept +that spans multiple invocations of mpirun. This requires the support of +the ompi-server tool, which must be executing somewhere that can be +accessed by all participants. + +Please ensure the tool is running, and provide each mpirun with the MCA +parameter "pmix_server_uri" pointing to it. +# +[orterun:malformedport] +An operation involving MPI_Connect and/or MPI_Accept was called with +an unrecognized port string. This typically happens when passing the +string on a cmd line and failing to properly quote it to protect +against the special characters it includes +# +[orterun:ompi-server-pid-bad] +%s was unable to parse the PID of the %s to be used as the ompi-server. +The option we were given was: + +--ompi-server %s + +Please remember that the correct format for this command line option is: + +--ompi-server PID:pid-of-%s + +where PID can be either "PID" or "pid". +# +[orterun:ompi-server-could-not-get-hnp-list] +%s was unable to search the list of local %s contact files to find the +specified pid. You might check to see if your local session directory +is available and that you have read permissions on the top of that +directory tree. +# +[orterun:ompi-server-pid-not-found] +%s was unable to find an %s with the specified pid of %d that was to +be used as the ompi-server. The option we were given was: + +--ompi-server %s + +Please remember that the correct format for this command line option is: + +--ompi-server PID:pid-of-%s + +where PID can be either "PID" or "pid". +# +[orterun:write_file] +%s was unable to open a file to printout %s as requested. The file +name given was: + +File: %s +# +[orterun:multiple-paffinity-schemes] +Multiple processor affinity schemes were specified (can only specify +one): + +Slot list: %s +opal_paffinity_alone: true + +Please specify only the one desired method. +# +[orterun:slot-list-failed] +We were unable to successfully process/set the requested processor +affinity settings: + +Specified slot list: %s +Error: %s + +This could mean that a non-existent processor was specified, or +that the specification had improper syntax. +# +[orterun:invalid-node-rank] +An invalid node rank was obtained - this is probably something +that should be reported to the OMPI developers. +# +[orterun:invalid-local-rank] +An invalid local rank was obtained - this is probably something +that should be reported to the OMPI developers. +# +[orterun:invalid-phys-cpu] +An invalid physical processor id was returned when attempting to +set processor affinity - please check to ensure that your system +supports such functionality. If so, then this is probably something +that should be reported to the OMPI developers. +# +[orterun:failed-set-paff] +An attempt to set processor affinity has failed - please check to +ensure that your system supports such functionality. If so, then +this is probably something that should be reported to the OMPI +developers. +# +[orterun:topo-not-supported] +An attempt was made to bind a process to a specific hardware topology +mapping (e.g., binding to a socket) but the operating system does not +support such topology-aware actions. Talk to your local system +administrator to find out if your system can support topology-aware +functionality (e.g., Linux Kernels newer than v2.6.18). + +Systems that do not support processor topology-aware functionality +cannot use "bind to socket" and other related functionality. + + Local host: %s + Action attempted: %s %s + Application name: %s +# +[orterun:binding-not-avail] +A request to bind the processes if the operating system supports such +an operation was made, but the OS does not support this operation: + + Local host: %s + Action requested: %s + Application name: %s + +Because the request was made on an "if-available" basis, the job was +launched without taking the requested action. If this is not the +desired behavior, talk to your local system administrator to find out +if your system can support the requested action. +# +[orterun:not-enough-resources] +Not enough %s were found on the local host to meet the requested +binding action: + + Local host: %s + Action requested: %s + Application name: %s + +Please revise the request and try again. +# +[orterun:paffinity-missing-module] +A request to bind processes was made, but no paffinity module +was found: + + Local host: %s + +This is potentially a configuration. You can rerun your job without +requesting binding, or check the configuration. +# +[orterun:invalid-slot-list-range] +A slot list was provided that exceeds the boundaries on available +resources: + + Local host: %s + Slot list: %s + +Please check your boundaries and try again. +# +[orterun:proc-comm-failed] +A critical communication path was lost to: + + My name: %s + Process name: %s + Node: %s +# +[orterun:proc-mem-exceeded] +A process exceeded memory limits: + + Process name: %s + Node: %s +# +[orterun:proc-stalled] +One or more processes appear to have stalled - a monitored file +failed to show the required activity. +# +[orterun:proc-sensor-exceeded] +One or more processes have exceeded a specified sensor limit, but +no further info is available. +# +[orterun:proc-heartbeat-failed] +%s failed to receive scheduled heartbeat communications from a remote +process: + + Process name: %s + Node: %s +# +[orterun:non-zero-exit] +%s detected that one or more processes exited with non-zero status, thus causing +the job to be terminated. The first process to do so was: + + Process name: %s + Exit code: %d +# +[orterun:unrecognized-mr-type] +%s does not recognize the type of job. This should not happen and +indicates an ORTE internal problem. +# +[multiple-combiners] +More than one combiner was specified. The combiner takes the output +from the final reducer in each chain to produce a single, combined +result. Thus, there can only be one combiner for a job. Please +review your command line and try again. +# +[orterun:negative-nprocs] +%s has detected that one or more applications was given a negative +number of processes to run: + + Application: %s + Num procs: %d + +Please correct this value and try again. +# +[orterun:timeout] +The user-provided time limit for job execution has been reached: + + Timeout: %d seconds + +The job will now be aborted. Please check your code and/or +adjust/remove the job execution time limit (as specified by --timeout +command line option or MPIEXEC_TIMEOUT environment variable). +# +[orterun:conflict-env-set] +ERROR: You have attempted to pass environment variables to Open MPI +with both the "-x" method and by setting the MCA parameter "mca_base_env_list". + +Open MPI does not support mixing these two methods. Please choose one +method and try launching your job again. + +Your job will now abort. +# +[orterun:pmix-failed] +The call to pmix_init_server() failed. This may be due to your +system's restriction for Unix's socket's path-length. + + orte_proc_session_dir: %s + +Please try to set TMPDIR to something short (like /tmp) or change +Your computer's name (see uname -n). +# +[orterun:timeoutconflict] +Conflicting requests for timeout were given: + + --timeout command line option: %d + MPIEXEC_TIMEOUT envar: %s + +Only one method should be provided, or else they must agree. Please +correct and retry. diff --git a/macx64/mpi/openmpi/share/openmpi/help-osc-pt2pt.txt b/macx64/mpi/openmpi/share/openmpi/help-osc-pt2pt.txt new file mode 100644 index 00000000..9b57ac20 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-osc-pt2pt.txt @@ -0,0 +1,15 @@ +# -*- text -*- +# +# Copyright (c) 2016 Los Alamos National Security, LLC. All rights +# reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[mpi-thread-multiple-not-supported] +The OSC pt2pt component does not support MPI_THREAD_MULTIPLE in this release. +Workarounds are to run on a single node, or to use a system with an RDMA +capable network such as Infiniband. diff --git a/macx64/mpi/openmpi/share/openmpi/help-plm-base.txt b/macx64/mpi/openmpi/share/openmpi/help-plm-base.txt new file mode 100644 index 00000000..bcc09125 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-plm-base.txt @@ -0,0 +1,175 @@ +# -*- text -*- +# +# Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2006 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2015-2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[no-available-pls] +No available launching agents were found. + +This is an unusual error; it means that Open RTE was unable to find +any mechanism to launch proceses, and therefore is unable to start the +process(es) required by your application. +# +[daemon-no-assigned-node] +A daemon has no recorded node: + + Daemon: %s + Reported from nodename: %s + +This usually indicates a difference between the names of nodes in the +allocation versus what is returned on the node by get_hostname. +# +[daemon-died-no-signal] +A daemon died unexpectedly with status %d while attempting +to launch so we are aborting. + +There may be more information reported by the environment (see above). + +This may be because the daemon was unable to find all the needed shared +libraries on the remote node. You may set your LD_LIBRARY_PATH to have the +location of the shared libraries on the remote nodes and this will +automatically be forwarded to the remote nodes. +# +[daemon-died-signal-core] +A daemon died unexpectedly on signal %d (with core) while +attempting to launch so we are aborting. + +There may be more information reported by the environment (see above). + +This may be because the daemon was unable to find all the needed shared +libraries on the remote node. You may set your LD_LIBRARY_PATH to have the +location of the shared libraries on the remote nodes and this will +automatically be forwarded to the remote nodes. +# +[daemon-died-signal] +A daemon died unexpectedly on signal %d while attempting to +launch so we are aborting. + +There may be more information reported by the environment (see above). + +This may be because the daemon was unable to find all the needed shared +libraries on the remote node. You may set your LD_LIBRARY_PATH to have the +location of the shared libraries on the remote nodes and this will +automatically be forwarded to the remote nodes. +# +[incomplete-exit-cmd] +One or more daemons could not be ordered to exit. This can be caused by a +number of rather rare problems, but typically is caused by a daemon having +died due to the failure of a node or its communications. This could result +in an incomplete cleanup on the affected nodes. Please see below for a list +of nodes which may require additional cleanup. + +We are truly sorry for the inconvenience. +# +[incomplete-kill-procs-cmd] +One or more daemons could not be ordered to kill their local processes. +This can be caused by a number of rather rare problems, but typically +is caused by a daemon having died due to the failure of a node or its +communications. This could result in an incomplete cleanup on the affected +nodes. Additional information may be available below. + +We are truly sorry for the inconvenience. +# +[stdin-target-out-of-range] +The requested stdin target is out of range for this job - it points +to a process rank that is greater than the number of processes in the +job. + +Specified target: %s +Number of procs: %s + +This could be caused by specifying a negative number for the stdin +target, or by mistyping the desired rank. Remember that MPI ranks begin +with 0, not 1. + +Please correct the cmd line and try again. +# +[too-many-hosts] +A call was made to launch a local slave process, but more than one +target host was provided. Currently, each launch of a local slave +can only be to a single host. To launch slaves on multiple hosts, +you must issue one call/host. + +Num hosts specified: %d + +# +[abs-path-reqd] +A call was made to launch a local slave process that requested the +binaries be pre-positioned on the remote host. However, an absolute +path to the target directory was either not specified, or was provided +in a relative path format. + +Path provided: %s + +The path to the target directory must be given as an absolute path. The +target directory does NOT need to exist - the path to the target will +be created, if required. + +# +[exec-not-found] +A call was made to launch a local slave process, but the specified +executable could not be found: + +Exec: %s + +Please either specify an absolute path to the executable, or check +that the executable is in your PATH. + +# +[cp-not-found] +A call was made to launch a local slave process that requested the +binaries be pre-positioned on the remote host. However, we could not +find the %s command in your path. + +Please check that %s is in your PATH and try again. + +# +[file-not-found] +A call was made to launch a local slave process that requested pre-positioning +of one or more files, but the specified files could not be found: + +File: %s +Source directory: %s + +Please either specify an absolute path to the file, or check +that the file is in your current working directory...and ensure +that you have read permissions on the file. + +# +[deprecated-amca] +You're using the --am option. Please be advised that this option is deprecated; +you should use --tune instead. The --tune option allows one to specify mca +parameters as well as environment variables from within a file using the same +command line syntax (e.g. -mca var val -mca var "val" -x var=val -x var). +The --am option will be removed in a future release. +# +[no-oob] +A call was made to launch additional processes, but this process has +no active out-of-band transports and therefore cannot execute this call. +Please check to see if you have the "oob" MCA parameter set and ensure +that it is either unset or at least includes the tcp transport. +# +[multi-endian] +Open MPI does not currently support multi-endian operations. We have +detected that the following node differs in endianness: + + + Nodename: %s + Endian: %s + Local endian: %s + +Please correct the situation and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-plm-rsh.txt b/macx64/mpi/openmpi/share/openmpi/help-plm-rsh.txt new file mode 100644 index 00000000..1bc46c4d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-plm-rsh.txt @@ -0,0 +1,96 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2015 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for Open RTE's orterun. +# +[agent-not-found] +The value of the MCA parameter "plm_rsh_agent" was set to a path +that could not be found: + + plm_rsh_agent: %s + +Please either unset the parameter, or check that the path is correct +# +[no-local-orted] +The rsh PLS component was not able to find the executable "orted" in +your PATH or in the directory where Open MPI/OpenRTE was initially installed, +and therefore cannot continue. + +For reference, your current PATH is: + + %s + +We also looked for orted in the following directory: + + %s + +[multiple-prefixes] +Specified multiple application contexts using different +settings for --prefix. Care should be taken, that corresponding +processes are mapped to different nodes. Having multiple prefixes +per node is not allowed. + +The previously set prefix was + %s + +the prefix to be set overriding: + %s + +[concurrency-less-than-zero] +The value of the MCA parameter "pls_rsh_num_concurrent" is less than +or equal to zero (%d). This parameter is used to determine how many +remote agents (typically rsh or ssh) to invoke concurrently while +launching parallel jobs. + +This value has automatically be reset to 1; processing will continue. + +[deadlock-params] +The rsh launcher has been given a number of %d concurrent daemons to +launch and is in a debug-daemons option. However, the total number of +daemons to launch (%d) is greater than this value. This is a scenario that +will cause the system to deadlock. + +To avoid deadlock, either increase the number of concurrent daemons, or +remove the debug-daemons flag. + +[unknown-user] +The user (%d) is unknown to the system (i.e. there is no corresponding +entry in the password file). Please contact your system administrator +for a fix. +# +[cannot-resolve-shell-with-prefix] +The rsh launcher has been given a prefix to use, but could not determine +the type of remote shell being used on the remote node. This is a fatal +error as we cannot determine how to construct the cmd line to set your +remote LD_LIBRARY_PATH and PATH environmental variables. + +The prefix we were given are: + +opal_prefix: %s +prefix_dir: %s +# +[cmd-line-too-long] +The cmd line to launch remote daemons is too long: + + Length: %d + Max length: %d + +Consider setting -mca plm_rsh_pass_environ_mca_params 0 to +avoid including any environmentally set MCA parameters on the +command line. diff --git a/macx64/mpi/openmpi/share/openmpi/help-plm-slurm.txt b/macx64/mpi/openmpi/share/openmpi/help-plm-slurm.txt new file mode 100644 index 00000000..fac0b9b6 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-plm-slurm.txt @@ -0,0 +1,55 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014-2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[multiple-prefixes] +The SLURM process starter for Open MPI does not support multiple +different --prefix options to mpirun. You can specify at most one +unique value for the --prefix option (in any of the application +contexts); it will be applied to all the application contexts of your +parallel job. + +Put simply, you must have Open MPI installed in the same location on +all of your SLURM nodes. + +Multiple different --prefix options were specified to mpirun. This is +a fatal error for the SLURM process starter in Open MPI. + +The first two prefix values supplied were: + %s +and %s +# +[no-hosts-in-list] +The SLURM process starter for Open MPI didn't find any hosts in +the map for this application. This can be caused by a lack of +an allocation, or by an error in the Open MPI code. Please check +to ensure you have a SLURM allocation. If you do, then please pass +the error to the Open MPI user's mailing list for assistance. +# +[no-local-slave-support] +A call was made to launch a local slave process, but no support +is available for doing so. Launching a local slave requires support +for either rsh or ssh on the backend nodes where MPI processes +are running. + +Please consult with your system administrator about obtaining +such support. +[no-srun] +The SLURM process starter for OpenMPI was unable to locate a +usable "srun" command in its path. Please check your path +and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-pmix-base.txt b/macx64/mpi/openmpi/share/openmpi/help-pmix-base.txt new file mode 100644 index 00000000..5a57507d --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-pmix-base.txt @@ -0,0 +1,37 @@ + -*- text -*- +# +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2016 Los Alamos National Security, LLC. All rights +# reserved. +# +# Copyright (c) 2016-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for OPAL PMIx base. +# +[pmix2-init-failed] +PMI2_Init failed to intialize. Return code: %d +# +[pmix2-init-returned-bad-values] +PMI2_Init was intialized but negative values for job size and/or +rank was returned. +# +[old-pmix] +A version of PMIx was detected that is too old: + + Version: %s + Min version: %s + +Please reconfigure against an updated version of PMIx. +# +[incorrect-pmix] +An unexpected version of PMIx was loaded: + + Detected: %s + Expected: %s + +Please check the library path and reconfigure if required. diff --git a/macx64/mpi/openmpi/share/openmpi/help-pmix-pmix3x.txt b/macx64/mpi/openmpi/share/openmpi/help-pmix-pmix3x.txt new file mode 100644 index 00000000..07327e11 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-pmix-pmix3x.txt @@ -0,0 +1,32 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[evars] +We found conflicting directives regarding the location of OPAL vs PMIx +installation directories: + +%s + +This usually indicates that OMPI was configured to use its internal copy +of PMIx, but another installation of PMIx is also in use on this system +and could potentially cause confusion between the two sets of plugins. +Please either unset the indicated environment variables, or configure +OMPI to use the external PMIx installation. diff --git a/macx64/mpi/openmpi/share/openmpi/help-ras-base.txt b/macx64/mpi/openmpi/share/openmpi/help-ras-base.txt new file mode 100644 index 00000000..e3455f3c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ras-base.txt @@ -0,0 +1,38 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the RAS base. +# +[ras-base:no-allocation] +We were unable to find an allocation for this job as required by +setting the "allocation required" flag. Please ensure you have +the necessary allocation before executing again. + +If you wish to execute without a provided allocation (e.g., by +providing a user-specified hostfile), please ensure that the "allocation +required" flag is not set. This flag can be set in several forms, so +please check that none of the following exist: + +MCA param file: orte_allocation_required = 1 +Environment: OMPI_MCA_orte_allocation_required=1 +Cmd line: -mca orte_allocation_required 1 +# +[ras-sim:mismatch] +The number of topology files and the list of number of nodes +must match - i.e., a number of nodes must be given for each +topology. diff --git a/macx64/mpi/openmpi/share/openmpi/help-ras-simulator.txt b/macx64/mpi/openmpi/share/openmpi/help-ras-simulator.txt new file mode 100644 index 00000000..76749662 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ras-simulator.txt @@ -0,0 +1,33 @@ +# -*- text -*- +# +# Copyright (c) 2012 Cisco Systems, Inc. All rights reserved. +# +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[no hwloc support for topofiles] +The ras_simulator_topo_files MCA parameter was specified, but this +Open MPI installation has no "hwloc" support, meaning that topo files +cannot be used. + +Your job will now abort. +# +[hwloc API fail] +An internal hwloc API call failed in the RAS simulator module. This +is unusual, and should likely be reported to the Open MPI developers. + +Your job will now abort. + + File: %s + Line: %d + API: %s +# +[hwloc failed to load xml] +The RAS simulator module failed to load an XML topology file. This +usually means that the file is either invalid or does not exist. + + Topo file: %s +# diff --git a/macx64/mpi/openmpi/share/openmpi/help-ras-slurm.txt b/macx64/mpi/openmpi/share/openmpi/help-ras-slurm.txt new file mode 100644 index 00000000..2497fe25 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-ras-slurm.txt @@ -0,0 +1,78 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for Open MPI MCA error messages. +# +[slurm-env-var-not-found] +While trying to determine what resources are available, the SLURM +resource allocator expects to find the following environment variables: + + SLURM_NODELIST + SLURM_TASKS_PER_NODE + +However, it was unable to find the following environment variable: + + %s + +#This is a fatal error. +[slurm-env-var-bad-value] +While trying to determine what resources are available, the SLURM +resource allocator uses the following environment variables: + + SLURM_NODELIST value: %s + SLURM_TASKS_PER_NODE value: %s + +However, an error was encountered when trying to parse the following variable: + + %s + +#This is a fatal error. +[slurm-dyn-alloc-timeout] +We attempted to obtain a dynamic allocation from Slurm, but +contact with the Slurm control daemon timed out. Please check +that the Slurm dynamic allocation plug-in is properly operating. +# +[slurm-dyn-alloc-failed] + + Allocation request: %s +# +[dyn-alloc-no-config] +Dynamic allocation was enabled, but no Slurm configuration +file was given. Please provide the required configuration file. +# +[host-not-resolved] +The Slurm control host could not be resolved. + + Host: %s + +Please check the Slurm configuration and try again. +# +[connection-failed] +Connection to the Slurm controller failed: + + Host: %s + Port: %d + +Please check the Slurm configuration and try again. +# +[config-file-not-found] +The Slurm configuration file was not found. + + File: %s + +Please check the filename and path and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-rcache-base.txt b/macx64/mpi/openmpi/share/openmpi/help-rcache-base.txt new file mode 100644 index 00000000..a09b17d8 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-rcache-base.txt @@ -0,0 +1,38 @@ +# -*- text -*- +# +# Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2015 Los Alamos National Security, LLC. All rights +# reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +[leave pinned failed] +A process attempted to use the "leave pinned" MPI feature, but no +memory registration hooks were found on the system at run time. This +may be the result of running on a system that does not support memory +hooks or having some other software subvert Open MPI's use of the +memory hooks. You can disable Open MPI's use of memory hooks by +setting both the mpi_leave_pinned and mpi_leave_pinned_pipeline MCA +parameters to 0. + +Open MPI will disable any transports that are attempting to use the +leave pinned functionality; your job may still run, but may fall back +to a slower network transport (such as TCP). + + rcache name: %s + Process: %s + Local host: %s +# +[cannot deregister in-use memory] +Open MPI intercepted a call to free memory that is still being used by +an ongoing MPI communication. This usually reflects an error in the +MPI application; it may signify memory corruption. Open MPI will now +abort your job. + + rcache name: %s + Local host: %s + Buffer address: %p + Buffer size: %lu diff --git a/macx64/mpi/openmpi/share/openmpi/help-regex.txt b/macx64/mpi/openmpi/share/openmpi/help-regex.txt new file mode 100644 index 00000000..ef24b52c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-regex.txt @@ -0,0 +1,86 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2014 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the regex utils. +# +[regex:special-char] +While trying to parse a regular expression to extract a list +of node names, the regex parser encountered a special character +at the beginning of the string: + + regexp: %s + +We do not know how to parse this character - please contact the +Open MPI help list for assistance. + +# +[regex:end-range-missing] +While trying to parse a regular expression to extract a list +of node names, the regex parser could not find the end of a range: + + regexp: %s + +A range must end with a ']' - please contact the +Open MPI help list for assistance. + +# +[regex:bad-value] +While trying to parse a regular expression to extract a list +of node names, the regex parser encountered a value it does +not know how to parse: + + regexp: %s + +Please contact the Open MPI help list for assistance. + +# +[regex:bad-ppn] +While trying to parse a regular expression to extract the number +of processes on each node, the regex parser encountered a value +it does not know how to parse: + + regexp: %s + +Please contact the Open MPI help list for assistance. +# +[regex:num-digits-missing] +While trying to parse a regular expression to extract the node +names, the regex parser was unable to determine the number of +digits in the names: + + regexp: %s + +Please contact the Open MPI help list for assistance. +# +[regex:invalid-name] +While trying to create a regular expression of the node names +used in this application, the regex parser has detected the +presence of an illegal character in the following node name: + + node: %s + +Node names must be composed of a combination of ascii letters, +digits, dots, and the hyphen ('-') character. See the following +for an explanation: + + https://en.wikipedia.org/wiki/Hostname + +Please correct the error and try again. diff --git a/macx64/mpi/openmpi/share/openmpi/help-rmaps_rank_file.txt b/macx64/mpi/openmpi/share/openmpi/help-rmaps_rank_file.txt new file mode 100644 index 00000000..f357bf20 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-rmaps_rank_file.txt @@ -0,0 +1,123 @@ +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011-2018 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for rankle utilities. +# +# Voltaire +[no-hwloc] +A slot_list containing detailed location info was given, but +hwloc support is not available: + + Rank: %d + Slot list: %s + +Unfortunately, hwloc support is required for this action. +Please reconfigure OMPI for hwloc if binding to specified +cpus is desired. +[no-rankfile] +Open RTE was unable to open the rankfile: + %s +Check to make sure the path and filename are correct. + +usage: mpirun -mca rmaps_rankfile_path rankfile ./app + +Examples of proper syntax include: + cat hostfile + host1 + host2 + host3 + host4 + cat rankfile + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[parse_error_string] +Open RTE detected a parse error in the rankfile (%s) +It occured on line number %d on token %d: + %s +Examples of proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[parse_error_int] +Open RTE detected a parse error in the rankfile (%s) +It occured on line number %d on token %d: + %d +Examples of proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[parse_error] +Open RTE detected a parse error in the rankfile (%s) +It occured on line number %d on token %d. Examples of +proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 + +# +[not-all-mapped-alloc] +Some of the requested ranks are not included in the current allocation. + %s + +Please verify that you have specified the allocated resources properly in +the provided rankfile. +# +[bad-host] +The rankfile that was used claimed that a host was either not +allocated or oversubscribed its slots. Please review your rank-slot +assignments and your host allocation to ensure a proper match. Also, +some systems may require using full hostnames, such as +"host1.example.com" (instead of just plain "host1"). + + Host: %s +# +[bad-index] +Rankfile claimed host %s by index that is bigger than number of allocated hosts. +# +[bad-rankfile] +Error, invalid rank (%d) in the rankfile (%s) +# +[bad-assign] +Error, rank %d is already assigned to %s, check %s +# +[bad-syntax] +Error, invalid syntax in the rankfile (%s) +syntax must be the fallowing +rank i=host_i slot=string +Examples of proper syntax include: + rank 1=host1 slot=1:0,1 + rank 0=host2 slot=0:* + rank 2=host4 slot=1-2 + rank 3=host3 slot=0:1;1:0-2 +# +[orte-rmaps-rf:multi-apps-and-zero-np] +RMAPS found multiple applications to be launched, with +at least one that failed to specify the number of processes to execute. +When specifying multiple applications, you must specify how many processes +of each to launch via the -np argument. +# +[missing-rank] +A rank is missing its location specification: + + Rank: %d + Rank file: %s + +All processes must have their location specified in the rank file. Either +add an entry to the file, or provide a default slot_list to use for +any unspecified ranks. diff --git a/macx64/mpi/openmpi/share/openmpi/help-state-base.txt b/macx64/mpi/openmpi/share/openmpi/help-state-base.txt new file mode 100644 index 00000000..06c4c310 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/help-state-base.txt @@ -0,0 +1,13 @@ +# -*- text -*- +# +# Copyright (c) 2018 Research Organization for Information Science +# and Technology (RIST). All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[normal-termination-but] +While %s job %s terminated normally, %d %s. Further examination may be required. diff --git a/macx64/mpi/openmpi/share/openmpi/mpic++-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpic++-wrapper-data.txt new file mode 100644 index 00000000..5bd24e50 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpic++-wrapper-data.txt @@ -0,0 +1,29 @@ +# There can be multiple blocks of configuration data, chosen by +# compiler flags (using the compiler_args key to chose which block +# should be activated. This can be useful for multilib builds. See the +# multilib page at: +# https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +# for more information. + +project=Open MPI +project_short=OMPI +version=4.0.1 +language=C++ +compiler_env=CXX +compiler_flags_env=CXXFLAGS +compiler=g++ +preprocessor_flags= +compiler_flags_prefix= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally only link in the MPI libraries (ORTE, OPAL, etc. are +# pulled in implicitly) because we intend MPI applications to only use +# the MPI API. +libs= -lmpi +libs_static= -lmpi -lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libmpi.dylib +static_lib_file=libmpi.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/openmpi/mpicc-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpicc-wrapper-data.txt new file mode 100644 index 00000000..21646ae1 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpicc-wrapper-data.txt @@ -0,0 +1,29 @@ +# There can be multiple blocks of configuration data, chosen by +# compiler flags (using the compiler_args key to chose which block +# should be activated. This can be useful for multilib builds. See the +# multilib page at: +# https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +# for more information. + +project=Open MPI +project_short=OMPI +version=4.0.1 +language=C +compiler_env=CC +compiler_flags_env=CFLAGS +compiler=gcc +preprocessor_flags= +compiler_flags_prefix= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally only link in the MPI libraries (ORTE, OPAL, etc. are +# pulled in implicitly) because we intend MPI applications to only use +# the MPI API. +libs=-lmpi +libs_static=-lmpi -lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libmpi.dylib +static_lib_file=libmpi.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/openmpi/mpicxx-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpicxx-wrapper-data.txt new file mode 120000 index 00000000..a06f2929 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpicxx-wrapper-data.txt @@ -0,0 +1 @@ +mpic++-wrapper-data.txt \ No newline at end of file diff --git a/macx64/mpi/openmpi/share/openmpi/mpif77-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpif77-wrapper-data.txt new file mode 120000 index 00000000..3f5a7fcf --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpif77-wrapper-data.txt @@ -0,0 +1 @@ +mpifort-wrapper-data.txt \ No newline at end of file diff --git a/macx64/mpi/openmpi/share/openmpi/mpif90-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpif90-wrapper-data.txt new file mode 120000 index 00000000..3f5a7fcf --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpif90-wrapper-data.txt @@ -0,0 +1 @@ +mpifort-wrapper-data.txt \ No newline at end of file diff --git a/macx64/mpi/openmpi/share/openmpi/mpifort-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/mpifort-wrapper-data.txt new file mode 100644 index 00000000..716a8f1c --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/mpifort-wrapper-data.txt @@ -0,0 +1,28 @@ +# There can be multiple blocks of configuration data, chosen by +# compiler flags (using the compiler_args key to chose which block +# should be activated. This can be useful for multilib builds. See the +# multilib page at: +# https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +# for more information. + +project=Open MPI +project_short=OMPI +version=4.0.1 +language=Fortran +compiler_env=FC +compiler_flags_env=FCFLAGS +compiler= +preprocessor_flags= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally only link in the MPI libraries (ORTE, OPAL, etc. are +# pulled in implicitly) because we intend MPI applications to only use +# the MPI API. +libs= -lmpi_mpifh -lmpi +libs_static= -lmpi_mpifh -lmpi -lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libmpi.dylib +static_lib_file=libmpi.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/openmpi/openmpi-valgrind.supp b/macx64/mpi/openmpi/share/openmpi/openmpi-valgrind.supp new file mode 100644 index 00000000..0a3ba945 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/openmpi-valgrind.supp @@ -0,0 +1,116 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +############################################################### +# +# OPAL suppressions +# +############################################################### + +# weirdness in init routines on Gentoo +{ + linux_pthread_init + Memcheck:Leak + fun:calloc + fun:allocate_dtv + fun:_dl_allocate_tls_storage + fun:_dl_allocate_tls +} +{ + linux_pthread_init2 + Memcheck:Leak + fun:calloc + fun:_dl_tls_setup + fun:__pthread_initialize_minimal +} +{ + linux_pthread_init3 + Memcheck:Leak + fun:memalign + fun:_dl_allocate_tls_storage + fun:_dl_allocate_tls + fun:__pthread_initialize_minimal +} + +# The event library leaves some blocks in use that we should clean up, +# but it would require much changing of the event library, so it +# really isn't worth it... +{ + event_lib_poll + Memcheck:Leak + fun:malloc + fun:realloc + fun:opal_realloc + fun:poll_dispatch +} + + +############################################################### +# +# ORTE suppressions +# +############################################################### + +# inet_ntoa on linux mallocs a static buffer. We can't free +# it, so we have to live with it +{ + linux_inet_ntoa + Memcheck:Leak + fun:malloc + fun:inet_ntoa +} +{ + linux_inet_ntoa_thread + Memcheck:Leak + fun:calloc + fun:pthread_setspecific + fun:inet_ntoa +} + + +############################################################### +# +# OMPI suppressions +# +############################################################### +{ + tcp_send + Memcheck:Param + writev(vector[...]) + fun:writev + fun:mca_btl_tcp_frag_send + fun:mca_btl_tcp_endpoint_send +} + +############################################################### +# +# Suppressions for various commonly-used packages +# +############################################################### + +# Portals reference implementation has a read from invalid issue +{ + portals_send + Memcheck:Param + socketcall.send(msg) + fun:send + fun:utcp_sendbytes + fun:utcp_sendto + fun:utcp_msg_wait +} diff --git a/macx64/mpi/openmpi/share/openmpi/ortecc-wrapper-data.txt b/macx64/mpi/openmpi/share/openmpi/ortecc-wrapper-data.txt new file mode 100644 index 00000000..2a3ba279 --- /dev/null +++ b/macx64/mpi/openmpi/share/openmpi/ortecc-wrapper-data.txt @@ -0,0 +1,29 @@ +# There can be multiple blocks of configuration data, chosen by +# compiler flags (using the compiler_args key to chose which block +# should be activated. This can be useful for multilib builds. See the +# multilib page at: +# https://github.com/open-mpi/ompi/wiki/compilerwrapper3264 +# for more information. + +project=Open Run-Time Environment (ORTE) +project_short=ORTE +version=4.0.1 +language=C +compiler_env=CC +compiler_flags_env=CFLAGS +compiler=gcc +preprocessor_flags= +compiler_flags_prefix= +compiler_flags= +linker_flags= +# Note that per https://svn.open-mpi.org/trac/ompi/ticket/3422, we +# intentionally always link in open-pal and open-rte in +# ortecc/ortec++ because we intend ORTE applications to use both the +# ORTE and OPAL APIs. +libs=-lopen-rte -lopen-pal +libs_static=-lopen-rte -lopen-pal -lm -lz +dyn_lib_file=libopen-rte.dylib +static_lib_file=libopen-rte.a +required_file= +includedir=${includedir} +libdir=${libdir} diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-mca-base.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-base.txt new file mode 100644 index 00000000..7a96e7ac --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-base.txt @@ -0,0 +1,62 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for PMIX MCA error messages. +# +[find-available:not-valid] +A requested component was not found, or was unable to be opened. This +means that this component is either not installed or is unable to be +used on your system (e.g., sometimes this means that shared libraries +that the component requires are unable to be found/loaded). Note that +PMIX stopped checking at the first component that it did not find. + +Host: %s +Framework: %s +Component: %s +# +[find-available:none found] +No components were able to be opened in the %s framework. + +This typically means that either no components of this type were +installed, or none of the installed componnets can be loaded. +Sometimes this means that shared libraries required by these +components are unable to be found/loaded. + + Host: %s + Framework: %s +# +[framework-param:too-many-negates] +MCA framework parameters can only take a single negation operator +("^"), and it must be at the beginning of the value. The following +value violates this rule: + + %s + +When used, the negation operator sets the "exclusive" behavior mode, +meaning that it will exclude all specified components (and implicitly +include all others). If the negation operator is not specified, the +"inclusive" mode is assumed, meaning that all specified components +will be included (and implicitly exclude all others). + +For example, "^a,b" specifies the exclusive behavior and means "use +all components *except* a and b", while "c,d" specifies the inclusive +behavior and means "use *only* components c and d." + +You cannot mix inclusive and exclusive behavior. diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-mca-var.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-var.txt new file mode 100644 index 00000000..37ac4447 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-mca-var.txt @@ -0,0 +1,140 @@ +# -*- text -*- +# +# Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2008-2011 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2013 Los Alamos National Security, LLC. All rights +# reserved. +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English help file for PMIX MCA error messages. +# +[invalid-flag-combination] +ERROR: An invalid combination of flags was passed to pmix_mca_base_var_register. + + Variable: %s + Flags: %s %s +# +[default-only-param-set] +WARNING: A user-supplied value attempted to override the default-only MCA +variable named "%s". + +The user-supplied value was ignored. +# +[missing-param-file] +Process %d Unable to locate the variable file "%s" in the following search path: + %s +# +[deprecated-mca-env] +A deprecated MCA variable value was specified in the environment or +on the command line. Deprecated MCA variables should be avoided; +they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-cli] +A deprecated MCA variable value was specified on the command line. Deprecated +MCA variables should be avoided; they may disappear in future releases. + + Deprecated variable: %s + New variable: %s +# +[deprecated-mca-file] +A deprecated MCA variable value was specified in an MCA variable +file. Deprecated MCA variables should be avoided; they may disappear +in future releases. + + Deprecated variable: %s + Source file: %s + New variable: %s +# +[mutually-exclusive-vars] +Two mutually-exclusive MCA variables were specified. This can result +in undefined behavior, such as ignoring the components that the MCA +variables are supposed to affect. + + 1st MCA variable: %s + Source of value: %s + 2nd MCA variable: %s + Source of value: %s +# +[re-register-with-different-type] +An MCA variable was re-registered with a different type (i.e., it was +either originally registered as an INT and re-registered as a STRING, +or it was originially registered as a STRING and re-registered as an +INT). This a developer error; your job may abort. + + MCA variable name: %s +# +[var-name-conflict] +A name collision was detected on an MCA variable name. This can happen +if two components try to register the same variable with slightly +different name components. The conflicting variables are listed below: + + MCA variable name: %s + New name: %s %s %s + Existing name: %s %s %s +# +[overridden-param-set] +WARNING: A user-supplied value attempted to set a variable that is set +in the override variable file (pmix-mca-params-override.conf). + + Variable: %s + +The user-supplied value was ignored. +# +[invalid-value] +An invalid value was supplied for an MCA variable. + + Variable : %s + Value : %s +# +[invalid-value-enum] +An invalid value was supplied for an enum variable. + + Variable : %s + Value : %s + Valid values : %s +# +[environment-only-param] +WARNING: The special MCA parameter "%s" was set in +an unexpected way, and is likely not working the way you want it to. + +Specifically, this MCA parameter is "special" in that it can *only* be +set in the environment. Setting this value in a file -- and sometimes +even on the command line -- will not work as intended. The *only* way +to set this value is to set "PMIX_MCA_%s" in the environment before +starting your job. + + Value: %s + Source: %s +# +[incorrect-env-list-param] +WARNING: The format of "pmix_mca_base_env_list" parameter is a delimited list of VAR=VAL or +VAR instances. By default, the delimiter is a semicolon: VAR1=VAL1;VAR2;VAR3=VAL3;... +You can set other via "pmix_mca_base_env_list_delimiter" parameter. If the delimiter is a +semicolon, the value of "pmix_mca_base_env_list" variable should be quoted to not interfere +with SHELL command line parsing. In the case where a value is not assigned to variable +VAR, the value will be taken from the current environment. +The following environment variable was not found in the environment: + Variable: %s + MCA variable value: %s +# +[incorrect-env-list-sep] +An invalid value was supplied for an MCA variable "pmix_mca_base_env_list_delimiter". +The "pmix_mca_base_env_list" variable will be ignored. + Value: %s diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-plog.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-plog.txt new file mode 100644 index 00000000..211b4521 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-plog.txt @@ -0,0 +1,56 @@ +# -*- text -*- +# +# Copyright (c) 2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is a US/English help file +# +[reqd-not-found] +The plog_base_order MCA parameter included a required logging +channel that is not available: + + Channel: %s + +Please update the parameter and try again. +# +[syslog:unrec-level] +An unrecognized syslog level was given: + + Level: %s + +Please see "man syslog" for a list of defined levels. Input +parameter strings and their corresponding syslog levels +recognized by PMIx include: + + Parameter Level + err LOG_ERR (default) + alert LOG_ALERT + crit LOG_CRIT + emerg LOG_EMERG + warn LOG_WARNING + not LOG_NOTICE + info LOG_INFO + debug LOG_DEBUG + +Please redefine the MCA parameter and try again. +# +[syslog:unrec-facility] +An unsupported or unrecognized value was given for the +syslog facility (i.e., the type of program calling syslog): + + Value: %s + +Please see "man syslog" for a list of defined facility values. +PMIx currently supports only the following designations: + + Parameter Level + auth LOG_AUTH + priv LOG_AUTHPRIV + daemon LOG_DAEMON + user LOG_USER (default) + +Please redefine the MCA parameter and try again. diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-file.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-file.txt new file mode 100644 index 00000000..98fd3a01 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-file.txt @@ -0,0 +1,19 @@ +# -*- text -*- +# +# Copyright (c) 2009 Cisco Systems, Inc. All rights reserved. +# +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the file sensor +# +[file-stalled] +A specified file is not changing, indicating a possibly stalled application: + +File: %s +Last size: %lu +Last access: %sLast modification: %s diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-heartbeat.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-heartbeat.txt new file mode 100644 index 00000000..945e60ba --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-psensor-heartbeat.txt @@ -0,0 +1,20 @@ +# -*- text -*- +# +# Copyright (c) 2010 Cisco Systems, Inc. All rights reserved. +# +# Copyright (c) 2017 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for the memory usage sensor +# +[mem-limit-exceeded] +A process has exceeded the specified limit on memory usage: + +Node: %s +Process rank: %s +Memory used: %luGbytes +Memory limit: %luGbytes diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-runtime.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-runtime.txt new file mode 100644 index 00000000..9e17710a --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-runtime.txt @@ -0,0 +1,89 @@ +# -*- text -*- +# +# Copyright (c) 2004-2007 The Trustees of Indiana University and Indiana +# University Research and Technology +# Corporation. All rights reserved. +# Copyright (c) 2004-2005 The University of Tennessee and The University +# of Tennessee Research Foundation. All rights +# reserved. +# Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, +# University of Stuttgart. All rights reserved. +# Copyright (c) 2004-2005 The Regents of the University of California. +# All rights reserved. +# Copyright (c) 2011 Oak Ridge National Labs. All rights reserved. +# Copyright (c) 2014 Cisco Systems, Inc. All rights reserved. +# Copyright (c) 2017-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# This is the US/English general help file for PMIX. +# +[pmix_init:startup:internal-failure] +It looks like pmix_init failed for some reason; your parallel process is +likely to abort. There are many reasons that a parallel process can +fail during pmix_init; some of which are due to configuration or +environment problems. This failure appears to be an internal failure; +here's some additional information (which may only be relevant to an +PMIX developer): + + %s failed + --> Returned value %d instead of PMIX_SUCCESS +# +[missingdata] +PMIx has detected that the host RM failed to provide all the job-level +information specified by the PMIx standard. This is not necessarily +a fatal situation, but may negatively impact your launch performance. + +If you feel you have received this warning in error, or wish to ignore +it in the future, you can disable it by setting the PMIx MCA parameter +"pmix_suppress_missing_data_warning=1" +# +[no-plugins] +We were unable to find any usable plugins for the %s framework. This PMIx +framework requires at least one plugin in order to operate. This can be caused +by any of the following: + +* we were unable to build any of the plugins due to some combination + of configure directives and available system support + +* no plugin was selected due to some combination of MCA parameter + directives versus built plugins (i.e., you excluded all the plugins + that were built and/or could execute) + +* the PMIX_INSTALL_PREFIX environment variable, or the MCA parameter + "mca_base_component_path", is set and doesn't point to any location + that includes at least one usable plugin for this framework. + +Please check your installation and environment. +# +[ptl:msg_size] +A received msg header indicates a size that is too large: + + Requested size: %lu + Size limit: %lu + +If you believe this msg is legitimate, please increase the +max msg size via the ptl_base_max_msg_size parameter. +# +[tool:no-server] +A call was made to PMIx_tool_connect_to_server, but no information +was given as to which server the tool should be connected. Accepted +attributes include: + + - PMIX_CONNECT_TO_SYSTEM: connect solely to the system server + + - PMIX_CONNECT_SYSTEM_FIRST: a request to use the system server first, + if existing, and then look for the server specified in a different + attribute + + - PMIX_SERVER_URI: connect to the server at the given URI + + - PMIX_SERVER_NSPACE: connect to the server of a given nspace + + - PMIX_SERVER_PIDINFO: connect to a server embedded in the process with + the given pid + +Please correct your program and try again. diff --git a/macx64/mpi/openmpi/share/pmix/help-pmix-server.txt b/macx64/mpi/openmpi/share/pmix/help-pmix-server.txt new file mode 100644 index 00000000..894ec393 --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/help-pmix-server.txt @@ -0,0 +1,38 @@ +# -*- text -*- +# +# Copyright (c) 2016 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# +# +[rnd-path-too-long] +The PMIx server was unable to setup a rendezvous file due to your +system's restriction for Unix's socket's path-length. + + Temporary directory: %s + Rendezvous filename: %s + +Please try to set TMPDIR to something short (like /tmp) or change +your computer's name to something shorter (see uname -n). +[listener-failed-start] +The PMIx server was unable to setup a rendezvous point. This is +usually due to a conflicting stale named pipe from a prior failed +job, thus preventing the server from binding to its assigned socket. + + Rendezvous filename: %s + +Please remove the stale file and try again. +[data-store-failed] +The PMIx server was unable to store the specified key-value: + + Key: %s + +The precise reason for the failure was provided in the above +"error-log" message. This is probably something that should +be referred to the PMIx developers. +[listener-thread-start] +The PMIx server's listener thread failed to start. We cannot +continue. diff --git a/macx64/mpi/openmpi/share/pmix/pmix-valgrind.supp b/macx64/mpi/openmpi/share/pmix/pmix-valgrind.supp new file mode 100644 index 00000000..5c2fb6ef --- /dev/null +++ b/macx64/mpi/openmpi/share/pmix/pmix-valgrind.supp @@ -0,0 +1,46 @@ +# -*- text -*- +# +# Copyright (c) 2015-2018 Intel, Inc. All rights reserved. +# $COPYRIGHT$ +# +# Additional copyrights may follow +# +# $HEADER$ +# + +{ + fin1 + Memcheck:Leak + fun:malloc + fun:evthread_posix_lock_alloc + fun:evutil_secure_rng_global_setup_locks_ + fun:event_global_setup_locks_ + fun:evthread_use_pthreads + fun:pmix_start_progress_thread + fun:PMIx_server_init + fun:main +} +{ + fin2 + Memcheck:Leak + fun:malloc + fun:evthread_posix_lock_alloc + fun:evsig_global_setup_locks_ + fun:event_global_setup_locks_ + fun:evthread_use_pthreads + fun:pmix_start_progress_thread + fun:PMIx_Init + fun:main +} +{ + fin3 + Memcheck:Leak + fun:malloc + fun:evthread_posix_lock_alloc + fun:evutil_secure_rng_global_setup_locks_ + fun:event_global_setup_locks_ + fun:evthread_use_pthreads + fun:pmix_start_progress_thread + fun:PMIx_init + fun:main +}

    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�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�|Ry~#Y>3;!hrqhA`a{)lt{xY#H7?5)xGhFFKSBo>!aZ+Q$>{g<+gV?h4#$M#dh z;zcxt35?VU=TN(>mA2iK#@R=RWx!uN6rbaX3A083=2s~ndL5_jE2|bshJ@e_s4SKf$YYcpsLFb@)z-ml9J`%+wiyH=@qf zNGz(?=OZ?SJdF`!;6#1qICZRTJ}W$4rU&qoBl>c%D9MrG@LOGl2+jrcxm$Hsi$J0}`y~#d_e~TXaj0H*_CkC+!h<}V% z;1O99p;EYlao-QwM-0s~C@3X1UubT@b9kc`6jLH^0f+;35!GjG5AjR1$#**9zC;|b zg?FE_(#uak)sfZCe2igPOUn+8;mha8 zSFl`()9^5j;ip(E8^b+_T^;h)_~Gg$sEuH^1ea1*VhG=heDEhoLpYs2k>V>ZFb(0! zc%dO|N18v9zE^UqU!(c|=$Yq#I)63}$M)1Rj6HI7gavusZoBIK0n z4yxCtF~oVUgJ=L(fU~+frCplo-#ALDrf=B%ZQV@kEk{FCC&*GKC_qOjvE%fkI)WxB z42<)DWtNw9k8$fCV7`K2J_j%(d=G_%-+=$>3EZcVLn(-G7ayWo;Db~S<`rm5enpVL z{1tqM%&Xo)lB*bQX`&#Yu(+e@`!t0DpuQSF=4t$&ucG>ekV^r|E(({^8mT|`FD2W$ z+{$?Zf5*`HCP`pSg3G6}?F;j}Y}=u|8u?e5)1};xi^Iy3ax2W~qLe$+{4U$3g_S4e zmV~|2c+WkthiEkDxdzZ3qp;i;r=7MC*^a{KWhCxXTW+W6nrrhyiN-? z*alOm(ROJlt$!%!37y zZpIQ2qq=!FVT{krt0;_7O*1o&<0pQkrD3@N9TS_G)91(kgXKzm84uH_u4A!mR3~UN zb6{ATN%;kqhfT`2P*95hkdEZb?7w82ix(QvS0c@57abpM=kE?kznKa^Pj{gyNqv2A ztfdIOQh-2^DtB93f-P`7;A@J2@t(Jze*;($jW_i<J^5V7{m)xHy zww9<6&a|@{?uXTq?K-3YDQ zNoXEEJs-CzLc^xc;j9ZWJ+zp6DMrq{36)@>8ce*G1$L^hT!i!SD@YPu$U)lk9Ewm9 zTkuea@s9@SkbOas0|~NJ9kNk`D>*j?SzPkvfh$6NsFn8wFK;1zN{8lQ~TTBmh^u9qzrHK10Q>V4uZLJbxd(tU{C(cmVLl z@q|QkL7*8+U^o&F?qI;TUT*>(T@J5dNL?@keiAOY7y!Kg6#;?zalVCef|%v*V)*uLJz`gD7iq8 z;H@wfgAXU5VW&g>2F`=@qxM4-1~xPNMWz*MZ$!AQKULJagnSqUeeRYAj(GzchRZE^ z;T#it*)&k4bDRTOv1B@! zc=&Hwi;{55<%ks23>7Y%|4+MdB6mxmzZrl$O}UYY`gw-sBO9ETSg|R+!*dpK{}nVOlyOk+A0vD6#tZP; zhAs@>8E5D}GML2`m{>-DS)^}=5(v(6`cc14LE#XMN$GSc378Y9vf|Bw3t^HX{Hd#j z83U?g0UWVe$#!fTQC6+@20xi;(v1rT)dBd%Y2B?jdq?1_E!TFnWHrpTi`Ju3#u~g( zmcc}75JVrKgY%N@eJVxC*y2KL;|dTuGuXQEe7wrJPf(&Bds=lNmcYX(%zc1=cVdz8 zoq7@f=tlELN5k>skET4~C}WZa|D!E)(bq$1%uE)RVm7mtT#05Zw1e1@Z zfh1}@H;Ht6B9p{|EhhWg35QNY*dmMHO*b;r&XYK~NJm931gZj8nR2EWIp5_u*K0Wk zQO@K~4gn*}>5m#bsF&&EIp5TBUP|b%RfT7;io>Qm7YhyjF<(FOE*E{Xds{r|j`;-% zj$xw`JeQgPdD$pFi5KtEiXTaU6g%dRN^n$?+nyWju0b~>gJOsT-<}35Ng(1J?hO=l zu~of@=+}BEZfXPlQL~LomfyhevIhqa2`?_*hA~h!Xl>wY+3@i}{loat z)f0lNg{7;j2{FFo-KV>jod`x-gjd(ye}zl>nV6HX9N3S~#^F@AoKr{iJ%_p;pu$ZA z*&|}1M2^8{BGx6H%lIsTXsnC$@xxU?poT6Y21Pn}Papz(T#7VA)ewvXpRn{SWdwGZ zV6D@2`d$2@9KMIIS+>YyW0-O@`^p&4{Y5Z<)!s!!cn=0{ny&rXNxWo>Oqw7pjV_To2}^q^qtWm>U+bXhvze;mbTySK zENupCbT&~ej$0sF4+p=4#?=9j@M*Qo;mv%!RT^)kj>Y*_JyBRXGN#0onUrkAji;+` zqU!?R=-K6w@P9lCYYD(o>!L&niXKnCDI-@?0&=z9ov6s4h<1S%$3y<-4T0Nm5d z_v1&}r$+TQ#Gznz&Q>cC_ZP5z4E-JhEqdWd6imOV_>IReL;F$OO;6jt}n{hdkWb7xRqDOSn-lZFA;c&z)K3fMB*h9 zFWs;Ri4v8+M2d4xlP9ieAJaX!fzHqu2BPRZWWTL%??yu~d#72^1o)gY# z`PJUZ+PQCgxCgC;?fhrK`#<7(j6xUAd`OY* zI}TBol1w*~C4s-n)A_JIqLv~m98HD@*=Bs>R#1zYjqE6y_(PF-ZK=_RzP`jj9&aA+ z+2-+1ey2Mg?*LyL?>$0nCT!%(KGMAsrO%;&#)VD$kD>JnAM(q46WHbF5ZIj@pAyaq z_*+Q|Xk=Hbpi)SgWeLbf{|e>zXupr$<>QiTC|ZQ|wCX?+qQo!4K>_D8w)mqcV-=K1 zrOWI#MCRXe4t+$MkWxzpx`_wXCG?W|+^j+#4%7;tlIcGpku=fe0No{`D`8%mivU%D6CH{^U zcgWw{^fJagRS5KhzMkkogjo4R3_Z#|jiraha~Bd~aZfHK&;tqduy|aQ5X}?lfdqPB zvx*Yv>@B`vM{qx7Z`e_3I|Eg=oq@_(-I#@d5p5Pi2=XwSg&ImQN)7p&i9oca2L4I- zJi|L%fG~XX`HJpyfP5m9KMYtM(pUU$2TaptvlAk`-D)}`nwErje0+-5vUgz```Zm* zTm0$_CGiynZc%$86SL^U@*n{_;WebEps#)cBcV}ni4#Yro2A0-nB{#V?U-LjW=3J! z{|cEfYhmX@C0mU^9KQmClLtuJbPI4nGRN8>)k35{-rM$1E0Ql-`=+jB|isRUs27aD!F)vTi+EZ6&52Rj9)ip;T? zTdD(KNzSad*a8#BK%`92q*L0Dy=I(wY4$*^rn|?Yjk9=!Fw2% zgptC-gHVGD=7@?j0cWe-JtC>^%TXrqyyW_Brz)>cI7NZe2%M%s5P={}-MdxxO(5Gz zSJqnZH~u}y&$t;2Ii(f8T`iD5TF9QN&JRoUI_XP*g*wR&9i!o>cc%Yu_=xE_VC|2( zhr`M%1aiqj*raE}usk~fHtCtLE6+@T;W$q2BPtb^HR-p9H(@!55_pup-YGuJ+Yi}*o`U}0#l&n;dD`0{3UK|WIRSm zTvus~0qm*K7+CoT_~=7neCWH67e_Bo${0V0G zar=)BzxL(73O{LB)eryK5&plQ91cHa1^naZwZ*@4fq{RP2k_s_O7s%`mt=>*FPPz< z8iHT@@{hoe^^^296ETTX4mZFAaHr?SLDD&@@knWl`lbS)i=hqNNBW`pxAKXm4-+|{ z4&JK9c8Anqy*|lKe=-BnjvA6VaAW+L>6g66^81Yp9=7Zn9ajM2NdTciKs;<9KmZRb zv_h8%?-QrhC=H6sXgV3FO((>+m!?lBscVQSk-R%f*rXDnO)B4qhLt81g-t4L<<0i+ zoo$A%XE=NnF!~Fh?~02#n*OKeySDHZuSP#kn`A=aBNZA7VLtu^=#Dgs-^y&&Kp0$c z3kPrnVK7a@AXbU#UqdS<)*ZA9UkP7|b$jh%XQ-xUZWdvB=Btg-u(|2CvDuDaaeu+^ zSB^6T3kqpIAdU4Yv3P}u`0WV(@4ySpZ+BLsdh2;Bo0F9wrmtOu1>^~VsggCY^xJ?sx%0H zRLP+M)?D(;CiTZSWZ35I&cRw+x)f?+8~1`l3hXeTI+QP&KWPr%O}_!(5rXfe4qHEh z?Zysa^I_vmgYBv|uzhl7*h1^C5Iox9OJ;7&>2)nB1>nIS^08YkZgt{9Y51?bN*{Zi zEU`YPRk)Ja>0$Kkt(724TFV1q3V8+*%`^ez<7B3#(@~Te5vX# z-h~F0EF3H6{D{U3Y10@CHr|+FbI_Ql=AkiU-AxOR2XD|AotueatT85-*P=1B5TQSr zxN3V9ZsRR|#tf<16g3<^POriOZtuo60d#(m`)WGziyt6G=On35zH=%lHyif^N{4Z~zy|f>xmcZ*%`!wGDsLmo$CB(? zCfGZC%efFV+9f|ilD#Nj3n6HmXBZnDObWtBqT<~UoM6Xi*h9r|*{h}kV|eWWB;Xb~ zJNgamA)EEv8HWgym!OaJ9k7!&UfYJaP?(oWM{5~P@(l_2!T_JrkJ^Gh(Tlf@Gqsz# z5Y)I4I`pvSquq4NMtz0e>_m3*iJHCh?;MTyQe8@X>d-JLBtoc~LRHOfV%EH0fJk|sb4G(}*a0YPFP2f;g0%x2CP7CBrfb+_wVcSu}|Ps&+HgGuS5FgM3Kn6xDq&ZZ*%O7=iqb?2PaCX$_xXi zHv@+xa1IXD=(mNy`51eWd=3JUMsaXb&Hzp?6F8KWz`0ZdX9Wf(u;WV$!;Vd;dW#Ya z?ARGNix9`bp@f$A*!%mD)brLm( zz`?->j4Ty#92_df-%MF}XU%e(umc`*a&g|cw$j4*?PNrbTT{)~>X^Wy9fb|@=>^YQB(JEJ)`vEksv3sq@h z;M~N(>1TjL#rRKy8EW8s=rUm^o`ZAV8Nd-t;80cqXOITYCsd>oUphDpJ6(mUzfyvM zo!c2W3lPU?hl=qtyF`wiBr`Z{eXS%uKD}e?l)?RmK1onk0_XYHICcheaDEsR296+9 z(QT|DaHcYFf|#l}I8=q@)Vd5)Qv;5+uJcjYfD22qO63V12DKF$+47*RN`~P zA?hwv6^B7osYB#8Afl4|LqZVk8fAj0JBMie86X;Nf{3ybM1RsC+Rr|X|9eUpj(P}H z>nK6*vN;R!#&Gm80vtzFlK(l%rDQyfnwdSxhaSy@g4Dx0_AWESdJg*{@pVtf*n8|D z9edqsC@aDG-YbMX?+9QnG91pnrMQls>A~IdoXyA%7(IPBeA?GoUps>1NMI&w90wuf4r{g#<^8kdog5`F38u3AKYcxJU1&E5Gww+RC`usmIYG{1(8W zT0hvLzJp&j3~Rr@??x=M5C6_D7M1;89&`HZ$bTKGH1<VS{Cjx^iM9Oq7~pl$yCcajOi}WeYNT>aA`*)eKin`Rpd;II_|~r zRb&g^DaV_v+iYi#G<7A(7-1xaetqaKp;e@3Mu^&Uv1TDF&wG9NDzdQ6Dl(T7miAF- z6*&;pKuVYWhY4Z+-L~w`o`QvBcVLW-n`F|u7I6cKcI#<|zl%D;ALb$8&pnXg z&!v3Sirx*OOznYh2pNaaa3J+$$4HGo&=#pDo)1T={6ZK~S2}(NsTWKQA+`VX_DIcU z<^88fT?Dg36H*Bm45>eZ6x$)yte@2PGj#f7`ppA`BW_X6b!<3#^3(YYvGCf~6v8Tc zw@KZypX00=Ul|&VTY)x0_p693RQ_Qh?xWbA#O9*0M(l_LTmQ_kMK|9a@wP`+S5~Tb zJflG0CtQs&5>(}qz7=KJtjrh^MuuFGaWgi9{_)CtdVgfQa`#a4BN2@{kjY%szpQ(qfayT*&bEML&HxU;`x}n~hha}(34VGC2qMVN-1Esc@v~4t580t~@zkw-@bw_A~ zs@eN^%SYp5kiS@*zkx(eoEIpCGpzh3V8fQ64(xIgr@U}_%Jvhs8ckaXnym(Ahh29; zb6RvCNE&M&Hnr!uwA~3C%63clz;fa^ZBV>J8x*5xgJM)>6deS0qM}-nZbDUVjY%jh zhO;TAea853$>~Yq0MFmc0e*%C8PgEQ6lR?&-Dse-^V7ViX3#K}??J&F8Fo-X2B6os zD9)fOU390$Vp`Ql{?fkF{{9p%y$?zUI!>Nz>aQe<)6MO*{-W`GhW^?FJZWS0m^wi# zcLgGKh;h7_Zv+9<_B=otxc?3UmB@@p?7OKtwB3wSPd!P{dZz-?s|-jJN^xXTI~0%y z9#G4O&oiEb$(aCcLULg>-6fwz{t?gO)Znot^C2?=5)_I~MD$`D`@*5{?EGq>>RCFG z6fM=k1DFTs;BGdN7HfAoaM5e+3ODgLD^$D3!LS7VKel z;%LhKF`*Ro4K{kcU5S2u^_hiPCrca6ma8WE?~q?_B{s*6@cDcOj&y!MV$wkalOHbP z{l1v`2mCKf9|j%u4Ti&&w`*k7qKfyn@0eRzao#DKtn?X;_=M6)E?LngDdNqZQEj?p zFQ2C_amhWCs84#hWKU8I?~e~4;i5mFeQ$*J9lItov1^k1+p|}P`)B(8rFs6E(@1m- zv`oK^O<}gaYziw`Xv{f}Kf&=sauo2hCiA!O6PmvU|Cw;Z?2bb7SAkYmBXAu)f3YKa z#zfBNuUC-Ej3*c`>+{!K>e#UPt5uu71{?5&=CAKd*!=a(J!q*he?0^%XtFyiG|gWp z4!51ZZo;QDf6Zy^O?cu{SW6$8!ubAWn+*_c3Jc-CoxRJ*#|fWp?M1wo>u3$LclmCL zwuYq{j@i3xxZAL|AUTRQvJOAScmdg4i~?jFvHvZ5moWLTBl#zWqco>hnin1o zY)|#-YWai&L`^a*JwG&mLn^HG^w2hCVLkLCOw%xN(`nX&YUY71#^E$$&1~)wX5UNn z(vJVsFX)K>{DMtD-lj1AbMwtcvo!v5_3iEW&tF)H%-*XZ@qdK>bWHErK*Img`+uF@ z|60|C-nU@Su`RueIGCw1$Pm3}mb9n$tF_V?y}!}p-=ufZ|3~Sa%~u`MOYHvtqnG~y z{&?T~HuUlq_8HsKOYfo%=q2XX_VkjZmB#30dbfX*UV88QBlOaCer@}HhVv1Iexhx9 zhx~Se)Dgd}z;0s){Pys52AVW}yXTg6{MO1!Wc+qg!hgnZLkG@j{X~aQFToL6w_-ab zpkO-E?8vI5CCsdI3;D{jP>yP%DYvUj&dY>_G&_xfdpYXOvk%ty#(Ip~dx~VV3qvR} zZuexkr74@S4Dv#sF>y0Ccitb!EO+T(Lr@j>bb-Ql#&s~y+w9KT=b5aI{=SPPFdq5t zq+>(M%*`+eJ&)(gpw-kexWK_|dYI0OD)HabLvTWolTmIem-JIV?53h0c->J0{~~1P z3+erjogeva_;XG5sFkde87>|EQR;la8n^=RynVI-|1CV%`3!zxNi0&&GnGQnUcsSV z`uotf$G1y6W5Mu^LsmsFgWXD}NJpchPGJ>&r*7QEFpl1UwJh8zJJrpoIsk8o8Lhny zh!^u*I0G_qGo2h$v==)9-J>S4{9tFc&Pdf@csa zHTV?3!ch6{Sqzl~-xQvUP-(!o>wFU`o&QDnPMZr3v>08j!S@5IV(`U>;9JFWg~6wo zi+PP@2=D5D9e)nizi*oh9@7rKLLI()dKvf|*a3W*=3=7$UHCFh^fv|$)v1H8F_--I z&bA1A2X!$7u1PciEa$ll1b&2K_MB(x;9{1cV+0!W3!hKI#z!0YmJ)o?X85|agD*~p zZ*T~{Jv&${!r*(%3|~FV@UO!cHhy{kE;W~X7q8efKJEd)41G#Z1AX~zz#~>O(p*f^ zZ-Dokh;zRJQ;<>`$J7G6Lu@ zb1OsPM4IC0;7is{?}$JlvaCrk04(Qu;M#;HxS*H#-=7$O*!81Aig|_veV&Y0rvPM} zz*^2FvsOrE`h?PsADZAzH~4kXQ*eafMNM}Zu%6s<23YMOSU2-L2CU0a!pZ*B*&3`% zc?J`#%K&}Hu%h$Z=FlL6M9IIg41zdTnClOIV7 zJQES*NB}NlF2Im$a7N<70xn*^Whx%a3U%*hHuzsWgP<0MZ|%HWnEabf@;f9{s{2Y& zj&&EqYq^r~sHqzDVO9rY1Wbx|s^tKX4Yb#~8m+jV=c0ke76c!ln7-y>vN@<>f?7us zyJ0UvK9czPKpek1>H(+_#IV#TBvM4_x1sd3ZJY>qY+}?=LPY4!!U6YLSm~(SQKjF5 z5ON=nH%R(@o;iye{h=J`t3A!mT_;RW_28ADhZg$n(2{-0}J&!KD_ z6cU~}AQMqGJM+W9s30>8KmB1DVMm5y22(M=hQ}39++IDdnB}{f;?`?%{L_ahigx^| zIH87RdmM3r`&h(s7V!^?xS1mOM_0otjG}* z(KYnN&3NbSowCu?UXM+^1MROn(cibbCCuX%eM)9@X#Um4w<+dty(-MmU8`m1J1s(S2C9W;ga71#G8dxr`v=6?7pf#&a(NR$9T^)ILB_2k11f(2eyu zozUsch71QGBO0gDv}vYh0~;T9LXwmF!9eZfQ9EZsRQI#UBPx%R`w0W^sn{yUuK#AZ zL?V+LqYd%T!ea~C(1cRH#jK~dfsXN9g>u*s03V<>OhTL3V51+GVB#VuuNvrs8i#aY4O6lH`u=OyFtGeWHPo;fV>J2{rPb85<;Ydn z+MlkDV`>6;?5d{ODR4;hFVR+C^n35d{tel)=qvQoqTB`0O~mE7K;T;1=-a9~Q8k|m zvF}hxH=2U&V4LBI321|m|21{P64so>XihKI9HFuqW8CG-NrLTww^}G)MX&PpN!X$D zzDbAVjO}uE{%_`D>NgNv8i);5*Q(X9lf)fewb1WCoicee5uCFY5GlAqP01KW5fVIm zZ&6=c&w8hp_to2|A2hO-EIrr&N9M7eal&yXvXONOyjH3eEE7&#mLdS-kQrH^i#M@r zixa1-Kq<+9q%eDMlJM}&gkxN5fRDx@Zvejgac`JhSPkD(n3TgO-b|CxV5ot7|Fvy@ z{Qi21t@i@pbTH#$)Tw^Fj**IK!SX2@#pbc?os5z41kYs%j3n<&GZ%9|%h0jF7&hOw z(Km$Tv7??ba79nN@KG=+1HL}(;OncymlJ~T=e4XAVes`f7xOjC@H_Ce)p!0ceGm6v zqo0R$NNZfuCe3G#i{;D_~oH^$T>1%}R5omNN&-bXzn$mLQl`H{_Z_^z;cZeqtH zgo=+bq+sxb(cs-kVr+?rl)L;M2RO@iG|~Yli@y~E*74c*pyTEANB!z~-CyQ}I2z{h zIjEC-O^&79^~eoSoKh0GdHJUf4ldXu5`+nms_t-8fiV0HE~h{0ETg~(USMDp8bNhC zs{ce~-itDYrTH6ut({>i)g)A0%qu|!lSQq)x;vgZDBQ5^x;5!!u)Nljp*6+v*_Tu) z{ZTs`l`65U71K~Dwc4 z#gHo(7w$^JmOho@tH+(gM@qMw)>MYPY}j{5pJPU1#=ob~35yOfz}&@MxbvYW(NLos z{A86j1|a%QBn$Jt1t1XHa6>^to&{K^TY&EyK<^fI1slEJe_n~BCKj9FGZP{_seS?; z5z$&ifBzdi0`Bj8t>+09^YO~^3Ka^1ZfQ3ka0k_2rk;Ym;!5e_F4vfY+C*)%PW;3Zytb4UyZ^M%KPOt4+(=gsf=In+|FMNhfA2+P3r!==h<+;`%2wufGp*&Y;T&7hJnI6pi#^=8oRfgl2aBT4BEK5N zv0~Qh(gT!NEN;e?f-dPwkmYaEn@Q&MZdCi-%leh9EQaF5q2p6>G|m`U?Qyow!o>xB zkigek=ObjSwd6>5aSOS%8ngy38R5xUv2FT6@BG1`Mv^<0CkwQ82Gxi9!}9f0Hl%93 zXOnkHvA74>Rvi5t(oAur%UVE&iay+~u;A$^!gol#fc)eTYTP!EM%-N3NHPR8l?MFx zBBQ(bd~%Ov-KRc_k~l!441hi!VPKsAvT=ammYT--zH?6oEU@-p;35YeTit`6>E3Y*{;l`@crN|%IZuz}$5)#7sOFH1L38Ji)Uw}XGVJHH+L z|3Jo&$q8JsZdJd=p&1ad|9K?wripd?BGsDJdfV@Yf=zK|TkX^%gxH&|CCFURZBklW&kuPQNpd z&r%fAhJ3DV2T&g9XGsV2a|v>W=;u!cM9~IB4~9du3Qfbn)#&GqzU}E}3%KNeNEI0%we$xT{1|r$GIjE*Ibm?FsShyGKxoH@_mtj3V9zPNt2STX;k88nc z&`}H|9@|!5smsgZ{CVab27f;1O#C^*;Loug@@E-Pa&~yRs-w3mH;fvNI*b9f?d&rQ zut_MU%>XNlYDb^AbOGbbCB@;!*${ue1{p)+>(^B}K!4k(1JoxRpeY<6ZG05~rndaq ziX#8h@l^{p*k*j;GF^ zgv~R|zc9XR9Q1{*VvMhFa1Z!ZgPpNCWBy7V->2Hc=i^oF+S403jrro!dc8Hbf3G9|vtePaxsbPpX1_SJ#F+cc z;>J7_(}tYi2g3^|2YtQ>M{vMD4>?2he31ds#yvVjqr)LuG@Rp?%Nx^i0eo9}PD7FZ zDLo(JOxLV$;`2pY_#4d(I6}Q+g^tohqXBPag`spqu1+9~o?t-lR$Bh@YjxJz1eaPJHU*E>ufUX1@v>fWCJ zzWLwgzklk8|8^wr_*2dNH>XBNzPeLyO>RaQ^54iZ$hoT98OXU4ifKd6&1dAljyCJP zm%{k(+n?zWO)?-_ogM~JB8NzmCyphwr)SrHf&Y@z`0xqj4D$L;@ZV+J<%`bKc0)>} z_1+pYYmQXE{8Vq-gFAF=UmV`HtjsXl=|hbR$;Mdk&6*lEZ=0rvJnSF*o9n$lA|H4D zq(i=JmXE*J_%eL&21kJ}M}sF1=s-R;?=LI1KYz<`!Sr`^ml{2-UVOPmc*oQpf?1!^ zn_W&siiV)704hd#qr!D1zo9QYy**UlR8xI5mtoR|rjJkSFLyOpIXt8;9IC4e;m>(# zXH9>wx5Q8yLVsXV8bW_?q;!)>i4$6#o6om}?9&w64JP;wrG@Zut_GjR1%vTs0ROA{ zO!NMUV*7Gi2w!C;cot-Ed}*qQd&A%v6GB)X$r8}7HZK(A?j7nQV5|zPV(IBy0eu85 zLF>56HAc)jT-w|r_RRagruiPn!=#B#zF|-}(W(_5va#Exug{>>vhv0-ot>t;hk8>= z#qsQ#bWMd%mLRXhfz>g+JzbcH8;3Bs#w5#D(h7^xm}ICZZx)&~rPx}tqgIReh}5{hMz`KSY3^pPziYe$U;5kwcg8dXcu>I;b8GD^<$LgwiYJ` z;;6vUjZv+r9S7jB1&CeWVq72B2)|kwR@en-uPAqX#*Pv1?GQg^GCQ^<)UC|`Ojlzr z9jbRL6AquIqyC24d`75S?`g9e3VFXVe=V3MF5k!}t~Jr zH@ELBQ~Nrb+PCRay?tzUuEyd0Q2QPXweQ}J+PC3M?c1P2`AY4})Z2G1Z(mQe?+Dsg zi{8VwG;3kaN2V6So4~5l*W0zQqyEEwH`I4H1WwKnF5evLztPzE*8A^Rn%+M6Hx8X z;`X($V*idDKo?!!BPt?{NM>O?j7`Q<#F53j>rh1#P7zw-FZwnP^<`RYX)G{xor<>% z9KQ$qP4Kq(%cg2=n79!(l7=5Fw%M!uwlEOY3X@O zVH5b<=N;L28s{#)2s^m5uIGl0V54qjipf1U^l937XGiQY&NmR`lbOp5Z?ZgdgL?g> zQ^67a2Kp$AKh_)rZJfn_9Dj^*qA6yd zIi?fEd}EHGE@Zo8##eOU-2c8gPZx@L$s7|)F|=uCd=-b6z%1i6o?h=YUP<^2++@7c z`Wj|udV3S-b%gQSjb4Wuuifbtd*&Hm45BSN+TXiCa}F0c*T@y}(x!I8{DN-eZrWf* z2#X%JGg#9bC8@!GKpvwJ+h`e#i6D=pXwdmo3{`Z-V7$=&SUv8=Mj17Mj~8BpY2gn1 z9>Pz-?d?eHyFQc{6^zPwq&>CHyyvZzw>+HchZ0FdrDu4 zUq|wrKL3C}lW_zb<`XM@a(#$L>`xBk5fgw2S1~U0g7FTv>lSO%ErS!epUD|6mVP+nBFUVzh&d zNg5-!8ojeYeHZTEX!G!VqI)tGg6_YZY%Rwq&u35(=G{xizofM|^4-l**|Sqw4lazl z5f_13t&Ym8J6X$0F|~NIC?bL)aD|)|SI7;ah)9aS9dg!4b~)2H+#xsBxE}EDU}lkl zL@1nLe~A4zGrq|-imnSpGpf}G-s=Je#M**3pkZjoKUq7z;na1bJoBIGmhp@Q!Ca)% zI&{Zh+~6J>r^Ylf^+HS&4HuE*!jVG7!0^EbMHA?=ALgHz0SP=;B%}H8;qs2H zSE$1PpH3gq;q(#RmOi4}(ns{aLmwj=%I$<6B9JC^@;hM!!kUf7tfY2-02@Sf@U8O9 zmFkkQAQ6X@4>lFQ>&x~;BIBf=`bx5aLx#N{)f?dy5k_WJ^b!f^unGn} zEN1+KY_JQZy)qR9Er`y_3keN@A7MZZ*Hdckg+u|ZVqHtjXr*s;p_0_MhLIX* z>DIRlOon88ZOD;uzd^kZN?f9kUm5Z>`Z$6YGt2m|(*w$%_FMd7L_?IF(}MeLqXm%9 zt6j?TeaXy5V;s^B)`%B&upZ5lBXiL=vpos9=)&3Fglas3fleh0*{!ouBsme9)4-6E zJ#(>8MJ_AR8N?A*fg^lIJA7NlbFM96dp)nt^)e4klILI5pn3dD2$ep+pz zbS$lzd|)Z*(0fdS6gmk){FS|7v1TWKfxZT~teXPQSF~Pb_dbxZ2*!dLGX{OOrGL?+ zzqb{99wPti*=a6ACvu6XEa1> za90E{Xn4S`2S|irNhC9|010sDmi%g0V-yK|`b@#rw(zv0&N#>^e-P?5`irl7!D;rZ z;&z@Mi*(=2m3p38Q@}SC1DRmycgMsqkB1#DoHwYwv>HgGN=ACr%r(jsCt~p<$15Ks$&IzIg?*Ewi%HvuY zB_GNgn(yWA!fI*a^HPGQtkLWRU_1g^q8t36t=Zc>dV;i=kZjrp}yH{o?3P2BjZ zR&Cu(s`XVBU_JZ1{b>F^TA-~mF$#95P4JM*(ml5PiXXfp*!^N~BH}`5{$s$IP!$Cp zL=5{{WF+g>@lG(gd#CC)g+J{ioAmhYeYg!H@L>sD=${phFf5Rs@ zR&cC8vPzJ4>UKwg{J_nVdW((D-kg&)Mll{|;#71y4eyU{`3QL$Wf#ghNtjfGaxY$7 zcLa&nRpB)@xv)Z|yL;oBqL~}WLuH|>cqgc<1oPDzy~F4R92g=`T%#6jV%?liM-j%1 z(nKw$>ikhXhkM>lVN=B_yDMvZ=_kO%^{e7(x9QT;s&mmswi*L(#Y{{a>hP{iPW>Q3g;>@?m-5*m%=IsUG)l(M-#Zf`utg zO&dl`-b`yQ^1t>?_<1UQJxlo0j{4&nIR8z z7)KsSGB=Bg`GSN4Z8|Swmf;9_?Um~xS}^vP{+FKLXbWHHJO|xReOgpzC*TC< zQMD5g;+T8GIHt#;`G&47E%NUNaclci{QfEWMz-D6p9Ut$L#n8dJCvR39^|Z{DUe=v zs+|9q5^+Fd5AY}6$*Y}}5^#>{y z8!fkCUXaVm@aAhx@WwUzC`kVxe`2fUA%|Q;!n|4tFvMcH3@OTZtMoVpL^Pi=8B2^zPP6|5CEHfI)*}vt&8w%u#G|%t0?Cd;Hma`iI84T zY^)+3$;&GNv^wcU7Q37-rchn%C6d47u$PfB{Ow}?mcZZa{H-^C>(1Zo{4I*VCG)qV z=sqa@Qu&+8-!l2zR{oa9-`4Oqk-ydOw{iS!F@KxP-~P(qZsKoG@VDFf+g$!OmA}p4 zZ!PV0OCM}MF2D~1UxYXXS%Cy*Sj`hGwa#`XVE-Bo$KbE`z*AhqIQ0^s9vK- z2WatT@O`4i;b*2r&;q1tyzILpiZ1hf%SazJ7QHtvoNEF0r${9K?WZPv&Yf^0c8rHt0?Chm(jx`QHEo zHJmo-Pl)mrYQl5)P<|)|CwEvNK|TE}3-nfh;Q_mPfCrM*-8_)0ZsmbYbsZ1nsZBf} zs>^v`oVtVuCadrAz)k9FJaD`E91l!YALD@;szd>-gUP2sk^dpQvHqd6x0%pN90J%D z;hI|94nn^c{MJH%Bt?E2PJLp(NGUu7hIcnUgwz=e^~E7I8!sPPS$}6Qf*jIkN^PNES8weJr&ww#qNXNTMBI5Y>h6ouIoWpB9yzRU~7nDg)HEd>lTcygwom zGa)TbX-VUdNLa#L!|peQ=mnqRU{E9jWaO}O!xJItlDqHxHEyMFt@=zE*L|1J`EcFtn9iSf{#y7P>^2)PjF9@a z$b}n5NbZ&>$XSJ1`*3F4&E^LP$R6?wjX0s=UNFBv`WQKGuj4bcPICYcsB#bNCnC*w zkDdMPcW-Q0OAvcZ{HrW{g^JdX?P}3?s-d@4GBS~w?Iz%oAS@@2skQ$A>Xh8~krBz~ zp#t@bot=pdhKX_}@g$FtA)StmF7nGycd>Nn9}Q!DBFa?nL^#}`F1TIIx42~+M!p*b*>YhsO1Bp9suMT07$FV&DbgmfnY+Xu8*EHL2vMN)L^)X zOYDj3{v1oJ%gkhI&eAPhl#FBaub47W(8c_AOD55tNftdwFfop0l0j578wmN^TmFS=gqe~)& zSYc^FL`hvOE;=HbHUDGtkHL@T9N3K7Fd5-!=_Nu+MJgyqNKx|GW6?PFc;P1Yczr5+ z+*2l`cozyOGhcQ~N;0C{QiUB4QBr!d$D#!G_$Y=RvaKpn7w^`J)x^t4RVI>BS*ftF zoMa=A5AiO)8Vt;dr8O9v!*?=yS{B<6qV0O@|KqmWYEkZu4kBMTJJqe|Kex3NdCRgd z!GX6%m$lIq{DMB5{<*7or5KrC>i}QJ(g-Rs`pydzkspL|KQ-8Q+UoM{3}UTQm~zlH zCrEuM%=-XIr15-k5yQMt{t6;oQX@J5ew#hfB{+I|vE_H0Ar==d7JbKY1e5Dun+O)g z6(bcwkA#aLj|$~vN8~6Qeu<|S`gQG5RM)ry$N(~f>fFc7udrxVJ&18D8E;ZPqwEh+ zg#Q=(0SbWUq@Enl+4*aQ@=hd_W#X&lv^Y}V1~G=3k*YNV4%ATK$CQJr6{uR-w!Md` zoaIOhETR0DP+F}y?Nv&977KTyd$h(?oKFpbkCtCT;7%KB*h`r{(E3wE4|=+XFhEV7 z^QajKBz4_OFPXXG1}TrLiDQi^`-YaU8Q)Gdq(emUwk2>%fsLkH%3$OwSm9@IN%? z0OOvqfk+1<3@Q(9_KDx$-O9hYmVM(%L)4Wl zYNtAiMK#5bz6;Kzd>Pc1Ig{nY!RF6P3b~e5fC0hcT z2QlaYvdy+++vY$?<%z>LlMzrq-x^7YZiJEb2VB3$w1x9*`w;}Lwy}qyF|?CX046Xi z5l#G}oxZRvcg9>`({ovaZ7uRxW!pV?muzp~h4wglV2+rLuv+>!1MYEzOB!vj;Q;~% z@}5Ts$a`TescEnS4X}2qFQ5k+^4G$`kGcX3KDQXzfFj`sTAI>y(EAZWzfeg`WWMd^ zimsMrm@knhaWb;j&~OL+lr%cK!Emb5*=;2SvA+eyTDPB(5%qYworH0qD9$jvAJQ2<7D>6Lc9mQ~t2GM3GVwV145SwPj!xLEz`VJnJgR9_>~kZgg;EbH?qU^&&T zUWF5O8X+hGqp%dUE9s35By zZ^JtYIQUH!9v?d`YonkJd9daPaI}m6gR_N`E-MM}`A{I03>zO>;)Ho0^_C2;| zqJRu40G=J3+i8fPTU9VlvyRc_`@-t)g%OBAgg>4F(ieUko@VUfW1`O@|1@lf@cl%_ zZzoM~NJpg;Ww{Ej+#@2KhLbPi^br6akUtf^++l!U2U}pi)x*fp4C>ilBHX1 zAX?)Tz!#@z}!-2ra^>hvlMH!!>|H1_N=7ST4oUa&2zBYw@*y~Ib<$&^*j zO+n2-mnT6zj_g=)^du6P zG?23MTcHl)W4NeZy$G50^@%Td#q^7g+RE^e)iXdW#x+w>KtX&hBFb{=ES~tX(mI&h zV2wmpVdmx=<9ot5lp@S~6X~n~8g3c0QGlZ?X9vjh5hUQA8Cr|0vTS0jW^!79*eH-;ssFw6OJUHVo+C66!3yK4$7rmBJ=-#yWcfQ*xldt-~CA5 z^ifq^U0q$>U0vPK0m;SNFxK!7IpEL^A>Atjd@u_m4FAZiuVb^anI&dihgKh(g|o!s zZE3RBOIDVci={4W)t}8E5jJo?*uc`<4M}r%3e4SUFn6zCq71lo8BE_gn7)W*5}Jzf z0n?WzGE85O`11&dIJ#hQM^h>Ut34rMSVME|)lFT^Q%j3u2>wIr4(uiD(71j@<*W3{ zM*opA^xsWYR{vS?s>*g}C(=Zv3$F{W->HtCChlfWV`c5{QLg9XN^>8|lagPISEOJh zqwAySUHbi^KXR|FMCl@{+|*KNl)WR`GXgdwh(b_g=bX>C1o)Td<* zqPQR#yBDR!3DJ&$)1cw*1i-Q7#abqy{DHC~8{Fqb<09~MXjm2>tXv0(~~La z)iV6_Cuxa<5|87~*P4(pLA_;9CL{iI;y$~E!GXL2-laICeIAs<%mw?!r-n#|Pkn@7 z3b5q7Lzw!n0Bz|iVge0Rg}&e|h`NQyDcI9;978z4uaJo4mns`5BrpI*bCn?uE@$zF z>S#m# zSj>JN78e*AxdYJlzuR^l?c2&075pQ8>Ny)aq+<5OJE!RjI89>bYP&WH!_8CJ?3V7i z-|!cO;ucp)N3>x&ajx zhUyh6QGx9_AHCfL6YCh&zbB7imCEm7Nlyq3+=H7Ep3o&wp62-;Uz_RTDn%@*PIwXq zRVzP5FL`p-_`Bk_M<&lh@;gk1^B^4eYQ*Q^yg6%p*k8czkT}-l!SefDNNN{?A8dBT zM4-i>z}&hprGu*~r9G5mhqyqmu)qQD21J{%WhfQz5i&M?VeyG2X*q?5At^dw_Vl%n zhepNPPN@hQ$#8`9wQt8{ctRG7l5mCewNGGDLR{bp;re(391eq2(A)4FpGOUGa6w0I z!W)?*>c*-5<3f*OC}L?k0HUZ(huot9l|AtzlFanVF8Ca!x{v3vKY7{>_qM$72Z9w% z@e%Cp)U|`D)gJU`9p42(Vgoo*mzRSZYE~gOgc$iV)y#Mr8PGgqL6c8?ku-snT_ELP zpxd~R8(%y%B}1~lz{10f9+JV*YzJM;Elg=S63W+6w z{C>Uy-)aeG9;Kod0L9soe9o>;%SCSaVdOk7P^G>%oGhv&Ic~MM-i^~}Wzplv%U1(= ze7>oQ-R}#%*o+dZ<3uBOX^-5`wm1Uu*h!B<_QcS8hq zUf5Z#%S+Xr0IB1~bUc)lgxvLR$%e=&u7-Sa!;vmX6ulUAH@OLvV(vekBd{K$z#1!8 z8KBbzXrbq{2iYUmLnIqdkQP2_;OA{0lqB z%TKDdzrQIdFFeZlA#I*np=6 zN9GjQC6=_CwpNF{aa#C6fR_8MoW#3YX42y*AN1EJn(KctA5X>^C?eU3Xq}jWa4QYZ zdFBSjVP$y+gb~+tc=()#v@4j_8EIbZ(Q^rU8WMd>JOX;T0NMwc#F8x=X*`W&zLWW1 ziu^;`W|^OcG;?{@*8LLfFwj5?hI|;Wp5PXs;j@-~0IejQDmujneQp8$ypVEYi-9yGL2`ku2AX;9so2SsUxWS|TBF z>7K%mv3$gJhwc@CP`oIg=@Z-i z%1c9}5V(zR*M545#05s-Hv&6$AN7}1`Lt!uLT*INJKLi^n2isgnz#`GYoWY&EA^l| zc+`bw@**kXVIr)F=@`*sk#DR|b$!Y+9GCuH4!lbok3TECg@CiYMKtfePKDciLE$lP z{VrTDVgT!)20@8K{OP;}t@= zzBR7BMR&yhUTfPAp*&8;o(N8far2YB&6Sh`=cN|S4~c}lmclr%;wj5Y-JVaz8e_n%EgI{?0Z?z99?$k#1_-B$rH(00qO?(#>~)oFk5 z<2XK!^COCnC^To6s-93tYjDH2Iq=W$4=69>OnkY6Ys$ad;R)Td!xKE>sSi7_Ul!a1 zN`Q05ohdj)f#F#aehHPt?Nz#@WXrcQ8v;N2a@Hu7yeMEvuW1dK>l;J=w0dvy%;za-E#JG%dP+!e%wv@PxaU#Hy)S&Dh=_9>4Vq)PCpUJq{h_^UmtD?@}c z6uQBZUG6hScUa9g<_E~Doqk?M)CvW{mh=anw9(IUkmyMVThia(qF1@`mH7XH{j}&&VNw`^iLMx0_6Ye z=tCR-6+8X2E&BDE{~`U*7yA1RRCJvsnIJ9?#NjYrcbkN-@CTfh3%5cm36H&vQW5vS zZYVJETx3uY_i?UvX7HbETy9xSg)0v6^^*om0BrhJzSm*bS;5BzuRz3>Uri2CXL&#Z zbXGw;cId=(&|jw_htmNZuElhq>ys73Ce5sGK)}wxwwYp5Xh&UyN#RFpSXtARH7T^T zw_DQ}UTn~p9ZTO*+-!=WZ@~u1rT?Gw6>da7jy6f$d_ZR*wgf(c+`%x{;y|a)!5^_6 z=7gG04h|C>l=F#49ftb@hdlLrGL(;%O$aKQ;Yr5o3@_FNp{nYVbZ&m}uesSuUzz^G zj2t?a^8uGue|W@u@o;47t3H-0j=qBd+XZsr|AZ$7U}CN1AbV>r7gB3oc(q-6wOhAU z*6fFA-y5F&dWh{kTD)wd-1LmD4SvZ;mUW0^S)QMfh<~yX{9wlf)p;CSI`I0|MIPce z0-zxIoA>IHFRswM*{DyIbSDwgzmw8GBtYq(2H~HUT@d^g*BB6Izfn32bNe`QjV1lG zhuR{&14%CgHk0(x5}7}t+M*3diw13T zNW6`<_fAZkc^(oYug`%ox@jfkwOM+uBR~Vp;=;pjbvVY}#)pM^5MpFSnegsK-!8y) zB|R+0A?>F1a_CKh2??_$L)qX`KJ?cAkl{=I7G5z;o*$7E&b(8eourj%#kY=Ja8`j4JW80a7V%M$3wQp zV6=*LefQ!$Xw16^TqWX8&`fw5yYbW`L-0DW(HI-e&1ei)EBq%r2_zTf{8;>yozf)R z8Zu_RAmV9&zH4LY8>5ckjkRfQ(zp5-(AR_XC5j%~uKlrA(w6~N@-B*-O3YY2>GZt% zAJH>;5{MZtrNCEs6#kiFd?_o=gG$w2d|a4Iz3|OxvLDc6O-08^bQ0oN94r2uM~|&0 zL{r}21GwU3Px;Zalm#!~2;Ma0r_#^2Fr@~;zN6n#?9lib4~oudOmv>cW`?@Ee%6(} zOV@{Z&Vb?jmEBmKl+MF?r2A?XC8fVFCZ$T{^fXpYoeZh985cd3>U?HM1J9?HZ9z3G z``}TIWHI{RA*8UvQj(m_4;bW7P(aQbyW1wG6i=`lt`B`uS6T2>HVDD^dTxs5N_ zwtI#dCSTG8Eenw*`9d(^n=M+-F=-JaBhXgQ9fW=RXdgb}FE;LCG=Hu&N|4)}6EoQH+lY$3iAZM3i`X&Ir@g1rOsiNtt`GVs{$nG4I7J>;+vS{gU(n5D9&~gwCFm2JYPP6#JqNHWnBa$!OBrVCY zv~*CakHVYPq6Mykpk*i0Bwq+7+{hwQc7uxyzI2eZ+;jq3vTd}mC~0x(v@9UJP-+SK z+s2n9rTVrQTCxQ#SDLgCOc)`84O;#P8MGuxTDECz^W{~<@-fB{i;|Yb4@8Mm+7DJ0i&@$4bg=i$0AZ*TqZ3Tm!##46VS5v2a6UKB`se+Ao+5!q$Mks zmd;9bzZhC(30k_Ev=B`A03=waI2a97CBW0IbS1La)*$@t5`}(@O@PVci<*Ua%P->oIy5nSd`@S(8(zwyin?$ z=ye-+x+&Gy#gJ2DkW*liLrCF47CCzt802)5YfN%@$p+jRc>;3MY~-*g$vGC19w#$u(1F; z{bbYup^tytns0pL>4qH^-&mA{PSOco4)Y0odle#K?{GhU5O&d=orIejHLo3^#hou?2X!cdSbN^+_eO728}2jqMUPTRQC zPpSTd876l!4RRRKOmc^i!cXC+KC-5pZP&d z^jE4!F~b~LBAyvXmbfsBthjdwDg2T}&d2u~-03gLS@un9?vR{$i1cG{heb)wO*%Or ziK?k<(eXC!WGdBfF~cNB9K4X6r;#kVLr7u1-lKO`o=HxofZ4rI8{}|g?b&LO(`7Y_ zlANtoM95G0dzMMU^x8P9h)x1sO65#! zm4*L=e`eN9!@qfmob)07n~Lq%AMoF7>>wY*e^uBkKMCg!OYq-79M9C^KR1qCAUx z+wx8PHxgT`oAKXGppkWr^HSsd&)A>L>A-Cj$g`EXJ#V`eEc1IE>utA0hjlSWp%2c%t6}edQ0W8e3uz&yyKFx@?_@ z+ccazs9V8nxJ<-eH5P}>k)Ny`)PH$?wPBu+ZZzk7G)GJwL+f~cRkcN&583<~X7Z*p zM$iATKLb22gnXPKfqUT-Zt7M;F?uBa_X!WTsF4+BJ5Hc#J+bumb5dF>_*@v;mhJJ^K1)`%x*D_ou z$s0bcxghwXQvGXN-QQ|I8vMlhiL&S~Xt}Wy{1eWuMxzlpMqzn`RcemmSF?5mOFN*R z175sTEO;Sg!`!O086!s3PI}kTm5~mMI4A3jlFr4u1`3wi5h2P_xi*CD{ z|0Wqf7N>h2gd=09>PxQZ7*`N~J)DWI$MN27@Z_KW?1a$s4d4*M7BYTSuPzX9rTTkA zg6te`r9jO6ew@Fz^oI)GW9W~Az+uxL9*`O957kd6_5WUfWK-Us#89!%F9=AO`_X6g z7iB0)FnO8h<}D1K*wYeytsT~;R1;UQvRd3TNz1qyVKDMPGj+!7QYk_ga3n%!prEMXQ!d ziJHp!0$~!77Na~YiFyWEBFN!rkBV#U2(N*-mq|%Ow~Esr${SjCfhT^Ot=XNh=w!36 zMO_~MAPg7HGH=ehVmJ^>C?2&qDNXBglVAsE{Buz&wE!XA`zdB#-zPTJF!*JC<~<$2 z5wL^0;Z?hC5X5>7G$a-g6@Rch+=5h#y^Fovwzn}3-nd-Fyl;;vWE3^Z){+!J;u8o2Niebzs$UB9_?cV40c zOb0-~dIh3kc4P|ET682Ac_-*d23*$_4($IDNoXAs!78-w>ck;HkZcm$T7`vjzu8P; zDT1_|-)=VO?P9`xPQVS^0#L`%p_10L;_FO0^Ps}&{F5b(Qhjl5k_K~@N9{%*z*7WC zsy`8t5GmB1U}(}{LGm(O`+zM67hJ@O_`N*~%rW%iYSjJ0he*m8U z-XaIKuka^y`;Zpy&3TY-xAQPYc*{x6xlNFTH)4A_^)t}tipkf2aRzz@cJA<#vHSr! zo72=A!osp2`C9tWcn_2MW(;~)cfyqR3Z`q`U55I-tXWJ+Pou9eCC#icr;#%ScBL{^ zO3R3VA$hGkGic05dl15{)qM2Ty;3~ZK|EsTqc?=W#Lh?b%(ZtYeK+-$Mme%#=OZ$b zTJBlDHQvFJQ1^`=i}~nJpvRhzTrbM`2v_>e`KbQVmh(|Qs&YOmYvef5r=)pzaZ1|p zFQ%kc>xmeDu;X_M0zugjfRFJ9d+#H=KiJbRNE&VaV7)=&f6E`t=8rbd#J>#ZLNWM< z$KdbP8viqw{Lk?p$B7|!?%4j8_}}|5rv1;iZvX!R{&^<;WgoR{e+>R!t?@rI@xRr6 z`}k|i9z;-vbH4mg489DAZ!3H7`64-NbbD~+9sj}jyZwVU#^04Xp!!zh?;mZ9zyFdw zXpFzpC2^KLI2H|qJ-B_Nef-rwC;QfJ54t9_9DnOSFzi9N0tV)yvj=5-BitKk z$lrqi36A?_8{+pmpc~?EToK3tm8&tpW^R5<8in}S7RmN8HU zUvAJ17EODr$uI!Ao6wf%(6}>aY*qXU&dRL{oYz$#12JH|!EdZh3wZEu_1`9^5S=W! zV{v6$u7b~j0xcW3g#ge#IPF>4BNyVb=$~okR>9ATk<~|M^KB5h)I~Cvx=Qt{|8h!j z%XkZ>f0(gTogG~?bY z8Lq4-IIO>s_xVg|&9>t%QajVK8snGUG=;_GE>f#m9o=(bli5ApfzH@y)h#V8UWdY6 z4%bS3c`zAbrdw)CHDv<}5dIjZI`YQsiBxW#ho}>Qy~1RMSMGeQ z4yg*(f|aHe#m|va^minJfjuN{4E45T>6i7UENxh4$dYC2zkP@33}atvrIQ_zR(zRP zt#)SP)1!+03V(i^ViOqTRi{8?aIF+nAC`vx8FGgTVH065uTO^yF~;jh|M7T@vEMGb z$(TT9qaDTsBJ}z1Ywh~{nVA`H^qa){U#8zAF5$J5zo{P8akxQVO~fiixQeS%9JPDA z!drZGA9gsRw_M8K7#|%Q;^GjqBLCG$hsOL@k%?faqR6x*oKo+Gbn1aSZ@ZH8D2uuQ zBAzx|HWc?D0*kEyL3tjrZS^^*t&J4b8j0uvR6{&1sFEsQu%u?*geF3Oq`Yj zBH%2`FiGm&Nk;0KNCnRP9NhNowSGp&xOt-^_i(?C@Qp&p(KF?|+P(pRY#?{C$50sz z4)v-+WsAU?)fp%&Z?E%9++N25mKWH!jv^&u>+AEWzeio6G4a5Ur)Y{d!lk=L8+tWl zL!DLy%>lRe#neI5uRzjb>L%<%+Rs-p z!ExDo>+zd&?2 zcLQ1q1_D*#BHwSgxzMEDF^2JO37R5;4tkVi!E+s-Dp0VCUq&``)mU}J@3KGVkfh)` zmbn3C$`7{-oZ(f6IoZyaE=L|NAtXfxTD%tPYhL=x7RBQOXBx%lisGz#NV^%|kv=B< zW7U-3MI6acmU|7XYjsMKmi-RzY2bY(h!OXBA(KC%mS?ee*7Hj4YcW#(li&mLz)sti zWB6WFGHVTBuWYHzVkwiA;#n28aF z7r)*H!{L&?%oB1Uu8N5Ch@HTtaMgyB^@owONFOeVhVxNwLdbtXyjv~#kh@8^Gp|%W z0al0k5B%p#hdY%@o?WgUEc$1=_G-QyrR_0Fy+Dow2uL8AupBuYnAi#NsqkQo`iBE% zt-S}x5Uju%*ydrBhN9_&C^#47;*|ohjZYSEa|=}i2sf}@dt#)3Xrs>WK+p^4U=h{v zDNsa$Mf@)IT^310d>Zu4S^NwYC&X(#*$t4Oigki16e>nM+=mgM-&z+m?bJ&0kOIa) z3xd@eH{67LZPzxtu&O{bfsx^IB*wPKs!%2?u;8g-PPv%61wY5*+gQ(oIZMZf{94jj z^=geC_w2mNM=_0r`=gkrya5mJ{1!Yt#=#Rf5(d>_&Xb9exj^_%jtn092~)Relgw0H zp$@%0gQFM{_!1-#Q_`vY-iQXv;IU=v2whxNS5^qRUyfUXpod?&4mQO5I|l2^zs;M8 zo0l8#JJFvStS|ePwkwmCBdMML-HN)qUyZzFJFnE&_t_Y>buOV7m*H^*U;)?VQ*N+F z@H*(yU|^*`AFn$2)HBG+3%#K~!Pd_j{HD0y|E@lj^T6a>L3<#DTWETGZD>quuyfNKEF8*)42QPHR5 z?~v#Mk9+v!kW#@B?N$SLlH{PWXdZsxA)qGow>Z2j#c#xOy81^*<#tR$RS2rBIU%j+ zpLA^HBUA);@xO_TwBcjFb%n1i3^ZK7)h6ky;p3&!KF zgN^ZlE*>0a;7GLzTE9-ab|R-r{J_oO-T=2uow5?ZmTF$O1yG)N&FbmNm_6DV5r%EL z8pi!Phit7<$p@Z@GzZV|q8Zp>EQ4D&H-2T*6 z9Pu=dJfT%0IF1O0bXBgN^AF|(*I@Dza{oDX?rncX5D8c|todi;%lJu0S%qo<&1le^ z9M)jz83j3q{DV2We=-6oi2I}yH9UWZzrW@k&Pv<0w~@(0ui-C4dpSB<#R6Y4(sJ24 zHca<45$j@%Ik9&h#U8m%PURh7hp4}CrD2Qg@Yh8iv--02{y2Enlti8#1l|YrdN3ih z3?b3$eW6uT;RAx;LFxDtX^;6#$S7>8Xir`w>Yn8=dg*N^|SZ~>*1GfsB>$vuY zksp|$ovY_vqUSwo=DD?#^}H-S?;bNRQ#+a?VVTf-FH+mS511@cr4)q>A=Mz1r zzcwB@!bP&r78LdOiWG`pE%+}o10F3yz=`*d)J1ZS_PG>1{}4H6XiNDUR<=@E1#w5r zVWsju>hClgl3HjE#9zb9O<*EJ?{x4swg=f#lIq?yBmrUI7{Wsc6MNido}!PJh(7Ln z?%xr#Dor$+yZqWYAb^6dGAY!zM~m#vBHKS3SqUw&4nUSM0;V8q51weX1KlFCE=1N> zEwWb0tkaRTu0_^gM3xNd#pafRdvC@IBjzO0|GTtXQG{>)sg4crSk11Wme9VrfV#aD z?Xb*f5zn|3yg-e|^cunZEw0rRC}DNe#}m7D&{s;u590fn9_o?v8+fLDj4=$yj>!OD z{ySoi)+?2dpddzpQdx};y&UbS7i7@^X3@ZH94t55ij>JB?X4o?SY))V$aGoc`|}Ni zflL-T(^h1-EK+9`aiEC5U&V&N8EPfTM%<$!{K2ZZa)Veoc@*zvkMfUZZxDxbj)k=b z`^>nyWRtl_)&307Mz|QUUd254B6rFTBK~G_f|bWYT()=`F>#U`j+f41I2)lJ5yvc%lOlQS}wrU7`hz}B5KJDL?PmL{~(W1QB zT+tqc=nmz+i5(`!6Mizb#R5M9!5GhR;4jZ@(fICV+$5XhL%ffPsDJg_JZmU8j5jX! zA|}7~d};z>r;4!+E2llov$ScL6B&Xtb?!j0Er_7U`M{idjr=9f8d1ig&EPj5elYAg z#uGx{K%o8INt-sj0Ml@zV+#`bziC73Y|&yRzg5Q@$QAEru43I_2SSwg3t`|{l#t`2 zw?Kc;QOyFO+!C}6iSxv-to6(bb#KO>pWW3Iw#CQQt0M;qk#@ng;(|3EJP|D=ertUvHc_S z`I^v4mBcKD@&E{6UIoT6x3NIyChU!2Q;}Qfcun5*z8v#d_%Ym8aLR|+1*vn%$LI0j zy9mz7(@xBPVuJz3(~6roeSf8Wcb-s^ReU2F7L44WIay$NdkDa4FJd?|1DZ5=D$=!e z!;pYiXu%x3g~rc3iyADKhv3Cf42%tdhr={qt-&DXZv+1YI{s^Q{5&Tz@juERA&I}Q z4L`#IYHo@D18kw`EU+VeHgYYjlHljs>i~?Ih;c$wg@I~rUtrG3l+T?*EyQVQC`iQ{ z#Df>nh*O&*exqTylDh6$HP7DTVb-S7BaoVolPXKnB_w+#;7P_Vtn(FRN@f=|$3mt# zo7O@GXtVJpYrf8^W(x_u9LWX2V{moAj#{1en`j}5Yew-#?HzU;K_nv$uXG4`0G4LJ z$Aa}FCnEE7=W#ovFqAbCk3wkfp;9`9)370(URDpiok8jBkR=Py_ZurQC(`=HVdBHS zSaWV%DS}Vmwt5i2(^AbsS?a}exJQ8>C0EVoc-*h~DDtTe3k`|9Z)o)xeK!&7)I0liMrTjY zfR;#;FR%M@4)`w@q1pbxCY3F^i1618-J6Ni9Bl;H1_qqUZotD&SEZp=;Je7_*zv{3 zml52}UpvuT_=V6RSk7mI-B>uvSKaL%Ef%v{uO~oX-%tCJzN--~2Q!$orhGZy`=^Ts zTS?1tZ5c)qXmJbrK+kDD_2x7j=Am5R)W|S92GH;`N&FtM!$eDtYjZ^HKm)>vj)-)? zS)*IMa|AhyjV~KpTibge?tD9OGf5pm=YTeIzSOa#NE+?@`X2o1EQkTW90+-KXP!%W zzri$&OnzXF{s`x*9`%w83`uFPdvZ4V2Okk$Lu5<|ce={wv?j^MNgYmlhj0e;f0~Op94%AxLnohI?HUG5QfXP<1TR z%Q3{^Ov$mSHjW7q`gNwV2hoP_%P-|WOZX4oG_8VqfX5y#lX6goxtrkoruJ5~zTT*HYx1vp+ z#X~=-!D|FKXrA0X(^Yj6H-1txHsD zEI-`ae;W@T!Z`GGJ4f?sw)v3aYeCxM7ao?Eg1Y1OhqKA+Uznr?$b! z;&S460(C^6q2e#Em=*nvT6>U2c|osC%b>o=%WhL&AU{{;XK)g9sCgr%traT``Q9J& zRWFh668Z`e5&iH9S|i3|&OIaiXR{Xc)kNs4X5>O&on^?Y*#1S*7m-s$d5?N&8g*T= zI&wtLVgFtekv?7!bo%wv5hhsmV1lTVy0HK;&4>De;(f53yP+QoumU>St9tPy+6H6- zAKd>dz#wdFY`|iPX`hRy5548}6NAlVM@y0QF8}c;BbyQ5%NN|F1;9A5a52LZ!hQ$- zp>5y~r0MIM0$?RQdm$*^yqqI`1;hlxI?|saTgdQ#g*A#!kqa=ALwxnUIV0NI>tlP- zG|qo6Hn=aN+;#T>HMoG>K$sJPs1L;0>oeQyDXXW9dkV3YjpOD`T8)WL@`vOBXMw;u z(c&?JFLM6bEcmO>KV#9K8<7z+|7;lg36sS9bN|=CH8VImQN4c)zJl#rvNKP}AMkzC zi*5X$;ZyJ5VIeX4TW?Rv{|0=QyJZXHdI9wJ67XB}5e(f8qJJ=9|NH)#wl=!aSBU*$ zOW8o)Ji(*Na(7N&J$~lUvKD-ri8p)?*})f+esapTC|! zKEIA`#2pvj)sgZ5{EV^>0#Yu*bY@cE0R`W;raMd zeFHSAJ(NjPq0WB|H$bCn&2`7UGF{#X_9=mPGMf8z{T}qD*g1y-*w!fnFBE#Rl;*-GsNMf`uvb+3n!rY63bx@P5 z(Rfc`VwoqtDZ0Z2*BboBMj9~(=0_f-u`1mlIHe8--FRuG{K)BZa3Yq~A91h5V~9CV zz~5%oYdG}?UxW6)lK~(DY_(!0@Ux`MkJdGKddItWO8RTYI z(KA4onGvRuaZnf;apRDW`&!XA@E^QWqm(zhJ(-CkvRWCEjL+AP!UX5O>VHggmElY) z8s|!0@2cOGgkjd`PS&tTxhc8c6@>jSwxcrbQ+4zMtA(Za#t-s@u8Q{`G|3aP0P=7+ z1VorXzw{3*JI=NdyP$3EE5>*&%|UfYe+jhyW|RrQFK%WHkCOP~3##^I@om}K=<$x3_j{V*aJvVDr)$9#aK?MU7!F0J2}tn z59|)lMTSQmI}x#=Y0K3K!BP9wa^-?!R;A)H6bP2ARP)y;wKRX> zFlRn@_DaD|UZ{`5ue-ZP#u)SG!eKqdIqSiqVP0i5dLZ?==Th__^(fw_sX)CRFFze0 zX%If3tX?6eUIAYPu20k+tug%F{=J$Klz>@KyTaG7F!@4m%}@?LLdj>ow>64POj#Eh&-;mKPnIVst*j$Um2*zo{*aQ<`Q-q z)pWD}l*m*=SD=LLyhT5s_dtF!MQLgXtXDg*6nyWW>`n^;fkx?CnG=!6PTt@# ztTXDk&cI11`ExK2qCCzMx^p5FLAwA1z9I2_j%IyzuwUz)!HpuEU>%I~#(q=i&Z+PB zWd4bbU;*f!{j6zy2Ndwi zV^ad!-Mz%A2=!^hm~1#5;Bij;&wQU#*xS@ep5T}fNOjBH1x@^m|9Ki0)QJ!ADHicE zb(xjA)cRaveJ-{>YphSPM#N9REj3fe6!8<-XX}4w>3?VFf2ZnyC-QIOf@c1~{~8wv zPYQg^Y+OL2kV#v_Uw-Y-zhIxR{gWm(I69pKH(zLnMEr%<-XBwVK9E)I5(fhhA#c)a1mQ+TWCflYz^#z8yune54Bk$70Ot-WiQY0RHE#H*4Dr_IhxpdE&jek;UV9M_klVO%3miY= z6Oyq_{4pQ-Jezxl@Ir1xvV~gcW0)qf?=@gt?Uw_!lU=JqYEHpM9|3h zCcgU-)ZqviXd4{=#E-a0C$49(M4i(U`lmd%2H4{Kvpmt%1^Du*S+nrRtB!`}@OVhK z3x7xBuj3LV(^R@>uPZt}DX`wF;?&f9V&d|I@irW&HZPJs<* zHan{s$;S9^RUhr$JBf#d+(r+7v%6jE^FsT4lL<73pETziKz{?ZUFu!DymZQwxJN8C zk(RJH8ht+r+|h0ZJA@-uqxR})RE|p3^hCO<4}@if7nL*d1D%tJ%D!N%dtDw?P&(dZ z85Qrs=0sp9wwltG#s{t-LTJGx9UE|WMs;n`V|2Q^73};uus-~80wg-NAQjGywn9t7 zub_~{-kPOJ{tIDPZcFPNw=fxJwCA({08DG204ApeM5(+S(?$3i09u+B$Sb`!>3HCV zg`<+4bt6gx(~bIWbyT`V?MlMf@u*3yQrV3#dbOq)2=8R!H|>RY(t;E*e$c}%b)HXq z;Ym(!^IY!_AUY!xYqOc_{Ol!z3n)P)`gQ_d+Z zav){BNNLZML8V3QkwVLQp$9Lp`J97Gi#i~M&PWSAf}A0xMM+3`L8K(J%+S)JWTfzP zZ=t6nQ_d|#(0Zj}kx1#pl=Di9Iw7T8q@*xqSZPrT-e6nkN#(DsQe5fv2Nrrd^Vj*M zMV;gPw=K+5@X)FAf?5UDBG=&{Zie7(mNt`;LIF5<4`d21xMmL4dP z^J}T#BZF%>CL@`(yzd_AQ_J;4q(^Nh{^q{n^A!cBYyN-9jnI z%Z|dK&+Qxm6Bvd}L6bM=bI!m^tj?(@?7XBmJ50=DuEq+n1DHoR7`UwEh9_r|cK8(T zq2XtqCxn?^9hXTU>Av7K*kW=!vF%cr$$Mp3&WAA9YaUp~qO`T@7R-ihU1M z6I;elvflR?rl|MZqb6#9Wu(D49cq1FAX^wi;wIA2PqdRUzz~suDv(Py*XlfIOITC2 zu9Z}qSW>!!fm&}N2J3e1JhT%-a3$8@5N`A(5BYEubmK|zE_dFTQiu1IO0c#*s(lH{ zU|n{@34j~6(b>43(m!&qn6I=kD4owkL;Y&Z?Q%hEA^=LO-6i0;; z&vz;Ab*|tyI0Va$i(7&_J2$hzSS<^lfE}GwsGdTA(0=Zwb9j-#;XMnHHvxG-s4Pmx z2W;k*wWQS(TKsdg8=5e!$v)uY@)yoa!vnr}LNS^)H^H?cZA3fR=#XF0I5d}Ten&tb zdDaP1?hTDjJBXRL;z1Mwdtlu=_V}o1)(H*u2m6qZ-a4+ho*K$E-0jTZHbm|QQR+kO z<>~b6{1(eEJOV9%6u^@lZxK2EiW2bakhTOo%~iN~n97PLa!ELkY*RnAgWfDyiqoY` zj)81Gn(U3`kjk%rYAdPyA-VI0-Xa^yUnv6FWkOo!eb`C}w zbs04&(xA*hGt#Kd_RBP=Gq-an(x}gVlxa|CZs)m3qei36iMmi}Zs&POqfYxkra`H> zox_lpf;4W_pd3`2+nI$l+y<+7U8X_7xt-@D4MvL4q9`ZT9MTk|(R&cOX4%3xmdqAM z5a9(#)NbxV3DhUEw;#qVd21CU5V{}Y6S+a^#u-vKULkekrBXMJle*C@bz`p7jps|< zI9Te&OsO0DNZr^&>c(zTH>L>P2o*_1EL9|q4aB?PPB#Q;dJ+vWOH+m%)ng%yc=Q4M z2W^mqC^@w8=xREYX$S@s7;i$1{jYlpka0Wb_L16R7V3(SPPEfWIj zg@ZkgU8pxF8kOVYPO>V$Cn^^e;og+~%L68l9lzz4#EisbPLJY6p$0 z7cD`bB0#quZ=3M1*xYRldD2`1J}LD^v_c<0N{;%?Avze5fYAii z)DLA5JjpDg3wB?L-{CLtt&L0r1A~sUMZMgC_@fP$Nf|P!50iSzr0z25WF{rcq>eJF z6O#@?uLD-J9ZAfMW779B=~tQb8~$j`GAS&Reqz!pnY2wNZD-OeGU-#9^cj;LlSxf7 zX#ePz;onY4gO zU1id}__m#o%Kaj2wtOEi+Ws~EXwM4Nk`wsct#P93n z_d0%GA;0VRT_C?#^4lf9Yx$iezu)5b0QtR)-@WAbtNiXFznAjcA-`YX_mPf*&L#Z* zS$;po?{D$Fx{7KaX7yRgC=|;5J)fH%VvlE9c;{AQ+k@?=<1|-LT#t(V9^<@>@%VV5 zMfdT;T_T>e(32Hs@}b@b)JPT9%SWLgEfK{wxI*z;;Oy?7m)4=qI9TS_BC^4nk z+VuJDW}BYs5Yr}=n7Zni9&U+g#~|dsOEF}psCG;pX-D8?5*!7k+c4c?VLCS!Qy*el zS|Yi3R!dCP#5B>sRA$GN3QR*JrVJaVb{3|l_AzZ*u@JB>(lOP6iWu%)L`*xSC@U3n z?U>k44S$F>W!f+;zRl#`^jJ&<#PnIQY|~{eG3`GGxy1&iTkV+0y{jdrAvR2dEKI*T zV%qe55U_62G3^EwF>QK=n7SI63hkK4z5T~To3d?~*4=8hX<;m;yNM}I$8>*7OcRM| zDfJ8`;tD$^+`)5HNlbY*OjlZ%GGZ|)#PsOBl6&bbF?A%SiwsN??3l3k;piW z-eR_Cd14IrUaSJFfjXwYgNhjLtr>{i&mfVaP5E|A98YikF1R<*hH1Wq$rp=hI5Dlc zN4Ck`64Ncjbd!N;xE&MwX{^LF)rP63h3UJ5m^N)*09aFXOkaVDm^Sq$rZ@xBP&+2d z-j1W9O*3qm-niN1UQsNj8;I$byJeeZx5TvZY~(%)*%#dFZ^uOL-6b*2vSIRAm^#N| z`eQy|Rp^-7x5VTprhx{gUUp36UW&vt+lFb|O=g>3Xcxo1hlr_%j_D~-5yQQH#Iyzy zDcaP{jwuD0{&GZcugHeUZ(+JH7SjM?T2>^vcWz5epPz-?sS=YhWqrytw}D-}_Fzm| zlzgYaUR8=I)keU98_lM^6VIk9!L5gJPm`gTLs>6W0_52sBHVyPxj!c7$FDMx^92M| zH1)9~yyjWgfZ4aaj_Pp5VbN6kv=x+?v`cj~d}BI13jeg8pMm)y!k=rvf6fk{;&Hiz zZ=b9N=6DhIwa_~Pf;6Y2~KGb>hNzN{L4=SKc4Vc zKokXk-nPT1&^;#M+b5I zH(cv#7{J@Fe4<-D^4EUeg;gdge zC4BqTSuwk0}4q@Q#Q5Siu^8Rk(R^?W-y~X-loVQP& zB%C1LM0Pyxhc3fk{tpM`WjLj9sU5IJzkIyq5HSwl+NONr5HSXYYq4#N@3aQxQ6VntcQ8n;8=wpbm>{`<~ zzE6FdiFEDB5w1Si6}m2pi^u-yAoAW}B=SB4aYfucad9?$J494~-gs}PxClZ9asMWi zbqPwE$VI+WNByjy4kQMQp+FWsoBO39$IqyPofUB+8abRSPDewIF+B1x`Mm*Uw5MFc zXT$G7rCKEXkNq{&f(jSTqXrfP{mvnH69ES&IJ84I!go?bYs$}qU&ART|A%`9-iKRd z+~n5+`%!Ee%VS$=Mp{Ae7ALHWf@P5&Ov9%q9VYA)jLA?KGv|6oj@+ebGf86f&shPqz3GPtn zg6kI}o=+2$$Y;pHt+Cq0EE`H4gQ|Ea*%J)S0`Cd25~~NBiO>71d$ij?3_3$xJm&9W z{)QNwC+;0LYUBBPz*-D{;aV)091HKklzE|O2K@RV#dI&ri_^Cr!Iq^`KGd9ooL&B@ z;55|I5P;_`_;#r04NXXc7;ZyOnpd5W4v#bZHNL^hXaPjMSNU$t6|y}ez|rH{l|JaB z{AO3xn9RtinuDT6@&2^ZlIA$vSOG^H@-pKixWBlHjphLuof4d~R@JD?Wr#y4Dgk&u z0QacnWbJtMmc8(=#ogMUl}h2iR6|i^oFxC)_XGh6y)L^e#ircYUO^=sZ$0pv^XPta z_=ewH{!)1cgzeS8j)T%5BwTBj`U1S5hmlh8kw8K>IO>c%Oi3;DMfh*BPmS{?3I+P; z-9sESjb@)U;WztiFh>CxsR2bg7_A>d;(8V_O7`^%%A z$}6r#@Nm`pOV}!e9vUb5OZdL3<3xX1-$s8qKK+S<6t}%)r-Ah^j};vT)_Yaq1RBHY zv(ZVBOmn=k8`+6UC9iA5l#FM0l8YD=w*rg5kpAM35;{J&_FK$fO3ijLCO|kXV*ax` zE%uPppV)tH!EbbccF6%WSM=AC*#7eWd;JbQl{Xk_tjMP=gZjf9Q-0V{d_4yKytxcL zDi-tF^^i>$2DQ}1^F~AQ%trRmtqhpj#12tYzN7;_B42s&M0@>Y?g79@8G~nltuFc( zQ?e)LgW?8&W}JlbbwxJI5i-92I>>k^ciUaUH2evFbZ2Z|FdXd`Nn(R%?AIIYzx3ZR zbf{$L=2(WlD;e5`{6?O&vC#ECz4V3PPZYf=1^-{!3*r7KXdc%Jd)M;!EZfb2iEzQS z9^ntTYAOmtJjQF7l1f*KlXs}ak0DCFAg)s20)QtdF1h0Ln_B#kb}{;zMQb<={QdCw zg>#0D9-NNwYET#qGD`)1ay3+l3bYk2Jx83=V^&@nfO{zvGA2pwg$Vu*JrDCWc6c=UH0N1S@kja=I!q{*v$cKL-;$&DZ zKW+La?rCA4LRWf&m9-$NAozA2{z%*W>=Bk_b2`2ebBmVE(=)(9Y1~vw{aMKr3n`W< zOK}%ic=c~L0q2|w%@1ctLfk@WON30yVlL1`PzFQR#WKO+4$>P zy@TbRLAhl(=eZRM_-P?}m0N@PFD!$fRyq(4#obDIzU8}d9}$fzUwJ_syHcs*TPd#c zm13yIDU0Z#31O=%h(C@{-!rU4CYYGxegba8T8M8F=L)`BA5y4k~rTU z(gty~pv! zU}7wGHH;Y$Ujts@T_$f~B{ho(OnW8T57l8cojnNeoH}uG_oY(FkXMoJ`uu|K;(;EL z_rnZ9u~JV+n2Da8eg4yNOUO7!0gy=E;oToNKzAJmwkZgeWO7;i{T_~*RZBoh zoWDmwC@`Dt=Oq5PEhi9R2oqOBCCjmofKs+D2e-RQmcqjdJyBZn0!H#oN=GPbC;Uh; zWdJ`$#1Kz;Q3mqvM|BX~?1`2w#iz&#rof+9Y6YB&2ERf+qKo9$76kVp7I^OKSn1E} znfnI*_<8;;)M)Ln%}~oC6WZ523eEvGw|@#gHREW5+wx zb3qdH$1WG~!?*~KLq%}8RMwaL^^gBA^0pB4-#0|?&)-3? zI8bb3V=SKnkA)drZ)S~PzJD+b!wI&+jiqEQ{})?Lsk|CkBKNT9iOXcO%w_+!r|1_H z8QdmT(QAPok(^jWv_C|D!p3KRqW^G^Dlfi|#a|El6axs2+0v>*A=%9chGEmA(q3-a zpZV$vw%uF)K4mPk6#QA%3 z-k#0=kn?qpJy*`xEEvy)6#3|hHhF{c6K@mvJDCceVJ_CSs&6^#0EL`20EUX4v$cCAIPD|+1!LjE7&zanipvMa zP(6V^FNiUTcv(vp+!AlfO8sJNAx*-C>EkdVe$Cc*GA8x1=KC@D)<&M20OMkMx^7(H zi43uXF?YZE6@=!cQ$8(q0sf*pWA%kMG;cOGzm|vD#q*b-vGMv}_!iF>GK(}<<9tdn z6)jTh@X7z-lPu%^grkdm95)7EYiy3{wTuxsq8|K)T~`N4R+MdwnV zTtE7~R0qlaD=D@35 z_YCpgxSxiMH}sY;WW0yA3H^cq;yPe&{MVkc22m#35ZEOy#$1gWzTgMA(~U)QNgcFT zEsWR zVcR2$57vSV`Bvx8V6yAjI$`z&$9=)yu{m#{lJ>)m;?Y}|THS&69(?Yr>H!Fg zUQhfQdH=;5S}F3pH~v#_E8(&zZPuvs? zeNWvu-F}yo>k~2F8^@%hb-dS_#=rJ5E%eQOhy)t-kMfq!OONvp#uEEIGTLf!jVFG) zmJJx#9P_I4(sZ5|44;=i=LanrGhLXqZlL#f)((AZrx9e4zi>f9DQ&BsCo7H?6-&}0`GhN!N(PgNAB#5h z0(!$2JV5hg1(qs2oG4$LQ82tDX-*`37(*U6xg>NAidriH^zb&SYy;e8{J@3ICLJU_ zn7PGrD~1711UMmQ=M!9-4z8B~$NFnnv}OI*V(TNq zEl%#ng|68>N}dx_UzBmVTKCz}|02oF90u>o>&pK4rPZdsV)8ctvuuL9ePM zaeNmVg}lRiIw8+F0%yK1VELq-%Xb)(TpiVUhvz3L_pe50Pz+K~8296v!Z!kd$#l*z zQii4$gjP!eXd?c4OyV@~L7=oqmRYT@S*;JNp%>_H8r4==)sQCSP$Tj`Z%1$MMUR>g zzUPnNE=(=#0HvY{zs00*Ko2pQtX+vp%%|=wUz>*D_H(`$aVbn7&*(s;5LV)sH}p)J zgyd20JxorgYFz=x(>Urd*`otb(f-(Gc8ac>32XTENpl*);{7(Y05X6pUl$^sQmBjN zdH}(+g{ioi!iv{JZjHmEEc=M+!to(|Na^b>#HEJv@*q&Pl9v)DN_pc-XslYiPl)j4 z<3rc&OB!2Vye|#==Xfe(Uz*Ty7+qq28~P2;w{Uo2#5+y>cF~+4wX+1s77B-5P6T2e z%CGYcp9Ps1jd{cq{8&5uO>$i1YMq__N$d}yPcHI?rYE5{EFNw`$yPjkMA+D2b6(d&x*dpoHTP}&oEHAa{-d_TE1_SF`PyZ@ z=YjLe%j=W@`Agsjzl>wh^*-%+?5-&lmr#%3krJAP`S=D=bI#xyP-zlqbiGgG{$O68 zJf)&Patrv}(SZW03qG~y4Ss|@+`b^yQu5Y*<#Fv?j0emEJ|hi#{vA+Q>mk!8+tQEy z3F+-*`W^b_CL$jNmW6kNU<-VWSFPke6pxc^#e!j~1&&W#&8rk92@qe2IU5fE1a5?r zzNl4|zr?Dfh}e(eYBI!DX_8*)TC37Bd!^H80$#Z+z6GpACXX6g*CP36bbn+ZOUD5D zoXLna+#>mXBuk!S&;HJq#;(3JkA;CEBB-+r^ct2}m!6UbJw@ z{U>?sl5N|!Fr?d%e^^lzwOyy2Nd8YntEJmbr@cb{e@z#sHs>&%3h!M`y4p!!!7&4Y zm#p?t{Fg#I7_d!CqhrnQJ?tdBXd>HHwL zXB(fqCvu$h+#}P68D)|FE7PwP>4A&Dkb>T(lAwC{&|+W>`sVeXX5V<=r~zHR6s5%*iXgBQv_5bZ#3Q&rIuScZQx=2HO5R6@ zl~PLT_n^cNPW1Qa&yw*x2L}FPZ35e~wdfN3DAh)i5vueV2<9)QDJ1(8o(;@va~=UwteN)Pc{wP_NBb zc8V)d^1s2&t|XiSCxX-`kc4RSp(#rcPivCvQrG2LU$U!wT?XJDn{2}MPuEWR6gGG$ z^*vPaA(U^v`Vc|efECz)MFWcgZIbo{wTXaMvN+lhIp zix~jXL4e5W4}7RQ3UymO9svQ?-5s^fKj{_KUYjJ+{H2IYM(s*5zwL7&!XmT)2)c{} zA-TVvyh}7GD<8=s*dFtS>v>v_D*4sbj10*zTOLC;$u^NwACdIlN0 z!bZn@eDi;iL5+@k z@GU0NGa4PY;hPPQoZRTR7T<8Di;Hw@bXiqiER;#%h>p298X*dcJ&lCAeiID zo_ei)a7<4c3AH~0wB1%P_P<=0O%i#mH?{KMyvab9Gq-24&kkc0_D}B>yAo-d3ltzc zRL-cLB?-Y%J$;3Hz4bd2xXvED8MFmQpOdFW!80)$eKV z9)53n33gD|rbR~c9amS*$4Wsx8{{k8F*Y=e6H}b_f{pkQo z`6wBkScv4S(y+IGvDm_P2lshC-QiI?@p;hX#LaLxRzB;iD`xp*HsC2)TIckP2G^NGPK zKGds@>zT7zsTL7e%J>*Yf_wO#=_S+ITj6I=VCV+a@^AF1qtb#O#Qd$ZW0t$)?2v`&p6qG8f5TuxBizwiZqAacmLW(HMEi{3K7z7tCs37jRZ^?x zOU?bt;q2^2`y&~9*QAo}Km4iFxzYzKOMM^wxOYtr@)!qx31@)m)Yako6_!b_gm>-Rq@Y8G($I!Ur@PT5^MhqSFH(~mhA(fB*Md*HFF>%b^9K{Qvv!sK z{I}by{U2_xL-O|UsD#S6r)6*89N!Q<+IBM5JXzzBv4mdR>sifb*G7j5vbZkQhb#FH zLb950-Sh_!q|GZi#LOG=5AgoGZ}qnszUcT=W5vIiFW61@vYJguxQm6a#qL|31s@xd$Cjj8d<6~$Q%e3ff_oj;%OIafxCe4PnvB7LH3#VUNm z5?kc4vb^D+bHf|GMcYz~4y6_xBOZ9DJ_W;LBG`2(ZBrH|U44EVx$?2p;#dAi)^Fms zca-I?8NH+unr!hw0r`is6vg?9HgE`*Ra=VHyG<@Gq|zD=5!vQ!Y=K4@`+%yl%sLp@Qda1@9hN zAsXIBz`IG{b>4GKg_nQ}URv4^s1{z?;Pm+mG$J&!0hI%?@37YygYb`^Q%IUpS?25f z-h`htVYqfs#mb`T-ey@Tc6-kG?BrcOGR3L;lopr%iq$fF5UJJh+v-qR=zSiil!u<= z1M?MEn}rt16aJw`_RYfSJ$fVbw$nI;HSaB4HB(*%nsV#wV4+WB3CSh?+1t*`f(qOw zq!`|SIoS=+vNBLHW{9sFLOlLv0*NPhBf=F&%;EK%0@jxdf9WZO6EY+@Rwv%@Fhi33 zrE_+eA=$BxHy=u#zjO`|GbBA$9rIx=dB`bZMy(XGBS(Gc1^v=|lMfuC&#{jn2c*Tm zMP~CwW{6o!W~I(vZ*wx2Nw&1gQn{+F`^6IT_w0JLn0yh1E>CcX)I#Ks)*ExITvtka zdEv#&7=YwC8`-D^`)*m${zK%u0TkisA;fX2%v(qq#Q7{@8`u>(8I3n!f>r0mcVJ9# zy!tC};y20~io@gHz*+uqGxx!;<7ODJ^D8BsCz_rFbjn&tAJI&vTX_-i>+-injPqTA z2hJ#e_%fz(G{?q$Ih7hU%2!!fsOx-<6(&NtrmYbvt>BIm`EHyESiW%6{VVP8q&<9v zf_A76+cm<>*P8P_j~&`o{2!qx-ai7cMp+$Rfc?|zuq)q0X2VzWDLI_$s+GLg zc$hRZy(2kUz(Y?Zxpq$lqqIwsa1@u4i=UKn=d6R+s7bw*^LvVD4D~YdCBc+;*{5`m z^Y64Sa%Wx6vJAX^HEXcPH>FIE?;}3xFW>1eFw+>eR$k_eT2U`0_5w}ueJJ0Vw|ceB zd0V;8nz!Roew}5tE0cK}Szj-!e$~!dVEmuW7eMWPQ#=Dk$)PJNxS)SUeI9NxAM!-` z19(DpfH3ZOUSE4E9aN!$*jkyiNcw|jD-7ukAXc2B;w@`P7oe6qLz*i?dW35(g;V5L zJ0wrAOxjM?D;;L*4x8w)ctTH6R*k2w`NA4cqHDv6Nn0dK@}@TgJNt~bOcsHUtN1DZ z%G1}?td}Czox~}>m+=Wnf6b?MM+U9|=i7wl3Et066g$KpUW`%Ak7`oXT|iHnbbNu}bBMy|(8pfnIG&&0LtJpahc@Rbno*27Fv8q%wm|O6A;73L``#aZ_PtkD^GeLvbJQ|hEW4L|6-T-8BsIfD!c)ZD zS<7TB{kS>!o~?WJz^n z`eaGX;M2QOO0aTLd%BiXPY&{8&+|v@POsNXncnjXI-MHdX|d|b?6{(q?zo0)q|*xp z6d9OVG}^tsjBE5NH79jRW_O9yyJd+WNXT|_snldCU5tr|H~r)d z7X|tvsdy~P%anqg*sahen#f+`E?xgLRUh|qDH)z3#atCU!LF2-jnL~WDiHxMC2+2s z^+eNWwvn4=N%6bZJ`mwFU?8YwCNJh(-?V<`b$wCljsDEH%t1itPZ98w7ZKqpV$X+ z)~AuY@QZWkjQ0~%S88pERS@t$Pm|8w%TT{)I(eHkg^2xXiEy5EOj-SUZq7590>+RG z;XL1qh&`y<03wt3B!&z{)1$A@Ag3ki+g}qX>{FGzNG8ju{|QR!Y0%r;cD&2RGa(2* zFLeSP({W^pG=5%H?A2iUoCS<0xFO*2uKW&cb^0t&FII!%-r_-&>&5@-yoN9nQO%Uy zb$LrYCzbuMG--819J-XcAy+mt;uF!-ln_4#7GcTMH}c)MC0%6ddBt!?rCLl2%~U&U zNS?S9486fe7t3Q7SAx_Y>HgiTNN+250&?L$+7lsu`d+Cn28}{J5sep|AfQBb13y&u z!(dP*hfArHWTE%Nt|zPZ%N4a#3QN}WD}}2|qc6@;&sBueea@?bT~fA$2fZVUKcWaH zPA0_db+Bl_g!o0>VZx*-Ff(XexaJjns;w9*3xG2A*wmWE_oNrH zFoSp?ZK5u(t~6hz^J=pB>LvZ^Jo8lsucnx<=IB=^o3Co|sz|-6Dm4VvrhU7J(ru?& zqV%FYa*9*$P44OtQF@}LsBUMfG_d)Zp3rlUhw>VBJiwFFudL=7%W(i3Cu_^n6v~2X zfH31iW*h`pn!IP^sDLl*;#)V5y#4y&<%)CP=3?EPVIUzueXNHPS+&N-RAD?hS-oU6 zlnC~G(FcY9!K;wWZ2FZ`5zn3O(_uh5M=aZ!45ECKR*%CTV_09R$9 z{rr%4#x;oDR$6lD@p$R6vFfp8Gr-fMe3(6Mli@@{@}z2y39k6`*k1Qota==*deoc8 zu(2bVgcMdzc_@>=H{3F82$PV-*8r1{0<#43g6B-W!Ynq@;~OXO$nd8y4OT0+(@JYf zl!w~$_xcgTsN7oiU|qRAUzxHoJ)RN`* zE^}R2BIw4E)|>^gDTSQp1voM8G!_X_*t2PIfy2(GAr~i@NHUspWF$Ce%tj;ieV!oz zavbJYeaQr97-U}L%sbV{;jZz=2!iipENtPoS*oR2^Re>$2K{`T>-nwn{6e00*ua{8V0FHy z_aT4kyN>rp!HkL<9Fx%SnTShy;oaOkR_c`TgoeX?D!Pb0(SE<){a*Yf$tq#h-RORI z8t>THJ;B$pz^!6hvEnTT;iAnv#v>G3e{@i)3YCx5hXHld_>smBw8TrWNZx@(^3WmH(paLySEp5+%?5|j-4y^3Gk}d*GJ9ld3oeQo z0$Sy2G4HIdQC2fEB~qjV9_oiD%NOOf>`yxn?;&w~6RN$u#_!yas9Ce=)bu#5_-|H0 z!~RHpl3;Y$qU>|TfO?jk*sS=(hK1dZNeQ5TUUN)p@ih%mfsa82M*qC#m>T>>13m@~ z82$5_W77DI0(?xGQh={wXm>NTN;R~XeMM`O0=z~5UIW179G{^9J|=um4HI-hC8TI&H|yD}Gr?+vBE3>(Yt(I~UL zcV_0u+lLMt&X=s=V&XCv4P)h3Gv>0cG-XNy#s+*}^CNvQdJ*Xz&1tzGPDWr4yTX~h zAy*OsRK6ij5R$up(9x;9bgu!|;gkFP%kpO>o6M(?oMWDq{i*SRF7}ROoKK2-f6+hW zsv*t`*k4*T{3Q$UCS-Rq=DuPn276NCH}mg*W;6F4s3EF>C&<+t`11{`Ry{bP`~u|V zIbXO=NMbVb!!I`HqdZqK(ExJO-cJF**)aHrpGl%f+|WQN66M@Ap>|sDvI451NDON$ zii8|)r{7>!^sd|mCc6|bpoAy1o?dLtq2NQ@p*}LThDrjvEvj0&osh13z zk30&R&JHw_G&G-*q{M{gqo?&S;-R@8zH36`j}~BM0-8qDm1slWg}6 zRNfpL(@*PBZEa(Z>We3n&3ik#u;x9oSb$OkYf@!kZ7Hax{&(QSr&|>zOfS}#7orDc z-(~4R3k{_Qz1C6dK@ywCg6P=N)Pp2WSS10mWU*#qKeW%+(S71ISy6^2gEZEnfnFHN zd0R$;-<3t>9ZGR&F@9|=%9SvWYhDx#mq*g{%|xOCEd2qlanxSn8kK=N^24Vp;om#$ z0?x4|61=skpeE%P2|{9S_|DdH&~rA|wNzZZN(|=4spG7{KfhBAe#zN-@FN&}#mTx* z4ZF}(U1*kBs6=Dvs20eU@jkPH*mv%<+P+v}??LHu-<9>jFr(P*cmQAs))V0KisgDz$Vsdfh;-N8(=g9mg6 z4V?}=Njgv$R47w(0)@mrLm$>SopN&fiQ6uu?sq!50LT(&S-93dBf1@DjWxZIiLH&73l8EUu$tBI4n$$0-ql*xd-y}N5VonJHd=uR=WdJSTuYy{TAMX&B?P*k#(YKN zWxqzSL@N~=4-E)xC(W0%K<7$;Zrm1der?5=7Phw;QW_myym5!DR=SLf0H&Unf;`1La7qi4rzB#}ogQ6r;LDABILTUp=X?Aibz`F~I zO)e zG1l5D`$m!d2i##GmacpCI4(VrHX`X=otg!GeUsl3A~W5TjLOkg6Ggg-8DPsbl0eDZ%7f4qVQTv5H5LT^VFe>{bnRpLQM$ipLx zKkk*Re!KYk?)c-Qc;$i=lg)o9{&@KlYG%c`T4q>2kP=6fCXGM7hr<8g;*ULa{+HvA zKYv{2>3<%7d>`#piJhIO9wKdmI-MH=p77s^KR!y0qepza`@zR-dizhsA3vv>v=+0O z@ZhlV$K$ARWbwy+DOm-Foz+7dhec~$@yAVhXU88m;D^l$6NJ*?{}+G!UyeU^+h48y zt-rn->wSDf%X7Cw`p9SL&pd!}0zE4I&}^;U#Ytc5D%Cc98h(I_w&X$Tujs(-%Y|sHj)Gw{QfT+C4x<5V>^o>`e*}s!FJS~r5$pd57d`_Or)o+TXRJ1qN z-C{`&{?FB@2GE=cA7AUXK0cZu=^7|xmHz0X>vMc(3uM62di%G_af^xz#MX;>vT-_N zwFKrHju)AVyTc^9N*PMO;)__)wT+)x;R`+>$v=)xj74Qs!rZ28^#F$9!+0FnLgeLe zp6xYe=x0v6@cYCIdmW0&ONc*xpZL?3&g+?E3s&)-gb~}}tM3|J(Av7VRbcVYo|PbTlrq`;2ZtQdT4+ z$*hbYY8!SvyID`+P_c;Yk@PJ6tB_w1RNt>;K*Jai{@)7Z5``A={~i?Q|NV%JR=uPO?Azo6dw)*MhxcGTSBB@kI zFc|2pvk1#Nb~Uf_@1wtoO{QAq`Y22Q8ksd#(k4YwH2#*Y=_+0sHY9uFgdmtNzM zF*kj&M8=Fy%U2JvbB5nyRd@N0bMHuo<=YXVgfRoJc9vS8i$8o~wrPZ7|2H$|S!O8Z zCt=1jF#dRZ7~FNy43q8Gnw5m@kKM1}JR3MowlA*kfcimWVf%TcEQ&OKcc#>g^KMyX zdbiY%-Ge#OTYQZabi20*0lM8=b}ILla;1+?rV6nvV-7MP;<|e)yL%yj2Z(O{HPJQ8d@}clGEwoIYL_+F?W4cqB{;+Sz z9<@=-d02|zLIngzmt?Xd;3n|lTyYcV#19C4UQa#&u_GY*B8x;zskK(Z+c%jy9FX03JA4Xm1)Yk0_tnPGjvH zdLyZ^WNL9P?ZJ&;B*OtG&EX<=&p9*qc=IYV7i7cbKqxPw)^g$U_QEI%j>Fma z?cZvoR5Wnxjr)u>vw^j!`y9wNC2+m3vfjOX!|8GqADDoeXva%0pOSYz{YoB-&*{0! zPrG1UoR4+@hgo+@$13w(5ryIGjS6{RVWGu}ci75fXEQMIn?Nr`-5Us;ldi>IM#Zg?||tOeihxy9dTFuB|ca0Z|=u41Rjc`*0Mc zxNV@XM(73c2yJBoAEY5+&I$OSodvYRbK?Nb;xQiOr~ES(J;q^RwBAo!Y<|y*^8^p@ zZg-^*kEh*y%Zt2{32nsn=?RwdM*6K9Zvih@K!bUa*Q8qPAqw^eg>MbE_^@xI;&1&= z)O@&^W^NzVR+e2!M4Dr=Q)~7U^1CMRQ`st8FtEfOWG-_iP9Q8?W2gF_KDdz#lqBA{ z8v}V2*NIpNR<_?SSSb={zr{43(BA-8e~6A7!C)`I{Qad1Jc5%Bj$UC3^3yFVaw}o*#=eWah~~ zmhSBg_+&MSk|$r*x6Ze_fl0LA#^=XB>a(mAk?&^w4rtTo3}(Sqk%@1ky3oQ(KIOV# zNjw7~|8ubn0jXd;Q;AdnZ&mV@z0-}QfN>X>Ba2Xwb6BCkjwef`-)Or9Q-vQC2nX0x zEQ~L~-F4`0wPIQvXJW{^Y^q)~tLixt!JDe4OCq?%_IJHGc2E(vzB9m91ny)|GUyF_ z+J3^_8ro~b6O_Dgu^^}W+7A`@nz~<0vX$5{d0kc5kjbqoY-nHFe*z7Mkp;JygHA~{ z=#f9FLAPyU4|;|k^xIj^pv$HSx|~6Kg7amhrlT)6HS;Uh3NYn>%zKT+g4VsG+TM7q zWHyi!UTWmaGnqEPZIN zB{Pkzdrf5BU?S^7h@}dJ^!h;!sPY&aS+n(+=GAqOHCNSikQKPgLR4U!%6=nAI`L`? zNekXqZ9Y$%qNvZ*4YsXmAxS6hk4KazC<(Y^V{qh$1boHbp+piK2y4(dpd;b9F6Zk+ z9K0V&f`jwESMdJc*v7$p4f5PN4h|kvHC;Hk!^Xj=m;{sw4w_tL;oy-Cs?BF;Q*bax zH`qGO!9hBsNyI_SJ|RpT`}@2}GIrsIdh8HQ!r0~HQx?l84uhl|=XYu~YksjVm;@6Y zcPXfUYGh;L84dWoY_gUH5m7a(!GxUW2qx-ZX<_2N^{UNzv?-Wapc`yf!@&n&))H!}>6Q+6+@qMuYjquF5_}DdrBNQnH=jwl>vC&S z4wk7&$vj$5%CmY>!YR(A45wn^q+H0ex)A z^Dm^>=&guiKN=6wT;ZGA6w`tn9fMu|E)ePuhTkbruuB7lx|u$EqbShLEhtSX?$C4r z^hcu~m2yMdJu@`vG;RI9papT`N($(}n#Bk&PDE-g3K(?=V3xp|a}F0+-goB}b_d%>KVm2{=2=J?I-soC{BQ#0}dJvChqH#L9aFXfM{6kv>e0O0PW z)~lL>RpSEHZ8;Cx=SQBF`NAMpGrMSiTESp{%E zB$xhHhBFI&V?%8 z!=l59g6K#-mvqW)7-AFY=?!Zu(kFnbtVmA@B}7~OlWKA=g;UQuU}*dr$TJTZ{;B<< zdg0q=9x#aK9E*J$y9=JgON3bcTw76-On;UA&E5j-=qb=zbjzDAwHV^A)rukR!=X-g zsb6$E<9>BS26iDiC zmV`bhhoJ57N}+9kbiQ@6kvolLQZ`jB6O5v=LS!Lqo5}<-VQ29=!G6w6^oA={oe5H9 zwhGov0iXiukx>MH5oE1qc2<=NvYNh~rIEE+jg|?Om_=NLdmT7r zdSzwmDuU6^;|s;M(nVGMQ{R_@fqqiCW1zo`aoGm?_=9XMB7ZJR8l9C>(`Wo8$T!Q4lc|>cucBM7_Nqi0;4hIFGe0G>) zhr2nbK)Gk8aL}a|2R#j-!IkEqEhPJp=Ah)a()#XaKyMY${4-5xEV9((pV+v@$J@B7 zgI93%^%VH$MTy5Bm(z#9_N?@!t~;wZHL=XuW|kIdLDg`!hac<2k~mP-7YxAO9SvPnM4E1<+v+6^JOQ51wC2t{E8E#~GCjVj!_#@lLcNbZ^&+TujLEKeKGt^Fc1P6Y#wvTQJ z+efxY;co8PThqoy_xXp&H{O3F+dtALvo5Rd9}5cg{_(SXCfvpuo;Qxw$$Yd6m`fly zHpvqBYj`qVKdm|qqo0W(j7S=#|~j0W==wk{LQ zCsjo^n381F1?FpySz!7Vm`7vJIubC6VM&SASH`b|IP#=p0}Xz=r>)3EYOulfw4xS& zC1mAxc|VcD#!2O(JO9fQ#OIj4w-G5#e!xy9C+x5A%gXp*i=vPjH3>)T{M(_* z>2ec!<8xJu7dDtacL9?aEG2#N`ar`@n?0dg3agW4@+;~W52CPrGN}pSMBexqiV`S= zH^Ns!dzdP@xf(~~Jn?9d3!0r@z9#<48J!pu!WriV#0;)4;3Dxj!=1V>*FlfmH<)0P z;eqk>cs86U3?N#s(H&r?14%A!h4fVVi-@{hF)vbEq6E9Dd(1td7;+D2cw0NOOiQyD z%5|CoTkW?gu%&9qO@R`%VNoE7{`nQ_$sb`R^YA#=nVniJRTyqd(;|4~>2_b-Z88(` zo+;Jdts-&Jtf|^NBbLP#$4_FN$c|5MzM`kF#i2HU>A%-b7*J z*0&Bzvq~`)n*DP^4UaSlbsKY%NT~Vi6_qwlMx_%hDn0!(g+n71D!qTNMWwS;b8%E! zs;P7pvw-KrU!>AE!H1hJ|BOmY3(iiU(zx@-B=qUM%cjr3?IwM`Gb$;4PUPllb#rR8 zal6fG^xu&p%v`?3nuv<`*u)u9t+0Nw=U#rrJPc5XGbPs|&fx2+>3eBfh_gVq z+u#SAIQw#^T>Nh537#eQ%q8r2u$V;ptV=Py6KsYj#N^bbD!CSFu0hnhYC%a;CUdZ4Fb z^>K8oAQVqVuh8I_hqEnB5H2-IVS+1c-{||M{Rycs^zb ziHKj$v*hqR${UUAw*}X-_5L?--9fgvV1TRyGVJBOtYLS5Rbkh6NMkpmhrOY~#%`@7 zqp6^op?A}QaiP*imT6ny?vHU-^y~&E% ziE6i)2gMhLYeluU*y=qvhGEm@z!X=o^OuS0JQ4FFISTF+ZO?QCYbmZ^w*67*gNKX_ zW1SLif3WmME6|{tBpzx{ptv;r9-p{4&KScohuc5%hN*#VF0hp2j_ceS*i;G_VSE-u zIp(~xI_21{eb{TO#2&*7 zF2;T1INFFa0&u@HD_rql=X@?^ThZJ;T<)F{IeKzU2`SS6$ebDP!1$TL zcbAkSg4?SDuDNKLA3kK7yR^TT*w1UbO6d7Gn@n{=2SSuVbVSGaNKiz?96iM&*vyFA};n;0QJK3gVqyH$k`>AC=R{k8|W-A(l zFY>Aoux&%WPk|bZ2!NIST8E2-qVl4zX}Tnb+88;t=*dGS@J%5~48(4zcZyYbqQ z-W-2dH~;X5_vm|8?)}NdFB8TB0JKwLuKWemb z^AAaQRhu>vcRLXggn?N2s4Bm`qxeTiC|vl*{mO^NV(C&nIsb?msh7l0&{kvXc;O#A zjT2af_LRUsen{XSJB$q@of3LJe&LBZAH=(t3Oa25p=70kcJX7g_(g)uCj4vl2*od& z|6pUeI(~8TZSLjk;ul4`aE<&Bx8mpD7D|0X@r-D}HgDx+?KO|U*|i7J6WcJ37(8ua zJtb2xPmS)tP|=L9hQ6ok=;?A#SCJmrM8h~bcmP4xW;4d^4x7=oV<^`M@>EQ^pYVxo zs6qAqTylRmN44A_KxTcepXJikB-hWfpUVBSWk@k{KcnQtk(3BrKby(@jMG5|z3JmP z3D1a)OF&Og91Xc;_X6|OS9O`;a{N3Ze^?zT(3Gav>ifWMV1e zki$Z2Q^3ettc9;m)eBz<{*sCNUo^dSrqY_^s3$TI<3Rp;5v=488mIY5hmjuw$>t-m zefaaNTkzV~azy;lYnns9j8856#9kM6p$-jV&+^rE2+~RlS%)BPU56m{bswxRb3fZ~ zt5a6i|32dvo|y83mJZH{mkthh9`eD>ERSgV=0%`?QAc4N(Z(;49?*0WFfQ0}NRBuX zPUoun8xZr=iTly=xI7UOTqa^Z;X^`^Sj+1ma9_)@vgKoN4ggy|22JyDXi)93-HCh@ z1Ec0k+rNPGwX(tDIk?m$$CF(kKKXA&j*S_Da(*Q54{LGQqTbUN3}%HUcqH6L^TOy> z@|hbXuadYzc~|@!VN->9XfA_gU9A1DDTFk=`yP{Cp9fod%dds3=+Ntx6fmxNRd4yw zYxQYBY&56On zOwBR&3n5sHxo^2|iL5%7Qf*d2L5>?sV68QdJy%yZj#cYa$4h>;$FV?<oH0F z#&76n;#Jk*{erhtpXbr1Y2}l{E9mF(uagfUVB>vsOqQ|?;S_ra&n-~R{fNu4;Qcw> z);XWsCYi;!FpA)m7a7Hp%zz^V8nd(E;>W_}fqYkiJF_4XG`4`XXpwuUscHs#YVG1GeX?wlB62dXgy{bEZXg`{t`D>xRR$Oxde? z%8EAIQ&vMY@18PG@LHNlI&HDuydj!3_Akx}O#M^z-Cx2hwI;hnn2zkQAtpCLlg;K4 zuaqV`n(vAFYtgQ8{_uN3&&-;+waQhWJ?Kk=K= zIn|1as9d0aP;cUeG)MNmm+$ z&&g3wi8Qnf2veqoOo&gS-IOah$_R7uDY)=8m>yn0Tg6ea%p;pF zLPlMN$W({~wSfQU_)>9C8d%JunfjjXMK*ftT{aN(a(d^+sENaA3Wt!_?YKSV;l?9sr3=5o*-)V4u*&^m>xy4ta>4nx#gMFMr2y2*(Q+R9%ZOt@m<)l3f&4u5VaXdtR zC8=nfaGhwW7V@nVgOilG&lZ^(M*Ml8jlA^Z2AH%t3L>@UBMBxY$rB;)(Z<=UH0Yfa z=(+2s`x?mEO9E|rLd)0yVsgg_^186DWvAH#3R?p@>mhqU8$Of)C5*!pB)5>V`#aV# z@h7b^p4f%5-4y-t9`W!C1K08Gka!91G9gYhp}d(Rj7ICTJ5hI>ox3vyjBZc=&-K|WI59+$`0wen ztFNv`pY6!dWav}*{8N2)pcFbnefGC&oU&S$u#!Q7XsgM^PM_PmQp%+WGy_*_z*iw-# z{2`ya8S^{;5V(`zWLRR)n?zv!P8|tXe5>pSn|-UdW#&b*=j5dgTc*_Q9mYz)qg*c< zymhKDZj)q#J(AO6}nM*xea@9Zma(W9EvVZpr|(e(zp%C)|(gBFbb zC$Ebam}{vy&1l;Y$t|yX1m866yUJ~bgNpm7w>jBUA)SEk)V%bLED`#R)=#q zHt*99aqkoG%vZGc%EIlo408gILTXtbTUtpYYB`Pvfn3Y!AaH){Ej6v(dp;bG znX)TQ%pA)oy{nXZzM7)imoK(Nz8;BsuKg}0?H=dS1y?bYq+|G=U;sRVwts7n;bc7q zA3LtNmvMJx{22W97%os_5IOOklPx*%;`>#5573@$J2I^xWXr!~+u4t5?sKvGs^dta znk$JE)%-AHXrsr_+!;d~-EENFF6kI@>@l1j6IDXSP|F@eO|C*UW@i;>cp5 zBh|?@%wkg#n1`7IhVgpZCbp{yW$b_)yq<2Cr# z(ViguY~9$?oHQ$a(-SI1+&SWdjQs=H$YzLu6u(a5_3=e6?_|;W7`rDV>laQFe8}W9 ziw9czc*CdMoMs3GjN$W@KK{3K@j0e04x^vRSFMkC%XS=g6BY8gKPfL=OCcA}!Jq^# zxfF7j5SIM<3Ncn}>2E9KGUM^Gn^`T1u=XU?Du&9eZ9B=DwW0SaqI-6$o;A7Zilx4r z(|dE)>X<6I1DGdxHB_10vBj%Ya@k>W!LGeEena!t7XJGChbm*Qqq4j1s+F(t{wK-g z!_Oad{8xq!SN-LTo;w4&#w zpaQGM93bgE{Y_2R@yV;2(YPF2kK!{oi07N^N|+}L8hJ~!7*`_Wz$bnunXTl2MLE68 zCEjuuR+`*}1*=eZVaXOO&*Ty;?Qi4>N;tecliRPf%aJEoXg-r`uS~C_u{ask^mR{x zc1JJtRj#kNInfQQfO!!>%lY({h&+W?OqciVQ*KZ2G60O-CHc2XME&IT3GUbD%ImB6 zBd!K@=&y#l6*rB$u4Dj~!xGje`KgRVzHmqepD*T=rss?{m->wt%TkvF8*6bQc9wc$ z3K&i1$Wq@P=y=!!8^;Lmtm@xg7AmJZtP-kQdRHz(5uJZ6tg=xd(l$L`iL`(;CRhAw zl@-G@|LE%ww!WYiL>i9o=EnXJC}&M{VG7Kk`lI6{T93EHPRaEIWfQ~QNk=81>5~9` ze58{etW&0?IaJ9FeP3`Zq6T=`(mT0P24TCm2JI%C(M{04(4ajE#Uulbn>Pd=6Fg7w zE`G&oKqtM~29H0^;sNuE)sP#|uE-t|-N|@QTXP5r?t4%0Ygjtl8Ls!9P&16P2~N$` z%m?%qtH7X^1RF9l?sE|b8-W>ui6I&jA23(R%u`^Z%kv82Yw`OwG4ZVi`a$R~872Zb z78U{>V=E~u7--VO!oVZbRD1PlPcZP6;E8Al#HaY|YLN#8_QcEudLB3O#s&S+)k8nw zIn~<&{I*T#zthlv3Z48Z^fFR`{;Fdw=)an(+UrMq0{y=Q`mRZ!hY-b$D>>>tK}qH> z6CRpO17x9C$Zu3nAqQ5KasU&NtBl`zg4*}0c7oKMY=z<%e)OW-= zWUi*O?lqaznhPy?q?w3ewmdS50>+s8|1FFC5%J{>Ue6MOwCiEMX%I?P6?~DdAxbJD*u%IVYN?5#%%k<*KllNTQrZ* zA7nE1**dnZw|ABTOtMDRoLOL=a?6}@fz8IoJ|aB)XiRBjO?pO9P5L+zI?AN~Dw940 z(O2v}cK(Q}=T#s3tDIK_c!a@KomZ{ld%}4YK2YxxpNgU5-5C;3`Fge~=&qz|wM2#g zzja98hqePa@RTCeRB%3%;41#2t9V_CW6Y(1Oy^VGw9UQgALq%uR^4_=pHXAI2Y+9a zC#<0+-L73L3#PAaad(|#c|!L~>vpW&M;uygH17kF48T_8>4TIKz4j&x)JQ%>8z1k2 zb`ZVvj!gUr7dl0b7{za|7^jR;#!p9C6H+im0lD)-Js}wkjst?YEDW(<-V{4WrSYa+ ztB0=jidjpHK8))f$~nCSviz)7+M}wns*@Ok{BZ85r$B9pcC!Bqr7S80NnGsZzeg4nnR&T9Bvk76^xhC? zM7l>2^(q>ghUhL5o45=vr%k4z(mb8Y_XhB7(e9+xVz+Gi@^q8KZOgTk`fg~24u_jT z0b|w-t<-l1nu$E{hclE!=bhGv45)I@(b^2XiSy^FqB4)zDCtXlBGH}Cf(M=Fh&Ov= z&_?86Cs*ADwp?1LbdyFgYBMdx3*ZU!UxuKIf`UsvpinZ_+<{epEyCH3!LFHY204GI`j<5!R#Oer1Yhy zP*-Be8H0-U3^ZVe!Wkkc?oTn%v!Mu17nHmD*e2kgWDPJ#2%?8)X=c%Hrxl#*i;N;y zNxudJjxI8eI_eKGkS}5^mq^=@uEt2>!=QylJ`$OSC9O#ssZP>lE5zya_ILx&dP{o>_rij5GXnBWcBoz#(I+j?{S@s5xp#-V#6%= zk~@JiMze?(D!Ndq4iEg{TIP~Vy!y(?pPQ(Eb8e4t&WXZ$OtGcn@tGI?S{y!S0Swr@ z$Z`0rrD(vt!6%8IO>7^Y{#Z}UiV{KQ^4`3WaoMJkGm@D`^!bRM;M%Uz+CFkNPfYs= zUI5E{p$+&MMW(G63=#oSuD;Qw%qD^fn}Qqe!`mZ%>Ve5FjeHf}$l^kpVAC7%p2HPy zS|MANm@DGErPB8wcYS475QIjHJt{BW#bzN=A4hvtnWCYApK z*)nGE$Js2B`j58eyp2;SIrFmomz6x~nF9Am5Yw2R%@JRgMJ_dt*Biq44TmfNSA&qOR21ZA9sc4R2+Ux#9hIo@IBq z2no;G@a9p#SU?K8y%;EXr7qXoVDwu7^ z(A8EJ%$99R?_t4gtp$h-63iAsC@=gioJxY_I^)jc#Jq_5=ZdV5V7af2mrhCyskrCD zJ-9GH+OBJGT~~m*^3{gl5ZgcQ{~cUm1+&1H<@4o)6}00iFXmD+&v*x43!_#)F~3VKJT2p9E5rl<)(GK$vQH-#Z+0qG0r ze2Yb#SED$RB1P(ne&Gvm=04)%iXUi-MWM2=+i@v@E4h0(HMRHwWuGgYfa8ClyF9AF zBQekMh&yG^lt*bi66+j~($r`pFb9^CA9+b=hSlH+w&J%x+NZTo-!XtIpI6B*oQu#i-Eh$v3{HKkXo7+% zrVGRdX;-2+xblk@`bImR?7DZl-pgb^-qc;mV-sA@dz@4!#dt$K_XHQvw(H$PxA1Ph z`A$rru6MoP=G_$iPPuya@+=9SEQu=2puXbC;#!s8`A5%`D}^&i`X<4DFVE88$>v1> zo?wht^<@A$S+(6tSPfBCKVGVfdzRv_@%2A&)t6{^GMfrs1;XVNs2I8^)io;d(yX||nMqadOnKN%%GuDLD397WbFa$P zl823)%Fb(&*9%<(w}6Q|>_z~w#p-DKx_`(J6aCxRjd~9g1^HZ^&F35KVD(P9Eh+Y8 zTrA}J?2CUT-%x(^C6N>J!fi!PgmHg-CTsb%LhvnijoXD@qKym5O}YwgM|ybSb?HH+ z&?9sS12*vE^0j8TmDsOdS0Q3gu)Dm_#Ge;lAj8D|Tvll652hlnWNCX?b@i}*#be*p z2(bA`r{}6p?@|2RA6b#DkmgzPdbZFo!N3n>OSAc8!jnaoAGt?ycym+&%+CUhn`t%O zb%ywde#MY4og^qP%B09%vYvTYZGxaZp+_@0Rx27zyOPy!7Qgl?n&;w=OL>Tl?T=jB zIzKwLNnYn)Ji+HMx#k1fBARhT4)oK=oAT%lp<%hG;D^qFo`Ob^BH=jRu0gd~d4lLnhiP8P-ZL1Xv@gS@+VA2r6CG1ijojGRNmGSEp{mFZ-p^u)wW}o+8}F16n2n!D zB=7oQe`-DQHcpj7Ja=YdZ<3U}sYPG-y z&W8f|WP8jg+JBlSbTsw+k+CS;m!bCP^!82CMe|YLQ#`>Z)J*O(Nb@6eq|JwYGKYK1 zGtyFGqAPaTqVy|&(F%oh>I|e+Z)8a!FZU|m0Tr!gdKm5#3^#VZ^WK`OTt+A)BGjx= z+IXE{hFY>Dve~k$j>Z!@L%8wJpv0Y%@R<~Q{~x9I|FwGmU!X~3>9dD~RT_9Qikx9| z=qTc}y~iWS+g*i!@kbs|f)W-ZU-&DWUCE4j0%EXny;=L0v*T(bkaL7laAtyG)Q%6U zBG2tKUXd0e=?z}D?U|m?O^^fz&2gZ_?Z=~$3LYoF<&aG+n5zx3O(C98Lm{(|Q3|Y; z>NSxp8e8N^Q$`H$rjI;*0vQfHAmkN}F5p8SbsRz-M5`8hiACTrk`^fQlII`Z3}+-{OnQf$g&jYc10uJWv1o- zz)NDt9H+R_G7OQ@F+rOwck|*95#| zjf40Z^hH}e#+m5ZeU_j{f=cqxrX2J%qk!?)c+=kH4>uD^PpN9?Is*M)=6NBtF+wen z50f$Qvyh*P6|O`uNHNB>7g(ltl0xMwD=6P6|GHYFKE&kG-UnoFlM)crQ4P71T#DfM zVho#IL+xri88aM6E14k%Km%?U&_@#Uc33;gJhsZFir*;=|JeRQHB>Q>F*#JR4$||4veb5@@-_jM za6EmM#bdBzQ$;_j#%l2pTz32eo*5Qz@MX6umeULntkVSg@BNhNt5YyC!Q7mv??HYmitUayXMPuVGt20}& zxUa=1g!w6@COjZJ6YCmuGKF{ti!0A~UhER*xA%v8lTVE=dEvng^234b26^Ej?R}N! z_rzMEPL)oM4|@8zfnbuLr>{9x5{YFQs6AZLD_`YBJ(H2s8H_OYvm{8uANdsF7OT+_ zEr7gkfUXB1F94-4e97Un!8zc`SkYD;NU5XeF+7Op-Jam(JQI5!hJ*NMhgf%c6Gv;Npn4hsrDGPlM_|2m4%{M9fJ`WItz7JA}{)awp`=Sj|T*7^%;t8H3N1qCT z3FI9+kvCOQl?*0Obqe4gDJz&1QE<+F(?*p9Ap`1XNKi>Phy@JALDd^43#z)rp-Of| z_p!Fk3KXhxG^*O{w@~%sjS7UL0YOkzQ}^HbF&kBiImewod4hFulfdX!NiE(Vb3q$twa_tH*s{^_5tAin+$8)-*rpr3rE8l>IhAk7mJmuZu*VpI4I z;heC~!p5WMOjz8~XH&%X=D*lsZ@|_~3Vx|Ph^&FBMls>LpEI5H5&E-eL2S@Yx%6qm4sVT8C09w_Y zZ^l1P!%(|o8~Xt&fhVX0=kQuiB~DFQrKEssDc}pAFJYoOlMCXBq|qdVZzIK;Aouo! z7t=?1PgF8t!t*q>-tykHHuDBK4`sMMaO6jx5)l29*QvCi zop*VH^>|GCrO46P=^gD*>@AXcvvr3}1T$Fndz$k6|8jzN%4PQOA z;cGxz4Q=&Oztf5bq@~#=uYL%qqcC|LIz+c)UsfisHctCElAYjyFjIWWoS(yI`fq+u zM(U3?@|4wVz~>5&ScCkLKz4iM{jms0m1X&nq1=6FrXpd0>ZU0U5jN&U?#NW}$@n{S zx>Q=xQcfKOYq^3^K0iH`lYyqXO#Vg=OE_92>57+~WE=@x>R?UNar8}GLcSZmD)jRA z@3X%MSp5IH_t|eg1?uC9&aQ(pNB@u?DL^dPXRPI6b@$mnquy}^rY6M+;9UsqN=}@N zi1|*D>wo+{`*yS*`wC%Bz!V?K;0OF5#l?Dm(L_1W^g&)7O7p@aN`2xZdh51M7e%_A zBKd3@TogU=6k}H_Q3FLpOt~mB;S^Tfk=|$jDmAOzXFpFK9@%~Nqm$Ji6kp$cpM5W0 zxgc#VkY00f^tMx4UsN>Vl=dlsb1se!J*B;Om8^sgTO4xaJUuU!`w?U_XI3K<NbgUjU>?AM$u_&lDePY*GWgyIOl3qD`4!<}mkRuGpwGZKOeThbvY{=GkUlX*xqne=gRr-1= z8$|&*@!j@`B>o0f{VCKrW4q=_uA@x2U!q^0T=B`hHsSZZ;e#DYy<(BzNK>a-L9)W3 zK&&tbTLF(h@=r0);A$vRr$lh$R)A^j%XrU%lSF28Fapzx*D!^P%{ocWLo4L$m>qPd zv6D2m!o}|5Ip?}^<+`@hB67t0rB!Z|9B8teDHpz?0~lgw0kgIfHRqeruNi9rS9xhe z?l-h<##ZLxnLNPKTQfTi0Co~jilKOk2zvg=>?V8|yMFi`P`3GtCa`CFf>IvAoc7|d z;R%t-xiYq&Kk@Lb^_Ix-1NVHCd?E9W%(y+FCTAg)v6cMsmWZ5NF_vU~!hnEBY~-hp zI8f;guM-&D`1gb+NWH0cJ>_jd5o7vymY84vDkbIzUaSMm+eIgNn+Zch{3rH#!S6pv zxGSFxK~aa&g!bhmEOrWioXKNHX)qj4DSXuf>}4C&|(Cv}FuPj-It^ z>pXsyhh&oZ0v^)8X~>Zr;Xp~EfYT-_0MI43+)-2_#Zdoi)4tWHdjq3Mj!HFv!yB=+a{OJD56;>1~qrnk7jM7@dZ>lLP0Nv~-isz-qN2Xe8x#pnxk(EmC)z8hFBbXs>Ex#DePHrz}hQd>Ip$ppk zbZn5n{DSs0hj^+tgr4jMd6B`I-q|)<_;GV~ILb`5AIR9{IXt=mn`xy{cpMu-wAHaJ zmAr_;c18U+H3PN!iOiPWl>H#0f-%hf)Y&`Z_fd<4@M9!+-MxcW*`KQJpTI zLJ*3y(;xw8s@q(frV5VYJWKeYOVu@c9m}QGu77d-vmcumnTc_X4PEWT;|)4qoYTzg z<<-RF)pnJMi^m&q9YkZrm!85JvrO4*F*&MuynaAv#h1p%;msDTv;7);N_^>sl*EX% zdXRbg^D}6Woiv)>_a^u0&jJbE{b^!4oZe98{i29PCvb59DV1e%M}m+fvPyXa?tZoe-epT$0-235rIPQ13D zRb?A5r?y^*R>+2VAF0SN%D)8s#LF*c+-N)|^XN`6IbXWfSAmT*<3?|kxX~ToSlsZI zOBFYqwNP`z!2ke5-5XJ+I5}rMHy)lq6?#p8N4oVMQyaNV95UVaIwtj(gxTh^^MC3O zAH-i@@@!@><$JFXhr%J`eBEih2L)SsHd}F*sLNen^krOi!aIz+oIl6Ih?mQf zj*5^P|C87ZiyS+$t9pyhBi=cMm$}oI42Ih#WS7jKQGwtJK68V}cyiXIe73|W516NR zHYxK828{RuWxkGIjdL!UK>?%ob^2VA{QK3NOS<##C#-+kY+pxqZ2Fs)B~E%(gHC=K zqbBiRPuu&p$e_$)Uv@PebP^xxSYYQA9HVYgP8fJSh9d*Nj!!eKWBV)cJ+1y}wCefor)&&}s0{}4W+ugeCn)YE78X3gVt&O=0!GO^wVrE`^;u)y z#j4pcG%EuV8J{*c7pv6)FYgl1%ah(OnJ}NS^jjP)>tkDjVw`}Ul??#LmzHzZ{dH6H znMi%Qk4KY^2-;q76KJZFX`<<9UL}0JRXj%O2N5YISc?GzG?5C<+8( zVvQE`Jo}Y}o_2jza|38j&?AR5plA6s6Fr{Lu@FfdiafzTWZ#0Fc}^;%xEc?3+cbG3 z+wYIDEfh#V1&Q3^5^%aHWdV%{rHnC?edwi`{zrz1js8$iHP~38omU=w!p6q)G{y*y zosk?HBW-Mqh`nlJd< z8EeTK^xT+y+UFxm-b$X2b58@uH`}~f;sG8(3d&&e4c}e<(*ydGEe?VAUts#jflQ`O zbS>F9zXfg-V4aQg?T1ZjhK?_08#mQJIcF`;{er(TRbQo((RjfqFT|1rh7l|%&S;fy*xv%HO`^9Cg`A#&{0s1Fq6}=pNQBxkNtuA zA`Y5){fPg#cCcfA*eY(F&$PhC0~0Pwu%tZKNmGiDt5iudYx}vHYN_i`XU~5-YRor~4;uX0o0R0a_ik}<%RxP;^s`c`6_6g*{xt!M>w1@+p~tnCEi&1-CfMV;+m@#9 z{>b9=ht5}=z7@?0r*Ey>nm$o&w;1n__&%twYgzKMJ1Qyx5tjV?^R#&R*^Q7Vz@G?@ zW8rYd>JwmZb2xl1WzJXpVWQ{gN@y&(i|hpLa5IoF19Ou+R}bk^Hm_vp8E2zsY-|lh zMH;#KLkm4ydnxo}(43%0q$Nn`R_yG`l!g4Lq-hsV^9050FVcuDZ?GN{1WAcsNz)?Lr?e>J)vGtqYO%)z*@ttn6*5Jy~ zqqfXw=~t|WpYcpiu8YWH-*r%_XUYK31gr-Rn6O>~tkulm8$%V!?3}7K@ub5 z9(_DL#Uucx>O98jMeccA2wH@+$D4Z5tyBjq+kZ2$(iH-)1}jevQNx%x+s4WODnpBv zg-NmE3CbK;nDGQ9W+5iG&I)$MZ?v#e*+VsZ3e5_3#G*i(k-Kc{v{BM_9Cqs4(sm+t ze&rBVcPYIzwtJbYdntWT_aep$dTHhKvQ|#hPDY9wrWE2$@y_Ms*{CM1w0fbL3q3>KaN96U|op>$&tKOASlVYGJdn^Em02DZAl4 zi!gR{SA+e$zSAa*22@FyvOV}EC!ew{$|rk!Og>%u(?GA%pgJMpEW^@> zvOQVhON&42!^?H_tS5Ar%$`o%d%J=}b_6b~Cfh}C-VpMe7g->(C=#!H|Lj% zP|UlHh*AslqAz5M7>%>qB7F3m(+2F7zUXU8!Y0c}ZO8&;r70e8rc|BZdB^ClVv?xI z=I0$s-PLb8R_6Way035IkT*08sku|bqgcGhGHxY7s+3E$^Lyp zX#8jI0E|O?gM87~8>-Ln*2;c8slGluS_snKn>2YM|=H0~L4fJC`DkDVLilfQch%nHpeHC%z9; zL|+Ymn<`8O98uG_RuTtTHUH(Tu4P8sgPBTxhoyycKdKJOq1P(Z{hJsR6Ln)~2-Mxk z4(mdl3(A7FHiSTToQ4kGX94I3HwwU@h&#r68!Vo5X=l~fUGycJRe|p4tI^7Dz!Q?} zD=|6Af@i9en~8jnH!ygDa$u^2Ggp2g#QFsJOcH=83r2@c_?Tt*O2=wn6HZbOJCxSVGKr|A1t z;S)V~l^jn4oohL8Nv?R?n*9h$NfT5V=%K`oKznpx;Q;a8jqp#1!)Q%lpYk;U`(ScSvaF z=sVQ*B9@`I5;}W9BcqUkSH(xg3?}I(@U73|;?GmrTsHc{`$+f!2k3B~DA2cZhy|~Q zz%2#3xg26y`ak$UiZGTl^s4%EPDU^H`PK7`z+zGXcE>+Ezv@Gy()k=d?ei-D8`aYk zOdbPo+B|&lLbqUYF$IiEdu#LXd51F(Cpk||2tdJFv!9?qrU@E>WH2llhAbbpzPq%o zMl8ACgX?%pE)K#xtGa#?+K-9NK0$xZXIwJyNBK0ZH7ce}Ut2hZ3i)I>L zG%R;Z-T0&A2}6Of1ri<0`r&1Y1H2HnH;!e(8_ACxkc~rb2B`kpK{=C8ps(-u>w))R zY^HriEK=tAsKm+YD4A-FGVW^!B|ESvYBw;FKD%Tj$%fEC4|WUtWkws?VTZ2}G~ zd&~`E=wf#j7rr3QUkXGLb8u&5+N=c@^n}X3M1vY~1=Kg9puS~@N(~~U^WdM&d zF-MC1MaOQFvai!-Pe^6w&{2zGeu;zFZGOSu*1Wk<%r6b;Nu1L$zvOkDi23C*ZGIUa zGa=o?%q4>q;JRwy8UdUM_m>*ovq$NvOR$@Ig0H%Wng!pdcNR{BVx6$Xy!ex16SLZk z@&c7(qNU3^_;!^w<2RnEP&6Z?XZ#%v!Y?=3GtT7>NIvm1o^G3M66d=DlZEc@WLk># z;ZFiG6OXe^AQ{it^Wn#0@(CuIZ$uT9`8TZjhY+g4>c1~h<5?NBvARPKsprUQu)4*C zRZmbv#MrS&NrI*oD=jqjJVP~mBhAXf*s9z7*Nrxs4k*J)Jet0;Eh~v=dP^)T>T*}< zW}w~8XYEusDP}hx>28KO-Q1s~n>(xRW{`9fPs@%0C-E{%arIJb?>N4&iCu86xrvSY zSvIjUZ=_b&^P2~J#UsQU~vvhsYZ>M{v1z91au|l++ELlW`)ST=~U0=CPqNQ|fRg(@|{E=>7 z8J*}-G@ZEkypt6ixeaI}C3YLFTiplh8@1wK1T0s4Ud0a@eqFJTsyMMhMXnvBB@W?c zFrCB>uwzIH8{C1Hih5XC4#u13cb%9yx*{g_E8@#^>jsLN5vBG2QG8w=4Y;D-1fPN2 zi=z^$he(FB-}cQ+M(o&@v^|Z$;G<+|Uz5rm8u~v$08vCe|;BukVh}dz@D;NLx$O|B?7Szv?qrh6(Hvql$_V8BwYXgO#QJ zuDO|>DH3WS;?0Q^{{I%A_vkKWdpAU26OUMlIP+(v$^>|V>-o(>6bjNIbhV9Js3h+t zey(V31AphYMt>Vy;BI8T*@%wl4Drh!o!>yWM1Gt7g6VojOWLUtTUJj!gc7Mk`?wiM zTV01`jxLK4g+a&p(7*;yunRvVO4OwEbySet9bv+S2`0Tb8W@psVWitn(p8tfQNCz$ zX{N|!rqIjd6-nqNDi8m&@p)ZTlYb>XFOwQa7N7UkcS&%#K|Qo_7#E-SBJb?@yaoKQ zSs`M(+f88j|HbDaGyFH>^IY!uRquPs$BkG_;y7Z+F@722Flk$>&F>XWZ_SQ~{Sb#BPIV+xKt4`E zUmK4B4BO6FonJ{=Y47Awys?jKym%(tj<)wOz$EtBDmbVxG!D8mF!N@^6KKc0*-$uM zesqNy9Z+f1l~Q(eKuae&U^x5;`_ds}IqlgcBtD?h_=ZQhFcUnu&w^f)vmj5x)j-~| zni-Z=miuwtmg7KDf9C}J3B`1P9Q2)uZbp;DA8GQgIncDePpYTrk?PXYk}KqEB)#A8 zy6Ab(o*c6kED*C;S?;RZp4REJ@sakl;g~Mk>P@W6`O!c&X4iejeLLMtrHw41xbT6V zLdas@>+CM*S}zdsl(tZ;<#E@8e7Dwe`RRJo&#v&YZ>2l`0Qqu=JML|7S((4p@J0P3fry+{w4;V^@*2s9z;f8Z zn^Z1FlFO|2edY^isxbt+CE&~K+A}4M7qLNf|Nq!~^Y|!>GuX z$(ztaStM&`!VJZyEu4x3Y6)>my1E`c$`t3)gh1>OCj72HO#XI6yKf9=9~=4CXL7ot zUr=Vyr<4Z@TSLcyHLQoze_pm}56>W9h%*nKc~-V4T^KFyb1%POFwfTThnUn_oGYl- zr~2B0wYWLE9FAx3h{Nfjc*c#wZ)rKH#z|04!%+d}DQ*GpH~dYAt#dyHbz?JFWV$tO zbStCyg>-WA$NdJqsqHB1ZJ($W^9g#-Xz@sV%aHy0g=mosB=3=tGV%Cwe9}8cTFPkDE^D@ZFl_&>#*K_n~pF z)%jSGNdsrs7hAym{Ov~YTAAYr4<)egv_iuD(Ku$S3C_@j-%zn-66PJewCrhS$DI`i{bbVj@kW$IIW7Q@q4HqikD)NIauK%C`atZwZ0BQ+pVL1! zsQnWMdqPj(g_(@6abxI7XdV|SqZWU~%LTr|HDw!v`b}_L{4uCm9UT&Z-z2O^Vd9D1Xu>v!o{1;c~z zdF)fF&XlOm40Jm45k7&I{ed%6cE%IA420OacGnZR2ygLk@rUQ+`#o-Hq8`{sG*Qj) z>Y*lzcD1PU@Y8Hf)VmFkKvDb)wiDcj63@} zW>@2nU^PG!x=_~3{{)}kdcOmF7Gm%bH$8`nImn!np2h1?y!~v~so6$e(rnYykh6UO z23iMZV>{kEn)tCrGDC-4VPoOvYLXtEoO0qr*I1Jt3ddP7C;U%~tOer0d{sE% zTUA{roMKP-Kgk#+DejLjk7{iHv!wMD?~VdVf`=ujk;kksc!2`HEM>`2b!0Rw@3XAw$hXd}TiwxN(^p z`1h)=u_xOD-;Pg`2R__3AWfdG42Ll3zE*o0sup9aWAFeXf8;=u z$e;5M5_$T)ymXkG$oD`2!*dXcd>ao2I`TX)HS|e#r`Xbqfn?65f)p6cO9lP zmW{8WA5Bq49>EZZ^N+oXejW=AQra72GB`y^T*jK?WnxFouopZ-wqkDAoyrBz_%Z6M z1h>H>?X%m(xU-qTW7ueW=fNYf07FL;l@5K#LZ!d;mKNWE0}i(U)Bj@VSlY%dXKl_1 z^kc2o&GwXSh)4DLcGO@JDH__N&wYNQ&w$3IFmMS&d^2q_7dN`Pj%|ndAx4I8goY`` zDCG42;s>q%w?a_CF;ZW%|0k)YuNh>Ji=7F)x zi1=P8j^gy>#hLz?^Gra#2>hap<}28l{$HSNQfCp?#xqEc$aKStkFJ`EWY^6QZ$ zE`LdSFI1uQb=E5(&}hzxtJM;;bV>G8DfDxR26L@B(i9EQnB{|LMqrEq`tX$z|`FjFa1!=dU? zrZ`F=B~L(_X0kb+BzYSb3srUF9us33;WPwZK3zdi7g!o4=swV+3>K13D^$Ty06$i- z^UGO-d$}w4CF-vc`b`4BU^22#vFFzl-2l9&4dUFjoI=+$qxV>`=-H3PX~2u}<)p@G zp+6x25d*9zwP&g#e|pO<8UB)==HSy3eepZ^qJ94lSN(q^W&e}#({Uet!nGHM10;Q! zCysYU6ya4R#;I?(x8wHyA3ogAw+KG3b;=K9PCYcqjnE|1>$MM1^oBlEA73s;yAv=d z8%6h{m$s>||Jvy0%1Xe`342i%R~HXModT=)em$Iim*5)5m#{f`D~9FZl;tkW0f|u- zCfoBu@t}h{;UuGCM<-A8FUUzo@oTXBD2=YiFVOUS?83f^rDSqIk!K3J+ZP_MJ>SM~ z!;c1WF48DU9o#X1bDYl5%9F!|j;8_s(*ZqL*LDYMLZrX=fxw64wtsn3wH-v;-sN(8 z;4f^k`o0`>MwIAj{+e0*02HU%`yZ$pUHU>Y}MSmC}3=c?Gd@= zf6reRbC|Yra^5l;|Cc;+SBZbY$3$N-s7W@u)g(%8R9Bc+qByQC51)yyrtISY z)yKV^K5`pFA7}eJ=;Iu_kJrchVtRND_b;{9=5kY(Y%Wbx)#k!I9F=t+A#67|{oVJM zKkqf3=NLFR_PGd0`?05RGF4+|%zTc$3`zrD088!z=-DXx3QETv!KB;aGKLI{!Q|Fx zIF4alfITwhyoGF-l*L&yVeK@NeBC&gXVzg^Nj&tHM)ZVUtte;W}KTK z2fY0*Yrxlak@{AHQQ?3YWf7HiaR!`&(IpMIn>k=~KWVJrU;}DD?J0ax+fRD~rhO+` z$Fw)gv@1ZQ=8Ay_Ss~r>&z%v;Nj*THmZ@59!MG6LF2!Z+@xkV8)ahk`}B=miSG?6jHX6@sq zi6cb#IOz~hO^Ns=|3K6umj_?9Pe^ctyD^c0+hg^wB;ZAGL;Cg0Nzj{ z{1JsfQL}Ag_@>xwx=)}|`?P{{h~JO0#Mu#dTC=q-LuRYj*=n{RuMlTX9d6IoEU7-h zad;wC(z-JgBdMs*y<4}U~ zRy%t|zxD>g+xc)M1SIFAUmPMcaPyh=`WvU#-&fc@ zl%M>_Y?s>|ylB9~2+oOo9E?4YlgC%bZxIY8oTrtWAkD^u%l>{GDo%`ktyK`r#&W$%a$1hx+^F(hVcvTfR%EHwevOFCBMZ0frg!VKK zHK?Sbfhe4!U^6!p0RPGp`3#A2kq6nb>1#Phk(^oRw|~a#Jf?0c$)c|{Nbt;e0O08_ z5x^qcK#HV|A?7CUUeZ}xU0=JfT*{6h!waEy9VO63h+oHglUDv z3TN8t7ll+7K#W)t9!Ng`0xUeXint2%Jvj`8wjZyMrB0WhZZ)=Mq+^j_0K5C?rhm^QopXrF(RlrVL zmKjKK+p>2OdArb+ogmLdx}}!4zu=G{Zx6$VB5$j6AGf@H+d-DR{ZBYAnN$w)_KPQq zyj=}ROUJ+mZ0(vLZ*Rb>@%QfkMR~hFl*Ep_tqZ)8#BJ&+u~??16t{C^BZ-N)-Hr!x z$=CH>M;hHN`TG0Sw$%JP^7TDVNhM#eMZ$kszCL-PJxfMEY_5>6KP+}eq~z=GR{XYn zT>$yI0rEBE>WPhTSY)IHC0*}{{qF#rjR#{FLc0Fk*uIJwX@(gd;Ezp#0;rfc#dxld zxiX2565bZpi^G5D!X4C#DD@nCzpU-^{9&M!;<3m$<6xHHXD(!-vb}iSj103dyxQ8h7Z&ZwE#D6l47R)tzot9kzA1`bV-{O4#U$F;_ppBQRzILb@Wc?n zezWwS@kw=WZkxkqSTqO`QImY>2VpPc5dL-rjL@-vP2=^+k|knPzXpTnqzS zPxu6Gi|rgYJ&}h9XK^bk*zAcA6XJ()?v{zPzJ}-ZDvDME9%U0(dw=HP=t5%Dl)5O+XRPKbYikPZkge%X zR7-}TLe;q`UpQ~NZI^XU9(w3^=ATP#@G^KG48^DFYPI+gd`vuwRaz6p&^Qi<0ukMW z$T@&Wzh^pv$VdAML^hvnL*x$C`x6RMLL@ZHLYvU#ah@#`5-Tb#NR0SVAW@C#2#K3j zU2o*skeHs43<(4b0r!#`3AST@PZ}|hphb`>U?X+CvTS_-;L@xxm~0{4)q z8ztV)fQqOY6qt%OOnA=I9gY6${xW(aXpjD3)nothzdw4?caHvb1c_ClpHKOhjQ$=} z$I(+n0p0oFD0}qEmOSyGdZ4W%NTPai`imw_xT7PWwLzn6x+kGA@k2Zq51`H`;fP77 z^R^c)9YFwmnM0iqKmp^yPXE4+fZ?Nr5UQY3N=I;#E0iy8-WyG^t3jrrU%zj8LV&vx zY&XQv#edYsV7~^7tHxd4E?)jOVn?kO+1)FZKY+P? zia2) z-@E-QMN6T!zB1IsZSp{}7G;VgJfKIK2OYf92|D3IF8#46rh>tFegXIQ1Rn0M>`LwvD&{*^bPWIGtnkVG4X3I3HqfHE>6+EUkguUlq`2;}$OEnC{0leh8snMSX_oACbW{ zv=sgZRp)IdJ6BG%1P`XG%j-~2RcS50sq!FDs0w1PEwM$^c3#+gc6%OUX5zNryPFxuD0rlwREp8u2%7QH-rw6 zYubwoz5`?094<72^5W(~+&(a;s`bDIO4F_97FUJwq1}>|&yVzp?|`B8WMe43Gw@UI z>CH2RAZ#th4)QmR8pKiHS4M+h84Z3-+77)223fIovWv$Pe#zp$Ec>JW0>sQAM-imZ z9>KVh3WnENJ5-{v0c(ChPVB1AayOc>vYwm5a|Au5^qV2Md$*4o1d9uT1K`Vf1W~mp zV~^?&7py$_iX!WLe8?}(#20P{Oa|A?Osl$Ct_zI72rmMmND|YLxE?YO6GcJ8lAVzF zikZk8;G|>*5??hFc^jw8vaXJnb?}d6*M9oGJGxe{&?a-_k!r-^6152ebo?Q74aL5D z3?rB}bux~GZuH{)W4yycX%-@pg7X|xG3=MLFjO0z4<^Vl#$0=h4?V5Mcr}Ikwx(d= z=Qp&t$4Y!o8gJ;dq_KvMl>}#;p+l3#m=J!n9^-50athNsu{mlg%K7?Jw+N_>uN2EEF()=L$KH!X{}=?XO!SDc#7e~ z2TZbu3ThYO`fOD89&k8_OD1qnMf?|H2x7SI0o3W#+8KW{+5_>m;*Nm$!UYP5a|F=_ z)L7%0`!^Ga2Y>K0f!I06@}Zl_apnDBLXpAgJBDJC{b76fP5s)0UvFuz$=y&1@{FeM z*$|dB1>+8F={=DT*ndLL7TDmgm1MIJ)NTa)P**P({GP^#0bOi(MZ7{pW47d$O5wYU zq{Q0Q{bPyeOL6*vC)RaP`?_`td82wT2^?`+>vN8kn77-P;=Hklgv~ty1`SIZ0ZopS zn48pU>kNYB4>oyLQj_5m6Pn{XPccBVlROsN7Ztcn;km%|%u90}x)yyC9S(?*BI&$q zFJNLtV>SVWb8!;r*B=M2>OFGc0GkVoLlOx3(HfV+ML?y`UBudyIWL9^QwDU{Wi()Q zI0<3QFMvqKjK3yySgf`x8dxo^?nY3kYq0m?4&P#Wlz*}_9h4~ZzC)eiMDjt+jQU4x zvxq(Lo&YnTFzQMPxA+?5nCqRB#W8PwEcKYLneyKobNJB?$Lxv13e&pW3Ws`$W9e9p zV+=-}@t*jgz5apxnPoEZz0qq2W|7$?Pdc_@zQLdAgKhq-;Y;Al3AfcDBfM`CPX?Z= z1xB9DIQ#$4n6B1LVeXQ6FMB^C{{`sJY)t@>X^a4FHg`(f7Ki+*`9=BR9hJ{ZQQqsa zFR#L2)h(r{<#h0Job!X9YT}%iyub>&F*sI)@m4^ zU41WWhCyr}kr4_uhY$AY^GE|*dsR(=*SKwI3sIrg7c<=@3n&A4J-xf)w-LWoCI?&m z+Q~pyvunM(Ag>&Gh+d!vYy8@{L9k9I0=Njj&Hr2Xp)pkZCX~S>({6@x>So%N~?)-jd z=_ioa0P+80Y)wTD@^B zJ|t}??$APNoPJ!ZzwKpw8b&;ikBt21e`>>+WEinI?=Vcxjn86Q^*N2kN9b59q#M}l zyTS1M{Rv>ue!?EpdcsnkmA4*ib`U_5x{gtGH5+%ZE`Hsryb5&;b>hOJ8r75HPF*TId!7whqQ7VF2p<51L#YG60t%co@rVACG! z+za3I!f^aqVYnLr9J!ny!qgoH$oU-nwAx>WKaI-|jbZEoNOEtmR*x{@aFr11G-VBv z?q*VdCc&vE+6cm`A;sq@T{UG*(tb5Ogq$hyR)EtTd<)OX^D!ItD|NJA0TZH4WZ3Om zueK9nuV3iN9squf)+Us|4*=Dp@uiR$j+_+C8nJ zFzv>Rv44|TyWKv**MhfcFbk7PO(mTuM^&8Z4IF7Kb5HOOC3-`#64fSG;3^C~T#H5H z_mqC8ykgUiH`V+dlURNtd)ND>Nz^cbDY@)Ph& zGm;ugO6VoT-k5oNnc|bSRBnEyR_Lf-znANMqPipJMs=^ylAIykK8`qV-+e5ElLt5#bUiizf zE}9s@)6ZceQE&>hr3Px73Od+L+$V(&{$vJ8NDgV0mFP*PF9JQlY{2> zKF&U<)5CW{>j#&hp8&`55;O^eohqX*`cnQ&S5NeDv=yXV^YDE>1Q&4meU?c43RoJE zR5Ohax~GY&*h)MY`~Fj;;?O8e)>BCEYh8q2@K%n>Qp`T&6LI4byD~TSmk_o|q8V18 zR~wa^zaGTl$F1EH$SKO>1{LU)dUf_z-P~mvAVh7`GngYJcFAPoax?J`GqDR3SD1+v zW@1++u9QUF>k#vG_Ql3$_~!mhqkyaLqdFmeHi~+efu4$S_9GV&#`L9|pJ#)zgz@P& zmug##clVo`9y*k^G9klQ#AohZcFPi_xdWujGfyqGu)^5v~#{+gq0d?D~xbM&rGlEm||} z51xxGovFv2i4w-FPdHPs<9!e{`L&ONS~$&|Dg?O{SLMmpTsiksCY|h~xtd$V-w3UI zRs#Vr^<{A@Lxo$VDKOBr_2+QVqJ&!we3;*#~(vc(^lqOntUbN%D{5u zUALE!+l=BhC-LUJ+C8Y2leSdVxd75%JdX-XXsxKP>V!a0g1~9|d@gUVHlH>buto=AzrK@S zTd@PLVr*^fx{I?q-(dcXSH;jel9dakB~Vla5yL9N#sp)$e;9|4K&jY(*F*q;V(`gY zK?%2xsUCU8w5@^+p_6{gwk?&tZxTMpdW{Z~zK3fWUSLN4dS{W#dhO8*>n*bwWxz*Y z!KI2Aem7@&Rl-CjbYcQ8FGC4G6Ec`UwhjsHmgr+#qOAveo1(0A;<%F1i||~6=TT`5 zSYU0q-N^-LX_`t=uNLJ-QeC>yTV58Co_6flk4+l-0@gkE$u()=^t zblbRltLGD;QO_)7=D%mgSAiin=P58_4Ga6UHv;MFJdwF5>DObdCXl`=-(_Lp(|-0W z>3m{U=fd(~V2s9lmXz$3URBZ?0S))U^;XC8y%XLM&u}kXZgn`{Gw_aZhI?hCg|dCI z>p;9lWcY^fLbF#R1m5Zls72dWw`St86YjIx11(FRM(B}rqKw&*5t{WX!y6M@mIiZ2 ze10Q{- zz|M!XfVS1QYHQY*Sle!;{nC`A4L)9@AY1m$s%YXaI-oq?W zKXmI@E+lpL=hdi9Y>GWT2+0h0BEe~@(EkW*kpWU8C=3`fu& zicI5#4@DV^D}J;?O=>wB)RKxci&%CP)TFe|j%ZSvZH6-eQL5L4YU=ge;_;sSUU#rK z<%FBL#Rss(>%|4wO|awq8Gex_*8n+jkuf8in@y2ptmKJsYDk85ookVyd2b3C>H~K= zlA#>b4bs*Nu5F?UR35j9>cG^aAWL@M9grBpY+#|?z+lzDGw@Vn15}BlfhV&po1+ot zhLUG){&qamB>KU5OK1JP{Y_EMJ^v}%&shU_=2nC6GGWzkB^)A6U>H+9yq)T+&~X^j zAG*Kew%frBV)tc;icdqi9N5}(EXeuZ5Xf!HRRf!h?qFc=bS1C01+4sRmvqiZEaB|7 ziFK5a=5i;`|Fm^e`|YYjL&v*OyKB3;OY3kyZQCZ@@}gVje%hpZc4n`X`>7{VhkR$d zqEaAE%{)i@?i6dZXTC1gesQQ8?J8C0XI;c)p)0y$L%tNKWI_HjY-a*=PoxqoQv7NB zNi>)Xjp3??!JG=rqt@hH7zJ`oMqcMfW80euI)=f6(Gj4A%SiAt5FUc+e6_P*TGb(_ z-uXtxv=_!?f{MqZn8c&eZ5jtBvmQe%FolkduSHRU=()2k5Dk4zs%wJV6)}B13dA>I z0PUwa!T;CY_j(kUX@+rUW16~wObz4V$_|IoQw`%}v}+FIZ8ePPJyH+j7<(9btru|& z-<)NQ;i^|<3>oGac+L>-+kOmm+@;11{%im~SqggsLMLDVe(i&B4+JA`4r;sN?|!c? zw$$uada70y!nuo(l8ZH-!Yt#n_>=fGp@Jcr);> zwiv_!7rq&XN&V!#&$U32-w3~&^SX2Sf9hEP9nDvs1*-PMz9EQf(iV zcZ4n%PI{M9R46LNuGa+=Cge zt2?AQ$AI=p6fmZ4R6EG zs{QkE9qAA#P|jvTzx1lJd-D=gI8H!w$dpb<;U%X1z~>z$DH%xNC8qtr=>Z^R0LXO^ zQ`>~qL;O&%dI(>=n#bU)J1Kn|`8}_GbLTYlz^~uUj%YV`Qg5nTv1RF5%#1zXnZL#f z|M&@)WdMs_=0Ji)FAxTvc?Xf)>H;cEF_BBT{DeV0=~rD@!%DOlYViZ~x(wu4uP??+ zKs$n5%jXC3^!+Pq$9Nw5XF&S}M}1&fGY{B6{H)I<;A5H11Gu>GPp;F1Mk$D}A$QFD zp=||bE=?poD(J4P{Q+ArqcFHFq17^J{mkUQ+v&FuP#z5qpGPfHoyl-L@D>@aMWhM= zpqYMCuCaC!NhQ>5{hk|a?{g*EXQi3}-L_xbY(*`J0aGvr2 znPF%cJrTxd;O)6V{jb6lgTXix9XLXoY+#e#ind+hGel)sY!Vd}l)Fz%DTwJIN`>Xz zH7pLZl(NmOmxxjq?e{0VL6xqE|AeqQym!S;Iy?Ruk^ppvL?C`P>5;1c*_(x)Wh?qp zQn({Dl3|%ngc90r>z`$>=fB7PJN0@Zx1w6V{=y(M4N{fB0<~?y;7)E4OP%rTZFD=o z_C#*ti~dxV{5)ENAAiNK2)eyLo_M{Cw`g>(CrYCPe{2Q6^v7PHLdU2^V-XNND(`vr z34vrfvZ)vo5#ULP+(5w=oWW6gK>8v{Ux0L|v{-(YN^d~A>dapWQN5B92Flk-`8$vX zEfa3!U9|<;@E}xqovX-T`(l05q0d7w;OEm7(U^jr!@U2}+yod$2Rjf51g7F31yG^T z9`wSi_rf;giDclp5Jce@$oq)Z#a|&}thw@K||0e+t)l zA|#uHq3+Aog4l7(33)=ML5gH#KG_xD;ilRegaG3d!l$ng?oZT@`C>~sUD&bej1R%` za;`p;&*?~CVa}DBlXUhXVXmMdK>0WpHXZK+`clr7h~E#f4pr8iry40+jdb@sHJbAT z^T8Z=NZNC>h={N79nvSKXSLRDdS;DnDr+|JDL5&J~)Ow=XETJ!-g@%0k zVzy@t2MTh6#G6Q)vdCFXY7tBYXOTET3g|wh6DJ{}&qA%3Ai!afCqg5e#7QcbNm`IJ zN!DVj3B-)X~!;14WgJkD32s&@0$2(Vi7^*o+AUr*pynRF}i_^Zs9xthw^ zYw7E}%K?BIhUG4rf@}I1%`d25ogFBGp=z`OZ(Mgcv!E6y%@cvP1rwMVc~z!!GT!pv z12F>~f;V;2BKsT|L#S?ImQ9{;_=vPE?H~$n2ONe2Fb|CoCRGs z&=)vhQHn*z^Jr5*Mg-E_l!8>+6WPf01WKX6L7i+erMS~6n?TWTK)M@rAZ$X>8x^In zLDvBG&9XN%@lWW*?NNbWe;a)P+}H4)=Yzl|k##si~w>)_F58gg#QfVmZHltAPrdBBI~J_bD>L464=@`{&ck za$mxnq#1vD1^k~bbp>_RLtNcub!kO8DmHs%He+?}C9`wjg!-m8m855#f60Z@F2X~P zP>S~dSm&N)vo8%~|EkxMKXvy{9m2t6ITxrCi1mCA(P9D~_@l@A9jKfl_d}#?Q)cdi zK|=IDZs$&pQb3^3&hzTmrS z?{&v^s1o$kbMvLkmv+{8rtcuzKR`PJ(U?8tM;RJ3D0bbBww3Vad+|Q=VoDtclg;| z#>aDIz4mq1YnivGG7WWvX1F)>f0nIpooMze6fi3?#l&iX(; zLwkV)^hvCCH3&)jd#!7}0_Ego0{q{+$A`Wu4f0IBsIsZ8zTS z#zW9HN61sF<``&S zW_&0JyCdCS@sS)&%w0<&7%2R{Y-?)Nb>6ZhP+l&B#U+9 zKap3U&r;Xy<-aFq^bM}|g8Gvz7nt!0+rWK{2SX@nGtOcch`S6c0PYB~F}BTcgD3JR zr^!?bq&LEX3U(l_`h4135bgW!UDY?sTRzN_7P=g-6Fliv6SAlc@IV_dPEtA{h1viQ zv;kg8$v_IV0Uo6dI0f2(E1?b8CE9?$`YKjsv<|Kjoq5|D0K+qn(Xd-D#TEq%pNdtT zgkR)z2K1*nrjdH&VE+1Nyuq<~H3b!aY*`j(VQlRAgZXRh!wsTs9jzc(dr)7@WH46J z$a_HW)-DQeem$xP?5x~?KC!_+LoP2OZ2U2(IVl#x^RKh{E{YL#{&fo9MJ=Mvzn~T2`PZ3%!!H7dr$sAr)VlPE-lmeY^l@Xyos6Tw zlC;dz$N6J{w65NDC23tjOu{X#*;Jk2EOvD#zWUPNT9=-NvJpA=>PwNwtKFQ&0R>~% z;T|CHf>~Tn>E8u33@&zG8o`F871Z9a@2z#rfS?B%Q@Ep)11U(Q;o^cw|=XgYgG*d1uWJ~C>LMMcmsnZ+!BZ$TsYduLpW z#n}{P75v9O1T}fZX{>ZpkCMH?xuxQmR)J%Rkz?}BSkK=1OpG;-W80zlVmkdIk`E9MIVvmLAIU+Q=o%ILO zTHTq{cJ?bg3Cf=h>Y$6L1|mU(H{~%9$?4AV5p*ZIE(@mOMY0R&;Ss*r$Xrk;(C`YA zt8T>OCXSWzV60+`dMt+-#^x1dvx87EzS=sQHOKov+VfSsNbxZ(bkgtEVKs(1GwU(U zs^Yv-1BA4EsS=K&dqU2Se=WlNlsYth4w?qam!LUV;q6Dp7ZPec`&PIn+%x`Xe6RAs z$Cw%fKqS~ulpcQF5epiPg+Ib!tTFT=M1ndLoUTTvlm|500lGm7=HQj$fT}St+jRl` zZ?jMq$`bUZ1;#C&NSVUUa#g%asPj2Ub4vse$3-H5?tsG7!!_OnJj-6SpN3y|FO=wSpK`0+x>Go1_P%& z{VE)}%fJI*%+PPeu4mo_Gy*%)c-r{3=dzIOZM$nW1`+?6P^asRIi~0l+!7aqsuB8_ zo|_EkwyjJ1f4H%JxWwMLeq&?3T_*egVq-n=xB3UQ zSjzo15bJk5P*?U>@2P5oRXVZwy$R8xcpjc8@6Y{`G~cJa?b9>oeFd5!tX#{w=nL2w zdSLksxrFDka&D}@L?Z&DsF0S{O`au7OE9y>vU@v2fzepLbQa#g>1W>8WsfxI{Hpom zDWT5qC_I|S%q7}(SR5In<2$j=H~F-Mi_i`Znac4oh*=0;2vL<(HycSfN5Qqe_}t;= zO?wSEG;KHLUBUH$lXvQ-OdZ27WgoN-M&O4?4(aSg$Ue>ULL>OPaChEkO>9gH7vmI$ z&1`EMon`!dpcrr1x8IyuU>W6n_*XH?xxAAymzktAm6vQq=k?)#ehL;E+b*L80%N2H zmWlaB=4D70+xwBszke|;IJRR6#WIgULdUlEjy-phy}bz$owp@H2SCev2O7Np0~B`w z2jf|C^B%=41JilZG}z@rI={ISt$3NH4DUlHF^z`2Od|`Aa(PUnEicok(NAU5yFd&) zy4ltnwt=+SLm-7-UJUq}rqVEdhrXIK>yO>o$)_zPsws8P>oXvKY32eGM_E}r_J>t3!VWqdBtJ!J!0~@-57GINQF{Hui@uH^Iiu$0(zZ%6YH6CG2?Mu zJ17vFf$L+x!PTtD#`Zc7P3!OiM3(i|Iur|teMFwq8PW^h4D~a0U}n>q#{! zb(lEJwohAAT~2~CtcxeQpchKUGB-DH$>A_y(DU8x8(aF~**NrB__}Kg3($T88poB{ zhz!oLGR0*VEc*CBY%!Bf{cAgY0RjRbs3xs67#kqhdW>c6dm&V2dQ~k)7b};&lRQZb z!wAHd`%th!5;HRU8=$OOv_Fzec+&?&TaC1GrfJbC{Fw5(7MqP1-8+3aS}YImfsn++ z__R<@Z=sm+d!n;@qDeiqQR8EtWc{5;9^0JV?Iv=-e)fsU$K-hP7mSjY!sYJg#fmBm9G zWbs4rn8X~K5Ju{djCc+F0s|_>7uo!nm3`M4+l6B-5=&!-@K`a{N;bzgLKS$24GlJ&hSUgkH6@ms*Elw)YdoN4d{Zp5@N!kau)Sr5#|(VNou!5)9A z&9h-C)*;gZ7J`E1(JRrbFBe|!ilfD-&SB0lx^2J0gH!tnUUM|6Tlf)}oml2Ak8)hN zKz(+B@hdu_c%I46xlL9tK^fyo9O8rgn+OtuzBKbxq<75s3`$hj;{2#R|HC1WGo^23 zMI(HQaj*<>!hva{-~c-daaS0CWHFO`ZP8i$iDm9H-|6&d>GWEp{^ePBr~eg2r+55~ zorcXv6{Z+Pwjj|D-ws)N-bw`YQvkI6N%oUY3%qgOl{8=Q7daiamU-9{RmbTRnhhz7 z#*G0z%RKk~3iyC&jP+aBC|qV1{PB#VKHLcd_z5{Ej<05ASKm^Hk8s#V6U~5~N_-qic~!uy&+diWIq!2U8glzEBp2#G7WIRmM)$$5 zKc*bVG@-rGEgIqO!V${ozBSqWsU61l`^uU;K*l8_`n>QeC5lozDJD=iUS$Y zV$ymw$bTp!L^Gg>I|TLTRwwBS#!mhKD4<&pOxz8C@3gu#QFZHXgp)Rwzn>c5p2$&X z!Up=w(nkS$JQvSkUyeP3YX`n!xU|ZwdB~H0#(=d~e6gMYwVIHs%alXvyh+c{3)&(gL%^zD#?n8aM7bc6%nTW>o za_qJ8+l$eA$AXb z0izYL@JXV${pq7uqK_{q)z8i;;5o!fESxlN!=4tXhN^h-w|>_x%?mRk@2SSqo3Pte ztQ`dETRuAvQ*b}NP%GFIy%e{qB@gms`!@HaRU99J900Ost_{du79cC{wgA}|O&j~Z zIZ<&$c$_rQlK=f0D&0V`M*~v=Kw`(ZfjScvnt+ z8yY^#dj5an8dKyiLVm^UBhoxo_v2|@IX_GH=_evoT0#DHW5y{zn3kyK zR@(3##lr|IM~_85^XYz=8OQo#t$U(ACe^TSw6=7Qf*_i!pGs@TNna+``A}epAu4$ zBz_4A#wlmW{!xqG0ef+&RrEVlDfHZ`LMbki7ie+&`r=~O)KobgHSnKb7ta#uD^xYo z*DV;R+=Yc0c0=KMmT2|%+wm6J-v=ir_jg2ce?zu^YKrlmhwq`mY}}+Ym=c0C8#TlS z;175tvdjT39?+g7&)mAFBT|sxG!EqF70bysriIS)wZ-@Zydjx~oQcc7#z9E);un#i zG!cNQ;utEh4ZoZK*U(dmFl{$KtugSf1*qA@4Vd>2iyp%1n@KN|#_O$KNIgjTFP%IQ zs_%koi^a*`jQg>qW7nw2vK-g>XHuT^MCrt83iJ?dDZoOU?L*oA&Q;|3?rh9z9+n=y z3hR3z7`%W!epWEL0hdoHF~Rgl59(1;Vp3AilDDDa^}-VoYS^~L1gf`f11Kl>*5$-H zqu*;BVCGR9T{Chcx)JB0^)Q4n8TK_`t9@XV|L3a&b<|n~u<}?;%tC;|7C;%!!^b5F zOpd;^y}ZQfHiDA`C!ToM?t$DPz5}CoEIig2&rV3ZKWg1P5-ecT2#jS+e@r`mt!H0< zfT+_#klVJZdcs04&q93(F>^*y!ww*2>(}M_V$V_&>sd0dk<>x2Ht-YB=WUap>i$y2 z?SuHE_07>%8#h8JM=&CukhU@2@=9AyQ1^y>@Q9owHyb^icFR3yDiMyAbFe~w(p5tpoDU>Om?(1%^F zn4JwA>Was4v4>S2M$6_f;ua*^BYyrA8F4exBt~lD(Bk)@sg=l69~kpdTGisf=tJbf zSdDOGK^#uDjM1Mzh#h)~ln=UoBXAm9+0=S=eL6okN7)+8Z?qmqNVQE-c8=A!8tv_L z5htvyTt;M9{tYHg))p>MF^%)|3*q?txo2KIxI3)d){)-jWDOL5&^o~453Yy_f6(^1 z;t#e9zi9ljZfBdsUf_`U&%2!4ZHYKqx(Rwb zTvs`s75SPfYs?DqSmivHJC8&k{zHLT&f|3FajNq;*?dH(GuzmO@+JFo+ISy4OL34v z3&c$0x$&gT*B7g|N91iOzgG!&ssuK}glwaN2~A>|AidF-vb!LYS3PanS-PnGj=83$%#T|e{fZuilBwP^z}dEv1qi4=h=uC*$Od6QvsyHVYdrFc-7ohmt->!ejy{LbEEg`YO zaMe#ri29l2t{)3Pk`n4q;%7LIt_|7R@6>%p`sn^-G*8~v=F1BEgZho&!5G*j&kR~} zNHV|ypCo?@engA#;p4FAt@!@>s6njvOsRJQiVRAuS7N4`{8#(>2C=@cf>Pfg3>mRe z?DH08ZD3Z#jZ@P?6Z~!CrlNZIfs97iPd3@e(U4!I`fZK7m^Ct(%d+jn$6li64DyXY(UUH25U z<9Czb)fzL=+1+0gokf00F5kYt^WZd#>#DY(AF986LVug_lcK*&{?GbrEflNEBZ4tm zPRZD|oBdxsR{B4PltbXnC-grHKPmdp#t!EvBLoNu=3iZTSz6WOmI*ZpP*#xd`(y z&3W9x&+!kRZF3$C=W&bkxXF2JaUPqkM^YE}o|Hge%2&#mLfv4YkY`*u@CV2s5;jY1 zJbR4c5}$9?g*-N<^1jBCk*Yo$zCv)#2~M&Hs`wHT z&o9{j2Gl^7oK`7kSJB4V)8K^11FYEiHm`QKq)zKGSJMkHW+(*ABeV5#WTx#8Kd|lo zik0esY%e(=TQLY<`!a_7s~Is?vWgif0#?5XVON_fSQ`<^yMiHRy%j5W5G8JW2Z3^# zOd|^(e8K%df0|AD^$9}&7r0?vhA&s{fx^sZIQAjuZS4jg?=@rDa;jJ8D1F%wtg5d( zkz(od@;v-Nf(jju+(zTi2wcr#h+XD6ef>qAqnfWC1bI{np+T)#3%=9Z3%OR%UTsbz ztSSH^_R%+YT@BF{r{p(JMNjqMJMajr>W@dLNCZ05R>9M{(ZA}SoyX{XkCIMr;wR|s zxLD3n=;i|x}etqZA(zk$?-Lz7{+SB6AGfz<}tAwaAU56$3;jB=&;i1_v53&9dCUfP$F7*8!p6Oc#i(Onp*CYaa=Jf+q>dR!2E=& zI%I_pHP769vGDu2j(*dNeUXa&4}`+h`wtrg5^4E5CK;QjfWMR*rA1p!@6XFk+0{h%y zw;hOC^vY|+XV$w`H171g&|LA;;hst_RN4r|4fzdcPNjIU-8>mHkNmMGGJs{U=8Yn> zVqXI0Z|ag`x8#-NWU+4?L$-|J3{XttdNWVh_5b>P zhyzgje{>(>`y(l)U{z44zu^!OPDi;5Ls~%27E}EBqSe(TDJ5yZh;4Ox(Tu z5YJEbeK7HR@X>9d-eY5DAJX4A23fA2idc5`$+620$sJp9!y$QyYI$<(fTCs6qR>^{V!(fA*}5AkO&=Lw;BabF?gB>4;1mVFYh!|D$r$RISrI4|Oh_PM`e zP8KvCQM~zM_h;h=^bjKN4o*T(<5|>$i_)lh!KPEh#2&^%Nfh)^hTOTVtLVb4vUPD9 zYw$ue@iRUFF9@O5Xg2aPDxoq^3${RI*L-p;G!rVAVc)XW6UN2xps?=%!M+;e+c7eZ zlW^zOKvE~*X4o(WF!8^8AL1*;tkPP{Cc)v9Q*lC1Z93%^O$Sbl0@e0uZyL4uV)yPt zyc{Ll!SD=8v|*TVAL4N2+4mvl;l=J*5+Cya--r0Wz7NqMfhIpN=`>ua0;851@=~Cb z-QeU|i)YzY;o^zw1iHAy8M(-*BYRDd7Thg7B_2ExIw3r)Ner;h{q&-yO7azGtEn;z ztI2#!a~@@BssdDP@E^(=>WPnAoJX>8{D;&Q^~A?!=dsawY;Ydy%}2Lz0{Uw0_e%d! zu~MoG^?(q-8jWj)lLXCg#4`aE5Cz64$dXJ+6wKw=4g5xud~KGc9^g-`tZ6Qx^{F8ujW!WV%6p<;;UO+JtI(ecHC(om7bC!I`((vbhmT3(GTrCFN&O?JyhQ+&S=XSI zR3G~+^KZm+2IchQRhp5nF@ah`V!Q(8h1kWa>5@XF%fL>3r7C{n}PQJHdUyM=Qgp-F?L_{ z>MiVctlx#M9vy@pq0|o=(HBPUMKDUVZaX}hR*NGl#K?U-I@UncsWdNsiZaEeg*ESg zTFhkL|CFTf3F=P>G(|S<275t&#WDdY7?_`7yetxToe(aF-u2eQBI}`{sk9NTr!|!l zEmZMZ`KU(zw%{(8KF*T2nhVVMB^MMP?8$$ayYe#2o5V^=6yL^SYqB?kWk`>p`Mz=@4s<yr*D|YzG~NgpC;{CXIihN}Nq7kyOw0ICb4^0`PGE`G z0d!XhgdA}Vygy6)4J8twx2J+$c!~|V(5VPZlnk}^VAK}ByrYi?IUo0{hf`Up>#`>$ zPrEyEE9*Kiv8%Q9j47QsQx~(`&j6%rNVWA@?aH0RavKPL6Yo$0KDMr*4`7LUcTKtv z^#tq02Aph@yYx3OKa0hHgOH`#pGT@ zyk^5gU^e&0w$iGEX_(F+iikBq<(@DZ5Qs;%mRZ}E{MMQ))!gkQtwH`SlE3xxx6V~X z2sYn03onzuVZ|8qOz=}5c3b+76>Zb5Mu^zezQWaIU$=H6Yx@{_o(|?l4>o5tFG3vN z5AX$i@@ug57hFYl1b4;EJ%-?9wD1qWp*Yr^d!vAH%=PK84VZ-i;_%25c?jz8j^l>A z?9Y?r1H{9sq3)oY(OocYG_06<_QLE0^k;nNQ&77m&mS9wg*%t8WU#zdqv3v7TI<(F z7vp!4w@Pdb5KF%v`BUmb#f;ifqWO1<46Hw_acco>j(&<*EAAyBQtQ5B%7-LW;r;6+%x-grig`2Fz zt|qOKnGu$#7kb4O1u<5A0-E!Y@l&4koOEA$ex&pqH!*(A8-BiGu8B&hyoROVfb5Bm zLa~NAyvDu!AlC1Nt6^mzQ&zq;9dZ?X!Ss3K&03>dveMGFmo}zLss*L!D@dh1Xl%gX zD^0YxM7l$?SO+1;L5nmLF!sBaiwp>Hn|wG>ctvkz@)aqLJzWw$fSQDGrNEEIuY{RK zbjWNAqh)OsVk)M_h~342myZ-UT4RfZsliS#WfBay4|BTv7%)p!YGc4f;As;pB?kD2 zC%c0IA#d{R|8kV{+Ma#C^xB&JZC+UpBura+y%%befSB1nb3X`KE_v}M8g&?l8nqppTO-&*m?*! zH!y7gg0d2T)R30XS=2QI?6pC8N`D2)z79(&@{!T!2os*63A+W$(2)v`uO`Crd5)u< zyw$o88x&$|Ori`$&3 z3FO}0b|0QdA(GSxlV@lkbD&oteM+c>E)Yqze9sntbH3k_J^_bgFxtU2!G7&@uplSH zD`4E9fOai5`2t_tr~<;p6Kz0YbQvdcp6H*XwM5Sy_JGZ~_?;wuNxYTqsVRbIH4aR> z0Fu0}c^!@+7bZ>-<1c(f`K60wbA3oZBEJCcm?JeC2cgFN#_~DMX+i>eHqIhoG=kUH z6j?<|z<(yF<5*ouKzaj7sX@({+vaz?WijcyyUgz#oJz4Cue7QNADQ&|>E`F{bcpfc z$nmZKwt~W#iWVxaD0s(DRrSdf{1wlMsw#vnLz)^)GUV-^c%q*ICP}?nPjJbKO2)UR znWK-(1rB%eMCrf?>^tjz`7JDtD0_%y-pteH%=a%(ZoYT>=H(8YltX$S_+Tx|@Wl+k)6=KJ6rE6h zOu8lu0tSeaaPg02DroWqdI&zB#48`qtk+F54wn zSZtD1!i@Mm_!vL{(Ue3kIka*u3Y?zUiiU!%CkY~kk4S)VsN-A9{&om-!-7PL2XdiO zD4Tk~EDTiL)Y;a;y>AQRP5bp_reYPxnZ|Tf!Hu(->j(eT(hnb-h;s;lsFr*QcZnpd zW5t6}P5WS6Ag7(7Y1PgJv_@j=V*xFaov|P}*Md_+xK%f#qZIuLgs_j~M6o~!z@{C8 z&-~N}?P9Tfp77}ye#%J10&D=;q;CRj9F{f5bC6jx8RFvpP%6y&H~#~ zoj!BC*lr*I3j(Oej(qFl?(jyr5X1Z2c#LyfzPyH$5*p->O_^%hkIVhf#u=`B-bWl| zNoxBaz7!m6e=~ui=~SE$7(Gy&)t-Z2T;g(z^7|d|;|we^3P#fpCQC+j|5~tD4hQ@$ z3K;ubP7e6f&=9}2f5$%EwtrC)evm(F1|pKBP^(;NlsCyL%#7^k(kNfP!qF&CtFtu9 zK%dOlFJVuu3w3Bz(oUm1qDy;?vdc0y-X|Y!X<)|pL%>8i4?xHYb!2n4cZ!$CHln+C zeF6hM`#i}yzbU|!tt;KwtEqG?I#CXW^cd;dJT5ldkp%`^6+7TyREEUrc~e2L87A%m zyov65z=}~O;J-PDfTxadEM!mz@C#AEsDoJ+dyM<54lu=zJ$=McA4WqPm9OrB_=H^8`2Ju6&I5&^Ki$QUu5puPBEy%HIGEJ@ z8%3#S24{h=ZGoj0F^i}AQQXFq7RTLzXzF8^5E%KE1>ni*FS?Z&=Mm2aXlQxCh$wpg zf|0__rwWtC97ptCyH?Q0i637^G)q}kE=~G;bgyTCzh|}+-$m=V7)e~Vk z7`?Ho5qjr3>3`wKTopeS!KB0A#e>LmxC!8wuWf9eCwe@qP@!?_eLBb=h@^6zvYtWt z+Nx`%Smw5VYCbbZ_vd`#zZ6jf8f6ACxsTo?23a@2vDxUgkk)*2nqlq*yvUNzW!6fn z%j+;?Of5F(aD7R^Dkz9?QIR>DY9?v_#jjfjlvI%_+mr3i4%cI*<-W3Qo>gPBK*wYK zJfLiz=q0ER7X~n{Uf2gT4Cu4L9g1nszPKD6A`|u(lOOEL1Z)CfoNj((tQtsD7XUog zZ|y}~Il)Did<9#NV9_I-FV8%>9me0rV?cj=GJdG-z-}6}COz8%3cn&lC9p zL>`URRh~J|> z)QC?|OFe#Ia{Tj{z2+2B@PrFUB zhW9o})}4EHOtSXDFrWsG_51!hAzABR0LeP5)+AY=II*4+<#WgmW3o%C=hk8Lh^}pt zEU@;&sjJfGQf1+$NxMU`giu{{zDZr8JAh8&JdQwYZb~(Xgvo)RCBG)ptKR$B^s28_ zqjf&-qF3dlSFds=wRb^|_sKT5=~;bJZ`1EzD`0tciEYALkC}!E@6fv)vYxn8dm;y7 zp3L3a6FrHOX8JM3!fO*@Bs+9K`_2>Xk7Ds^5neJYJnR)#G(t&k#4HLOaql;nuaT-_ z`#2rjsycQ*4idf9h~?qe_wwo2Wfxb!AajQ6KIl;|{VFc_7Hc23dl75(N~N!J_swD+ zVAz3g;tRm+``dz`diUWAC9!y-%hBZ|sl}9>lK4@w!B_4BdP8Ev0J!nZ_)`TT#o5om zytrUv!zFSJnubcE*(9qE;lpGm#uGV<;cH#;QWAZQ7a+^d=`T<%y>$BeGFS@Js`APV@)>&Mf;Y%EX-Hv$IqB%kA(nQ4GTM#=n zK70Gy_*`->S4bF*N6;Jer)^!ZXff%KXC8GsLX8O{$jLO7cc}4R1Pb&gDd_Lky=6W^ zr(zXc1$^`A1r490vhtf4MC3s&IPKG4%uo=K(_|$qdQKUc4-vv)WXE>4X`37} z9?ovv$4%CG`N0b<=&IJ#_7*w{XRN|RVf(;j4ipqMNn1k0uYB|uqJ#UIPS@?w`5O@7 z4SxOOvuPt=PL_kmW+K~qt3nJWWphr6m5}293F@q(A^|`;hw2U-`0>!_zTb2q>rjrkiKEJyCjqm+10gmz?KN$A8roqSFkyJ zR%#A*|0Hq6p@g6|5DaY|*6Udn1QSc{6R{~#H{eRJg!XD3Ex0bgWws#wu>zw6yf?{E z3bg;CuRz(PCKJGbwuf*}Ttc0ClD|jP6tgp)=)a)aK)_foIhWE^CRkRSTf<6@=L$59 zQ!q45J!51w57Ms#!I#kpdH5sfGFT17g)Wt-tNmb#(dE>GIYdIll%%zjw-Kl@+~C)C z0!hvwl32!P1DbNQD6weS?TMTW)Iv%N<_iSm5NsRy8(>;lc_xn5W6N@c z@UB#ZclbkhkTaqZrWyP^nKdQQ?Lb6uJ;q8$=sljX=v|=??Ak^oQs`p1&act4y(cE@Q^1EfrUzME?HRZ4kybNz zb}kB+TQ_NfQ7CKA~Q4&fGqkV=x+HlJkZ+4R;fK8zgKS>a+_7{LzbWSxqh zs;PYHJn3m>FC>c*>_6GrG<23RSa{td=Cl-Z`a076TB+qY4qpeg2}04F0pT;%ed9@l z0m5w~SlBv15wR=yQ!V@~LMtr7izj<-J$}5N-ckN;YxBZ(B-V&W9>8O}g@S6~7QXVb zX2$uGs3j!ocY6r<=q6^)c$LPid-^;?-_W{ zP;pDZh|o;65k@FeyjlX^dY2ZYNhSr^IY_X@nM0*Fxzs z+A*1>P*>ykGDGPZD2>S0WYmq?t`KtbT(j5#K4%n%Xm*< z!Ddh7W4y(AKqXdeIA)?HH}I~pyn&`WfDvP#fXJK$4gkmQlSNg7>*4_5%yZE%8)o`r z-H4l(<#7?(XFWc>fg}-1Vv;q4vLS8)AGY8Jcd$PUW9zG3y@h!8{~T zLZN8MImALvsC(dwAD{Vzv<81<2U4+!53n@5 zSSZ!InHS~#$SvDi-|hJK_%EFS$9D2lg7TMvF2M~jR#xO76fcc_8lH}MJv7}!yc>am z9U$K4P#a>6EyrB~rr+v102PQgqADfgg-*ASE;KRDYoSXZ@U7cuNe*L1OLdo{I=ZK> zR&~8wP9&PrjE;GtIyg)3GFq`GTS z9S6;I67PcXB@ano!Yr?T7kliu``UANG1jkuNN)IuWnSC{YLtgDt-wTfFn@=tq3nFb z9?IXRT=4@Bt%9^QmCyk2aq3ZEH&4awoL|jdnKuEUDcCDVsHK-KhWkg$jJ-TNptbZA6EBjeO)a7269Bf6zTDtz`~H6n7MsBPaHcecr- zyp8wxNJIGVrn6VdzU$K`1xjs zu6@S>@y?Obp}}T{K1Ds~kTypGa-IyL_XNZMNZ9Q~5^O?=B1xO^epmV-eH!+}Z=&$9 z3{$0cWzc`(nZ@}}{ENM3mcWsuD8h@6|3CKLJU)slYaj1G8UijI7c?qJ)TqHVQP4y{ zX-J@2x&ak%MNtHIMd%h(mV{0NMcIftIyj>vGtP|6I690Y7*s-7B%q_lWgHY25S41% z1w`4Uf6sGnRabSVqp0(~@9&Q<$P{R?g8_sj@8}R1HM=kD~VPDe-{&`Pm zKTmY=4oqN=Z}vf0@8AG~=h2$+F#RhGjOV8iUpHSf4uzZwj}UKTEzt5-*iIo3M&_{& z=;KcF$-Bua+lp;B*Ul%IQOT^b{zAwds2Msrh+MZdJJhdy4+3Aadue!OWeyqS9J5TDWZbqnf4JjhxKFNk)Lr4GrpNY>&Lm7hmmp1Z4nMkwKH)xBY64^@6U?%#=Kuo@V?xdCFe z{_OJSNcl*i6Ibd8KTdrPbq7=aZrn?W8q{ZrDyBfaV6z20JhW1#L^zD=@nbekSN``0 zvjFUu2XHQ8>$J>E37*IFU9jU+av-eZKQiwaB- zi1Wvm0db@SaH{DtW-v^A5rYvh9<3pA;&-sXiqL>@ZTMxok@|V8Fx2W?OGdq{n^g6>6Mnv%|IwIb00pk7QMq(Jz9Iohy zc)tbM|8#`sMnrSCq9fw{7GVF=v90)RydC?WI}z_UWykwP7+gdRTEeNbp}~gISIU$AG%9YH%_^!%d7I34n$?>k#l+Nh{F1A_M%-H<24pktUSJ#0m~ zP+G;T#VBJxmt#G;4?XvRIne34+c6_?nF)W4wRmGM##gHa+Xp#o6LgPQ#pUX)o z1kUt}{keR+oA}T2=klr~0!V-fU0v;pQZn5C5q~b%ps5!07GmOm*PqL-U98fc%=_Zc zWi?9dn?IM|A!iF5>XMkoVTM1KTktLI&t)WD(vX4u7P&l%{y%>%|Lgu-F7^)>dsEm4 zZx0$zH)0NuFF(P#VBEVve#D)m?67Xb#CQSGV^al=4|i#kt)qE3OnXx758PXID>uz3PTE1Lk(yB6BhAC+ z4#(~|ITJ&V@^!SqI~)Ql#VsCy;0XS~0z9iz=cTsF^?dl}ThB_uW%kzHlBc21EWk;) z?B7*(umW<(p3kuW^sSF?7cf{A{{@VttMS9-#%s>NHwYj&>F=F+((ml&v-II$u9yHW zE8s*w)RCFAf;|}`*gGFFIu-WZSHQ$9SM~!fqs8xAeW?kuVAE z5l!t4Uu=G}%vP=3Q7*0h=02rb8I7irW%cxA$ik7P#C0eQzg>;#5>=|i^;U^d3b^JQ zsY;ry=GSzNs?4u@U1&j0ZU1X;aZm+4J%*sS<49Y~>Wa zAnlkK=PlXZUaj+%0@#u$|EyBVp8pN&Q3vP$RzVZL@t@`D$(sN8rZyn3!FA72XZ~mH zUpO%@K&h-5Z+pSQ=INNtp!qy~dFo~Tpl~U6mG|QKxwnI-p#;E) zb~(`%^<_>x(m9NygmwKSdw4Z-u(>iL{2@jOgDZ@UoB0rh-WCp`C7&sTQEb2*;P z7pwE2FT!;>^W&G`f-~NG#i{son9BCtNqFwaZ2z8%KQ)K7_n0@0hyE_!Wl|*u*NAdx zgp{s9>{-5KV(E;`-5$oH1wTVwWvI(4o@|fzV!i{79lrq@o1_g640p(A!L^w@ht>NV zm6BD+2VPJexj{lJVY5Jj!_U3FEz%jkg?c zCjZ>=u18rH{ML9g74YAF+YiAHCRq$XYwBqn04!Zw;*ur8c`M3Oi2^L>Ha{U-KnR6W z z>;DUG10g;Hh$LPAC8~ZVWz{c9`&|E7tUsXYpW~{3uBx9&?)u^OUXn8E&*pC#!tx4x znN$83(=kg@NvzREe~p6kwX)z`8IrILZm~$BFgUc{ntU`xqvY}wYi#N-spPnjQo zF7R^sRq*l&@NUixFOz>6y!H&RL1uggdj|X%{#)?plzFUzUrWQ!C%|8ZpB(sR@-KwH z5LJLs-SA5i2=!;ce@#O0KNFQI{PPL$kHt?8_?i3*;U9u3vf!7bp9lXROo4wjDpm0F z3Ggq#PY(E*{0rfqgDPC`Gd_kS<$^yazsQJ>VJ|^g$>!kr8~WGA@EBndBQw}Z5bPv# z7r$@uYj6!5@xM0#NlpD_ty8kSz`zEu0?O9Kitq$*%794^RzfDP8ld4Z$P{}S1faIO zC+oK{wT#;htk;L5759SNGJeu3RIb&tHffU%fwCeht(wuu&sLx*EVX5jv#g~y0*k-& zQhPnk|L!i6)q*QTJ^sgPJAEX6u^KVS#m!H^Y9vV+gVbXE^<#NuJ@|)}cAoP%*LuuY zus$sZ2s=&}5ZFBbCkT!B1qgg~fp8o^kR*U$=_6XU51As}!|AO4VO9MOSM}@@&0@<+aAPR@s0(5fBJDQo?_ke{LroY9J(@Cp26B7So4 z6DI#cesT$_0HSSvelpf0NdnM6#?LWKb6Fa=7$msR04Y;4(a|-%ziWXH$xW18wvi~2 z>Np0dndHx!hf2+ZP%~39Yd)Ser};q+d`lVDzw2YEKRu`7!lBIsZmqlgQ6c^n^F3-Mo%nqBy(JRnK?fd3rwz`+XsGLpH-Uwi`mMfk}w0-4?;iV*I^yW;-RlK<6W?!=$_ z`Rn(Rj|4thzXQgUGQ!A3cRx6(hwqNWqxh~KUE5_RUXFq%?)?N>H-pNHeuwUt_6L17 zp3O75@ivEexFGFw8JLeBasm9fmI3S+8zc#%(~`e}N$)^@#KC?X7=;x^DJshYThUl4 z{^7BY^H^a$V%Z&nM_B__$@0mJ0*ETJz$x>?>obbYaq`Y|9&4P(iO%C#=ka>yaisHj ziSxMDd2DtbS6h!Rs&SZhh5(1_z4Oo;7p3!bT9SavR`*N9r#YD8Z!~CVOsRJN_5l;p zEcybW|A9GKv^@o?pt)$d9;W&8WvtPWd48}z{-KDuuoudY2cU2DW95x^*>aFWQJ>=3 zTn}p_P*gp@mw}{Qgl7QFBo{?tzW-U0a?STF`#jKBA#ect>i4107l|nkbVkfrkX+?) zAh`(7=5PfGhth_GBMeBG(Eipl!bO2ufxf79|g5D!$r8 zg2zUu%ns*qv-4;=kL#Vswbr9T_RS|cT^xyLbNumwY)Xb~p3_&EzD;M6tBcs5tAKDs zcFXxY2Jln-Q(>-UkKj;q7C)(3>Ss<7)=JIW7f>vdHC<6?$8|!XmjE0W$s^vRBiyuX zKgW8y{5{kYl@&p)r(7FA=*9TSv7R#d7p_MZ%F^-}1Yb$YMV~q4-;Dj8vmV5~*WyS* z`0t7XodJ9f&*n3@0Q6twzsCXnF8({uA*H#_;~eL4rt?_iJWg~T$2yPKJC7rsM~*cA zfyjqAkDBw?$9b%<9$j3+qZY}Mmpd+*jh7r5f6b8 z{4JmajL4G2Z&0P(|0*Na2f$Pr4_4u)+Bnc}T$x{uJFY$amGAM^K(7+>Y1Q6PY44C$ z+DqU@dvZ2T3%=>%02C^90J;|$F7jV!UIu`G!$Q@6H)y`t(SQNBe4EV&zuW<+Z5J_g zRAWEGbzW+A4SIm1o{+@Xb6@bnS#8Fg20zNu$0Nb?zk>r9+W5y&v;L~qGlYvd<6u+} zi1#lF8Hn3#58Jwy!IzTL!&>aj~aToC(Ri8)*TaE z@OF;zX530RdE|t3S%=y3onPWBs`-pN)Xg#%hjW2qd?VPGFt$D$*A9%r_MV;I7o(!-E0Txu z%=wJ}z>x7!q*(JGs$oL=4^o{gFJ#O5TX%@)X0Q0u=fpf2uc7 z&+A=s>BNHD7keD}6#nJD$=}!?9WhoGQe$X-49EcR%s7&bn1&=8w)f17Of_Ob`^}#p z84GIbg?D{f?FJ9D`n5YfeE_&nAPv`R?nErXfetPDVn-r38-j(kW(;dKr(jHy-Q4nt zeW|&Qms}N2x0$yIKoMAcY&Ros!ps!LTfgNPgF^w(*ndzB(;j<+fteXZMbJ}T2S4hNh__c2IOpLO{)75wW&*j9*$2GC8pM20 zUL&Uxr~}i$L|)_jVE{zN9_h(LYVI!gL=H&Yp*nBwY(}ds2r-v^6C$Mk0{ifR03vM^ z`M+ZyzLs6fwhv!{#MbP?pO9}=mJNHReYjzLlP&#!-9G$O)c%X?!@qbPef?SSKA%C! z7WTT2GEv#nFqb?p4zjjN(`O!&R3UR$_P&~Y)P`n6;%}*ckA8?6yFhl(E zUL~|^$2u44dG5GR&G-JrD(%U1r;3mo1ciD?{W*oTMkEo~p(2QO*J zAdLP$`|zFcn3Tf*XJah?r|rXSTOt0+d82bsSwZ@TURDk)U3%JLE4|42l{J9ps~Ped z>_@S+m|ElsUlEE=C@f!x3$l(dA@X|2IL#lO)CEcooG%UN!_^*+O=Q(?ABf{asu>=4 z@E!j^Azh?FPDr_1bY0Q7hGahL4p@hr`0XQkjdRt;&^{?kyuYTsCmX&hgpIG(n-HQq zI4TkF{r$V(sBh?_XLDftHf#;MXp8lk>YuiKgSPB*gr<5+Tei`wb$g5dMPJElC`N0v zJAD|p!07@=l;sF}g8-Y=dbp&lTEDrZdo^4FRT$N8`;nm++W8P7Aevbl*!~^MAU0A} ziGZE-F5ZZN*H>o(pLre(?KgCTTD#SZlu!GR748qrEzNXqDez#uM&6 zWjxyj;=MX^IP*ILXB^GW)@WKc#ikUEYXk(v>Z=3E6{3NMw`}as*?vIBZXAB}4S0Kx zd*6%DvEhI|`sVUC1KYP~`hT=#o4oaJ0`zFFN>8}Fy8KOt=&a9`;mU&W5pebstb94( ztHM}FDHe#lKLQ?Vsw&|U9v0>9!*;j+MD0f){{a{dhA|a;;wuTy`G5y_20TCtMtM7~ z#Jzzlo8D+I9}Whpd|0{@?<6aOi~ph(Wc%5C~suvM!15!oqCzJ>|<|GuR6S_ zDG%APUi2^K6)(MiaiC}aQr|QjGBdG|TV)JFQD9X63Q*e0z^FmJ2*sA1^h^iwz*eB! zfB0YYbw$rSuUYdF7&^B_&1jACw;pMRNhf`N`Rbxb!#xVvvxfBV0?R)2_Ko&B-4nhp zkS9AaTm|U^@j5l6fJ3s~!9Mh%mAiPK)}#5VU&h^U_yq9c?r{|EOf>!F$ObKMt@20< zwE_cb>l)A+LdS*`X!;QRUqAqGStC^WStN>m3T(cwEDY*XinLMv%g|p~iw^2;As)2Q zztsE$9Z4RVMjyT<+xeH0va9qRE!LVeeRID#Bxqa*GP{k#I-bVYX)^oH8YLk!(EI)# zIN9Y0fZ^$Hf#B@DhPLh>>aF3YQC!XRKz2%6pg%>*bJ25xfiNgkH=u% zCbjenPgK*V4bIu6xSvk~Xnf0%22-vx7Q&TmCz=w>SuT=hre1i$KsC-^!{aP7xu_^JQp8NO+mHNzz^ zbJh&61wmkj&-wrV{LWwgUzy*J!|K{aX1OLfRfqNjcj!&#ci{ic?|q-&Y5Q>MPXhYC z;er$HRi={5o_ebq1^9>w9}|dIr>b?+FJZWMv>ksqoOeSj6@vQi#sqIol{Y40_zCID zLfsPTBUMf!psnyNIz!9*5VD-CG2J%%7LCi(@}O685-w{47c}tDqAmLjBHf3+Meqw4 zU7oMyZ4Mv=cI2OEDSV>ar3~x`UG?Xqfwk~06R6xA*(56+ct4j6E;jbcaHuCd0$$Nq zbHxXLgHu%8!|)ESyt#W}G6(+L$;LUtJ4AH9=%gOlTwGM%sQ581xsg6Xm6N&@MoOUd?qcD8 zS4e-&{8s}vrCVZ+vX1%cVw~~ts9yOmtZC~RfIMAgWML=|O8b;~56X}#5cg9Ca+jn8 zmVM$Ks9$k>!C-yT@lX*}HxAURjxX{zwL_Iqf@1ItKP5Q0{V&#f`b%FxGQ6eYlo?;) zRU1c6LF0CaHGYb5tF%#p9~9%>W`lulZ}Y$CzicsXliB7)i^(^!S$zdvir_%US672~ zEMX!2`xf#WKy%A)-@3;)So!fUmfxCjxEHG2F7g|OpYq!nTYg(f`K^4Nl2|Fe9ghy+ zY9J7Zol=(~L@W2cAX}uh*@T~#AF}A(;x7}(UtYa|^iH?6+-ttc&_~sf0~65=nE4Ki z!M)7Lgv7%@5m<~kqtjmtcKa%u+(=C31Zv*le(wu<&rE2M!{RrPLrL#w zwk5xD>L z)BNZ47cBmBtni<$nf#}{C!+XIg2A2oMSGoyMn1t~C~pt8bR~GAZV{e>s{2?QKI~U$ z+(DsrtDnA|D74~`KxQDM!mg-+XP?2m-D!DQil^n(Z6LQC^6ED(dG%wryb2&8ukP44 zc@@+8TU%aTAB1}~C9k#zWbJWEqSmuehP;}gmrB!H&=^o85-rz@Vr)wb>HDmX9fnYk z9p!--ZItR8!g%k=><93v*BMu_%F_Y{~R0s z<$(Wn))z4P7HI4MTmb5A@PmHjh4ez!tKdiYIpeA#qT{eox8}gI9o|5yQK6`E?Koc& z{`1nW!-9*2}bZT!7LW1b@!E8n(@}J|C05|=Ji$9SgjKR1qJT|2- zkA4hJv$ySdj1kygDsQyQyZKi(`|`I)$mVB$w6YBHQ<|T>`Gfqd z+~#NBL^h3BA!^9_Pq8yZ=#1HigMWd5)U9}qN}8(=fggH(uMQuSh=B<4;)cfPhe!3( zmYHYV(A=l5&(rMRpTXgM0b@Lm+*nuvSzzm#_0LA1?9T-z8ppGmI)V?$a zSq3&$oxTIV)W&H2^^$qig9Y{OP-yh;Q>9;9R1h%kz}(&jVGAXLc`%tD)F+Vl?(^If zBeVnj)}ple=C8M=f|aA2BaeuT=ep(TGC)=OTH_q(!z#2TAw{QO`ZyGhIOtB4k-$%M-!0S?Y z+wj@;1vHz|3~#6IkQ1PH!O&M3J?>oq8%)Gh*S#@3Rb%M7_?PYNihN(5sq*!#rby+5 zpR9`zg$y<#0@Vp(vB50%@APkNG~uPD(C%5^JMEr?XS26z_cN#6jjG+ZbGN$$$t~KoDo<>8D*ph_=6YC}pi>6{2CGvC z;t`!n<*wY!Rk_h)jpXk1&5n*9b3ywB5isPlph=WLE}#(+ORzcn{y2U24}$&80ct29T7jJ zb9u^qq8MIZ^yxJ+5Q~_OQ}}78A~D)PJ%P$qt8&d$xtNYzSEyXSO6R&<0CaQYo5x*bmaQ{6oHF2JqoTwSAl-M%Eff#TB&k9 zo6faD%Ya!dId|C05XzDXZahagqGmahR64;N#u#SsyXOt8m| zgF7g1CuD+V>X2#}P#NA^P9vlqjr=#Z7AMVBQ18^PBo}uXk)iHyzeC;8*ZYjA)~6Js z^3LB_U3~TF7G3n(j~7wyo=*<8Z#&Ol>9eJr;9-br}Wq7w_T)!7Q5aDw8i zTZ{)Sx`a#*$xq@9&hz3u`h_~sylD=CkAj=|`DQ%D2_Y_0A*~?jlX)7r9;G5K2TuB4 z^Dry@w;Ac5nR_vUG{JfT>2SSE8@FiV9^Z4TqdO1q%{TMxsW)Z>f5@NM07Hm;UndoO)qotE~aw zDe|U!+vTqQx2QgO!Z%L74>zCabm|6pop7r&?AY9hk`%d%}%t;xhc< zy%9y#zE}y~gGP_*P<9wo^-_Zm4p(tSfWj>q> zoqMjk_JvuQS2Ob_{6X!Hydz`usH)w9{x?|#e$4`lSio4qiKZC~N#N#lvv#}iIw7mn z)htz`npwC(nmG&2KzQRsyH0(0zn%21OGf*BvuZk=HJyb&X7&5|E-asxmG5h;z=;D@ z#r-~&7FS}GbB5)RtO5-z@B#jqSN#2ZS65Pj%;9^8`4-|2j(Tc(Z{G~!^2Pqdaw|7% zWg^yyySxY~rF-APN1g}ArsK1J3Frf8K42v(ObkKFtANh_|2m8pX~KTzZ!O+uyV8D( z=N0&WbL#wp$N-VTY1QzKX0&l#M^G25TpI0`!VxA1Eff;pKhfTUEo7!VAN`^tr2k8f z7$(n$+PjgO_%T&__1g%6a~PQIlFzXa#V6p#@^%?Al_k<9iqqeiR{kX4jGF8#4>=<9jYpT)Ux7 zA%ndkhQu$UX^)jEOx!THT9OQHa)mh+qd;YN+`A5ox#2`7`x|nYrvngi zs{c>mE2y8Wgu(34WWKr&@R{Ms6#nTS(iNW!j=txz_izMvM^N9X)h^>};(3(G###i> z5Nl2N^*6i$1SF5m&U1m4=W)ri0eL7wWCmaKH!w;?@-wSxn7hN_BMcQ>_u;W3L;9e+ z7O~g*u8n{AWt~M z`wlXg?;@HOy*Abns{wt4lCk|WS_B8%w|GGD<2OIdjZ}ARXuQ>rKnBBjLd43B*z|N; z@ru|Uv0tnhGGIyAqM9AB$Mw&G@diW1x+69{#35?1BR0*!TjE&Kk8w*qM_4Xc_6`}N zK}y(7IoI_in1IqHXE+)d4Loi#^Zy9kSjMd~GQQY3VB%S$^9e~tq|q#TPP~jS{+S~H zF4UQZIGKc}$c*?xuw+4unpF~C2;T0f0f^jWVd%Kuwu+&9+6aa|MOYOJL$efyHc^(( zg`t6jC5@qKyd_@8pDNJssM~CJl$$<;-}(3fjMl=yGg#7z_3=gAR_xsidnc&R>duCw z!D6SRi!D&aF1CvOLlx_VVsd>We6)KUaNV0k?u&g59-W9HFGt8VCaquY2>*e0#I7M- z_>+gU993iuDc6*YA+@FNtl=cH{O0#CCO!)VS`KTYI~ArgV}OIl`7RPYC95wrb6f38A|;LYMdMaqI7!idRhJ*{ z%ez)zR^M#*CHTHnx7Dxu!jm)9wYHPpm#aaQi8%gb^#v1db!#JYC9-p5Zj}h+zB*#i z8l)$F-D<}QRmW}sBv!|u+#)bHb^h^=*@N`;O?Jn|uak})X?2YIe$pZTYPBy_d!_M5`=t9qRRY?7?5H2_3yph7aL1+l^2B>m z-5^v)f}`0O>N+#smlq+fB~1KjIY@7-K{{3S$km(0$S%FXnsJcoNm?ozXTyzFzC03A zkgUE4`^X zPxa={syCw#u}9`B2&ai7QOr3{;YkAZ(XUh9)OR;kuLqAs!`|)pLzpYGfT2D{c^mGm z@ZSYZShRGSYNacBQo4N_it9 z9UXWCZxV`dNTt*M0Kp20ooZH6Q$;2d7e~U5#FXQ{JQ?~i=or=cmipeEKZm^k8ic3? zxFcAPgMJbEgD{DOyni^fDzAP>dH-exYW>>$q8oD?(Wc142V=Nk*3=lpSw6)5d~}%n93~==&_ng9NTGjt3by7e3$Y(de23ir z28yYP&si|u<;@05NNmgD7a{Q~2-}X3_zz?-pZ$d8)E)q$;?pSmL!zQ9epA+cUG$*& zUQQEW^F+)SC97pc^SpnjOv+@>^o)Tvja=qSE^Cl{0>+_`@EqYVe58M=5)8vd3DH%F zxSpW3OiMPDLpW;^;p{=QQXNZ4@W+z`%ADYB-67xw9q@3XLGT8(0-mq#USzOA^wsHj zOB@B*sz9AnCcSzSc&~8E;E{?^Y_*@B{~yH5}le#uqyRRGo<)U)}eRWr!mCe7XgG z66^L&G*XD*u{RMh620#bZ?*StZWCxv2DDc1>6;w@pUPD-SMSHCdw+YPtwk6MM%lgZ z{+86Yu0r*md;yg;?(gpXQRqi@?^BR{)UG9qDiWXWs}R+a09JzlwkZN=cTcM*c>Oy8 zxfCEJL{XDbvGs>+t^=SBhcA}vs`2Xazw6nwmI z;#SLnFEm>1^}F8+lxF}+tJg;>K)WBj54}DKdD-jdpdv&lH=J7Zd_(H{_$<}yB2`&a zM|ZD}ML)6!zFn)m{sN**7DrS<*-=0_W(U@edJ)W2zn3b4_r-9;>{(ifKjyjzv6@o; z_y})M8u6Z>OCYP`0W4*#EhFt-M4F`+ovmJ+rh1WwUMQxv?>GN1{uLL=RHB>6aVayN zZsQ=;Mtu*3sbbZ}qaECs+5uTE8&mHiEjN8E#}|Rm7h9U6;Nz_p)cM62Ky82}k)8ld ziH`m&U!(#pU>k?GF4Zyvrx;NYN^awK+8ZdnuISBoKlwH5KQ9c8i3 zB8%NokUWS|B@z%R<&J`-ucH$wm>+L9U%Wp<$a2{ur7dsZPlXh$=?_+*l%Jj#_TY@m zJeU#)lIeq?_rbFu6vSt2Mn*)Bs>sK>xouUOps#ud?b(i1#;q~#wW64WhADIut(@6v}L(*xb*?Z*{iDBrO-=`4|@40G)kfQ(Jk!Y6(t}7>E(1ZmUsXk z(Z~oq+h~a;P%infRXz--4x7xYQ8s{02;z{U?<0{rCw`JwX~v_ZSGlqTn_t))eyv5D zpy)o++%TuT$LLq!*JGu{=-%Q2V$^f64yw+C|j^Zer*(7gRUO!YZt zDFBBt8tu;lI9uuJ@l5arD&L<3{x6+Pw#8R}?H&)h<$I(NPs|h4mlUFU7zq{O$9He4 z9ny^P1>$7{QwkHex)jiqGSjH12o#+pZC{JDW{iL~Dn{_|ww7;_zMfCDcqvj!B041H(iS14^xuXBBMUxT`O_43ut#$L163BFhzW;1}^4WNB- zILh!~6N9mNbFut@=)cF9Up^PURqF0h`>ulfZ4QijUo)g5TD%ubQMbt| z8So8$M z|H z3k|?nSQVIT`PYF*s_zi2GzFGT{&-bMUSQO}G~+>z-m3hL9RsP?U}o=&{tEE)CioU@ z`0o7+Qld*ZlsK7s1TWgCwJvM{I6;pQlfiWX2g-Xo4#*Jl8^caRhOGW0AnAT^ z?qZ8m3$#ky*jqMflRs~zLmr7?CvE?}UdiynmXdhPNB|351r}REqzs z;oSy0aSyN32RZmu<4ZGjXMCT=TN=y2YeI4eKUry-sr)nUH|pQ|x8{zS%U@N*u&F0)rAo=s9u)nJbAuy}J7DEy6GI z?3BTJ7SvMZYgjDcREUfVQNhnbMqk4ovox^o>DCe-m=9`h zZUQ-T;`!tG`Mo(+e4=Et(F68V)2jk=HK+(tCezLKTpjh(=ISFLQTJSRK*W8h^mzUF zeASFNr=&j~+&|CeH)}yhX`lxdXsIR8Z&EbuSv+?5ePVSS8`WM-wVmdSPJGP{yd;bWSV7@Es4A{}Mod^b;5Pgci zazUPMxucR*t3~N4tCH6vEPc!Lr;|e*0&X$ZvkwJ#O8ylk?FL%Z;G2CtaGmVvFeTdM zJ`Pw7fv6-e2-75F!6cEzGDhVRs*!QL+G-MJ%)=FB(^*9+7sTcMcwGs3du21$mhEry zX1~SM$75ay3vzJSl0Gc@4UAd|naNw)F!QXDJ_D`4==QZ!)um{aM+<#35Ta)hGUoV)ozG$hW9`1)P_K;@)`jQ?C5J(7NJp> zQJ!4EH}6T;Sg2}z?nG51k7bj$s7%+TGbNWvv-ew>-e)FFW$K&Gv`S^V#me*+GaaWg zbxCLXy~?CnnLa}%>UYqA%yCcr38ZA6Tn7=)ZO;zx09t$oP1l0P6UF!mRIc>ZwLvZP z1`%CK7pjnRw{Rp*P5y07dEq0mZAI9u zaJB7~HF9@?N>SeLF&cKTk$4zhLq`3ogadCb1YP+n>*QrY-qf~mY~a_MR3(uYlz#6L zY&P3+-*+^3GU@wP5TrBrGnB0Vf!^9phs#68pQVHQ(hc!9$3eCnw5IpNVqZT57t*TB zzoh@Zv^*1i!9vx?=$4i;_=aF_(qfCCTTz8B?75#M5=K45?&Cs>ua1Vg#tTGEC_VNXpRpk!fy;N}kJ%}6LEAxyc$9Y7Sc_+8Z_eIGzM>JRG zeebXR-h&mR8pEr=>q)9?Yo(3hdVde`EtNM!O5x zPopbr|{7oEG{P(Akg(b!Rw#dSXH==T8TJBouMe zF=;j0HbJ6!3)IQ}S;KJtL<=LWaMr`~(1|)QkXiVxmm{e6;P;jkrxa_68hkMGfCx^% z1I_J|`IPUAjYN%B?`8d5D#MH=)E;I`xk4_Xi|^nttF5gX>R%7Ehx#a7fCA|*FIGeS zKI%;T3XLlbZ~9aX0t81)DSD3uKt#)sB2h!~mNF*xtw7A#;Z_yf9%cP=DH^gA+utjU zT#gklH%9W2A&rsy@M2?R7XZXHf;Y~$dok>J>BXL|suw#{%^SAvvGl`dW-4vNDt3&l zr!B@831&I5y@X_jC6uZns-t%y5%cwMGlmC!1(O~Cp;fN%#Xdn6SZ)d-`eJ0e`!q1c z5j8O1p|~2Dy#c#R)1V5%z;v^^v_y63Ky(SSX8ZThH9_Gix4vFM=|m?GGx#wrrnpdN z9&(Fux3xb5L1eGDDbo*{LbdapYQqx~%h6<$%r#U9r5H~M;#U=7n2T3(qAe&zKcNKq zEAl;$crGOE{yn{hW8YwOJmYV*8#{UZ*P?r!^)WE)h=mT%m@0gK)k*qH!X&z zrsP6QDKHG9OGpOX=rfLdwRl0sil+Qj%FNMni5K@G=l^a64JdQreByOe_N#Hz3*k-2fZfV->V(IxA=oPzZQ> za~fKndu2`=xQ60hOpF+_fn0?zz{a`h`j;;fY}{bg-%iy($f^I49QD_PA z`@m(Mx9Vke5^%~()=5BHJeUuyV4u9(F|i<%mx0FW@jqicRNyyYNRrDq`Xt0yU@jq@ zbmwx~`#SL+5G$ZBX~k{HqU_a&Uld(R(bY52FTUhvNZpPBEaTthYOacemnA5JAp?UVr!`OS?}$sfmAB<{20e+Kib zVA%}+06+HK7*GLK_mp$!@uU*oDvGt#%UV+-DIy5pNwn;SBbv(PQ?~@^AW|QMdjSkV ze>>6#R4m9Fu|ix0uo+`8z<|Y@Yy}7s^G!g7Xu`_tMu_xBjzPnrV7zZ3TqT9OYsUG- zF#f?o1Fy*Wv5}ylgS`d3{RR0e-}p-h4Slhj!>`e|Ld!!VO?_MRKUlded>gzx2J|&^ zLO5eQDr5w3Vf^J#<+8}v$)XH+;Ca#d^6y~fsxY=peb7cOIDiECrr-$ZeE?^mDA?^{ zT-m>{!j1p*`REW>Xu%~W&wMrV4fsan0qN8V_~&SAjshuR3#LR(p1Vik6ckyfV>qb} zC@x<|e*(dh3UFF?ZTq5$u3!8s-2Ep77Cu_?5W*1O5t;ipqq5 z>nrd7OlLk?1O5uPYQ-8*QlK?iHIh5*-2j`lhEOiH&NrJ1H*8p@|DCz7C_w-eG4wMZ zeVgZ>G^Bj^FiRQ|L&}%1ih)}`1jZ=b^2>UMTW-L!`3VjxH2u+;=$UZK8L>I+s}W<0 zi&++nybxc=WI5=Ai7%*h1$&0z(yT%UK!D@0%XJ#D+2NV0ktM9b zJ=otqIAU~+>{MOeywx^+B{omb<{6Fv!h)wy`e zYEQ;%oB6PlGx7zCu0%qWvG8q_XbHc>Uq=|2eSzO^giC@LukQ{`kC%D)SF$Zwzs2cK zT^S~o`R#3P;U~S`*zwWf|L&5Y9-13ucoY3?E!qvtt8GG>l- zM|l(UKwlh!qoG?d4xpn7SNbPRA1>*UV8Ey=5w(+EJzs9%uH?;QIFK5*Fxi*-Pv3KO zB?U+tgIW&3-R0Qo{0 zw#ok4fIKx;0g}S6e<_WBTi#>Stvu@_54H8mz3nBgsWj_hOKFkO&B0d5-{Y5e3lGCy z0Rq}NpfyqFJP9Jka)le}?GZi5Z?v<;wj$&(FNd@x(ZE{2O8A5OUr-omUrfe>bj)T{ z&&6vqPzD&b-DkmYqQJ1y)%ZGmGCzEdjein`zwOQ?medIU_Lj!mzRH-{ezv|l-orDB z_ubCIhz=i3g%S;P)2bJB1z?%7g$W##-m-GLg8gOZ&$(rVQXejgQOvPu_SL;BG+A%%hoISckwkej+g})<%`OPBs^-D~?1?+F@ z*ZjJW8{7JIZqA#j`A3@Qe-*xCtBGL2bxd$=jA(>nF)yGmnTanAoOI@@n+Q&HoWZ#Ou?Jq=WW5aBuuUeczCp{|5{?9nxD?OZQvRlV_btjlWM=+B zHN6gjQ%2vSszdT-RvnaAGwF~#PxuVJx50ZGytna$Pvm=Bytl=BTMyhP(>Z7DF19~z z5oFlpK{#AX?vLa)$#(eLcFY{uJzy;Bx-*Z}xL#MT-c(QGFP4#i1me$j=dXF!^9XK~ z!m1W(w4x;hDqr(Wqdq@iND-nuaS^cKm;HR=acpk=Gq1owPU}|&H@R#uIooJ-jJsuL z<)p4rFUwXod0?8lK-Z+MhE1(f*S7+XO@#rLCP>O}so zYSo}efKCJ_Op(g0!=W7KAKCK-Qq6rgf*&D9kaYs_0E{^^k5P_PB$#V|%EkBsluwL6 zDJT$bSVMZzo*#S54HHkh`L^pc{m=sK`P0VV78y5cG`Q-}0!(L%21AX^YY`#(f)UR6 zqQze<;F!WfYX0+w;ky}s2GPIb-gbZH48v^@V_3aK6(NX9Kw3~g1=eE+jE3Bcd)_Jd zrSjFSfE^s3 zH3^`ES+r4%3Hil6SF&_#7T2>9A{KLcHhM`xhxg>5a+buO4zZc;13mmH*)aV5t+H{GPx z2vR%q2S}~oO6lS&1!>&Da+$sS-G-lnyX!4dD=N2f_sBe{cpNI`G<{puS_v{8+W|kOf4BEC`fIdi>q;(@l-!H7Y|_WvoGcxUS=cUw~q+|Zf~y;kWdIX@m=ocs#nt^fiL##w=@EZ ztj^*(X9DQl-8lkZIHebyZa33iHPg{*h9+A8u@TOBelngrjpAm+hOH$Yk>^WGJaT(@W|ltWG2Xp8)2ou6y^R=t6?bHVtc)lvcOcwyaT8DP1S2vLGQSWbKZ>jwK5NC z@}}ni{CX3Mzxj}JU^oQu!L8klcptZL*Sc=uV(W;T5$|)aDRMC04=^U<{n-)Md~OOf_R8MQF|aeJXvBdR%r=N3ZG%V*vEKFB=IL?+*|^) z^)KNp25)pw7j67r+?t*2n^6ZeD7R*{u-Vl{<=4Vdd}@8jh!h5*lM4`Qs(c+3nID>~ zufjlO$3y%l65)NKkjPBjjN0wyar*yj`GzefKQf(h0DX0rBA0o$^-UG*F9jzTCac-3 zXh@2g#P)r4MUWuHMjpX|J~E%f^rC}PiD@;tU|ce>1A__frD`{^Ave3A_Foha@%<~& z*Pj&+@ee53B0gQ5iB0W^haZcFculVIq0I7dh?@!@G%$X}2}R}^_~e4Ll%M`9@etn~ zAtS2>&vF?9S0#<$r_Bte)U&$4H;pb&xk>pOGXI~&Lp&Xg|KxaxyRP6kRTqF)fRu37 zvU1$U#5_<^ngV~v7k!gOgfS9X{CDKk;5X3q;D%Nze1Q23>S+tvC87-PL#!xe zT|Gw^j9Vr0zl3Xwt?|{JgLJr;YP1@82?fOFF9ajA(W?i?!?$?OH+pShQ|And<3Sm% z9WAba=g>dp8PbpQG$X$&87|cprrCvwir%nP{a4~4zI-{Wv?p`ghy7?Mp+e1p)Jq_X z#$eCuK@+^(0ypdCT$I?ic!;+mXA2x&Dv4YmgHwBnp@DSvhs;ap2(U7pH!y5)QN2R+~>{J?Cx9t#PyByX5+d3Vvu zOw2)%%LAV!$khjKBb{6yG2>sYjI}J-RNagp{;s!vH(S4JtzSxa{9Z4=aqo3>M5$LV zKyN0f$3|3wIqz}&s9dc+m`&B2X&?l3%!0-8pl{l${fR5yclm@i+!5AB?AhgTME}!4 zDRw|9YYmjn4k&~%2PiiJ6bFp7d?xY6qhFMYj~F?g%j)j%V{>xx4unRKjjf!Eb6sRpr)6&vTu|0PrYaJg>8}r-Rcyt#`!lIUs;W z^YCD<{{G`xtG~|-lm2#g_jfe!c-ZU!OrwLvSZt zE`o!ezOOm=*vRFa3xhAgsph1%sbeES$f8UsM@m3nDQh7faStRvg%Riqg?qRsuB|e7 zfSkF~U(VO&=8NS_Z3w@}dburPCJ$jnCcdB|RW$Mv5Xp;%Z2aWT@ z{p2*f;w))2T*N@?5RkT+r>ZU-!l91$7>sY`k&+bYkGohfclZEO`@n!P^aF^*Z-)JV zH9i?8>OF3O+eY)t3yFY-Kb1r5G zq?E&uIuxlxpFfYO(d+JF@DL8S0!sxj$x zq|lNODf|&2raq6GyuL+ilh0(~o1Rm*DVwcQEq;duR9n@2`|WGRCJe_rfb9+ow$DK0 zV8HfAzagMhMhVcAjxwxLN)FW~_3#_B30S4UzwYmojzm#HSQ+JCDLA#Az}c8(issfI z^cmz~2x8EmtVDE;N3e~|vKnA7?9=Y(Q#V-ar z2M-0AJq8Dy$P~@E zybpOoq-xfg)pgs#w_xGe`Us9XXtc7|EXD-o?9Y2&EgNPhB*^T3&Z9KLW zFe2#5ws0xDZw>vySe}^B|EFtzha0LRyCJ#&VXFFXEGH@2#i|FGe zhJ_ep@?iM0qkd6r6#?5v=8Z78mo5dko&TY8=iL5Qv-CyKDuO}5R?3JAat!}OzQe?0 zB+eHFOMEX3>Q_(HQnfQlmkPCr{l24Mka6t}Z1|c8QS2jhF~K`%Jdlm|9{XGP4mTto zNV>lPSfiQm4yFu8FTFh;W8eHe2NZ`3z=VO-=)O*UDn$ZtL+BRs6EDi9` z25jRfpdCldRmiM=#QR10B~0N??JGIh()+nPr0M-&WOs?(AG{W7`lT(pbMt1#wclI- z6PG*SBjW-PU-E2=%Bs%kal~&rdVCMcEND0dXy8!y9*qS#i~M4>JP(R{+YH>#Qv(CL z7(J}jEFrCeHobTO0*PxVje`aVF5amaZh!14XNXx5W`Nn}WvGE^^C2V$zabd?&X}0! zLMirVNZv4&Tarj0eo+!1;^h{G$6JQlh6%RbH6~_xMu=PXEV0_d_ICL2s!tLhD z4Zb>R_2F+pw##vnzNWtdiO87%xKC`1FNG1^P--Z4U>GqNh_8J)?tyQNY?Ppw0Esi? z{CL&ZppNj@pbp5Fkc|*6PAZN3CGm&@CfX+kx_ko+l%jq3{BAV+ui-UF>9*aCSS5x- z>iH5fhcCu^S_%F^8d$_9|8m(r4d=Iaoi?nhf(mC6zJ>754MLEJccOo~pwX`&Wca|0 zrT`Ey+%|tmGb6~N{?x(#rHtrJ0|>TGOeOe-Y(oD!!BZcw3l2#j-oFqbnTi9IO}@IZ zNI;qJM7tYxytEXGkGAi}*^HzLW>p%D7${H88zgu=)XhJVot3`R8gR1LWe2C*v^p4K z6mT?;rXzn&dLDM_?6$h&^ zPJP<+)UM>B;u1DhSsMnyP-IE6k-eN__phs~e~lsOA6)S`{Luwx;-GZDTphBik35}# z1J#syWPlf9t^0Jg{uk>g*u2NHs$Cu}VIhQ1fK)Q8eO+VtR>-~Qc!xiPp^l$A7(c!T z+sQKZm3b$?aV=9{nYSW=T;?P!QNMaomZ}>Tj4kik@t=rVec|6gHbB4c<@8Ez3<&DNG&J1`6>wD_tUtJK zxh}F_@-E?-Cu2dVnsr=t-6!E2z60VZvU1&FGBRMk1hfA_0w9=Y8-Vx+?(jo1QqEv}6O zJ0A=2f~#<#@?XBX*D!K&DH&XX`~%LKaAl2iI4&-l<{}O2FN3M+kfS4|A;`KQWywoV zR*G!`Cnauv#YJVvK%uwX>+zGImt5;Hod7|UTaO=oneiY;ndaIGv#FV!rWj=_l*Hc-w=F(SlZDZ_)X~cQ zMlzuC0U(zQxMP4maWde>>{;>!HqJKu)aG(LCSW}J56y+JkRXglj;$cUhrCC1Bo~%_-Hl$IGka402aeL&O8at!UScdoRDMFWW@`>;A^b~cpI9t9UW@c7%BUr@XHq!H(%)oq5(Lqe z8vPAiNm;KqS%8Mj`padpImQJ^><(m6=Ga+_O?s!S9>_m&C#4Snhn7&?O~G%O^Ul(i8ix$nGa3#9cF1ReA8868049iQQ`3QVy zYE81&llqMp*c6u@ulYF;iOh4DAkt|n-2UdVxqyD;Yb=B9k;U8v3V4YXQ~`q z63DSuav+4P6#AS=FOh8YuTice%DsM`lq-LeAx@^j6(`b&M3mwd#;T83nZp(XnPHSsuo!~p-WrZoH3%B^=5SUKKhV4O1# z8^wD7ri`4|gh{gFcKIY^Fnb#!`-gA(A%oq^sI{}?6AVtKy>3u{iac#;ZQ>NZ-PDKow2Y z`~w(}v39ClRX-p}XlnE-&=}hS+DHByn8B>mtlsi>Q zIa7|1l)F^Q8B94yQtnnMXELROq)bvN-IYXEQsU)RcOEnX}6%7dg?)zk2L4qsQxYZR|N`PwM2b$IQ?SB~GT>KI;o^L2r| zPRHxHe4Q_^Gw^yIUwIBbt9mA0`|x$Hyy|%M^OZ*@v#Mv|wJ%?1%Bz9betfNw*L(0< z#n*}Q8pmrjU&qSpY`pg8>-F+_FJ1@KcLk*+u0R53)#bg(w|LnOGvV1Ku9;AUL(&8d z2xYdZJa9sRgv>c-8Odf*B&J&8bL2&+db%4TRy>JKe8K>E5|sSv!3sQyxA;U(n^?mq zsPH@qs>ABr@o6ES+VhDbd3^z&e$OYK+{yJo+&jZloN4>o^{`ixeRDS?}BJ~II z=hk|hXL^#?)fe(-WIgtip5&$V*#3Hw7uG{l;zrsc`F1|uaK9kveSmKR@dn?rTD}$^f~yj{&b{L~+|Ov6>;S8f zWIi6-un`R`Ot=|xVi!LIXM@9ePqQ?rkAo%KAn54EmTIX!6^UwC06OvoqD_>qtLeQu zA6WCnOn?jq-1c^fi?Tab|`a|s8s`)9jNqgD5w@(Y)Qm!@MUl+rvl1ja^KUoAH==wt4b*m z7pMwuVg>QgT5Hw52c-e=0gwwEb37aut_|QCCYGC()SQJk;NIp?)qh!Uuu|dyUYob(gNzFyV<3*fI8FMotGh?CdlKR?xf`< z-k0YQj_F6Mz{4LIXgD5PZ*}7(FmMQGC*k0AeZaU1fWx;;YE zr11H>p{#9!vi37`;5i(i$VcetVL+jyYklvZuwNDD7703+4Hy%kZJ%6k9*F`7fun8_ zQU;%bufXzLm~6@Zr>S~1z(9cpf)k8auWlggFMpG|>qAqF`R%K_oP}V#jKh)$9JBT) zL)*Ayx*8-F#G^SMXl3PHQ8ZvY#F~)nOJPI@R5CNpS)mc0)r0va9>+}pw?9W>-*_$3 zzzMi5n0gjIdVfrQd>uL_+a2!;Obogr|0j|~LY>9$ zou-n2KMBM6x%W;a1oZr$d7m+)!!sbn4bUBwa?0BdZHV5^g-xXVIB= z8ej{9Y5Zx8HI1(XUez>y9uwEuEv-Zb(>KMM#)|}?Rzg$y>UcX&?U^WtXYQB425>IB zz!!T6nQ)_Yo~<2^%;Ody_8;^DTC5;ydhFRIMPM z`P|^gma$g;aatr4FtbsuUd`_h;15&5TxI4W5EiE9eAw^6k|DI(oJUt&`tn#KEAhp6 zsx6kOoX1ds;AQfBvlAe&xieOS=4!)NZCsr1XDHFwKak5G-G#%mC-4-APsPeOc_tdE zH(vqbL-C7;f(IQH)c*sP6x4^!F`q?p&=@v{ZFB;BAacb6I-QMiwFn%ciNM=8_%DRv zMDk2tREC?4$bPUddmRDaaD&~R8!+iFz}(n~R98{|h30opV}@X{Rnx;lOJq=@24IGa z>1@(ZK|qy18rB}=+em;2Vzm<1nDsY$Zp^!}%|*l>YI{P}R+dp)_-v7$d9#kYIS{|N zyKGfvHeV?RCOI5x5TP(yEGa$B0lNULGL=pg$cA&+yr6zpX-IFFM@XBd&&Ln2h4Q$~ zjU!t)u7I+02qeH8akP0s`e-xW>0I;$OGTRBvo~BPH$DYn?n&IS%3MEcdjEbGVrctf z<4}F};#|7Q8^u@32X**`EfZ|ahBbnC5O|?_wRyTo39ym}WWo3?NF2R7*~#4i1}kO0 zS;jGsGzX$nDm>vKfz+T1IWRK@z!Qgf?7%O*dh{>GYzm(ayh1bkMy6(V5hq}dcwNay z)iB`hgnJmQJJ@JHOTHu^R2K9GP@wB(fDYiuVtdcq>GTm=3Q(Z=D7LmF)!tlPBjs zR)6>Y6#jxR&YLtYE&A2o4mk9WL}(p`>rWz2+CzBJ5QNJ>t(q}|v_t*ZF^IbXn;f+9 zJEx5*9apJ$nlFJelKIx>;VnM@8J`^}cA4AIw51{4JyxJVw=Bsou?Ba9uo-dmtD3&q z7z|632}AVPso5$3KpTzBu~eV@wuU2322Y0FQ!y68dO2C`LT0AF6~uug4l?1= zb+z<2L_;r-)96w}BkEX>lxy)$kH#qLY%yQ^>z)*S zq>fmfJW%bQB)1WH+diF-chao9e?VS1T`t*QeBp8|Hlynn7QVZUtay|8DsC@1$28eT zHr0(SCS24)}wSwTSsbvKBJqO8tnlmNlWNRG!r)+g((F0Q(w>jT$CK>-tj z2`DNcDvAn-k28)BK!E@*^Zl#)%p)PVd%t^s-~Id<&Y3>l)z#hA)z#Hi)nx-`EOCbS zutKmNwj?d3Fi+5fK5qWP(#2=}@5(q={L;RosIQgeD4 zM*?hfMxa1o281O{hkbT`L?}t3rN%+act(h0#MK1co~C%H1QZdU_L>m_i2*H>yToMB zCam@wKbM((u!}3?0O_XWxC9yW?qA(0&5BwB0O&L4EYNi8tofOj_&V1=FzJ?y41;GR zMzck!c2Ww;DH|B93(k*K!PhfQ&_mP#33@#SKCx3pU3+aBLm z_BldDkDnn397wdr8E#CBZ@Lz|?eV3njRSqxER>NAZOz13!uXsyxA9{=jN;HPgKH1v z9UmnPQDi7rJbk#K+@Yr5gw<)oY0tmiYCNxDII9ksXA=Q0>}3*gWm+m3Px$GZX+t_f z64sKySUrDRa;$o=Sx$}Ba|#l1OPa0Y0G2*n+w4j*RV9ZzE``JEvr;|%ShfFifB3Ga zBShMy@v`n=&BXC>`YMo^xJ4W(EY6?Z@>bs%u z8c*LkLWPMO9VvSDzK$8?NFdo$+FRe1&@Z7?1(J7u8+q?Z%UhS0SBxX|Z3(<&xYfLL z%ke7XA$9yNtz2zMq7FTK2x>vH}v`< zffpFuqI+)yHWE*rOzWLb3Ng<>WC^Z~-!HjY1kZ6BjjosAB*9?xOrW(EdYWml<$a-g5MYU99de(AU#Cm1=7kUlUBK{?6&tr7v*ewNdo>;g@)57OM zMX_^Rz}!Oh3FP|&Gnu!e;{aKqW?-I0_I=cv$O}W2oUf8otqNG}TbGkjAK_{v7jN2em-ZLA zdsv^scIzxLa#13r{LZek+H=VjSs)=e(>;pTf zch-s@1!NLd2Z42*g0*}e1Yv^<%giFSha{yP%oO?~i&YYmT|%BYM4t4RGx|sneP?(! zK){PZHbk5r2)Tc|>s}${<%OGnV$KMK3&@U4Oz2xzy6-OXl=Zkns z(q`~dQJA=1u3*LaWHwtPvLmyiQF}0`Ch}6nCF0p~6sspL222zz&V#(Kt$LntL zczLC@vKK5W!U7Eq@Ed{78Hz_FIK_|UQ`$}GI3>$^bC9a6fEzAEfnmjg=fMQD_F;gy z*Z=4aebdfu2EA@`Mp<~z%=1D_u&x}X&v+04tI2J6%H*qc=pY#>ercdIuPwuH_n=Xe9d+IX-M~1d# zt&f&=+8J7t>E?<(*+buw&DidmMBE}d-RQf4gXC^g**o6C0j)H@P@3O0cG(_3&hS@?tOm>Fdm!xsXkR2%U znL~Snle6Z28YA5+5p~1QQ!XkxjTG||eWUE>+MUXB7*blmjKHm2Hz8sVJGyD?;#%+M zrpb=(Vyu9ByRkO6a*&T%fZ5)yXt}+6`f&P{SVV$7?X_N}q>Y-`*Sf1G_1O*PMJ1H#kcSS4A(F%gDr1E(9(22e#jz=?Fibw4X2?xhEcx5%FdkIURXnVnLdx zu>t~nyKBl}o6s;R8B)<8I3!?8O5hzzTJ2=6C}MCq#M zCp^gU9!i)xukn^O_oNhGtbC}Lyg2fOrkqY%~bMDPfd{A?Z=y1fWYxZtZi+=|^oci5(Q z4X$g8mcw|nh4I3AJ93C7thetP_flw);Pjl|a4;iM$A~=PsxzvsPr<0svH1qHD+sn5 zc~V8KuHw(CijEXLToq4pP~EWs$uCrrJl{^Mn(mnPHfKHM_aVbd$P9xFcm=qtXULdy zB=->ei`cD=VKGU`|SVd!4EKpKOYhvY%;agfHy%KZTxxmLE_}t7)^BQ54 zk?|y~d9hR+P|7 z(wv=iFEFm=v*iRgVUk7HLM&oOM*QMWtf|LqW_KI=7#u^SHiV6r=8Algb9tWdgYIvw zN$l*!!Q!ij<=b)va|rOQja!u11RH4fO-e>f0N${$L;mosG!bIZ)0&y!I?rl=EdfALqrT#2U2dgeE$vj6!i&>txog=XA( zB464P{07Nc**Q9_Cup6ro?1>dGC=o{CHfEPok;%p$zUL6aA8`Z&EU38Nk7;bNCxY? ziLyjPc}lSVmDrVS*!v!$Z;M-9L4bSBa4~Xh+%7$kFvqyWHpiHP^4gCwezG#hQ0G2F zWKilT#Uk%`h*G=`VDKMy5^e|=Jx>W7j@3H3P-=Qn>vhB>mw-)(I(N~-E&ofb*DBt< z#LQRc+SZ%LvSu|6<@N>XCC9th*_6EdrW7SddAEA7Bk>tm4zPDVLrajM2BhtI3Xq`& z2o)#o16#=-zNVp9%bKSQdnS3EH`e{+cFr1F?lWh4l{jqWtC1P%)$LOkbESlubo}Gy zupXhh14Pul?Z43X$yf=yJ;9D*aJ2QuJo?@Kpw$QbsQ{UH%cj=d^gKB$^|x=- zFT%#B4hBy2M{cuwRLOI#_<_4=m>#vH0zJ(dSj%hw&fd9g`(Z?GjnimwV#@SkRP7YE zq%;jdQlZD2hUD7MZ2fGn9)b=MVq&}!`}YAp;~k~$QC1tKWBkKOL6M`sMLM1|M?{>_ zq4imi(E7+y{0MMm#=i%9;cS|yE=-g_j`aL8lKhd0S(#!rk|Rv;*+dG{nCLDGCEt(M z1Bui(gapOR;lA!P1)}*4yg-EV0&i12GY>NvZXQ!+#m(JheUDq?C|j0k`7^(hYA5@O z-wa&Pm~oZF;lZuG2)S0x+o=?eiqYee?fe5jz2hNiVJGiE|2nO=jJ~Jpw)|4X7v9rW zrdPSgs#W#vwJgY_ERzs7o4Hqy%8u2Qp-`?v$+DUrT8K;%>wp8E-}s?5BvHr@29or} zV+s-~^cf2?0%r-VE(ut{)v=CpV=~9OzSCBvBl3k6KU&7!v!KlAEobF9FFlxS2v*#o zRRhwPkM$avWq+3(?=hn#UK%>RO+pT0Pj<>t%AV|A=mQD*dXB;fj|@w8Uz_4FMZ8-} zu7s?N{FgrOoG=D^fmhhzU(_SHS}J`w5?C$C3HjlW{SF(1$$Vc?4HmCulyD8Xyjc^c zAa*y%MpZ7}X>wGONB#pPAf9-2ngXdSKdeG_eDAeU&!eOp5AWkWum$+EyQXM*+uSW)`#(qm6V3Qu6C;(+I8oP zFw}Dr4>may)h~zqO5dR|dCI56<;33JpbfxgskmPiY-dck9Eo~_J#zN&V8@i1#4*v#OtlZa z%0^Aa1W1`1rl_k8{VO2=tvR>I-rF%*Y7V*NkrDL2p+@ZNqp06-Ttb=}LUEGt3bKa7 zE!h#(P6f@pn-E8lZ>$^c5+%E95WlT&h2a>E<0PNiy)zGXyhn6o({6eOFe|g=L!{`3 zH?lL9p2=Jld6pl}^10F6MAM&K=t zz-I~p5!;1;+A&kKBI886e$kxFkvf|kvjj5#0lYE=e1l81Zu7aSb(_>9=K~FVYqE6- z>eRsNwSu}tfS;~`pPmAKY6^Hz1D~mZPuIYo)4*Rn4Dg9*z~6y+FksWr6g~Q}5S{B? z9(3IE6t)#aLTTsa=)n`aBL?po$)x-4r$MTDzw}eh+ov8mcWDgnO=4hET7t=JJ037F z8Jp6+1G*Z#Wzu_1j*)=3J91d6CPUYBpRVa%T~oQP>8fN+EjzN(u1Gp^n*cYv@7@IN zau2Q28<_c@soxkxu9xo-*E{k%QuN`ZWCw`uq^JvYh)pZ=Vlde1vj>T~YCJ$!uOO+;Q;3Y-tYsgEH%gFm73ljrRF@*W18b`usimVfvRJl z5JRU(PWkn4jSWJ3qurw?OK5*gycUVzj%24hGkPZ=>Cvb-1R|3~ZxksERbGU-0dx6T z@Cdm+<&hx~H;T6N=61gFA&p)w-y%7WOUjZ91nP|_LokWFmlUPgv1XjAe8HSGkMUVT zQo!D>D`=J@fVndzX+GzVtG(vozfh)_UzZ@+ViOPjWEZ5 zBkcoUDYjM3E85qNkTpshcAhk^o)~?I)HH3~ta;M3I(pAKL7HZ|x&W8q zVP*K{`iY_|)Znd`&K7!;8xieREI(1T;#NIQW#$bn$LVVd3q~DuLp~BT?xskYS@bsV za#MYH^UUKgKlz;TeVeh6+yx2zCAO9xpT!#~nLz{6$452d0HCc)8M!D|DQW%3=<-tY z66k+If$8aOPGF<;U3NS;U`iY#tkGh`m}@Q88e^~cfhG?p67n`-dRWn}xll2md4JYw za5T@2R!w%tjQZx2LR+^}PVHZnd@k{q2;`f8?^xQz{^CUG-AX36S8k^{r!@N`;$ z5Q5^xwTL4t*Y)~$;2h@)?BDiS=Rz8>Q>gc^(}kW~7vX^eVfMbZr4w(iebAJk@8teK z?Dx_4{0t_>hgMJNa2YG%KkTQxW*&&)p~X*3v{G$e;Zh{I#d_)p&}HLxcB3%w8JPa+ z(B(v46Pw-#u06rkP|7Hf`>kVpf0!K-AzBW){-e`$Kx5Q&i_12_$)vmv1$+oNJ zQ8F3L@akHb)WweL*CT+>ox^*X+5J|2cq^LyW{>@T=po?VGh|A;;MC+`jTv2PychZ= z)4e|G4sFZyME-(e5#X zksj-gzpNPc_M_=mRzKN9Djm-fxdTW=tW4dH7W!_02faHcB5q?NW`JUlXxm&iX`5s< z)#0;sGL~ENp&|_aU{F}e4lKnmK+Zi^lPsz}ax6byI8@FaX)haSf<|C6Z|3~X{w-{L zB&&N_MKcx<1jcaIOqU*tT*C$M)x1gU;N9Fbv+|d?dLvRuKDW@pK)G|d5mA;U0ao2J z`Y=#reyUHnd5KB$0!rx&&YIgqhKNX1!mmXm8_pBVw^-jeAfR}ozxZI)gV9yV`Yu)V zjo-~(?SZrG`Xu|@Hx)$ugX)CHZ;loMHZ}a5SFbn+Ad)o*X==A+D8C0O6j~@6kl`AJ zl*UVevlySUjo_hHqPoY(p7t$^1J z+D8{TYpPYYv6J0soi8xH)Eqlm`CO@t+-5Xf;*)ju+UimR zvzQIo2o0NNv_t#DEtPnlJS@OTC!Cb|@B;mgy3M?JK&;ae=^!rN#1yovT5P1NTbYEH zSG)3c%l^)%WXqo5huQs;wVgAH_dDl4$S=2nZ15A(*=HnrE8Z(J2fZuWxhlWW=r%`9 z-dnHQcD%1*6m45mIkEVynb?o&Ok)!{Xw--$FLENWr#>s-_L*-8;}JSK!aTR{hWOY4 z%+%A}D3K%H1GppHa+dI1KWx zg?p@}kWWGk{N8W8SPeLQXs-damh_X(KgC`brRuuGxDp$a4(MXd%#=x?;!waX>%3Y$ z4skR6Sa-h#b~U%_)ofEZ7xkS8_h1jESjpuI5ogUt`*%N~YmtSODC(?vUYF@W8R0ym z)MxA`Wql9v4eiY6YT4MjzNwJM)YWKcHt`C-g2jlxhA&j#Ui>taeUX`S@NLK-yvFA& zeV5gdt>ryZ(CMj@U9~7`tw-V=65do#WYABWE1_2;aYR+&b?~{>j0`9W8o@up59+*T zwHiPpkC9C`^I?A!kqU{-srE>DGWfWnQK#lG;;?oa6~bXKXVP63?o6)O;Ogrmn@haUa|3#;RM2a>O@~Y6MXovG~0@;f4 zZWC8?D|{Il0+t51ib_8!1d4wx9VYIvOaL+cpE_7fm;xuU3zbYu4t8MA9CtfCTa*rq zQB<;o4!&0Hdhvh^zz2-cCMe>a;{4!h`kz4Qjv8LP6>k%>T?iuZkG^Zzk!I?0rB2Vj z*n$@FGT3rNCk_!-xkl`0jhMxx7sNK=;Q^dZkP?ctDmnpyz@!%86~_ue|qArsucFPXU-u08u`tFvZ5;!IhE>y1WEgJp4(OXT2YtGz3P zy!ep;zBOW^=3Xwp5ZW+fVi#!(4y8skzUKDRqfhctk0*XN0K=HTmx)KWcHdFCoVDVi zP`uhXSBYk(<9Fo4$HQB{FTc!`yE_mDB{YJYyNsuSTe-Yrz@IpRJW34I6+;P$H)UTw zD^qC%zo*d%!u-OgE6pHx3yXuA*g4D)&y~*lcWj{Dp(@~f~ z1xE_P3-}=uU@&T!0kMH}om9mVKPEO=l}MuL)oAt+G|#lr)LBo9xiCLZW;{Y?>?j%A zr)LZtlWfC-Id&WNkRdgi{^EZ*@4Sp{O!OzZPw|B4iL{?49Ls~SI1Dd?oEqWq=G%Kl zUnR3GpPP>RRx!SryA!RKE)-$Bc$0JPy*!!wwdBAetHsC$_>>q~iHPCeQ(8C~qg*xO zhaY7ZSrely?vygha`mw4x)!7S{pD(uciuyD~K;h3#?H=1{D~IRCzj z-A5b9k{V|Z<9wpzO?m0jK;1I^ibYM@KhKr>({R`l>)8k^E`q_5Pd4i!`{ zN}#Iqo*o;VKGX#|XAjAl*CJ=ySU+=w-Hy(*BQ@4~J`zEkxB$*OOBwW12cnQ5+u{QNOf)7i<-WtgLyo-d@ zWDVRS(vH)R1wA&<`HECA_^8C!eEaJJ`I^7WncI%f6%<~SDTNR2)`bW2`E@xJkM`%E zN%QXE-+BDW#_3P?Q!KjVZz+Et@mKAN{iH_X30Pa2a8+s+JyVAY5NqifY#_z8U_O3+ zRXt*p(gltT({U%+)VCQpEjjMt*GRLlS)A7gp=S|SD+DUUo|MJKuiw9mf0di|N(|%T zy}`c#Gh1p%6&E`<@#NfzR|NLMt#L&fbm0sNW=Id8{=6dr}rNF`~L+0ej5KJ zl-Bsa$Q$_2qn7_6{tp2n z4S)MS_o7+<0sib4o24|nxLj+=Phj5U*iM4{*XUTWgSRHfv&(e?nU9vPBD2Gq-5EaI zPN~ar)(l#i$}Kh zM2Y?YL2sSuAAnA!z`d7kAG;jlIe3V6=S7`Y?fU6Q+7KMBtV4N;F?mdb7IG_KwKJw1b)CQnLEU4*k4a{9eN%;DrukI`8Vu3noVM zqu24mC3#l!r(!>J(DpVsmqM`+TaX2^89qwpO2qYn;2ZHTvUd*;^-VaTWR;rNkh;bC zY-a}y;;&h&js&k$oN(I@v_os6oHd^!50w`8eDZbaiTC({5fB~m9KU@PYs<_t*;it~ zxR@_E)pSEgSF2Ra)>~(5G38HuK^0c(uC6LPGb7l6h*5=SW=fc$5)n+G8QDB@LJ0n_ z^MgG(L_SYu3L9S8$y<^xx`GQ?gjEUDAKg>H^h@J>|(HfjY0%nv6w=HfS!-C zwAy1_)5Bu~C*vv9&Ghuf8Z*yrOt=9v1zrQVCb_v3Ko(_l#ypvPovb67E>vAf?=7U) z0^Mbd_w7=N1+2;1G|V6INQfr$8c6SJ1fKc0i3^3kvPn^>mj%n8ZBsz_6Dnxwh3c%4 zeUVJywx5Z!VTQMRgKCljlchUsH{mr zqj(05aaYg6^mQia4$E%YnBeWvx5)z!reP1((ZS)XnYOY&@UrGPYYwO>$l1=@@Pu#i zaj;I=LARjaN&n@G8T&7?Z zO>d998O-yVqsz;jFYYR9e+v^BKTiODMtj`V{wbN}kZFwkG}M?2z}aVn<-xCN9{iGr zM1KjE_>ILPW{2ug^JdVAzaoT2C|iaYwsx0O zxafq*pmbDddo1*JF4KLo6v041QJFG7=iV^ln=G*AaJI#`ap{6i5Ug(@&0Z0{q8CH~ zxu;|@alAv7(;UI!)h_p|vfg3honL;XVv9Q-QEYL_CcOgc0O+BYy!L1a=k=u+I>J_!v(Lt1D2F1QEDav_~gNKC795)07ZA zGB!$ROoIvx;Z}t!CWx@*@69aV`$yIAz9a1xE&&bNBQbrrSpjh&j^)PacyJ-tEWjfQ zqU#PYPv2OCreBD=*x!Sois9EujC$DKm9g3rf6f8q4h*ZP-Va)Z8L}yL?Ox0hvGCwt z-gBb7BRQbm<}h)Gm^rY=ms01^0%%~XSYmuB8&aaHR)d_+TrLmxg8>2P zRM`T@U{ODf^$*;GOX$bo@loN~lBxzmr)ti>w?Roj$8t72*N6sRX>15rS7yTP$ z{PavR%{k|OsSLY8c_h^U5y!FPMQ-IbiEy=)0aH9D!wYy9Hi8!^DxMN3>BlP+f!#Y_ z^>a1#DFWN1lPh)dr6i{a%x|oYA00c9%|G3Esm`&NO94_j-0=;_ObZz4I%`jkB6fF3 z(k9de&tppc?qz#QeQurKMSTu6ZwU6_OLpo@K40Jsd_f7@tWNrV+9wBZGuB4GgJD$Hs?PqGiPT4DtF83I3`;C=uV~x*P=QVaBXJTS8qrjYy>x~SLQNBmp1m2+=wF4Guh-5D0Rum6q7TLWL~XVsr2h`CZ>>lh&=)3cJ0#`y2Sph)VQ$ ze$kI+_nMb5O59vIxcHNq7eJm7etIhoa8z~><`5`!?-@3wU7*0n86nx3$(7xT_s`6g z@8LDK=SDX$@%bR~w}fISe#<#mOy_|#L_tDS?(wdY0vD1jRs*OpDn`hmoU>K}!AOaS zDq-iV=7-`-O3fRmsTrK?rAKC08ctJF)wECG)EAle z=Dy%`t>AR7*Sx=4re&napUV8slA1QK1y@6-3E0@yFxsANDAvu8`>Y%HT4GAjr7fI%J zG4@Grg7~m6QIWo}ZSHppGM%#Z{)1#e|B4C9Fo?py|JGCys?msfp%JWtAHwL1^S>yB zP@XRWWU;9{ebwsTI0~M$SoB zzLus4*UNgWPZO=rzfgqhiyp2m7llmVM>}h1GNs z#FLu>@<#>4S^KUOwa+ALL?vx{7KwgY#in+L4ssdEt+I17CM@6=8t#Sa7XenxWrg~P zkZT8M)~fheHs)x-Wnoe_{mxR)BGbQ$+YJjVGeaL|L`pL|V>PrQ8)PgW^>dL8Q-S-` z1Z1RWSZSh(UQ-PRN_Up=)zU zy2yjmDbYyow4MQm6rV_O$r@_PRtjxgyN8Hgk`uQDR*jwM!epjg$s|KGc_B(lheclI zSWF(y($ygSmMU!xw@W&bC6Ps?B%zz);!wF#=R3vD_Zj+RA;e0>!zR%I8mR&ssmFBo zpSE@&AkAu7{z2aGkT3dIih{$%=O|87Z*7MS=mB?z1#wo?CDyytqjjgZNOl6^ypaVE z-S_VRHPQFGWc-c#R1>#L+alfHm4~x*oybu>uFGSekKNXo!XBlOD>Bhm-g2*8^Ke$x z*vXCV*(*7WpCW0gAv@MvoFp`cG%t;h1bak>!*Jay&Tm?}vqqv9!DHsf z$CfY;!iD_w)qmaI-~N0$Z$2p9s!$YmQ1@8^tNGSyY7?xCpO_cX>!_2-B=evJaFYbn zLy#Be+-hDiFnNG=J%+Z&=5S3O*$$#&An3xksNq1PH^bf)-o!n`r2~VjuoJ0T7xR>w zQ&;;c{^hOzroFE{BykBE%LkZ2^BJB<(MBw8t&>4d_|T_Fr|$ThT-7pe zs&t8m?GhJLBIH@!PA{Q45{>Zeam=MB!9mTcxsUKxR)Gm1Atx!%EU9)?<5Q6l;F!cy z%M4k_3@IsgT=X!|TKv&w-QxQw2|cf~J^@s;6Qr9G@DK4P#lGo%rZ=+%TT1he0<g+3;*6eirxP>br!mgTxv2eD(7O>vH|`NOgx?@s{8R(Yxs)qWlo zTh2QLH}7k?{40OyX(jxYKb00bNy^r5?WP+UK7pUHqr4TKPeH~`lK^ktiq+oYdi31M z-V;y5;8s{H#PG`qnY?TlKox>`pjOeCTw-9;nBFch@3vaM`vd_Y7LCm+a?UL5*^IIJ(wBWPBTulQ63{4Tt&gC-`d$uE0HvPHv9wAzV%;_ z&+;efck*0Ht1stoFz<=KKk!@r{=#32{fpjDbE~7KL)hk@2FZfn{i^GwDvIKm=va|Hk^ z$`t)t!0UzZCQ|$GT6lzdg&8<}oz!bdBT!qqla!{8*mZmeb5@>c_Z-$J5F|oFx%?Ur z1N3Ih9LmjN+17c2IltRg^>Zty`qu@e6vO8Hw4D8Oo|PjI;!VB^3G5&|x~Xcrf~cGv zM8^{S_CxwA`IGIZjSuY}XSY)fD(!aODGbCIChfddH%{8w1I-hu($3#lU#)qeT`i8W27H zFzspTAaasKFxL92CBn+si_I$NTZeG-V4WdblciX9L3ppqLo79nu2Ld_zpWqg>3h0S z#Ser`p`=e0>B$}1%>7NT(Oqimzg;EcR^!=JE!Jtzkq&WR0&v;AUddW_~B zQa-x*$U0d?{wEIV{AcT=>qu%A7h`grppz~oDa(eMO_C^&>H;OCj<&(=f)Gd|bY#&* zcG4D|bUaDV+u+ucWYnvkVH2K1bW`*T57xPj4$RZTsV|@xky6i)PLfOc-p6|^;s}a~ z8P}W2!&%yFg#e8&fEuWl?lSgywG{n{5?9t>)^v%^&7p9(PTMAV>UGhie#9K+6||D^ zE0g*XXzX21y4}WJpYaRhv5_scs5pW{UY8*+EuOJ)<^VaIJX+Kg<-Usdy!G3%%&csV zHIVFONjxt7i`T5m&bAta@{A5jA(0*cCOKbJ{Rw_2nil%?tzsFbxV20bUggged{Xow zFj>VmRTpOj5W!tjPr=JT-C!*91Cz7-(WEGQfUm7SWM%~ai=ZHwPB-L|CHPIOAk=)# z(ut6cvut%}-@zrqL!G1QW9`iLj2d*HSB4a8OX54a+@1jwZ@Y{^!{*X-eRneJ6;+>J zobxfSfjkD%k~D4fd~~t5nakI6gFjmT{6Gz745O*dfn#av-_X7bGv7iexX^k*wX%~U z8VN|EqjCt7XFf&f)H(H9li^XqFd!R)in!Wuog~Gl9hx<_q+P*Bn+p((F>e z1p|R;V1Q(E+izqlzQv?{A8dXez%Qrg-Jxb_L33XY3@}%hI}z8BZhg6qc_&vEZVsS= z-eOsx>j{5fc@;iyKJz3zfkY6-0L{z6G(5Ah>fTsqEkecI;1DUA0T}w0b!oM<`4j68 zfHZJUn2}*UB8}f%iBAV|I208-(%0kxf7+3DJx01bnbM!Tm46a2LFMTB^!0OPjK*?6v$wwS#@)_bygb!j*CdNzb zeAVR#D*jb!@lf>E%6^I7v+CcM>W8v6!L1r-4`I29XesMGo_gL;G4tJ*8)OcT!;1b& zw%03U0kxibPnBa8<4_ex&Jr#LS|%($c61tlFIVeRe3jema+1*ntE;M$vaOL)r8yGL zP%1+>k0pz>ur*b|?`sqV;e{K!oV4p#oj!MR8e zPOCc}+K#8*#`ydOJpZ%tvF`{I<}sfZYR+*tZwby3*PJ71pOMZ#uF?GCd=B1{{KNH6 z3B=&^yl3+d*pXK;^m(LPPp%dIf$^!$KNh~D^dptMFp|IzRRoll45X=QF75?g6m!O{ zNoJ@PSW;oc(%g&F}C+7d5 z@>Qa-pNc+Q1q%KhRwAFG=bh>InPbcQ)}_#!G_Ux0W}Wb$mAT&H)m1y(%Vec5UL80K zCLs%YPY!O%jXHKhSuE$7+1Af$5_E`l!QITx9DKj^HXunaN&Ia8>Hmg&F;3)*2)@f% zt6Rwzi7z0uI@_wy2>l!R!nWu0B7us8ftOh%_?)7LfCPu~ruD6T*?ru)@Cy#wk?O=B zivA1WDN^iy1LBdT-dQ8dgv1jF&f^GY5v!V<+@l7a&rjC2OVs57oD>}+)6u-&P2XO^Z(s>q%kbsg7r4+I{9$%5H5(ztI2I{k|YndW_*ChKBn)Ao&ON+Nv z?baazTa_y{2jSP}Ur-jIaNo`IJjFi-itRdl=6O~g;DFI9-cVY+y=q(R_i~hhBvr>* zGr`d1KC7&YJ>jZ1a|0*Gu5JCX%$&L)nIY))98vWq6RC7P!hp1*ikJ9G`bPT18Q#Y} z7j?X~Wb59z#~6(7-~Eyz2kuXir06|bZD+b)Qlz7!H3Pu}M%zZs-mBZYGX)V*Xqd?%z9b4K6w~bshAMJanxbQWih%*|NF=ddgK9l~YwML&H_QbA#7k zWOnJjcRjbmo%}Ai;5y)~SdW8$p11h@s=Jt5#|yKwo}jGmi$OFW+_*~aYsCi52}^`k zo+kn;_fWguAqtZfcw2ZCK}`n6PEiaoDz;b((q#fk_2Dl1&>GH9I{oXz_Gfvz@c6PK zOt>{O!*%XC)YMtkv{G3hD$XkbSky8xT?9;tAEM+Ub*K}|Q}QwQ)%XnpRUZRW!Bo#1 zYRvP2EO8p>+4*PFml4P2Uuc0SkIfv`X?Y#p$t z#8~cCgo|Xbvu8yR`3yPCZ_FH*kpHgM`{|?rc(OloqpbIbw=eWH-BnFTiPY9Agyb~T z36pgQ$xj$51jNZLg7=>$2#i+gejaPZCbR6P!hV7))IeaW6ll*sqZZcOwH{n1KZ z(k-)XX0-pHGOA&ntae4X?mEL6&ZW0FcbME=C`Cd54u)n14$=2D^yA%HtaLZ|lgO`z zX^x|USFh<9qaG=G5n6%LTqL)RKa;P3k1ML_jP&?_>`+8>36rdG*xxyY!w@P|820b{UoIe9%KxR5U;lIemj*~O<^NJQSB56J z=SlR(GbFb`AEsk<+xcH=Gk=rgGt%Y1M#o5b6Tw2r3r_=EU!zV&FkL#m*ySgOxS~47 z^Mculb_h69gpKav+#2jqefyaifld<|60BNF>o7gUUisiE5jwai(OJ4vMSR!kau@G`EHP!? zh?1gMxrP-xjEI=eED|-YnezZYycO$gms)4dA4zU>pP3nVyvrA(AzDiU(lyNAwXQ2v z`}|5-&Kg)2Ivu6Af{&A|wt|)N{R(uYKI2oC@j6)xOUQUN=|1CEF7P}-W?6ziw2n8a z+yCnijNFNdjTw$#WN`YA~uEz@lh^8Qhk0A%XCz3>t*kUmzOeBaE32K z^@;=xi6rRNj(MimoD#aSRr{i{j<*1DOdBBP3d(?h-dmNA-P)q?#~{?Q{=g+I*Spr` z&udX$ta)3NKm6^Ve|#fhH1a!&NiRwKgHS^s5v@7b`j)%3#Kd6iLgijC#%R!WIm7+P z@0JVZ(t9e<=6%Gi@D*L~$<&K8XY@OIg=^|yfsfuT#-CqX&v&<}-B~-2k4A&vJWt5x zKs{88JATCVca>8a=kFj0Lfr8M3310({>2PM%nBc(U~x_b2{RG+95?fV>ra{49|JQS z)!o%IacAMAZjX;o;Uk-Ye4o65u zCUdY~tHvL`oBOSxo287}G99W5FYn=ByPzj$+p= zLpXtoTyEyv%@1$IN3?T2?R3_NABSqIvqrj-`{d7rGVWT)J8{}Z`OOzZ&|t^fcXJs+ zwtfDA(cPnr#6j!SIvMleN$h3TVTfK5=&n9l1DCfrZ%4@HV#MHTq=rhsp6oYooy_TL z-_1#QgC4War|l}^mf(+ZM-hl7*0ZEqA+bLYe%g1tA>}G0PZiNA=*-1KpHeVUbX5^`OGjakCdax-PIfs@V#op!2zfZe-_av%D3 z2Gja?xY=WeLRR{>dit3e&YHjTR%TvrcXZ{Cw0+TX)m^f}>acB~EvxK&l^(1jd$NzO zq{D_tq3OC1ef)jka^1)H5$O`cxrHA0mM;V6!@VeQloS}QzBz0D0>aY6J>?r6+)tM| zCVCeifEMf$la&;+N`BM7jWj9IzcLw-3|Icp0b;M_M~2W7-gs!SXsab~J9oJuWTo!YX99*1ej-V`MX6Z5~NOicB zsb*ZSix@Enslhu5-l=9B_De|c1JblNNZ0Ms@eeMU0ozsh%UA_+WSkPMIKpm!)km?# zWoAV>>Ibc6s6r-)^fam;<$GprSBb$ULH$eYco+#q$~2Gm9<&UV)fdL#1zqSq zjlAhGc1MRmu%NX-Uo{8m*4~VnK(S+BjquP(ydzBw#}&N|A`l*&!ZBMCl$LY1oD+~51W~DlLEdMA$g}r`d$V1BCk2yUJQ%M%*XX& z_$JCK=PUbD_`1zOe`f1&1h#;sNaGP?OSO`H7W}G>HB7Hpreh=(rp^yd$3^OQ3;oEL z(WYZg2ey>M3WA*ydzJ=u4(z&(bnC-cMT=Qf!MkT*ps>JMGX@6YZYnJ-q;pw8)kcBE z+xQ}d?mTbkj@-=9X0-Nq;(L)V04mY@%>IWt!lSu~J$G^53CCV_J{F$p({y`lPSFBieZ z>)ZoDlk+cqKc~k4|5DR6Y_<%ttCWYkI6k8jKJ;hu9-D%7c4xyS?~uZA@?fr1c`NpM zG5SRLW}QZ7$N`q&I8d#>-UhtAyqk{Q{Oc}mno)@U+8r62S-j5a=XS$E?{c8LcU>mx z!~Sn((-14;Wq@#y-kXfxLFQ5JC=$3w>=_ZkP~KFN0WeUkm2Vd{idiH%-uA;5w2UVEf| zf)#HQI62o;D97$wc=X+%E~{mqwx@iGLkAO|l41SGK14uJG)tk7)1=FM&f_&{wR@=q zeo;HT79|%aOXgqnth6B{><)YOCF4}x?IxT3{&gk}r{;bRG(e)kR@hf;XrOG|2%XQN2%l-BG?oE}`20%Fu zU9QWomm8ZZ_fK74mM$mN{tBKaCCbfikf7#B62Iv7$#AqP$5wQ78Yz7FH{CTTlrvvI zJrSuX>>AsrwJKPhRvYgljTeDfgz}>1~ZRl!M z+|;VdJ{i= zLN}2BBy=>MSkg*)rMH&gwgH?X4M!d=C&d2r?!P|?=od;?N_Wj}kXJbTr0W!*Q#7E{ zS^-L*mVO(Guc@Z68JR+CmwmHW$t#$gpaGoN3IJ+O_n5RvnQa4UL%>oh?nZ~>cGf7d zs8i=nEWSs7#rav6=S7Put7S(N0~{i<;mw(T5L&{sTQbC+Ya_$&bcQ`&lHskkGWc|c zZIa=cwleh58Qzf$wQXfMR%ciy8Ln+B!@++kB%hNEL)*&mmCi6hevdV8zjTZwld7t8OBP6$J@#z$I~jg?wvA@Se&MDZp&b36$Un~BjtAFgXE?hK%WWD~ zAfh4`#eIZ$dG?m4$nqjE=pz=f|0KSQzW*%88cj9aa;7q>d(e=Eb1aumRbZOztI)Jr zVMj7Km>;1~MpzweODwp?cu(La!b0bDo!@F$MPa@qV_p=SVM zA1G>@%MXoL-HssGwh>U@;|#Gg=8Ze(Vzdvk-7gAuF1uE{)&UcBmKpYg?m+ntPr7VBxa>K zBCpigb=q5*qq}*HA$=(8oO?I9M1Np!-n@~anPtVzGj7?tzBF^EFEaL^_q1K!(6;u0 zN^*hdz(t@g$_YX|Hw`Mk*9uy z>awV^Y8B`aR|C@fv4iYVLUk8<>#Yu@1Si+m$e7dFiK#7~<%8x_v+4x2F$Djy5qWGU zDG{Z_K4;`F@}Xj<*eInn4I3(Fjm%8aja_>;WWGfqnz+*&`l5ZHmv`?ct>~5Z_HNPM zmD1jQv=<1>M*_;o_mzOO-%D58?UfIuEA95`AIbLOSrc4UYTS~yD3e=CFz-r^d#n1B z`>ipfZ8s7^drA;d?4*<>S@CUov+&A~qs3Y$+9!ruf{4m=@m4g52fEVke=GQL+7Xt^ zhGY&IpCl*I$LW)(_^MoIcn7)lbgKD`*TYRG=JWqA=Tjfi+MMI2DKoR&##On*C2F(1 zefzJEVeF~rUV_1(yvABCsbM+HcnJUcNCw~_129uUDbn3e9L4K zu~&TTvg{1M(}N3l{&rH?Os@nUrZdo^osrnFzoa~;o-?mMiV`|cekKFd79+YxlLgxWWXtCP{gL6kp^@Z&}3gJOcb{G6YM7Z(&Hw^)!BCpXI69 zCFfF;z(TBRzn(8Y9ea1${eNV)l&woU-YpN|D=_QXBm`^xMILGx+;iq^l_YbHB&AtL z9j6;mBAc?7_`4hDtRruxyKz{FXqL`E734GKSfu%lH-u49#BzM&AkxJ_XU*fZMMwSc z@Wy}-nJUHz!}7|EN}}Ifi^SsULy|Y{D3&kgRRf|=kTcE_VqP&o-Ls;EA#2wS`yru~ zwE9-H&C2O87DW@6L%NqdORcz6XB_iOJSwrRbb5!KH};i*$kay8jaAM0^wx zu+E_vZrJH&14jwMp>*po=Jz4v85NO8S6H5`aN}mR;hLDN@D*L*m8lBl1h`d&kCW80 zLe3{!(@$)sjQ91@7xip8r%)4QzyA`sl*GM6qzC1vt#0PoW_{o7mpJ)f(fK8Zxay|o zc$*xm4}ye`PisE`o@x7`^@EUg@?Q|l@sQc1xk%a}u#%6wkvqH$(;BF8LUhDKyV~^c zX8l~Dj(}Ym*DC`kWfc;RGx=B3m@=n_1D*UFzR|orQ`D>uo)~=!^ixZK$UkZ>J8P6e zPfhl?b<^WA*@N3T?1_))Ju6T>y@ZQW8i$lXfLsl}(o4wQ$08bKtNW%Teq=}aMRE}Nb&HkxnAk_` zXk*Pv@z1pOQv(KIauCYSLE1ki)qZI>?Y~a9|M;lbv$fHFe3R_9-?Bip{TtdIn%+BO z*4R{g4ryBxU{%}twQSo7s%?t@(wsxvck-kEo%R(_OJ?wT-L~&WC)?In8Wrhzyxq1V zV_qe{sqqX9O0?$*XpMgTMvdXA$ua!-4~*gL1{p(IO0aXfebE<=42j&vNl#mS-}1aE z)&JF#1-}s*zp@m5e;^(F?vMwo#gVbzY4{PnTNakM)!xR>z2ZyQw8FAWdi`Jwn^eRG zx0FqQ*9Zx>^csH>ZfSk8%^~ONaLYgw$9jR4rNTcaCzze_kzyssU7S9_t?pfaiO1%H zkF3XRa$!}n*&V?IW_hjWr?KvsGg*nm3)uH3)+Li*5bD?Z zNxS0i>J`H6GXeuJJ+aq_J`jt{fS&e(qF7d9e|^Y$p)SivQLNz0-pRZwPjwY1<UL++?C7EdO< zF+7WZos8h*&pL5?c%YCqXRmePpE=*CURF3yHLI5|GQRNY6nc0js1N~BdLo%C_^rFK zMin5Cj;r6cPFR$_+8-oQt&RCjwvPJ3`m=!bM`GDK=SrwYWxen%F9f#|eALn|0XXnZ zNc!N+<8aGI_?6u-j|~BCv#Z*jo53wjoc0yh-~2`FVqYY%JJ&mVrDz6~w{ohio}ZyO z&cw3_7Hu9M+TMr!i`sI+F<+(Rw9dR+`E2yd zjOV9;Z<(>UK+rZG?af0=ZQ(wWVumFpO7@*3d`QpzIF*OG^wpAl|G@Wqd&M1qp>32MuhN2qFbE(K4>QX{IqnEFd({OVk^ zFKRq|#%I_?H2bdGBIDqX^zZRn97>@ZSP?HAg~RbLk7!9$%)ZjTJ@`HvudVjCuUmeb zD&JPw-(rAEE9ZHaZwu{j+o+QP+d&J`vb@VphgMi+A^NG^)ZjI=PcjlUCo5OVMI2*4 zmr1lJj~c8qRQ|w)(eH=?k{VRE^VOOjVpfEQ0u~kIoP^nH5~{Q2H$)#uWyfBoschgt z=bc}QwdNMerM{{D`ad8Crnt|%r-!szLVP4T#MYM>>zuE2>stGOLnx=3b9JYRtmb@W zOlBsjvn92P4W+Z@5gISa?MRkeX-RHJa;=@*p5%~DZlA$jIg#=#Z)93~@9cvI8QohS zLZ8w;I+e`u8HEf)lEB4Tvr78Qf#%}>po7}#odkdP9@0O7OWWw12AbGL--z%j$^WKr z9+AFjtWiTChUkid{z_k}`%m0vjp{E$P3u&rB{Fg?Up#gjHZVj{3DvbrCpZ>F8!A!} zrVlj(gbK`RG2YkU5-@rA8YQ4t;H6r z;WJ?+j|!KudFeb}nS+v&#!F9XxdULk*mD2X=vkd%J}L|?bl?{jwge9TxhV<@Y|LQf?bFc82 zZdtY6vWX<$B`YIvsU&o9)Q-u{loUrsV4zCrKuSAF>5vgPTcva)rM;wdR1@GgOn~1f zC%{u^`r5}ju`I>V&epeU%*wVKM)*J47R=Fnn~A_$v=cTg2qu`a`JiITX4bmIt<%F8 zL)tBjxh&Fuy<*5E;2-uVsdub);PL7!fFTuQ^{?{3%#DU%3P?I2E|E%#2jZ_lT#~Yh)F2v9EOWX(Fqb zo`v|p&G!})&*0GkAQ!mG8}a5Q=abnLH%4%p#^!@-K$7pjXY=8&qvCQINQ1pd;uSI8 z7{^~&eTj#!mJE^Mq^$E6?+-qoqNzT%q}IZ|zZE^xN8Bw+)a0hYrFjCH6N9B`;5n~CS`>zwld3}xEE5E zD{&SJ9Z+nX0J*L~zBiS2+{A-{56d`|nNN8oPw^^eO|~d8BBh10j00K9#`5)g9`WQ# z*XTsA`MLn~8{d_gz5Uni6|iNQdsm2bX8m@qNY5(FUr2J5W$uuD$xi1hJ^I!5=uGMhh-xwV*LPvaF9R*gi~?`&d0b->d9?{~=)2PZRt5OkIpN1KW_z)pqFz`%vU#79?R77SrO*CmaxKV_0cS3#lfyZ>BxHFKyn zN>9=eg3=zIHJFH>CmcVLKWc-`B{N7DcixC&{HN($@@z6#FMXg~$^tH*anceE@u26@CdSr7zm31n&`4-UOBPo6}J_l?+xdh06DV zem-MDLNlyyPf0_@c93bcegLo>gGQE7oET(wpUsPM@1DPaGIGw`MLK)gw+zgHkDWCVPb>Nm|1fC6n~m8j z!il+5_?svzMld53!wy$Qy#GfrX8<6g0>oxly zp8oj``TRTe`5XQDjP%bE8aO&cKGzb~9}2O_im2kE+);=vJq3J4OfKhWYn3{5kn0l& z9ub@balSl5h_fxKobipK$|V;jsd5O_L6w`b4nvjC@;ybBPYQBk0$57($BaoR>^3zh zu)hVY=-cJ+7nl?ObwJeY{_Nm+EiaA1(Mir266^UP^1g7sm*#X37sXN8a^Ft6j=rsU zO0D>Vu&3Wso`G4{F*PvZ?-k-(y%=}Fw9*VjQuN<**t_X#&Bk#=*M2-5p(&&BeA?vTRril=^_6jOX^C3W@e4&2kA7*G6!qvEvG&4ev@00BgLo-iPQ;KFD=T}s2Mi81QxHv&GPu452X8~4d zMvls$nLY;+G{ezMi))tJX2n7(cZF?IafUl1$+sXEylZ8zDUwI)Q>Ew!d}-BTdevNd zn(iul*-V>dO7~8PmasIDnReV-)|Ex}8r+Gdzz$SEY?=~gbIi3o?iDi2t7rAe2=*c} zl1%3%s&MxJst$a-uqlm~bNNoAoP+wnNt6AVE!u%GeOql1N}p2$7czc^*tch;h`r`$ zAX$6wlv9gutY^v--F{Y`>h@O#>TdVzZeP0Zzu)bwQF?|t!}mjEEzot=RFc#t%F!$N z(n9`gsqf|vZL?#j?qAMV3AuNMbB-GU9TyYlt91~ehabrZyF@W7M2C#wS-#{!d2US) z$+}irNY9eelvOCt=s`$7nK}FgzoIez@tZfu9mqJ`ea0`YqRB|BwuXYb&e`d8aFR-X_XqWQ;JYdP(O8JfkA=rcVgZd|i4zeRNA@VQsR$z&ArhpwCju9=6><%X&u= z^|iMGPB0CeC*YVQ>cBByfs^uoZL55wWqIY(({)5-e6Kv~W1JOhn=9e$>m_$EOlF;;KfsdFHyvVvGg zMFLYZhMR+MjEe^@7#ZP3lgo*UTsY5avTmlTL+EXSBx-uYm2us0vudXz;jtql6L)40 z4^{2tAnMGKk-*MeB}gaqX~@&#l48Hk|Ulgygrtu@m3Ncz}>BGO12yQ=u(f`KZr)|Jl_1}aqS284UXPVg{wb}(E2u}=Tt8iJZ?5xZKwoN~9}poZ zsSUl04Az=A^*+Do@caBlZQZn^Us5K$hyn;*xnQYx z*A%&+b^)o*a4)7ynStq>+MoL)PphqT0g-FfcIpg@5Vh7B z-p^EbhXxe_<^G;IkrI)&UwjodAJ=|W-}+&zlc49Rsb$Hp$6 zK=MkUC)$Xm!t6#xDS{+RK5J;OE)BhVz)GRlTa|*xpqmv*<~BYk&9Df@#_cjhbEXMl zUH6VKt)|j!r4KGOrf#Hr@5U0*>~ly1Ui?JKi1+nP_U>5SfPd_1(SX;}@m~da8-I4# zQYUvDY+Ra0Nf0+0RJS&giMRschgD`zoi`+ryH~2rjZZ~+8m-sd^h+bluU%lrN3$4ApW-PKifPMtb+wmJpUiWI^>UEDxMh^!e8 z;)#X`;%WKD{Obq|jX9Z6${c!o2W5y$ z?f@Mdxn1J)CHMSFfRD5>g5Ad=EbCKu@6B_-w3-HR^_a1y4**fbS%i|4i!9w?%Zt*F z>yA~r14KJcx#^pBB6VZ0T!7XZpxNrs9CX*xg|7X1Clmzb-T?FK>C;!R5tC4WDH6NG z{C2=Nj*!n-<6qaOue=6}XZ)&1VCD|7fXP+BJadc!rVPMDadIw02d}pa#aBPJg z{>vYXhcFlwORG_P8gg<(t{U$wAId(?R3HJTQ2BRtl`PHJoV%B`N-Ne+R1X01>hV+u zb^(0WT!xQ$y3m{*DDKlArm7l<+>~iN@h+w^_O3)aTmj(BaYCHD!If4JSfr^ZNL}Fy*B+R(rfox$oL3;$C9!|SwmqpP)-5jO*KclOI*u92~D+#<7kIRnNdQD$0@ITy#PcoOuVNoDSH zy)JL^)k#vybYJCkEXi{ix*E{KWPLcx6%ju0&JU*M=Ktd^xUu{$_}u--?hSS2>OJgAz? zCJ@U=JW={0i)SxWJ`n-N?qIc9`U_l(Lr~^FK-K8!lDo<3;W}=@kT5AjM9EjSuyh{^ z7!SOn+;{oSyN)IQpkpshm_Mkt_F}H&U`e;& zgx?^7{Vr+_3-2Jn4+}zDblb$jN2=$2x$>qU)+=l*Opd;2VqsB#3kwBLOLeObS6FyQ z)%EIEHWm&8JPBCHBG(p^Ya;MGswn|@>9FmAvQj$C9igb%JD zLs$bWoIsh$W(Zj*VCXeu2wyRlq-$;szJwSH6GK2{F0>q_CaosqDx^Rc&_X!P6b;I` zn4w&%lrV;LKfoH!vVY zdA0R%zxKMexC9lKLbTYYM0?8@Yb=Sp*Z{aW;ag*b>M9HIJ`EP1Y+ShnJ$^amDy3fk zjC=0q-ApglP_bgGDDyw`S0#{?RpGMB_DM6(Pg41XC1l;R@I{wYJq{SLr0T<>l&Y7D zmH|^(AW*rS!=4tzna?q?U@7?o3e3HRX}?mXXP71|DGz_}5VVY}&#a06)VQA%Hzlz7 z7Sn<7qPy|&OL(Am#mJFY+b$K!+uB5|_Rsn0^I&EShz8uUPPGumt)bm{jWD377IAs0k^FxZkyJtr$fl z3%a^P1b9sD1YfMLL?7C{ASvQ zB@#;=`8FI+-H}if?KG&bSp)ijwHvKtrz%#WqP5%cOfOo6i<4|AasMOo>yP5W1KOGM z{WyLWc8Qw0;&%`5*CR#~|8TA46_Uu;|89j~@M|PMa~a0ZSFu8AIJtqyIG2V4d#%XN zlU!veFU}GT2TXI}0?_}9lz?Gat%1fe`%rrh6yenPu2{`0`$MRl#SZ9|$wK8_cwtru znXP_2&E_A0EI_!%F=!ToZ9TTUVE$0j!3s4Ijj1NlT#?h9u>eaa<^gOJpW;~D1&}8p zUCuAn3}5VSk&=*Tj|bN!wsyJMS}m?BqAW^-4{T3WMYEq)GNk})_iupt#T;CVLon?y z7bCDS;TCfVxn~lWka|e%Kh;obFSZwvAt+*;@`5tKA-<)#P@7Ji(JA)Z0UcAuFpv2O zXs>P@H?3wQNh-&|kd8Ile~7(CF9Yhpq$5~YePZHj?-nS%p(_A@;})KTU(p@-BhlW) z)rd1xCJ}LwEE+!fPXMvhI#i9FC(QDb41F^+NobfnUeM|_Yk^9l{Zul zAf=a=;U=k)cHL3~d5AqdEEX>DAzZ-Y}!>qx|Em8iy(F z7SB!j^iaH{p6LXT+=C|!Ah|?_-SZX*KumAwae|DR|Ei4qux|Fq*Wp`?{2gC3GxA|} z#SU${3BRK4feU)3y~kNg{vGqA+HD7`C4Ysgv)hNVdw_>6Fcxk-;jIzf5mC!m&?SK}pW>c6vxTWw4G5O?k$%gWMuQV4;@lH!p!Y*`3 zWLO@REm_wg%YbWxlb%mL)*8Ik56R#i(Nzsz zqZ+*7@7aSlM(TIPHhDvX@rZ+$JY+rb2AnO*tF!dm@`|002kZ0Sh@a^H56XcF?##U# zKhbbL7+7Nb#EW>?T>Qj6^3LjGeEh`q=DTblJ1zRZj-SXu?SCtN;-m3o)>!xdbo|64 z_%g|#9pS@0i=X&Ms_#qVzjwz^9EVq~p7x}0{XdDHcz>LXY!-1~9o^V${KUUe`2Q?^ z;#f5Pr{gDfjO94}{rHI&P*0NY|3P^uTqCyo<1PKLtJ&01CsBZm+FxA7Be$FNFk zGVe+J#J%`p&*CR8N691{o+A%!9LB{@48%J-exeV4*gZ?|Bu%LPfAJIlKgUm4`LeOT z!A|~$9MSiiE%-(}w?1MSN%T{3;6jJN9c&%Z*a=@(pz=n#ny-R1Vf*lNW|zSN*)O0c zh8H}$RF>|`4zR_zLa-}{UeBW@Wq-scD;)QCIn;QG0KoAZFzVTn1uy{P4B=hDY^@%G zsh7vUshrp_&@}Zl+8tpD3wPfwE$(Q~5YiX}Vh5`hyEW1um$P7=r2_-DJFR}9N8JdU zt^_99DfH>^>6SK>>ZahtV-9wRjsca42@gh%29e{gK#Z}$qe>$$(>*Q8o0Yynt$6-6 z2qKI{tLsVCs{fdVsRqUBF8CS}6~!a&Qc4hyCXiRazn35%HQ~SqyN3suU0d-MWLF-p z+4nW^^TLIFY(jOmewt7p9hhJR#QlkqLy8pwi(wJ)B#F!cS0c=4iw-9!c)#DHo9vJO&E%LwT4ry>_ zwvv^{sMZd9V`nV74@*W5vr0}@CErF#bE1@@aCAK^yT)p})KFFGX{XegEcI{4{_Ex^ z@Q1>fRXP{OtOYc=YG=}>)xqX2j!moW{j_OaAx`_~D3?vEJ8fFlel*&%zBlf3y?5+c z*uMM~0#saEw;pL~X=oz+soYO`0DL2kDvk%DrRj zeB#wMYski(Z}AA(CCrW2jwuW3wPnttdX31wSXocmepftKW-T}6i{}H%UI;-gw?bc8Sv;dYtQ;i9i;V6I>>BeyX)X7RtJN}C3lYg z1NP6~O#h6Hoad z+(>g_bViyhUlf~;#eg-eo5h;e&k+hb0rheLCw-&Ru??013p=u0%D&s5l0dIqXrDjb zvR}Cmu1P?KvR$cFi4HuM)h1%%Vmxs1=+I_yaoO|I=bQJnaWPYMyZ+78xCmZj;UQQa zZE51*)PpS?ycv=DjzfLK!A+{N(e<{`qi3?kstq1daB$)q67XUAo8##-Q8=# zeyM4?+lt>n!vm)@i-wC9NVl(VZKGk1>Uk}epj4ATc!iCI$x$XRr0r)&j)jK$Tcp0D zQ6JGjSpuXmvd%`sArKwn$N{@)Ov7EW?dLlzfe9nuytyubwq%}m#toK&m#i3+i${>Z zG6rS!TsMEci!msj?ssj_m z#wRh=(f9QyO?7jIi!3?}vM87TcyDFu-a;IS&O=#_)?Ei#qjjJzqcuHCjTViM7_G;*HiSDcNuSOGCGXOTX)6lFE^tzmY=u(>(pOv zqW*FL`sU~_YlncMQ|K?>KPv$JyQNLe849K?Yb|o#GyMey@nrp_2z7z8Lw`BFi-p2> zG->f9w1`)vd5>yw+-lKZHs9&eUp83%0+z?2N6-$0exSd!7yac-oXr=JKzQ&p9=RRt zue6n3_J$ePdPjD-9kEKz-Wf|@*=Af)`d9T8t4Hn3uGspDrLDjp5f^all0Q=DE1#E$ zzTyrZ+Ks}{TZJt(dF%n)U!k+lYpDm&8Q#715RV*0Tb3d3D2S!0(Rpi0g~Ns}_OQ8;=&N||16i65Xo zaK=b@J|F)lrE{L(d;{ck%das7_r_0mg2=R-5JZa_)R8vJGXuAX!JH}=JB5Lm%-{h( z7mp==H(@=)*$#zxwUl*8jKUJEfH%q6SjNM1!Rz&X@bzTyW&5P@@nq6hp?&0z9e{6V zzZ&%!s6?ah;ABK-iz`Cp2+s4;^xLNxS2o%l) zLb9b^TrNcn|9z%KAsE`u9fvH-d2)J8oC~2iPWl z3USN+%f-gNg`X~aj-Oeq|9(|}Q?XsYfm_u7zFd;(Uxmkeh@T@^|4DzY|9Of1Pl)%? z^KK*Dkq&t+oJHzxESHr7hu{Uyu#6fThBWNf3Yd=s#jU0r(NVKDbhiT zv{yySq(~dPNSPGbLCGy|JN}}U-csa8{7?<`mLi`@k&ji8)>7nMyGUy(vPO!mQbjgO zcVDrKYB3DU~D^-yjQG^jk>V$9W zd~e5JH{-i|sqtxdjRHr)eu440&4ybqb3)F|_;yL&Q1=)AfveG8_y_eVGe*3># z%6-EG?`8P^rpOdl6Y;Edm04ik+hw>X0cBRZ$~>7^hN;?MtmvlE;&B5Li6ZCAP?|if zM4~w=k*JE_*=0QGep!xln3r)At(6}sUC%p@#2o36hL$YJ=KNKZ4hEizH%sWp3!4z8FIa$-(lj{B(rbQA0Pn;J07%j3|N?LD@zFu{X*e zY`Wal9`Z%bq)8Q7B7^O)ha71m%iAJQo)zF!QQwSpEec^Jus`>PM}z-29c}SztF32& zP_*?iggkfQ-l8rId=-xYvmhnd*IzmC6+S3G3+U|1p1)9puVHld80S6yI|!@Z7^~{L z3+0-QMX@h-p_pzL%QK6esESQMG1SUSTJR~r^c&97HBrn^(H%xn^)BpeQPIs8Bj1b! zy0-HGOHUzl8saU%1?KM9M)UQS*);O#D!>Ojq_i0fmNH|t#1vCm!zUQsZLo5}RC{ZF z>$KT{QB_rQ@l@6I)rO3ON@$&muf()?eSk`g(6yNfVvg$v44UnpNs(IgUJAlTyki4%y zkfNEV3ilAR*@%N>8 zKgu;IUd~O2;fsI}bJJnJ!In+(*4x}ea6ZZyU(FVqByiZS3Ta|a!nXlD4`?k#NH9}d zmFVMpN+2}7GfYwe{|MwkKH@J_HR z^G6nTB*Rf#4C#+Ji>TKGRG=*%detE2%Ahk769?ge~SISq-E!ye4+=y4be2DkUv*HT`dyiSyts$W}*^71iijdlYx;FoE3 zp^z$c0SYk`E={HCjBdj%%Dvaxs_Z;fuD?@`=B}u+4U+{wV;AkKie@`SB~b8RD39gf z2|PA#7$mEPH}nPDS&vkxNDZ7_b;iCJS|%M~2qT6qD;>lp2Vl8V1)+8wRBRuFXYb{lqD8lm8|eNp6v*%hsj z=DiwS1g7i98`+pBNK`rzV`7Yzd(XSel<*`Q{jd`iLttQ|A7w39JfPzFy|21xDk8)) z>xb-j^+i*Giy>Y_G`a^m+=;WI3hiOR`;%s>jRPPwRsIfbb}&|MQo=#4tigMDngDv^ zHbn`80A;iT*LN#JtUpq;Z)Rd=W)se=f&1W;5saG$STfe25wMbAyS`hOV8JFUFjf&0 zEaI73*(y!DmlH-9n{aoFUS;}VrtCk%Ty{=I#fa&{XaBs#&GR+^>Bi}Gq_DbXe((W_c<)U;vDB+C4Dli8zZ0GzU1wuBG)Q&k)|m zJS=B&3V-DKOyd(E*3HT_AGY$?D=jv;_cWFY?u+~A!rgpYalT$ja|P}S^~wX(U6J!u z=lI@rM(;Wv$KJKVu^#v}uolY}4*WQlS;P0A9ejQeN{)R< zO8x-y!;@CVJ|FY&^k5bUKC02!8Odq?ggGEx`&$Dt4T7EHs{0X+JL3(UVh58QI5OuW zREUpm!0Py?4a-P;OJNR^0Zn`E-4_zGHd6$+i0AYHfHC49<=4xm1hliDn@okIG7Jmb zlqvpLMTMfD8$hrosXsG;J`24TEW_gr4}M40?-TiZAN>AS{qDuzE%BR{bCd@w^`n+Dq{!Vt7JfAn zOJk)(V(D5YmafI|2yOO93w5D%wveXCNt_zssAY4tN|zzlJ#4p}fdcz580 zuwZAXQ|pgK^ncx~1Nq*szt|Innu;a&fpM}bwZHlm%@=iQo%(eZ-l63?@paVn8}rx-*i;V=fy*XMpy!7nvqWjbCLpM<4S|F1ATUji01b zD#^&Z@@0-+0(+40JNCx7@mp|=j9(vA<{rPk>bE_9T>J6f9>0F-_nwU3FtmX2V+;29 z^?^Kr@jD)uOpIR|bSS6EohYNZT>W|s?=YHmy*Zk!${Edkr?%KMrZH$U7o`G`#S>91Fk>ZgjDf0r-Wl6j zoqvoqK|~&SHA?FDu>gtQA-5c8v%OrOi zhYtQit`r&Q-NL0bF9#QKi}tOJwY7{7*i@quJ8wLJAqz310FWAY9s$NGd%GbjKe5P> z7ebAQelnK!+b1oSkyORM%qq6x3b_TJUgrMvE_~YL+MH$WPjkha{EhhRe;yCUn;0&+ zcjL2rqRFKA?Do=+)cNhU0dGzp&YN?(*BMV$sC!pNaq89iM$WUb%YO^M4kfT_9~1XR*_N7@xf# z3jd$QXW!cQFT`h$#z*km{q6jA?NCorZ1L}X>_OSv@!7YdsU&)t&WHco`0S&k%0CmI zz5Uodjn94)C6jQtSRQiGlk`M!@!1dJogJTDjUP6f`G4`*J5>I<|Fisd_WCyCyL^a? zIGI)s*Jj?Ml4sS@io8d9-q~3Gu^Sm0lfO@qUYL)4)e!eOJcD%UmQ$eQDI}EAFVCzG z^F$zK9f2hlcNA42?fv&q2oQ*+N(|cm)eJo{%$j^PwaD)cqrq=ax_r=9x-|ys*}qy7z2|48H_Jlzr2i$ByzZC+pn-!^JvwBE*2Zi4y3teD8VWP@Dp=)#`FhCfZBu1 z{sa(1?{#8YvR^PtpAR!fsa-FQ5`(HPzurAcwJ2b$4vHr14Lt==n>SB%r}fz}m%u)p zpn%Mf{8Ja8_vNkY!;*^%6{5|x-8dDH+Aw)G+@S(;asidhD__mGa4%pseE&FS!&%t@ zy(Bk#_I-0vQ)qo~SdAq6`5+i*x_rfFXvw&GtA(H)7YTyi|4Jd~D^<_ThcQ^X=ZdFX za`WpQnQx&d>|K%;NI7{Ti`Zios;KfUGA#~wMH~$Y{stiyDd4Qv$u&_!+-wQRE6!yJT0*C8Jkl5zO+$0t}3q-~Ev0d;= z#>bDvogb7i9(2~UJrawT?wRtW3;cDcCHfnH1%+IUxCEKUn^92B;}R%dj;-Vr1}@B- zD)ad7o`(_fR9}I*D{?Vsy$whx?w_%e#uJ}5OD=kGrndn<7V?>XO1`%NX(4G#Db-%C z#U-HK+Q>`2oQX`~JW%;c?!Dvy!D|AMQ0_$B;)t}|3SPD0Ft}U`gUe8yX8ekJ7Q$Z+I1o1)hjoMcu6ugTcj2%KMWZ!P z@mMu`;Hq*I-ZeeFlq-TgDZ`h-HWeL&HznFLH4675VQ>=M2SJL;l-YQV8~4YdfYIYh z;{LB40HTN4ln=`TAOa0RKq}Q9BM!mjO2X_6c_lU@8@oY+J6Rx?3TVwiLxf`yrC}51ZVlR#9{FxluHdj`1 z43J=8mvQ)LYYaH9&$M-o>sp+|kT|Y4p+M?!y$Ej{+P%lx4pGy?g7bhlIIre*h)I|4 z9XRv)%wlJ-)PHMqz=@9z;jRN$un9K`|9&EX51~M607H1A=Z!s#Hro!p+~hDE z1&qOyh0JMu{&ONyvG$yMWe3OtW}TcF&k+<&cI_HNSER;G$4X!Xs*nN9)-dV&0GNH zCj2gRm_;+6O?4w2O{JJ7e*?VL0l;A)CAQcahBtTa(G=ViZVCHl=vu zz<3jwn7}yqPz%Q2u5`mV76ptEm+mDPvm$O7yI{kJ1LN}$Fzl)E<}b-GR-!;^7$@P4 z1LHq2(FMj=4zXbD90%idC}2#!WG}&Z=Z$U{J0i8e1LGTD<2H=n{+tZs!zhp%#xUME zFuoi#VSKN<1>^Bk+~asR3K-g?y#!+w)_Y#0R9RSPbx&b@_y|hQL=*MILe{IzqfS=-x17KSVz~c_K zMsUt#H-MWlFO4rJ>?Ht4-|eQ-Th_T@9DH1N0!BZWQ1*((*ZN^Mj1M%qVY~x&E*r)Lo04I? zh=xE|fRe&wqNm}FGmg{2fCR>e4zyt0G0_dxFn$0;ghgo zG@6oOd=Ldv!&r$o4vdSyUgM??eG(*7&^yi%}poj1S|D1LNCZFaqO`9W5A#O>o1w00oRk$L%E;mn?O|Skm4NV}={X?l3nb z(&~SqdZvbv8@3!6H-W(jjQiU#UV`vnN6K4=0>+B5dkMywE8Q^WcXGqn4IQ<|aX>T~ z#w}1KQ^WW!-Z(I}vS2)_gEfvbFLc9bV0IcGj@e5vwwUUMal>H_jKPy__|9W$<2V_} z@(3h^9Wu&#bbELNa`A;*FzAWjutWaq4#y4|&I8sEFG^pQD_(RdP2ZgTB)=sqcq8ns1l!@bwr9%YzW+S&&V4!u`x*$5GiNVg-@bh1!VIK7bD#}MRG$*Cy6fcLZuZM>(Cka7$X9hX;wLNS zlf)v6X!vy7{+VJ^F&wuCpp^|_q*Rc3**b;H?-hgx0z#M_cff9&;9M$poJ+HxmQVZg z(+^GK|7Q6frhodEeu~5!|C4-6Z2<#(O9+jH2Me2f;h*S;lOwP+OT>OL%;K+F5&JP? z|F($0b>RP+@H663*`Z6cMe~W)NZxty-v!{IFuukI;&bx&&gUeO*u!=>dJEx8C!&yX zJ2nEr^yUw*51v?}9ajV5OPe(q`!QOeOV~xAy401u;AvvoyU19s{mAE5#|&U8bT%qC zeE|sIHhlrw%?mgp%5v>(&~9FcpFVvkoB@9AW;z2(v?aAHqRnpPrT*skaDk!8aR#W| zRf!G(zji93UPmAhb}*a*cg8sc5dTUnxQzJBPY^u z@^k(=mx*|;ILko_%<{H_BpinoSo9sVAo(cKQmQShB@(m<(GsW+r$7sI8HB$j`bkRR zCz%A46vI#Q?>Mx$@G%pgHeF1-(c6)Tuksw_Lz&jW@t%I=M;%reTBxw&Ku*85+?8H~npDEDBdTo3+mDOl%7u*&1Hkj{d@ za4Cep;Sh5BL749ZrDZ$*e;<0+GAOF^ppdV`|Bu1)puxN{8K$xkFbU=%WbQy%lz+$n zpTl%+@5eq9JF?3VIQmbxysb>)S9!Sw(aa>?g;|%>{===tk*+sRz9ra-gJ)pqGr-a2 zFcUL&<9Wlk<3{D-)bn25PYlyL8XUv)T5V^nVrd@~N-J-PEfihgE-~_2WTsUPe5f^S z3^$e|^3UEMgQa60o}Q|AHT>ZZgQxlW#r zis^7*;gpB+Wdf1Y9fToE{H*so>vN;Gc*O(t_s$_Hnoa?1i|bhW&87 zA?(MSup{0Bqv^o@B>Q0QFH3?SU9QWD>+)c;%g^DldvuD(82`Bcx3`x58~9rF|5Mzd z|FyWJ?*HR>^LP4x3ch!NYxVzFJpK#)U*AgMA77jJ#~tyHOX~g~jyHd&|8*@>_WwCN z{tNwYr}}T;YZL#tBmQwo-T%k&=I`|X6nyW(zj=OG?_=@!kNWS|a~62ey-1Jycq#ZY zc)at;glh1s25>r~2#G-a`nlOCP~Ozk*2PaY8i!`dcvawg1@ASiN$)WVm(=hM!kfPX z?i-qEL;uTgN!|Yw@aFII{~f@eV!T%1 z@gMcyIBFR}@AZL){RbMRB<*~3A9P8ene1Q0S zYToaEfuW8Jd}Ivn-@v`ab&=a}Jk_KXK$k?hVAuotP)MNmk|P@?aEL~hi#`$p%veJu zYA{}Cw+jOBz@JJe0ME+8qR8cM^yZj9tNe^o{bfFh54#bvPQp(@{Ehh~J2=~e4%SQ6 zl!ElUZ6upW2meY@0-)TO(#$rO_BFEN&mn~Nh9w-_!J{$sa-2&$aMh{Um{k{&))B2DR-np2z57*WK3u%Nu@B4gK$@m_z?;28SML zg*~lDx`+NF6fnk>aOl7Ch6V_7c5_~sD?e3&d_uzW34ImiVoRb&k8u|}qgl1_P+fw# z*(F+!tML$<8gJr7KeN$)!Odz^igNQA8Fnu_U9hrzA75QjZXtF^zrdkk>aJ5TK8=3; zUXBmMW@K%3QycJs0YDh$m&>t@^~p@N(SIju!*T1@QR@ZUrhWkMha3a&`;;Q;0{i(p ztilHf$r=1gOH>;(!&M8=2qt{18)+}dS+W%qR==t{X(CYYNpL8|_UeFs3gqX)@#IBa zWeAXB6Fq#MJ@o6hvE#8upH}ayjHMq~yRFgJ>eW*HYSvJ`n&;S!M_;;u7r@FPJWW!G zTH&-0^=2nkIBkLI;=@QMZT4@7>ffa4=%1ivfoimxjUtF5HWFDuUoFwg8w2`G(mOl3 z9}Wp8(PQthbtLZKc(%Fw^C7_~XE84YtB@9tUDg`02Qk}TAJmz*H6@XM;L9@`O7u(or3GJmLkFNNY!}&P zHq-xN%+>tRzDLj=MyaR2e{roGi_-`t#Z2bUR)A?l6>P#V;eSBcHJYR_S=tQi|JHNHUiFl_%>jf<# zkDnW<9jWv{KTCnnmA`v1`W1j3-C(j@R2pe>J}UDUto4Q&5sKeW7LnX$G;p%$^JG0J zSmO<42_EH&%wQ&PNjyM!^ z1lZ|dj>S1Xy)>URRaUSvSYnRmJakuR5g#BYZllpoK0@|zfdd;JDufh4nFm_mXM-j$ zb9y8E2qT(IpPX0l_WNU1n*oZVQY3qHBedBpm&TR9+4!V2dGXNM`QKB}%WXU3;VUip%^PNdg%Z8@QiORx+4&bP!f4(DIk*^2*SOg^ zp}JJ~jY9+1_rY1lJ3c#{8`VBN~`k6f+LAsqKu%v9jxS{FTm4S;mYvx5WGxRF?6hh(BG^I`i>Hf z=Q(UMp4$d)%~QO|vGoOh`KF?b7jXLtetpaW|F#dg5n$!#S;Ha&7MC2k6RDOU{)l}4 zzCV3Sux|;DK41A+)~S&J3;Y?=Yf930Enyo*8Bi^`!xQVKIdaBomVr5PYK`PqDsRA= ziyox|9-JV`p70+!R)c&Es$)FTYbHAvoriC${rY_zh0`LLU!i>*rARmqfIV})H&lTF z{){m-E1;)Ckb_*fw7Mlw{khR`GDW5glx_fw-q2YrDd1N~D_ZdadCnXv=5rGt-q2Ba z#$7sO^ZfP&>0u$3EF}JiYKsGi7C?qH=Z_LDR1*Kem^L8xo<2QnGIDR|F|I{O%B}~< z<-8##9K|`Cp$MOIG=qh<5gn1v|yX} zW<-3(nkI5o(aUPp#>sXYJZ$}b)y7eJrQOY4Oxod=h9Ifn5qtV2u1dT%o0$5v!vd980{$j!}vRG&(w@~HXVkLA+Vo@wgfm&z0B;F+clK31Mk2hVIy2cIXYLJFvvbp;1lL0z1pOT0ROy@>JZ zfm>5=#F%yKFDklp5a)@6aw++PMBsH=m@9&rc1x~k>X5c7>mVV%V5;N;0g9uNgPWCN zc29iAt&-zmeDl%#^dB)jL-;gJo%d_)H!XuBRL@KQi7URPj(?5Jd{_fqB=zeR)CWDI zVOIe2jg=MR$1mNer~#C|6{1M~`i!lmeF#|k*3wi^iw{AIR~ocnje+ClRhUPcf_?ke zq5)f8Jq;3MU?R`a^|1Q4;bS`RwQXBZ@5iML5YPmc{n=F0|MV0dh|>MRDt1MDhRpKv5hHs1w8i zH4WN8ORf*y#C&H9eWw4ZC74{SlfRe6!WAvH|-BdkttEoID`I8-9w< zu@S8SvkMv*V!YF8L{HD~+;?SGnurD%|NjE}JPD%_?*lrBR<3vEHjv}NqS1(JsUFHT zc;(6HWdgT1^bx9!W}`GJss6K-_{~aq+-mf7{8_Oclg7weW`%g%(o3lEQUo(_JL+Rt zDPhp)Ji**5qxPJLCJU+F{3WA3=6jJ1>6bep!8dgS2a8G`shxr5xItg7%${2uwzz7p1;KPWws2`2F@B|0}T=c^!`*KkC=xwST+2I-DV zcgAK%`bZy!WLvx3f(PWk9qi%*)NCU?SQsrqd~VfURyjLXM!JcR8FoS}lZ>`Y?LRIDvN=C}W&*qOyq(#_J#Z(4ZNYmeU1scbOeFJA{2Afj*dfh^_0hNUP`+ z`dZru`(JzN0$^^suXRY+4T!bwIP&&oIJOP>At{2mKf|77CRJ=iQpL7acX}9i#gv)B zbC?P<9Z%FgG3>kx4&;=-JzuO;}a{Sn!u?ni1)09Y5^ z0ExCmUAPuMkd8`C?>L+3C7n6nU^6wXq?2Vnfx>^oRDmoy_Ho#T^CnUOh!mn030ON>@$w5Ao=3E@4 z6*!1DIs!AI>MrZ0$u<yhrqT6n3~F z>>v6~u(eqQydefN0Y{TRRUlBLu(+Su_v@{`_f~yhj`Z8cU09;LFWH^QUfi z#ziSt1T~(gVqHvH2Gn>S#C}Gs1%aTNW9r2>0KlAwCIG?2^*wPu>L<w(QqW&-VAf ziyYeZe)?^BWHzOJ@`V#(t;!fCu8jGohyw*%@;mN2dPL}hAPG{Ye1zi}$ zcqhnn(W6le#;Ed^O}%6 zS9|?WYA$Kkl6~5 zH_zD(Aj>#VDdyKQ;kFV+()lY2`UwLNG$9j?mGr%$?(oO5c5(Fm_jE&PdE`8pMz5j>odmkQ4)`PyTLXB-wEo&kE2_>5lx zh#A4*j?Xyds8sP8&!RB-VjAj|_zWtPdY<-0tF&T$Cha(oR*nLuZKJ~$BQy?}j^q@d z0Ev|uoxb_f5?2TJqxjK(h{`;hivq?yy@Z2$LyN(Enh)cU^L^aZT_g*CyguW$CZ&$& zxI|(#-0>X4<%v6kv`9`f4Y$ZjLyZYh9<(D_p&b#=zj_j(3rus;AT;KflOVm)Y;)imw>gO- z?Y8f?s0feFE>%>?BZ>6YQ%p+FLV`0*N=5q3?5@9Z3A;tvs238;AnWN-ym*TsL3g<0 zA=lXdYE+G32uSY&hz%ftLvaZdd|bYNQxA+ssXiI81Rn0{JVzHSd9^4kHS z=HmE*QutAj3Fl{Y0UjF4U-Q$0=OKLP_Yc|BN9A3bhPfwvp^6{E8-#lyzfyi$5a&nO zo}56&3T4m==Jqs3V_-m7Z~A534Z;3C{g$rcT7U<#LHv9)ee9qm06=8hq;0Zxv0g06uHcxg(zC(5o%Q|A9|P3yg@`&S)E( zlirUqM(GhGxUYf%yw>m_pk?NoL|2rXWm?883sGu*nqVK3R8;6360Kpe;+!}{NMBe` z9PdHI*&ytKphf%c6^Se;_${1?fd2!bq?x#w^a1}N)L1$t`hE{N}Lq4Lo?|!s8q1ke+soJ!6$MMTD$Dad>_LhSk zpUrC@yL>j?>9euy<#ermV_fTcALp-Gb123%$zRh8#c8O#5m)+a_5}&+d08N)Vttmm z0Ka}u923qMB@6HxgpJ7pd=a2jWV7;UH`zRj0!GIkLN?yeN|K?rn?Sl`dr<Wc&EYJe|D?8O;CiJh68jl5S zfK`5p9X!azgirjDAyZ29r4^)xf_iW0WIXffbGY`nYlHmdD;S<1+~4B$TcRCMGH?Mx zykLZ>qT{Z>GYP%9@kYPiW*WPt_gaZXJ9xRTVtSvn@>W=4`lS0~Lq_?w7I)7q?+X6% z{IMtoGkqESQ=Ww|&M`aI53#bWKxEkhRBzmyhM;YIdarP7TK;l$Da|xU3nTu|G-NbCjpI7q-tctAB>UWpWNnZq?2lY{ygd0cPL?l^jkl6O^At{WK&iq<<31y*i&Rb*DGruCeq8i+Qb5t$A zp$J@&kpTIu=W3@L-6uUs~th5Xt6^FNa=XA!<)?kaa z3YORKOU|gPz>S`_YCWY0tY$L)9nz}p`A7PCWw?kD(_vl^G2&p zL9k!5Hlrz9^!KJ|aUmX1*`+b8DGD#x8qKv2N)zpt*bS|MJHD6Tj)=#5AhBa9xH39y6*{lj(NB;EA~_*z;Cq0c$>JiO z84!^iwc`Q~{5xGZ@LS;lmF^yFsvM_49gxY!v^zgh#_$KCgS_*i+D|0b~b!gp4dkf5-g3KTgJO_{?M}`z8ZXl<$r+=>#G<9WezhOH^yz8*KoHUwg0$Dv7`_D_o6RnEd#}1<8@7Ws;BG0CB#?!&9Oy z8-dZO_5Iaod5?Hjn!=+xDxr`NY+>Wgq6_Wcx4xtNP?|q5;7sA*M z4&^m64Hti;xXKR=6Fx@L&Q{c;g+r>-Cc-S2Mo)#XW$_5(e&qyv2XIZmtOIcLXLxia z92q>+65WI&D?Hx0<#{;fQvjeV`#&M}HG)d*{QyP!B0|u# zpKm$U2P``X9A!uhr+g8)F)|x}>xG6xIiziU~+5o#4gLgnfy{(|>|?W+rX`QA_o5RV`%gbTc1{yoV0 zEhv$~t*5+cP1FCsMO z*Khztz4#g37x@SFf>mg`PaHuexKsxVYNFB zk02SzsP+5aVY5fz-Z%uvf=2dhV~luYctae?1$sx?1x*8 z0@r(Yz86nue-I(;hw+I-zH6XHu+12R&!~UzC#)^!-Tllt>BoBnlR-@US0@Tb`&dHJ zB9t(;XJe{xF%+$#4l7dgKDuQ4U;-AYn7oZ{z|ZAJFU)-baDbJmK4mm<5roHZA)@J^ zX}CILe2eLODLO+PB+;qlED<)t;M+mRLoX(#XraZ@N@D@xJ48^;#Kv z`o|l3QrpXu;ENesUiFyX!24LGYQ?Nswh=WF-}?RtBI&uJJGyGr*I5r>^vYQw2PPR;IRFTwy^)QLgU9LQ%<;pvj7a6l`n^(Bh42(t5B=tSXL}m z)POTgU$n^NJD{(wQl6UxLL*xho{|tgz!gXvIm8lXjq?2<$P%6B`o@k~ZH!xqzy=F{ ziTrSD00%H&|BHvb(A@um3jc8bi>pkWJu=uz@k7}V#p;87V(|ScQ`IjR4ltyS00&knS(?6I<(R5^lteBV?{Ei+A4K}; zt;T&$A-BEio0ha!bx*KY4MSm4&RkrJkv-2%U{s>tsQ{La8{wWM5^>5q)YVc9!(q4QTi=dWCq(R8HEfBmslO|FCo*k8G- zg@f=3)peOI&@<_vKk`aemf6uh#_D~y#Uz=FKT3s6 z@W)DFlbXIDIV`t$0cUnUB_X^WCxir-2wA13|E34c`C=-)D!#b+`4Z4&qNp@e+m~7! ziD2(=1^WeE`DYUN4;kM|e1?hdcNu!n@6s$q&_t*={3O<9gy{fD`VM=~~_%0j;Zu0wGz_yj_sabyiq*KVv@3*F>;`d`wm|!o!)y?laLw6CL zu^9bT{JsMin#1q6wE^R}B=dj6?@MI*?w;RsHmBtGIRNYr`2Fnqz3Pmtbes)YF27pfR}1{QOnznHR|b9|#n%Wh*DJwXckRN5 zSHHmXshUp1+=U(38~znd#oL0tp^w=YQBFemLKc$v^*6edC9Le#`k5Q*GP9^yvC}j| z6Bumc`qsgHt?7x{**ApKiD{)Es%3wL0V@3F(;sO2IkKUIu`&DK3tr*ZREm-D# zsi=K=RZ&~4f9OT<1paP;-&p^U={|Tge`nw~*1z^x{~()9#Sjh7@DG&bZ-Fd-t-0!X zxYS{NYn?Vk4|&qqd$aMuS}0xp4oPQDjl7bUh4-gL7J7I!>NB??g+QI1p$opHm+bMAmhZVesplRmZ;Vy9Gzx$0!k>x1djFE7}M2rVRh0eX#%{Dkl1*^$6qSU@D z%6gdN8Rup2hAQzaQCupdpb}4CO=DFhyA)KwUx!*muHcj?cu1tcpvfn z6TU1cyTSuK4Ja5WsPl$?0lG`H?RJKr$BqZWWt(4xREBgL^~Gy|skG?n68_(D*0svf9;teOkV;-y(~_O@x-@Ft{Zs zV=Vi9my#S$g1(IpAH&1l#$wzDm6K`z-hIzH{ZY?UcX|UDkRGD_YRoPjtGe{) z6T3y$+g6vxsV;543|*=}X1B=tmNoAIvdD>5@3^InGfN@sC84|>#Z5f# zc{YmZV>W;ef1OU%WhFJ056s@>U9|~HjJ6gy8_o{ybHq*_35`|e`E;#xjW%Y3H~a-E zNSLB~vR-n&`kwb79QSG@aobfsDEbI0!YSn>Ec)}7019*-M#s+DYRrq^Osh=@_EVzt z6FUsO8ho$D`!d$1@F|7C)5#GLT1Bb}=vO;a&3I9!+Hpntqg;=8EH7)`m$NPC!AvXf zMEa8yWiZsXu9!v?4TA)0b@QIB#cL3njub|o=u}jp=l%E`cu1tfYEZiw1YyK_(YocS z;+y`SYjG)`hQ!}j;3h424Dz*2z+H)+Hxw7NhZy-`*=l3oDY$z2;4!c~EGxKQQz85t za?kt%Zppq|{DcL=j_0@J;GaK-#Wa$WzYn<_WTN*MkYzBIA}`I&GCHAvG5c4tjIGRP z+FTsPAI1mP_YCMS%UorS8{>Mk=QH^!q=uQj@GziDusMtxH1i>iEUA_M(5oY!Wk=iO zZ4%XfX)SD(uveOXw7f|_V2zE8#hXtJA85%}vAi1CN<&;` zaMmu92p1TH^IK(xj;rG z_UPo*S00bn@E^I$+oC%c`uzwn$0M4Cc!_k#rf{Xb4|b4s?wHtTePcN2 z!Dbd?MtyX(MdahZ5%N3vB1L{0l7mPVV|*L^rW+W)RO1STw)^L^@+VRLM84~qcpJ#i zYDeXvn`i@3J1TcP?btvLksXzm{{sF+hR;3e6o|8bzz36@?|Li>)8f1USJ_V~CsIXn z{2*Lq|9FbT!#!mkcDRY>2ox|b`H94X{2Hr-c$(W&X4|_H_$^$+9C^^f%TsX02E%DG z2&A4_YCK3hvt&%ve#8b<06FbuHR9IUjMxd_IqJ-aI7-6opwICZ-AzfHGMBuRl9Jr) z-kI@Y|7K3z`kM>UH2wpjw7E4#+5em}*hUBgY$FPW+g1Oo*mscjT!@YVZRHqW>`U9; zY1uDEmLU(DUtdmTleW7+pmI4iR3sXK4Ra~gJY|1P|J2C83T%vaT2*?+>YjL8+F!~~ z{lv(akI|~1$(s02NeKxlDqZVevV0(vDk<5cFFzq`UluGc%+Q{~UWbr@fcA@zUb3km z-fhO%C&{{A$(_r_gFOO~^Kz#+2n5FIk7?yDRQ@djT%~+E-QZIKmD4dvCo!{488GL3 z41ODkm10vwX?L9T-5KX*K`c58*AdWd&+N{eU&zUNXYNFNg+q`aKUw#uQjS8QTjX6J z7Ru!aNkirTMm%@0J@fkX!LzjTtYTOPc*|hTd|YF-+;PJ@U;j`pIfplVJ^s>y!J*|p z-gC6&9#!4Td-I4U{Q=dQ_JHDs3<2T)6fr2-@A)LjAtaT;Y^v0&nZfs#aA^(cuc$AjhQdlx+B`YpTueI|l zCfM^~&xo_<%Ws!G-_Q5Ex94lGi%sKjkhrw}db~X!uVL)S@=Gz=J7~{uX_+*r02|wX z+8U$(hI79K;vhp_|}!C(m2OyO#M|KnoA1?jrnRnbrIl=<*DnhY3m zkC;;h&TyJyoTDl*p2jtRf#(3yNY~Yev}F9A)|mOYI{pBWEyc3NK+goh!sd4g>mxdw z(8-biLMOppv0$1THij`Rmrz!)AACgS?5{v0@Wf#LU%~m0ydH{tEVEDlf6F&hKQhu$ zqf}SVPtt69HfI?Ki4b25YU6}mOsX>>c7RXcZzbOcl`P-<=E&e8@ZT`mc;BSXLD*TP_`0sD=w|5_Dj=!A&oA*{> zYmd{?MH&lnpemO4WW&Lu1CfW~V^K_c2Y*BUOIJ~m-}q5_Kz~T)ZESTwlRI*rw!X^c zit)58*5s~KUtWmfknyCcKx8=^GF}GU>_#ip9Vqy;{33X@8c>c@n(fo&Q}{<4@yOc8 zm5`Y}rT(4F|Ec?s-A5PCqs?9YSgq!>dpx&l)4zfmdH$=Wm~cCgslRxhiOoWPR9$S=WV&n67|YI5>f9AG(k;ce^q}v4243B z-tZ5oAYLtZ@);%L+qK>fg^b{<8kg;Y${#8JN?C2-n*;$c`w$hw5K~8yP2P;F3DXL( z--vNyA9TSOWOsShhtlPFqg9u?sV)!eAYC2~=KvM+cpcePjS}QF3X1a{HvKqiQ<# z-$E8{ywpO_8LG8@W@|j>8w2p!0cLB=@9*BR7-v67(OzG>y)gIc#$nbQ!r7Oil*;@A zLyOl;o5uQeKk%v1cI4CVUc=J#DeQ`kP&2`#ZKc5y$T2+3)Gfs8xu@6IQI^Q7^w8%7@e_lW|{HPe8!)6 zUjDsaya6T|H3cMZ^eBujB2dV=O10%RxF~&2F&`1hXOii_e+BK3ZiQRFa?9b-Q{5V! z$l+Uz%!&j#9FxE$az{5jh5h-o)}gEI)tc#gEz6DTH?oRyJxV=Yv8o*MexgBFY1 z7wVXKYUqC0rg$Do7~{S%dE8n-$K=LR?L^`$Ejh)8!w(YZ9q6mLP4Tx-Zb}AMyi=y~ zJ7?Jp?jhI@F~8<^wiulCrJKXeMn_BzhZNforsyIxxg2=Rx|BQy!GgkL*0XHH)A74F zpf6rQ{qJj>E2S;sHXMO*;SQ~Skqf!s&xv0p`#FF-S$$VuTfpuu=_Y_4G+~~bF z7Y$dHR>0g}197(s+2U(qU73&n=lavv;!=&r_mZu1nmhdbZG1;o{xv(UY~#^&xMvVX z5K6Ky_HNT<;8|TSws_XucLc3BovAn^Yz4$=uWXuZiPBMq7OFY>diqID|>prD99`GwaLS_d>G5x8^{5!|jQ2{sH$r3Zb831$ps4 zi~D+`ZtmL(1&j+3NlPnvp9Gfc3Uo_-J_wLA{!>(Eo)KK4ZLyETok_uyN+|K;MN+1j z3*`Zi35K1V3mO=5EiM6V4yO#X{`YXn=Br7dq5hW_8^-A+r)#0wLf*(Te zMP_H*_$%vqSZ>W6;q7unKzKfiMfs;$`7(W}x%?f6VN&wtoQ>`Q_-qN-(3c1n7Bke} zmoL+9*`0h@_lxj}vq#wM7m>we6^FF9*zX_7mpzDPlPNj!Yumo-MGJ2n5$B%a$$Bf8&eut?o{M(-Ky&Vzay00ZVlJ*xHsY$r0iu zK9~I|Vf~|g=|e9iA2%5E^>#C{Mrr1g;R-9osu|sCro4B26IMJxiuyml(~@7qj{(Sd zSub%vcnW!M9=>n7{Ey_y82E>hD;vp?B4fFaIQXGkG|9-*@KuTa+uwE z0J_C{03e#h%i9Q+udQM*a5?arT0;x{Cx1 z=q9{SD%!Ad7EP{yQ`&gGR1r&!YG7=ZJ%w%&nsj?kQ}bsCC_uf-v=M#ucFv*maKM!l z?EnF4gIj>2Yh9Ey1AU`v!Aydc(>K5*cqn@w@htrvgMby$LJ>|t<1)(y@gcPyo|l^s z0TvtAIt)}hE59nS7sUSxJZeFFa(`<SN-&qimc{4Q6R&1@-{rDXKy_ZyEud+|tKy*v6T+AKZz?`byu ztWlkKxXte9hbB~;ekh?^EV#FfNRAI9A`AUmbVsc-hkx##Dcw=Pxc&oKXM!g-Z^MYs z@0Y-TF!WOpbmOe|zuN2lEVbUxw3ho>YPm1UmGyp>TJN8z1tlRHqgwB0IqSV5By+j< zhM0;Xamha$vYff(Uxy`sIF|ex*OG4%qrKXfpo%C>P${UrK~Z}qIztvr`n^pR*l~0Sl^nT{lB4Vd-QS$oVkGhgcl&tk>^?j`YytHupGUFbl4=& zI#v4xnHGV1C5J-1`0fn_;n|I6ZKgdTVSYqULqXt;5>PzC%DYkUnRcKp^elJDJZr*R zEaOl+R1m-9#MwWR*PG~v5RVea00;jqK2TwwwhS47;IUvep@)&s76=(U+CoU(Yl4u+ zkPDj#S*H+kdWM4#o^p_gkPGmP2ub4b(E#40)VIqJaf`*rC+TEb|Hqt8*U#Z}V$#fa zKXy;2=z2`2Uhi@`Z3^b^Zrep1eiGuzi?zpStDxA>x|$7z{rFj`Em|NKD<#Tr(i-~t>cNKzWcYtoc%ABeOS+H3vm%lx)r%IyepJ_I<}(L zlhYCq3P+jt|FQQb@KF_6`)~q@1Qk1|C@N@l5W=D+DjEzbEeUo*0w|)W;5MS*irCHI zf+VCHa%mfJL2*HY%7~6jMg>ub1VI9>xS%L5xZgIQAc%lUzUMhrcj+Yogn8%v-rt{} zrtea>s?Mpi)u~gbqL%Lc@H00GzJCuW==_n^y$|8zCUtL0|7`+&TF!nZhvR(Q3HID7 zy|GYmKxq;RzA~@7E&&CW_cvB_|Aq$Z#cQ6%Q*}I zj>pd@7z}6i_=BM-@YDa=#_-btVX{r)hyEz=$7W-zIQ%{{glLK_DF}RgwU^*y|7SHm zdPjtBu)FG!PZ@IUY*_mF8DQj>4}^0(A#V3?ihC0BeI)P?*fM*3Q}dmVR9MZGMYg>D zWN#tzeDv2ld2nifdIX)a#r0FTvBY&buGN;PnS(6>bu_|{Kqnb!f&yx#s{h~Hw^<^S zd=)P;9sgOfyi}&L&9@sXX|D}y%3MP>KbmWSuJH17g6!PO?%L!f(zTJjRo7Olt{sG~ z0dc<}7^i6)ZkT1l-F%ezG>$|)+Nbe_RHaO~@1dN~>l{m=(52BI=36No^PG$)Y_w@g z9>PaurUPPp-9Jm20Ws0>(e{^Y(v%g$dl)!wk}ASG^O5&RQVq& zCe8Vn?&F_nhxSde+q`+M7WA=0^CocRZkaa0(?wJFNU5n0y-jQCKu&$% zl!`vENRS)s7Eh9m&L7MhCR*zQ7EvaxkBYzAB_9@qMLrDd<0zFy%|t%@@}wTczfH2_ z!}yQl<-@xuV!r?Go{|siZ*EFH%>7n48MA`hpjI8 zurzIt%7?EiQp$&35&%|9;Crv92sX>Je7xtL_3asRjW9|r8-2rav5ji z@2C_ekFHBraRzFW=aFQS$FcVk>{r@5t;d6!?Tx0M@b&mUHU~B%rWaRR`Fl38kOZ*~ zeAi9#eNn)ig`>J?`Q$fl`848BhP_kudK2;tE0!xF6NnqG;AodlvdQD)%sJ7irJwD}K)DE3sKe2j>wbg^gE)1lc_^8)qa)KM+1+ez(2D`~d7Ht8=R~4A! zl=Fo8akwfZW(odHdeacHIw0C@eBVgM&ol}TufNgq7wGR?Zv*G)sJDEq^TbDc7Gas8 z`#6rRY>P&9rZ3V{NC7dj$Oj7IZR2`hmtmp?ixm1sihia|shMXn*k?)xX3!g1w(9|ASmbE})F z?z826Lmi@Yd!Yf(giTx$P`EbFX1#R+qN?WAAt(a~k*Z-uU;t2i3GNZLZbbq+F`iQy z511>RXFRZcS8l}v^DD&5ZM;RQ=R5ur+cnS;KXBFtE&&q#OyHH8MKEE|8UIQm<(Hgu`i`Du< z5Y&=BmQ3}{l}bCIQp(ixP-ErK0obg`=R&P|Cs%-_s0UlgU8!gI#fY1d{Yxx+L8URs<(xrp)W}Ng{Yq>I!IM+ zt`+-X`PaK-Kls!J*q`%l`yp4V)Aqv)8~2?3@E#Ijx)fTR{m|74zI*W>BzbOv$*yyg z{N4<{8(zB`_QNGL|2OQ1HP`$vv>$#AaBLg5A6B~F|8@Ie*6BN8KV0Q%YERk^`?KEN zupi9R*!f27hZk;?>i-Ar2QOOO9s402-~Tu4hkvO+n4ZVj;x$J}z`cHMRJ=A~KZH)R zWNOy4B2#}r3;<JzAxYUdu*xZC!__uZ}9uTr)9b?pzZ_T9A~ zYDb9u@FOL+4ybt@S`zld=G(O}?Sv6h_Cv+XZeh9-1SNCFPzVpV_S^F3`pEWYwTWoaj`YvkRZTsP$$5^#@ zQMI?!wXbCDP1z4^5&VFFhg#&EF@Bd_E~U##Bh?c8fc>enA<3$lp#`y~?^1Fr`vKc~ zE1)M~LA)5!7Q}a#Qk*WqbjZ5U1foy6kYc-ayYX5cgM zRC!KQcB-ei;pqfGX5;Bi+*rX6`MAbX+F@NSBt7zgG;kXl zAfacf+Pi)z#>2i`=E`#*v;!YfY}c8xMJnpfo~p=)Bc(1C>$&YyWjN@%?Cq;qjYU>< zkZ!_?X=40IiuKag7g4Y;q=dw(vGzZ_C|uC~YII!u51Uv>Ty6sqVeI%H`l5h2>j^QL z175!|ENvdX#Fq8qEFE^5%lJ+#5${xfcZ}oI$5Fo>{~5FQw}h)%Z^Yi;5{}#75?1?L zX4Rq)PBbMY`Rl@s>~9HNlNbsy*xB2175282VsFdrGNM3jXSJ}ccCrSGBoyMblmVcJ zoI^9h!e;R3`fE|ubW{~zM__?dDA3nmu~042=OMO0Vhq%NR<6%icGAjO)oHEIKcUy> z2MwkAoaEAP$X5wcbMIhodcS0A)PVVJ|Eyq-_yzl;;-hutJd|X9Hs8At`YMj8u|GW} zL#yZ|ojw)^0b3h?KE;+0@bh&T{nrLI#l@Ac2yYy6kj=&WD?a}#(JV#jX;tZH(>8!@+eS(I&L5hw}5KxfTo~&{$**q zH`>;+sjY&lRZ~#ekpm;#5KZoALA0NOXx)Jdq5}!hRSaWDJvL70zz+x=sI`U$Cn`zk zz{&Up!n)ekKQ~P}Jw;c4D67X7tR3XH^c(N`jZNIefQ%Z0SCmHN$TDE)fhuslrF+Li z(`emmw){vm?l}du>w!DP=rLVtiQi=)C@F{_aR` zOFyaD!%Z&7oN18YaO;ES= zRQ136wyl8wgf@!jT`S%!nP1~sHFm%dYrdXB{l;aLuw!E$Ko`NT*E1ldF|2%{;#RIl z(r!)DeN?Y|KqEGal_J1lW94()SnAe`Ymnd5f3r}McekL#gZhb*GgRdZ-V${?<26u5 zlj_#qS&_3r>ZwDxfY!F>NL5PP-u^+dwml!Rk~=G25Sd<#E)IcPKvZ0c{HBTYgm}Z5 z=f>;XF{miEgvut`{&)0T^lj)ok~s~`HUD&z`KKsgcCQixllr!uY(s*+E$RS;E4y?p zg`1MT6ZAjo&q2_Qqi?^m^=+s_g2D}TP#RZ-ABH+8jr(+mT95;CBPyMX0|RiM&1c%6 zvvNp4yvOH|IH!Z7buWX~E$INYTlLq}?xQ6MYIh8(+JV{~WUJjCw%WBf$IJdr>ffxK zCiU+J=j^Wjy%RO;j{ZFh-^VjG^e>~sQZV!i_r_bBp_ePAbv=~U3dCT(LcP}nZ#PqM zI(P49^LB}1zhNsH&gslKmM|Vls0O-dovb1~B20)xm)9Dg!{=->s{H=_B5fcB#(@50tw*XtVl^D02wmX9R!J7vXA%JP2RHQgxG9ivL_@E%7^3Lv;iM zmUZ~r0k}3h3RJ@?6-YcD4hOkMhFEe?_7{{ygOw@zkE3X~|2JHVO$ue6(AgPKGsPb= zcP!KAV)p{v1CMv8!Zm;x%kK49f;`$!2eQB?ryxgoiLu64QJd{KqKrK*q1G8+U@kq& zGE$C`UV97A%uy$+-~52KP+Fp?Qe#}B(aYptKpuz(w`^1|;6 z;FPxh;!R6itIA|@T%ymV&|3R3jP@?>huqK~`DCufcQ{`unt49+3F*U9z8t_|=AwMz zBP33XD!ZeMIdwWmx*^aLuRGuYQu7LdCTDYVpI?={AF>QVEslOp+7IdEcWQKZK=RfA z8{L*}9+{|{cbM!!qgc&|!4mi1kd+qn%EY+Po*2g^ZfYpn&`^Jby(coUf+46Nuu#i5 ze?$&8)xj@#Y)-Wc;Cumqu1jbYWkhT>W)jk70w z7_fxQVY5qn{OSn}Mx?qw`cQ{5!AniNvQqY2H1m^xDEU&1+9jVDW^Hn+ns;6oOOn*9 zV4v4AA(rm1+XlTg4y7m65>Lh#CC0Xffx!8P6mi_Q!S0{~!I`lSa2mR%*jOE|W$uD` zO2)yKSyMStB=D7}TBdH&qUvn)e_*-e3Y%))Ir^a5p3kNK3JX6m@ww7^iDb6Ja? z&rUw2rg%2f;1w!!7{~v)eah;bOP7J(D@FgNY2|NWPyC-${z4B)@HEcu+@J0Cp=o`b zAfK5yqYwewdMvBey+$8kk?Q6N z(#FbkMXG?44NO?D4QI#eJ{G5~Z}4G?&xMf~k`Y@ej1oKTkIv0Q5w|&HI|A7_B;Ghk z%AX3A#a7%X+|?=$#*02_6AsooyS2|^8*YA`1hgl#2<_N_U*iBCTZk7BMK|ql0sd#X z0R9;w6DW#CsTPd+;zgnw#VHSQYBZJqH(`9a-|D?$&=7L43eG}L!-y32^@M&BdouIj zrHb?li(zAS0ye=cBup2xh)*(^D1cv|jbD5Leow+LHr=rd&#>laWgz-Obtsn$75_{X6fcB&a%H3Mt}4A z>w(`xT3h&?Q6~7kwP7#8FZ2#au=6Vxem!BN>Va-?;~0}|JX6vZ^UvgLNtoI+_!?^K zGtgkO662Y%FjSU?1Uy&}gc4Kr7GUW^COfmDR=75^r^sBd3?C>R9j?SB=6ZaBv&f*T zK~m7w-Bf1X8a{W71uZWj?^w>xuj`A3*{BawI{YjRe~5HcX-mV{z|z1)xDU`W#xYCi z5Ee#6>_fab8{`Hl5b?nL-|)B~YS8w*(zGTHD_pgwT8u<{v4Kbp8}Q7X!xlVqr?G{S zNO*+&L`ShmG+f3XWVsvYZ8&crd?4AJ{4<3oTAa>xs=ShjpiG(k7W-g|;YYT-vkHnL z)0d#MH{xW=^L#FyoBJm^2l_?&*n6dOYKn0SG#c8;QT2&DP#N>Mixp%q%Wyvfk%`0n z0dWtlojk%X^G!57RRF80!jHd4o$j_L#LRyH=3gf_DMGZ+sFa=p!6756IXe{_rr?9mf_iWRDZB$$npd!tt4GL6agG6 zaTtxF^YCeDWIVhe0tWi;31e5Oi`eosv3Ww55kN`hECeSRVB#n&Cc__XzaD9dL`U6p z26Yr?Su5|PNouL6cbUhiOGM4G@*3ZIomz9Fx{knCqcbb^DKeGR;d#Sr+^1Zh=OCHh z8-C+H<@$W07H^X$SC$;J=2re)o?F?9!cM055KLXy+$p)hEhxarm#6XuT-g&a7IbgY zzU5@PNiF?$4vLmW#>G!+0!NTe)%s&nejb*l&GY%`7?ZkUz;8+W@cyVQ-ik@3Ka%Yk z^G?(S3uXO6M@@u2fiZ1nz###1GuWcOn`K!4YadJ69(Rk7_|PcdP{pxCLh7dD7);S3zk3v^E+v8efqI zD2-w9Q<4*Xm``~^w`Pl>RyMzyj{+@y(OYuOcMjOV+~{pluq65~aY#iT<0P=O$69#t za`4;}GEg3A(ODbjTag*O;1sRM7b&!-`I2g3Y#xt>l4W>ne=iUFO7rsc%0M@iC$!ue zZ^F#PtNH`n75E~f@@U78IBPSA=JF1h0<8^Bfj(hBN+MOdV>tMFKLQJT(nKkj|9qZHt(e! zWpn0PTFh~j;e>6NW>8^Fgs#RZ+J4E!@N#W$XYjvRmKlbtb0m(e zCxn`?#$3+o#CV+qdD)ct!42>f{%9Bqvjh$sm2i32~zj}HR& zd@>3C%&KE|$lr%sFbZHSDzJ^8WJS3>tFU9`f~A96ThZTD;IQlJL+I zTA;@0?PGQbQYQR5Z&GNd9eZexY$m?TgOfSm0DU4ksp@h(oY|k9EW|r}N;~ z${7jZ@BC0}LZK|$kFpKx^=KzLM9?{H1b>WZmi$c1=1(;0<4>J82av%4@V3>zQ2lZb zDa&8<5kJvZ^SU;Ql~XOOj8#E6EfK_Eu6cfkSP2vnBR4o0sqgEpY(j$_ik?8CTO<%D zj3Mk5&X6WPQNdk+b`D|JEU`s!BdqQ>zHm`Xj+mOZ3u|hUe+~pD293pmLzltPd@KGm zaM@6}k|B#LV2Q>41xKTMbc=|_%qOt`XRX&9cM^>bo>U#djMJG(gi*#^a~lnh&9Yt- zzyrUrmq;q_q(1Od(>n*Bu!MQI*K3mH(~4VAwH?3sA3BdCKXFdMb1a)UkE6bYK6V3o z^5^q-98vu8i_-YP<7EA&vps!?TfaHI>xM-9I{LlSW{kjx5Dqlh_Y*TB(7k?yWw&o^ z*a9+o%@^(dkLyK#or^r)^g?wOQZ}1EDRw(T7m@$n?RHI+Cn@ZWvrgdr!BQl7dXTL1 zYA6lj&kJ(f@JRy96Y@}6a;C0K2{%Q784|`j_7xO>3fIcELA>WW0gxN2HFvWaDrx>k`|QZ$ zi7%%kUDy%+K}RHiZ6CV_Z(J*oJh@guaJF!W)Ay%LXXks;NUu$ z|6}DSk$|8l{?Wce!BP z0X^M`(h2as^oIp+;WaWGht{j%=&shCsBF|PWg_C${D?+ zPhv|@AOV;kf46|S?rH(16sO*kOHNn7Yt5#K&H8>cr&KE zH908gEnBEo-VU|qO>OZs&;xhAP^b=*=ok1T4Hd;Z`4qg%O#Aw+Z zPK@Y$dN1TyyvPg6QGg>TKSc{Z<`ImRiI)J&+E7me&!VSb+&uB;(^YU2`lq%YtQ==) zZJARX`wwdDb)HZWD)JkjH5Ke@`3sWcX$BspjPJx~ImZaSPe>CJ>6W(($v*G{%&i-s zu~ayX9G(>yP1BZU)|CRCT7+t^;{#MYO=3%KcLDRZEz@SxQ@~lI`+C@cPAp#vCxHoZ zV17;Q63u+sEFpWMJCN7qy%7W|=wY9ePd&@;|7wZ#8w^SveG?#){OX0!( z#uHu)F(octC-`-z_IEJf=FF}9=JPwK5dN!Z=2k#p*=yrLa>_}x znnsoF`CW-JW?oQvei>i01P}gdd`-@1x4o7WUt{k#*`@Frg@5e<2C#uZqQSPq02_sO z9bXd}H!pa$7-uE6appcCG!K#p7-a#?+O1+DzjuemI3gC2qiK{w(e_*W>E)CzKo}-LSn{7ZHg3uPW0WvI zy+LL{p3qE;P~)c&HsPO1Yu~st12Xh=6%cdo*H~YJe8U`nG`xav-RD5_dnca@|Xrw zR$k<4&UQceqjMP7>lVwuK_r8~mFJdAUMtb{NcR$qtkd7P!!8fR!50D`Kr4Psg!5i^ zDdB9v=j19r4mEzfP&EQyX8?*opZGbloUKtT_IKBz=_>58B6lK*me8z(MkorA@=u znq{9|R#$QU1O)0qQq{M!6;Q(4Ke48-Rx3B+%GPLc?uHeIa;ehc+Lb67TZ2DSoqv>f zb(0FCa(SEoh9N*JdA+UxCamB1*k{ZsKvbsB_#Jlf zkjIo=%*8vz>ESuQ_ncSj=^XBbJDjld=Mmf@_F{*&B-?143!pD8*6#~tDP@aMzPK9y zSK^tT1LdeiFrx(_r>Gw%_k&2Z(pOdMeMe$&nq!HF-3K0O z2$uOlPG*{e{3fv8p7M7No z+ncz5H5cvDuzLJ(=z)=M^A<_b88MA&;O7mGW##m=`$1<##xo?jCNTZVc)|4N&{`TK zMmz)4HBeklfix0L+8`;yrjs5h_C@Bf6E6B5jv<`hg$Gw) z$-b@UrCP+42MU_c7OdJ(Kh9MWn-oWI5rH-{rJ+DgLqDwu-QjepQEZ)Wg>_==>PHFTS?CtAOA87B3 z+=zp0Ysf<8M6eFP*vA*SkS~MZx_VD)C$61o4>^J^gd^1(Vp*-g={0LW0Lp|OWOwA_^Q0qH2!kU5JjtP5j?f-& z&HE_5Stu;s6RyD{g+eZwp-QZE5^Y$2s{|qFA@)V4vCoLxE5J{wv31}ebI5_jhYHnu zNfr#&c*3uPu~mOGnAkbv2@OFb7Wke}SF~RmeaQj*SOAd%@K`exEW4!_)XS+r66j(L z>oLAWAU^^Q*b|@eNvW~LTnFyP)~{&yc9+5D6nSO{UU@=4;3JC;iz5>i0k-)V2+_1v zg5w@X-?z;{Mh?J8g^ZHuv}9!Xja5VhXtMtS3KJDu)_6h)l1<~bA{C`cVfP{zk}GO@ zp;KwM`4N;s{FX*<1OH@ReJSltYqR0XHhQyR{&I|ZDfTFS^9Q1FF^$0&q=QiF4GrF< zaw2?sasE1b>)=$zayT&)!gS^*+@adr55b1VNUt0bwlPeaF>-{!A03OuuW4$WTb*j9XnC!P3i${+i{7aDH7Q z?b;LR_(`?D;dVKOQ9KH?=H0Vt<;qRmiKA;IHgeDaOgT0H>P{;*euXh`!~HHE+4viH zRHe8?#8?mX(!w;tuJF>vcD04=-^?rwV=69r80A3=ZhkYdi04!|U&zhHZ?6I& zscO259dD?Oogtz+^GsNunur+RgO}(WXgMV<{YV}_h=I@%jdR$K3|~t{LN1_ANZl2S zgibq{Bs52nkhSfFBxGIt+PX-HUZ{1yQn$GFV0c0j&%))6q(wi7Q=2nAcRUF02O>d3 z$K2Vx0)< zW~B)0W~CsEQSuWV%OcTmC4U&!ZATXc3P~4QINCmEPw1pgEGdh%3a|u!L#z!8L^B^8 zuJQLvfrG#Aac#yf68u#`5NiCv^G*EmiEGhcd|g`Cb*@rW=b4@IX*qtQ7;0K5ndgGO1?slg;N8ulGz<6zK^a) zb^geGD&Fdh?8(!s02$4>b5W|`6POkF1tAh?=79$w{YlM_;Idd@O1=N^N}Ee5+HXb^ z$`k^>pL(~8-xqE`9o4oSV<|&V=q|jlq^e6Hx}@1~j%l(5r=?k}JH&Fb_~?j^LF`!e zE<%q8&!jErT7MLo6##Dnop6<*668fmG;BB%zZzRhjjtM}6`(fYpwFEy94z}8ICvQpMSFhV&nW=(+=vdWq}qv+@qt=rYfd6`S*-+U;46!HU7x09k?^V6Kc;gaDSVtfi!38bGKJwwX?D}HXi!eY> zh?6>L-xH!=7pLcy7#lH*G+zQbk#H8c&M7S%mo>URwgrTaJ>#l&6Dq*0*%vt@zQC1T z-FvuUJ`r7|;=mH)+FBnR%OzK@Dd-pJ*%93fWcQ1<>uBDJ3Ve0=CM~UBcIiPING>_rKIvAs>I`%Yh603tPC)Kr= z>iB)LRNt@LC+_>U{JwR+=+KUB&G+%j)ze(Q8ag0)O~>4R6}NW8QRHan@{W1lg=$LT ztUkdXT$0{kj({P^QRP0Qa+wkO3)^)V{jGVEv{|ePteAa=g$jf*WTc_iUs#;wneeJu zO23&UD2xLSm&NGAvyna&H;RUalty2*=0pwVCQ4LFCfyzg%B=5he|EI}*^&GVqd-qf zgIVKzhG#;D+$v+fyEjIAJ&3@r;Tzr+rwuSnppW;+|DUC(2Rq|;sqPHm*XmE=w{-ASqCOlzzT5vdpbln@?2rE!gK@Uu zf7aU*{JyjGm%GY-=eoAOr^D9~D2e&AD%R$f7^U+{jA97cH+j&t*VybwJbR=VVN_rM z9cy1l*1_y7vwKEM2$9)s!4rr{%i<4&Gg7Styxs-8Eopvqk4Y`k?08~-GziZas4>s2jN#QO79$ z*9W^%_rnE1-Jt_?{L0-x{;tQbz@b>2RcbuT#bXK-zcH~^UCzVhGFVTw5FSA&BE`g7~i5g%4H#>L|{)BnrI?_bN>6q`L)IQ%NsBZ;sHkA zClWp+hJi;68wZTO__eOjLUI^M(OjL00>X?U?IcFhR|hFh<6lTk#mZ-md|p zA%ut^vaft}i%;Szi9b3Z1K@vZ!Hos1ez#$&6wPdRHpdT4eB;rMujoo#n^*M{U(tHB zI}cSLBjFZyArj`3lE@{5Gx8c>}nbARBay&uExePT3p)Rh{NxT7_ zjEpx3oMXirxDtVEmvRXkKs}-5K#dh|U?&2BBO8xhqVQpeLTl5fzv8w6Nc|0Mf!mL8cwq*eUBJ=j_nM^~ZykesofQOY0fKMK59hD%?MWx;*w2g7Zijmtnu;gEvh zFTTI`%GJIm*pQVQxy~1DHTBP|v>x6eo+;n(KH?u$66vt0I$g3tuD~O-ZHZZyYqz;K-ISTGu5{8}A2g=pjuKPBq zkoGV4xzwq2B_M}Z12s8Z4(s01d_!<;Ug#HcpyykYgK|z-oAc3_Y{BY8#h0{02l_8T z9{EzFE6LF5O0bknYzWSkLmTA$R9D7Co~%6DzDtCW@2LeNlQ)FG#tCwwuw=B-%JVK#f}2@mA0tl5H#@43z8^H_)|zF5>lV#=)OuSeq3 zBb||W2iN9%XUa%$FNhwA0vTj$pOrNd?e$2oU^4#Ui4j?11*H2h-@Lz;po^FMd>hpp z7YeF7<42=U_Ek~wA;+0NA}N=xykqd%GYcF z%HjH(LB#kX73{5|!7|Y>5lFcY7EJFYnq!O&q8Vc}Ex?hpLIR8W&wXeP{WV;HQu z%mF2uX8wuw4U2mpz_mG}c;~nm#$*ca6?$)ye=(GlYn769$mU{aK?W2F7Si~+K3DiDo0g@$Qj5=1i3y4fW{ZpEjuzFfwSX7=i< z$>F~C4mm_{ZBFUEb0VaRON2PgLw`V$Jl}ylxxg9vN9W7XufmBDTA=)>hJIc!S)c%B zw?H`nEF%KtYsil{fpRAVE|5bu$JzkpfzOyG0wtpNd{5ggxpF=P!#;4#1Wrte6XN4N zmH_{tRPg5nd_-GKSclO_*h>$2GC)Q3yz#OvPg(&IXtJjQmOSxC?oE~_{{{jadGZYI zVqZ|EMl=1e`^2QHI?NgNdvI;u=apff4g%7eqY9UxcRq0~|H*y}=x{!^^QR{9e`fVs zG_)gmdHuOE+CR>-;d?=i_8T`6zS+`p3VC@fN~z^P%F8aei~WQ@Ts-Nu*jhYUa=cU? zMdb{MdP3Da@EVE`OC6$vVwh=N?{G8Hkoktu|&GM6Z1GI4@h>XcaM#kduD z!Z>T25u&vm10$-$M|6d{)8b+PP$LU4Zq-rHy+}=zNI{5-Mqmzhe0^ z#6O#7*IGmT(Q$&WN9L#@o}-X;*~nDXp5u~IDdqKFpm#y04GAJfm945KJLJw50ri$r8myLG8M~fdeAIS{kO zD^R})usH`;oS6&!xH$7++=4TMH;CkD(j?z^px|NB^R^t}&N`^jE3a)*j{Jls92N5; z?qX+aqWgS-h2%@SN#$KoIgz|o5#74ssfezti|O3vQW4C#r1`J1G9CG9;d>5+^-l5A zt(oVf^ zZ(@Bu7lu|r?wHJ0FD zUq!T)8RJA_4I@AU71;Q{tTeiygL1Jy)L|fsmGt=C6A~w_v5K%dJ(`O1HhhuDGVs(w zt`fMM-FMgGp)b-q+ZX94xfh&k75g~?HLq{zhlDe*+}snW_R3dWhVN7Oi_vFu4NNe9 zv`;qd4%xsy22Hz%}hXyCp?W^ ziqGBY?9WVrkFyYAQvY{3yGX(=uSb=LWEFIA7kBk}NrzzkjbU%Wz5V#bcYS>dq%1a(Whn1 zN+Sz|cS?Kw92xdjpj6x6{>UA*z;0<|5_txTLR_8W2?xKJU;V(NlLCjL2;VtFYSeif z?o(flN5Y1mgRjWSkSBbU5UzW5Xeamo#xl}kT+OA+Iy@d1u}4uA=_#IG%hxjW!f$*C z59a$Ll?lLLndmXMe@|O~4%fm;B9p7pUvH#5mqT5#NH4$m|SxFXBbW(XCIv}A^1am4pW64R)Qr>^q+25 z3MjbF3h7*Z5|^Ncy^hh;@Dd8-S$T(QPN{wf`T4=>It2I3wwQsr=E}+ z;pP~~2C?>vAAgUffm7W_hak!wpU8OifnOSXRiM*yf8>~XLT}@Hj+^swa1{pUNjUn2 zRSz|-!5M?#WyPwJUgq6AH86#Z4~*EmO~LExWx{zU7$9^tJcRJ*v9fxIMPv*W-}tbI z%pYu`!4IqeB25I6#vD;5Y2}kJ1dk%W@q}s-^+mBzg-_>ER6yr;BW23TTWwi=wEgOq zkeSh%Rbl`=lY@u#2jthr#^W0Yyep=1bVDJ706}sQSa42Bup5yB&<-i)KK$;kz)u zgW&tPd))Bk9Vev8E^E?UgG=;^Ph4&$vDO;%KWMM1Cv-f71A27;8;%%)CY+r!*{DL- zE2Ac>G{Wog!}P$j6+GGO7m_^kN07Ni6-&bdB*)G|DZ~X8^M~T#w=C8TBH~(mEE>m8uZ?OzkIjavXgp z!V#XraYZ6Gt7c&nYV;D$Yy|j7g~Ca%Y-=<48j_N#=H+&15JovxX0S%X9$=#^crW~! z2xuWhrWhdgR?MTE#?rDHR!RD4?It-Un;o`t)dusu^B7DCwHs|yrMlIU-P(LH;~gBq zC(GmY$H6}J&im2&;Cl7Js>kuc>xmzrTj=kP4TE|ai`mb<@M%J;A-PfX=z%S8kkxTQ z7>*ah&Ucc4Z<-D7Ao%R~cMjPF#aI z3brJnLoz2k0JDFQN0GB~^Or06@0r_f@5**rWj*)CLOhq)J#&ZdonARKE4}R2y_s*| zP5rDHo;AZW9{I6AKWmO>&GD=`o;{0azKTT|zVfYUXngcPeGSWFbQUd|n#+-R7etISsP$M3Sk$aO6MvgeU7A4= zBRHxnW5+Ru+`xsOjHSiPC=~KBOmTw1V!rBq-OT5m_r66jXLyBTrpyGz+%lB&=ctc^ zfUR8k;Z`nMZ*vDP<327tDTzeK@_iJiFd`rZOWtI$CFpJ`cUlgcjW^RJ{qZvi2xZ?z z*h4CmM5=3vooMF4(y`LWetI3}6RTsl_mYnNT7`~%ePIfjfZdedhI4ztruT4H=qq3WX&URN`e(ng8pd&)?-zQwdm+9 zq2bi|&l2V<@rH=j(b#!RjSC(+ry29D-;3?E_4{gnsyX@#kV{3)2$V<*TB(ZH2Vakm-+GpQ2#1D~ToLtAfSAY5*s{+Px)Ow>{TF=Ye4cFI#R^dt z(Ivc}*AA-8K2Xc!bE*IOMo~b^~ z)}L-upMG$*_;G0A6d6^tz5T|L*sJ(e``Ih(?^~$vS3InmenWkKxB5PQFg>Ahq&Vg4 z;;Ur%>MtVYbOPlZX}2&7yZJ#Z*Xb5MR4wGEYQc){n8Vsrt#{M9pq7mMn_AKfM+sr$ zW;J|Z9)tZ>)T0unhWW_e)Pl7rAV(C!s}MXnVd5-X0Gt6!+GR)8)cP|ze=#?l-F-RH_+^0v+B9V`#-J z9zSFovSKWO&|syAU;*k*C^riV799V zP@C~Rc!>`p&#(-PPfw^G_o8xX++=?uTDOW709B#E=q@s_5RWPGbeihxr88_iU61N8 zTHeO`3Q@+|J>i?&NK+$)L<8)r9HGI?LL4kQ&+AJSw4k?_&$r1IF;LPwCh;LL6VWayQL=5~aEYX2#RB7!A_)VR@=^RT5`&T= z2m`Hs(SeAP9M#-czI{8I8KaJoI0igUIM@9{dOcOGXL|GHmuo`xWohmif5AvSf(B>7`jPPP*1DVtkuuXq6vsY07 zNb?9D#mOu9+Wh@vkqQ?KanKu@$rsmsl#yoX!$f~gTiRrl1PmQLLVrq0fWx8uk&A%N z0lE3_JMt(6V$V-T>~5XU(J~2Xk=_N8X*RRZhmLT{JmhfKu0LOf&!`!Q*<1-a3~@39 zm;6k^dk=Zg5o1?Fg{h-_KuKWI%w})ViejPx&3!86R;QDNh5J5Wv&GXW54Pw+9VkMq zPqv$bgMV|lcRZ(+(P?Ax^KuS8(Yl}{u2kr)g1wbW6m!*LdS@4;lEDOGN0v}Iai-+$+l$jjn*cyww2`CEFxfjrQv{*xeeg6(Jz))`B zxKm&~4#4hpjRN?&1z@QPjv6%$01oT#u%}y?f%R_wwFPE2JnK4kCH?>~8q%=!e>Oj! zVNDY*M8GN}LI>2v8QCIf!~CI-l@k81<@3*fF9kk4p}iz7Rw865#l(M{G#`qsfn+3- zJR#=mP{|73!ZUXKaJ%D=?kgR?`X1HsHRyQk5q>G@6YKX?;35@-{_@+0ERaX2FZ1=6 zFY?Rb{L+P>xpwJORO#lr^cxC6ON%W8VQJS*CMo<$Dfp%Jij?^Io-$L-g_^)mElMe@ z%*7S4l4bYy_I(5^gYQ;Y`Gl|;D8)=$z&Q3t_|m-%6K7MvA@2e-Cno)?P|6oAqsV}t zA2Z~E9GnonJtf9^uK&KwcfRJWo*MvZt`32*_@@--)=~RjjD_?0Lr||jVlD8QXMimz z$mYQWk5mi+twSCZc*3)BkLGVWf+7Nxy5c~WAM4GwqWHL?uN7Y|mnbXmUd)hQ2Q4jdNMV$EF3KWP$ou#6+HrxsJ`=YNnXL_-L z9q&p&SIVR-+C>vM6y7Y+3&$|{7m~O8j2R3@)A(71 zOW=o39K!(k;e#FH2c#iW4eKCL>~SF3SmO&6&3uhA2^S+UPCIaF(*q`08rV%J@y)5g z(mX$voQ}G?JB!fa_$$xc=~ZY5I~}`v7pVC8Kv!-!zC`^MoZ%B@`UqY*4H*g=U)naO_o~dbK?og(zSk=;9o_ia*%K(BbnfK!KQ>ur138h+|2eH zrmg{>aF3mMb$@u1n$^l}9-op8BeEI#5J3*>(G{h<74vF#51tV(oKpMCQpl$p(5kh5 z&8Uk)38D9dJ?Nk}5-iAnpQ&qpFg;(|dgT~cwMx0%e4iz0w?p7VxztTj(rAC74RdlY z@=WH9{p@K@u#Ji?<6OoygEYr1PxgNlpbWMap*>E^j%8a=v(hEl`M^zPV4s=0Sh)#eW_(psUN24a&*YNnVjI{aO7YpjAMIsJ| z)o2?Ihq2O~%*S4B3id^v1@>=mw_(pwurGmzYyx)li0uVCYD`*iEB6D;ZSb%HJv2p7 zfy|xgE9j=sZ_`b{7keA6&F6f5A^(`$@3ClaLWXp#A38?EW-ryN{Z13w`^{(9;R#R1 zD}*^A3voR8&Hs*giDbUv6b^hGV}6S`+Nh{$3O_TEixe!dBx2*Ilj_OiMNQ(z6CNzB zTeLxyY~d)8HkhRoazu(S&!mqdEVK@f@M}wfwUKY~w$9G*t0WzrOV^;Rp-u#aJ+PoD zP(H#z@&IM)WE+$d6eyqc-T^45iF(was7W=2D(D+IEk)>AWPTt@f;0$<5bG<5?O;mZ zSuAC1N`4sae#oDhY33Y=2)JbnbuwQ*U%VO5>*RT`n-{)Yoy}K70W**+Au^EtcJxcJ zzoY)@bP&G?;kcI%#QLytTRX2tU&%zTD1YM5=7d&YNwj@7{NRzYRj3o0fjy!702z&* zHo)v=sTa9hBX}5Vjwf{R9e^QGOc%+#wvR)Jp)vG0moFii$2axEeyXXzqp783wWzE) z4ws{%uv>Tl550Av4(td2F~V#aud%p+zp*v=qYDSeSp`8jI2l|Q4Bil%k3#eLa3TMg z)puIlbYi-U{hyVJo6bbVly9d{c-9O7RvbA#;GiS@#Bt3hDE=~-X^)!d~J zxT1I~#Ql>d`P%rPBcS$0nzk|`mqGm0SR)4S`D;tCvTA8o?26Euz zmQi(6@k>AcZ2lT&V#B_=E-}U;Smz)3AKN(jt^vM&`~ob}OWJJ%pjVLrrPO$09{V1p zott^_J~SGwT(HYQ%&!n(2<|ez#11a=<9|v%H=#K2;Mn;H8(S(l@zarTxokm)v1kG) zI~q-}Cv1_yowaPa2O<>r#R~?c017mhy$F11x%7u&3@q(+F;!_aGY@u|7>bjAP==!H z*T=PaTPraZx1c(0ET*x_h~DyT2NPNGwJex4BlAvHWK}8d4z!1$5itncpSL&hV8C@%unE+Cg8zqY~4`9erZ>lviFET zSa}F;;`lQfjD(*a=r8AGR?bk>+eRWx!$zx6ttHmv3Ae?Z5WwC|-EWx=*WTtJ|7+1D zB1-MExHox1UqL*>3ala~)vjWWuvY(#d$<2{PFPH^u5XcLAC&Cw4U7imm;I?VDaei` zICGz!nuA#fyeC+YJD71DB|$kV*GpV1%FK1~GcF!gD07Ju6e*1lVJ>masnp;*yANEQ z?2>eDatk#9-NN7(jB)z`-?}DPefJjNIe?mH)b^t=pEwgN3-|={9u#xK9K{})1wi`_ z=1Y`00%Oh*!Y&V10LIFm;E-^&G^aVlIW{@ax?q(jd=gzLk@DGKgZkE$GgMid+!c=~ zTMBva=WqfHZc(P>CeXEB0kUUWOL1Cq4eHX1-y>nn_GhP%t8EJd;XshXJ;sMgk_34N?f-V?>h7>fw!=7p0Uju6i z=9I`+Pq@EAS{cz~2On5;oxs#OCVP`7e2m~&YY?@hU__-2y-QbPye^!JiqR{E-n4Zt zvz^O4=Q78-bUMXrKaGwg>Y?7+G`J}J+$z|zxCi=*Szt;#SHN8hsk(; zG2Yg7@5oS_uNLg?;KmQBVr-q(mEnc1!Cf#vgK;39P${e|%mc!Q;};xGe8b^P1Y_ih z@}1`bQJP63GK-HnJ6%Cv92}M~gM&CmQB5l%^H#87_!Z@6s0q}N| zAP)-TZ(x_VLB<~}wt|lFfY;JXE?3<33c}&PVuN3rZ%wpp+<}-kV19E5R6J*l@2L^| z>^SNh@$!^J#-eWKZp2Q0eC@BOvl60+&4hP+B+bMopnyGj(6e1k(%8+|^BYxuntkf? z@>kbiC@hYycdrGzT&9Nx}4?NpcYxPsDIHWOl<=dccfYrsfDo|(&!Umj}s&Y^+gjQ1x#JZt? z+aZ{^f1zS+fid_)zws;A!=vp#rY3%2Ald|zwuZEobKUZ5i*TI8-@3yuVgzSnP2LmA z7E-O4jzL2P#7h43Sfw}#v1;?=LG#S&f)>m(gafNt+$gSwBdVmwzewjeo&z66NG(Le|0a4cWS&`oR_8NCv9)goN6q(=<# zcL!^Kp0A-8feZGFvXUOx;(pk?z!eg&S2(QN6V3&e>(5z8|A+Z>g+(TL8)YQ7-i(o4 zO%CC{0gUA<-L^HgxRLX3#rFn`gBZRvJIrC5avY9`6^V&AKJhL3D$5r=@O~uwEJ3!Gpb9Y9nz6G zPslNSQT}E%UdAs-JJ{~z%69qQvYscW1+K&G(1Q`d+dAD_cI&}N;l(tCLk~v$ZtG@z zf@8r>ktc}WZQYztnx`?wW;9}KZbpnvgT&Z8;j4J9dHs=7eGRY0?Ki;VX3mITf%w_I zIrSA{_eZ9&bH?q>NY9&#KZHBwK|+d1tmnB@H8RH+Js){nKMxF1`3^(!9a+(W*B=Sy zLN%EWVKkuxuz%=Uet`W$M}u_(Io`5yz0v}g_#-pQP%}0jj)Eu16K42PeMj;m);p;6 zWxB1Y3&Nupgky>EmANjD-qdU7l`!=wQZDis#PT}Da!WnoDKNBSTpB<%7ueO*6@Q3F z7Oheg>DnGaZSg$`JnD-SS4RMA=`uvdAButww#Xkv2#Vo4Ze~%B+8__&-B@k)7W*#q zbdQlx#yms1$}pwkc@1TBEigt2GZs7vu)GFu6vqI3cL&-CWO9xRaP!6)De=dc#2?^plkan^9yqW#^MD_Uqe9kuRQ{V27Z{f@- z%?h5Fu+<FTKQ~A7)PxXEK`0w5Myqn>btEai_=^n}F{p52pvRNEiYg-h!y%r)NIiL5f zC`@hhU&-g)@GM4qJs5RY@_E03kHE^iozHs$>PgB)eXTr%st4-+!}+|M2^^=#=Z{|p zm&P8>=ly_GX)&`tK!8IIosc@8_XvEkbNReaL&+o@c9w@W4l5SB@_DzyJ3F6u8g6V+ z2n&z+=aSD44H-HVOHUnU}a> zjgteJM}aZ<@frBFt_LFdvBC8ZsAe2*jZMbx?d_?~XHM9Ujj6ZFfBaMif(I^&Pr#cv zKP+FH3mJp`6YltdSQoVhr}j@g_5@+hQ!qDN=fM0+N6Zx}PHpxS#HlAlcZRcp0e09e zkKjA_2hN1ILY6vJ7;@F#GWS?~t**#BPp5%<4Atoc@-yS30(!7*RR?^xwJ_SS@+;dY zunY(*R7C~A2=s&opeS8ET;7iB&ANwE_GW+8o9<3;4g`0?uxit2Zw`#>O|`2x@E*qZ zW)X19-h74M65|<~o0wd^@&`O}oiI9Ta#ewdU{0I63_f2-yyBng|gD{ zga1g?nD4PmoNP_Tg)xI8fgVO?q{MJ_mW=lYSKH&=Sz-8v4vmdBeWZH4{gFBBh&A3= zSd7PTTf8KO-@*$&cE;frGdjY<-I5#d6qCxWH(K`gxNpSX?t{+I5Y~yLTDIq;H}jWH z_R@3U@EDIgmOu);S>?R(gwMbW36CJ>xTfuBXsX@NfvTa;uTl*i1d!{eS!>*eQ(a(A z>=#rcZW~8xQ@*LXvaSk$gW7FtAn06Ik4d0T-6Dv{2H(i#95ml6 zqplq}_SoUUkv`+VtSb=fkaf9@qLG3k7UPRG`=v#~WGkRfFgS7=G04|OQEL+{{NGrn zvlGIid9^O5i2<`>8Q^HEH5gy`gSnbhYM2de#?H!u&y>a$o%3+J%x=r7EhXHg3aRpDDooE`HgelpzikVWp zYxQUIWK;nPy7y?CwmhL%8P@RBV;OK8;ngkfSC8RU{Ws1G*EPR7XON_($F`PNr)#h> z&3ESiioPslgbU%!H0vHmmm>=;zz6v&7AnAdAkI(DIdLji{*Lr7&4OQuh9%Z_<%>D= zrG-yuG~CEK>n5>I{zIgd2oxx|ef^P_RNx+z5YRIqE7*%3VaG$hQ}Ms#qKmv24~w-# zOV-U|wVyh1e~*C5csCqpq2t|pba3mdja4pvHEe{Vug=I3eRaWOqOW>$tw-(Bb1RDW zOQz%V6Oz$(Tq2L-+}M?ZONiIpn@%je{T&syR2M4pjv`@X;+gig7k;6~?`3>N%>(;G?PwG1>8(AFNICTag8PjZe}y`! zVL7v4Ch*qqx-+2Y_GR~`=yst59eXC6O9>urbF+#snsK>3$hS+s&2i9Gwv`l5ZeLIc z*k%%!tSz;fJjgs=O33X=`DlhJeM>s*0%awo#Zl0D5CqR27P4NEO-)+zyRG>Wyh1LjYJWHgoMgA=v(uSa87+7S?ED-|X zG5FR3D5PbM$dfAVzwoHTzR*SOz8@fjmf$Ru#@cRSBM0ocITZ{*eh&_!a zyst9O5@P&C=anaX7v2=X(VVmilxtNt$Us}g@2$-K;|G4Oos zbgA+;vzz^Owfg!d{q+>p)1K%l;12eQ-3Hhch16#$tOWAe{*PB#uwJKXI9b;aQZ;Nl zKx$A&mus`p7n$cMo%84X3ZL&RAr$QXmT`dc8B}7dVelMrn}+ng`3<6P{04TyerbMK zPaRXo?c(x*rDRn3(Vx{fM?o{|VXB&t6hSRix!6&T5KJ(K~ADD;Xo?11G7AB}O0@egsdbfkr&zMse#9dM}{qZtZEAMLMjBzY}j z2V!gx>(->P?ExlCigS_p%FhaKd zwV|O++Cx~5GL{P4Erun-ea(@~2im#D;d`$4-UyJb^@%wBKG2?t8o&D@FFPdn{qwYQ zYVq0Dn&);)&fvR!6fsj)pW z>_f~R)&oXP+grm9rqbcc;`c~QC#DVD;$wI|HySHP8|F` zmCr!p`5pV_{KFIi)qMN_8YtF$eDcLwib6(RcCgqt6CP;NzWMeJe4cFIwESJjyxT># zRDMfQ`o5^O5vly2v2Vt2lb$>}%f2`?byEQF(p}n?$EyZT95@jd-7Jn;{`Z>!aTDLP`9V- zn;-w>*f&G4^*PbLnGj9U?F9Sgfi2RxnhWhgUaJOq2Gmz0sO**zdZ1^T6%N za02fOe-qHYzQ6|UcLmyO(5sDr_8+%zHeY7xvzy^?3)t%>lN=wPw&@X|D<|4be|pBH+$PP zOi?wQr)&6D)o`e)p>g}>rlh_w|$d)cPjhll>=Pk(6oI6{XPV?B2plW z|6;R`W=`f!x&o!&PnZg^Qe7Y_LOI^JmkomD+4HnSfvz9p5nccAU83ukV9?-LzVv%& zs&_yGeuH@>x_qNF+3|QRGxe5yf9q$|WSAfysT?56ft|VTJ1VpmdcuAtChYX$SQGZc zB&mk@izI+BKFo0j>sa5=JIil8k_Yfgjpw$Y``98vE6SPsB9p=ulNhiRL~nb?FAEsI z2pK*-*p`}*%A9%Kz8|G#f0XW>t#SccSt-_`4J>w8^TN29xg1}J={fcji+d%8vc=5x zJ5TUBLrvmuf%9A3V``%N#8jeA{9M)!v4n|kJ0hAB-OF*ICb|k5K|vBwFK!T^K0e0= zYPJIErB;mrwNm;g>m~55(cHEs@oI|un+vG5i1iYns!$Au0sSRccG*d?@Ld=6F1!ryyq=fBS?KV;(~T&*b_ERbLvc1c_mYL5 zV1crlYy#*Bu^EKVRV>SjRk*(77yGL(f;U;E1J_H*^!lOh1_-CScwf7CFDc%v{up<0 z`pDhI53`H6mf}d+v-k?HAp<~vYWeHA=xJ$>O`ZvJ@G0pZ1O>~F?v|p+EW!uZ1jjAb z8I0pypq&XC76qHz>`Vna*NW9DZa{BplM7@N;04*u5ZB zc7D_aR_8Y@m(JImr8+ zy(~)}qle$%Gxp6}T9lV{tS?%U*K+e~8Nu_GrvJUJC~xm;Mh?FYQ}4X}0`y~(L3|@6 zNfj&53thl>ikH6Vf~+hQ%HJ$O=VtSder>29vot-xYOlZkniQYxQhhJ1{Iy}TfQu+U zI4ZC^k@SWeIK^?q;*#`WmbdH96)`|& z_)t-iF-tEPUQkZ^IZ0@ahggHB{m}t-=Xu-|sAED_W1X)7x#-SAXi9Us=Lf5vyM!kF z!qV+Z`KWiJOIw~0t4&G;<_XaSl$2-96N>1^%`5N8v`=eI&b4+g@`p5!U53Ksh>Om% zIO6N20`|Z9D~{lts-SskXIKp(z)7VI45(lGiT}CeIWB=tgQgj?Q1q9CWMGClT)nz{Pl9gY<%yfMi zDay_AMS6~xGKjbP< zhXM)pBT%gtNi>Qf*tKsMJfVSj5*vg+ zjmU6I@tuse$qIwcu~^~b#li|z{S+(wq*&qae{NOE;a9j2>&MutrV^lvs)^CHcpTi0 zN$K_=W9%hlv8nu#`^XC#`#6h&_$o1ab|{IqDg;`z(cjSKG}^1i5)l~VP`~J&%w;WX zJ&BDvNR?}T7S7<20Y&<}^z*#udIx*Y8HDYY1%BgWtWR3wtUE(UxB>z4bUvQWBH}iv?;NMf?8%X5W#QUcB7g32T ziXzu8GrteTF)%Q}xfVr@2UM*VW1w{n` z4H^_QphzO18BK5o5(EWB1;q_PTo5K26)+()kl`>IucCMr%vDkJilDMYWCw9aW6+g$Lw&L%TSgM<-`tfnA885DOF-6LNhO`}PG7;`y>x1$jSu!;d2m zzu{^HRGJU3LLA4kEY0Bh ztr31;q#$xymS~f*d;SK5Gis_W#>uhRzP%j&qn^;iKd6G^z{@3`e9Ibs3Eq_U8i)Q{ zoZ+hXhWep_{arHA)O`o2w)3sZ^2+N=@-cy1?uA;}4akH6i^+!wod;F&B3#OC763@! z%tCDNUx-r4$H(dQXC1Zn`YK1E(k2d%8zr?kN6b-K3#9P=Ekx7c$O5j)TeL=-8m=K0 zTm=fQH3fj{8BA-0%Wqte0VZ!DvHql-A@OX&O28kXMgzXVt$^nLX?0Oy9E_v%9`h$dQy8suI+io2%h zgXdG$-U&Btpp$pKM`{563P6o&>$rp&+8&f1d^&;^r8mrL0{-BBut#y#G-HaP18O^( z9MmYxxg)QVjsa6L^#nXDCFiMpZT)?V7YGxCKZbq;SxV{ds0H5em$(8mmIcK^#bS1U zdWD}_;nSMW0lL|7kfk;KYlRHrb!XdWi3$X#=7~S;g_R+(fe>q1k3T>~NvC)LA5&tF z07;Yr;n(pJ4BGMThl z8e8USWT@T9yDv&#=J`}3=c`7pa2lD>s1X==L|aX2AU?wC!jA!~3%9D;^L6bPtJ*WH z+Dm#Qf^P)?NUE81cJUNBA_C>=TlW|pzYEyC27fT#iTk^}PqCu^Zcr4a&1E1;@w>+9 z+~05}4g`isDgDoena*b*zJVPh&5>{rYL|Z`xS5u3uaDbdBE?$q%Dt2%#gK4zc$Gvy z>W;#?A}syUk{W+>_&Z`J6(&V+F%Es`cx0kmDaoDZV8z^dEE3f@P53vJ-2q~z32+4K z!!(1?~aYjoMM-Kq!P4y4 z!%PrRGn+?beCSaP?Y5O>ifuh4`NbP?7%l*a3BN2DD)=xA!;pLa&_}T|p7E~q6Kfm160ngpvB_L&C z74(#R>M4smqXtLliCs?be6;KslH~TPQ5d4mrV4n6otz2tt>%A0$X(Q@QLMf*oTOr6YoAUUS!l_h=K(o z3QoZnTY#Q*3q(Pr5TX^d`W(Jkyl*$2AU|(>Pr$zC3>$1P34X0WNc-|^kX9*>KK^080 zP>?{(a4CKSB}9yp;4(_Ew$R5?Y%#hP*o4RhHakI&FNl<=`6xB)ofPb6JFsIfg6KRp z1?-k2{SWZtMxv6WU-PUW*V=N`T!?#jAcfc*Ku;&aa-YRwp63K#n{yS5RjUT?`3ADI zh4LV!w`j%7e)nF=YQ~#T;v&>Ohu0R%;t0=pdtMDG!cJVMe=|!Ua;Z-be@d_A#3RR34z-!;loL*w3Pl5eiB2COKCklD3p3nRzT4@5&crXlV|L{Xl?mwOWN?wrPdMt##U4eh{# z!8_QZlG?MZpo1l2=&Pz^_L3|mwC@wJSTDskVje6;bcu#`ohMOl2YX}ip*liX7ei<> zHnH`t?t5kfkOm|gZm2i z+=id1+%B>OzhiIXkDf%lAyPKNk4C%R^r(jnTCaD2u{HFSc{NxQSh(H^ONnc$k z<6BK|*YJ;d!4Yo~e|*OD zw!~@#^9Z^gyA5e>1B^cJXr14D??!u~iMF%n0W^F3cYCo6Tt>Vju9%P_0B9}eH&dP3 z9IOYJr#AVHP)rSXaeOg^IJF67*nMhqzvmqw)#SWpo16dCdCeN(n$60pto%pvzNamQ zNMO9@u^3}?BW+{&NxZ@A=J^!UqOmxic+y9?^t}2eaBt14S(xwZ!jn-14PY744;KjZ{wovc5oG;!m2 z6N^OVmNBm}SBlW_q7|U?NBhmiSKPQaL9av_ga*PBkU27!^=hvSRXWMl}ZD?RE~nYl@)glNRKq22D64 zxIYYZctcu03$1Gm3{(JgiZ?Zaa_q{|B9@ZInjArfyWt2@3ulBc=H<|R1I*aVp}sey zSPo$x4|A7FrtgEQspnVt7qZEZzX%>UOQ5bXlOSr^V{OZX43wC~Gnw9V(ww@j;eaSza*HgytwYlP>cRbxqgk=a97 zGz$N@NH`m>7Ha0;UAt1pZbwdDM0Ow!Z4o18#dy(=yrBtV>i^oDhy;x0n{n4@O5nQX z&~^mFtdGiScqCF{S6RuVD67dzyaT)ud{9+=9wgRt(~5z@C35P@IPI?V|5WU|$~*mP zRDeij*l(ElxnvF_b6t2e%1WXBTu zhv-;DM|ER*E|||BJ@5kr-okBf{g5Gasw5qj>8~TIp{lKJ zkCe3F0siRZ%uMs~v#5l4hO>NRo&TybIX)Qmr$=V0gM>5vWayFQ&0}=N!{#Gbxv0l@ zkc|zBHva-~xtjZp!*H9)Ti(#GSl{{6*RMhMh~jAPw2T(esy{U^{ed+ z;6*YP55F;6NDs%Nfjsky_^%BijNHYNafY8csHT9nNRQZ<8iJ(wp@FDeDX)_$vw;$! zUf;|a1;|nv&Ov^){$1?tR#=UHRrput?IzdP;xQWZkH--8$XAaX_2{e~ZPg=9J$ACj zZsBd}u|+*<@vvBedqRdk$9?x5<7YYd-!XF;uokpKFRx|F%*D0UH^(Y6fAB~ov=c@g0wehBS1Z!e* zp5!e#(Wqd|HJJhGNcl#T#f(61#a>uRmmrCofzRLxPaC*ysE}vhODIe7YMo@KT33c?tMwijy+7*v z-B#}2pq;*gaAa)mT(yO3`5kR660gEtI6W3qV+fBy)Dvn>?< zyiNvi0`B85M{R42!eDohPxshz3}B$)?h$Cg8~On|XbzKtzF!*waL>bp?*`XcUMh%w zfM99!xdreG02n;FWHZy^%@ zyZ(w7=b*;4;9zXkGf*NxgZsuYI*+)n%0^}8 zqa$|0CSz9~?2VB`K#Y?U9dIjRI-sa#1z&b*#T~$u4HjwwSch-Nf znV6uXeu52i9b|wml!yc(3DT|bCZ$As3)dRi0M|ey4)f&>gYZUQZkd><`fxBY)@}0M| zk@d`Rpe92m2VZ4DR!$&Vm)hV{q=^XfF6*(x$4xNsFF3-IK7ASp_pob$N=yBNX%SiA$I zZkiYoj1DOfILcqBFzLr9!DJ`q`NtEQ`ZcM_5umTZ`Y5pvwC0bb3;oRSW%`YD=d>5j z;9K)cGU->y4c%$Mb1akG+RvNO*nhDQNZ3!h=Gyjj!Vmhz)i0#|5N529 zbtyXb8MJ&}X@$<{eV(t)qc7!Pgexfk$Gw(~2Le@X#X~jF3JnxT7xJ?lI~a%GSZD*R z#i%9T8WS-Cm$O{)ICZ~OdM!kCI1+tmdSy}D^s>p=mkRdb z?`HVj48O6&>CWF7_?>~@YJJ0?&I1wDc`vv4ZdoKjow2@I$4k-IHQU&{8GA_>un0ce zz!Db_fHKm~j)csQ0{>1J%&AW^y=?&s@B0>L{kN)+!|NUxFZ9!xvVqIc zyTAQN=dE7=p13xlWfr!y7h@HFnVzl|kwoqjB00Z! zBACm5XtTqy7HwAFBjhyhNJUN$C<^F~<0?Yv>wdy0Z^9qhQilp+e%i$VnG; zA4QQk4%u=35*f-FBeoi&h&2Nu%}hmk&g}_nzu;));h41OiwEFZq-I{O12ztmiI$~d zkj*SPHDy&=X-cY!>&NLR??AsSU`sBAj%P6%2z6x0o&bgrw@0!&{)nM^^%CdkqR0z8 zh~PI~61a>PWWG1tH zv0z;x8s&^8h*sOS-4pTMG?K1B4Gxm-@!Lo$i2NEeOrVIDO4X2WqCF-$pJO-So3q+U zdB2Cc+ylrsafk~UOF(EE8Rl(oV5?TSiz3^hsGf0l;h3h)aw^bnpBIE3E;-!Z8C$J5 z;tUjrb5i}x3$S?&x3U`9slBHf*eE$#JHf-900$i4EkwH-P7l;$Ukon(51hxfo*|MA z7qs|frB{^E`^mRjq{TbSdP7%W7qn_p8*AZLDK3qBMQZjP4t3ySk)OEzTJHxSFoNG` zYZPw5)#zj4$&Symn1~kp)q2Lr3*^;#L-zr&K=iz}#d+6emwdypeF5Vo zG>VT_OYy;edR;|^FNWJbWS}d6=TW>5Nw1euT#$70P)fd!fq~hW%KgUh#qd$6@mJ(x z+rR)I@k8zX47SD(CAT>4ABnCY{sw~!K*i}0l<$eM>NvI^BMVRqAC1tPR4uc`>FwC5Ey_q?r z5tVquy-;`T5d5jwvpLuub7}Ads95)Ou;gjGSwedsAF8C|dy4S>wLuJBZkJJ4d{cd1 zE*k*~NCP-YL+^&D=eS~r4chFwza?(`C>JfPVl8%y&J}wbHxZg=p$GHZIc#$NYwSV) z){kSRtO3H*s`IdFHIsh$n4U>rz>7KNLA~mHm-LSKl}K#7>U2$}M{)us|6&s}aY8MQ zJR_b+#gQdhb0F~OU6qgVUY&+NoJMairi4y9cX=DBCdm%WKsj>E zw6j$j)+c>s3x;Woc8Gkb_F(4mz;XOApDZ3?d6dfywOp>$HuG%^NuvS|aOi`ZRX#wr zJt})IJBLmnr*jWILAbpCtPJq)2iwA>H{yJQP60j#X|qkn>Qtt|kCK zQd;kAAp`l~i);WX;p8Z?;r4WIxRV1*Dj<@^50|dO5{N)?DBPU>V z!PvXN*aYwd4BYTzp(GU;o0TKe_ib%lfY*qNH?i_+5*H>rZ)leimmj1H08X9)z)HLn zMW*1Aohh|}=$(jKvNDSnX<03sJ8=dh5ZOS#xKbnr#);P+ZW#7(!HNIXUfEn!BAce_ zRQDA4NH!kVW~wh;oxZ^Iz`l6)*Ov>OzVHYTp%8@9wZiUCaI*B}MD~TQoyIegk-Ax^ zFA~M0IPO{*9&iZ6koP>bYNU@k9F47sJa6~Jcg3<@0BLw+drR)jogrj7#;fE`9|e22 zwQ@KGfh0@LND3mEDxQ9ly^LN8Hv`3mksSq*JuuX}81XVBt5Sm{&#+6bRwZZXl30MG#X6uQw4T5? z@xb5zt>VHo{+Z%*pOgrks9qY`d8hzS^@c26K7ek6aj^=5mjA8CR3 zD+d=y;fL^PHO2+84m$M0ZCGXfdZENE=_NbZ$dORJ6utS!71w5CbP|GHB!03&XV7m& zN6*;skDuYBwNhjNBGcWMMJ^1$v6947jH*fBMUgC?$j$>0a3QTRx2*WJ0YZY7f$p4v zuE!tWDq7AgtaW7a`S@ec$Kro}Ax~ms8M2FhNk5=EtT)S6v&m*KKe76X{?nl9!Wi`i zeg%x_ij(dl6zrT8P5qV${>XiqTj867?$Td!;!UNuZ4708f!7qpXtP3nDZbEYVjC9J zU8`V-tJv6l1-B5*MfVUZt0@=*(Pf+ufSdajYVJ~)nXV9X8WFQ?68Nj#D^LKjyt_40 zCtfop?Qn>}m@Zm57I=rok6Od1GEP#k6+9j1pi^>0xbYnm$@)j*MFNT{Du{1!utKABc2l+EAY2JaiKO^Ct9a zj6_}ddVo!az!|N1aEXyKT60xjlBUO(o)i}U_yBuKKu|A=(bemn?MatYnm2q)E7G`3 z2b>x?^l-3ai`qqUH+E7o@e}e?JEmQSBJ?!uD@FAsxQI>xKZ$1mY`_P8SlVcW&WYeZVvz?dd*rBigvvYftiC zWR?lxV+_&%kt+;5#)(1bcLza_1m#6L4u_$L*L>3lBY<~viLzId@1Itg#R2d>svOz-6`K-n<1Fq z&}%@EE6d*7k!7SV{wP3keT&pIPc!q?H@SlZI3)=1viG#5h>d!1cN_?4aeGv1ZXZBk zVcliFgL$z5pcm@f=inrL|4igZKrkB&DisLKrE_~jhftJvDg*qePf!D$H_*3Wb6f8; z#^#AVj0*mbh)%YD1=)UMRxW$m^DPT-^rx}^l{XYdcVr2GP(rp3mN#^bPHu)|+Ybwx zf=*`Oq5b$`slY?T)H!7<`x6e}MpM;$#K}jnVf|m?B+AhTPBIlvtnrF$@h&^;VDzOH zKyf+b4Xp#LDe&>APENu{l}`RM_=sPpsnBPHgbE{twed0b0tt7J5DJH76~bU_0nZsB z8BL=s4LC))MwE61`WNs0N0l`yb|TRd^^Au!5)rj-x)MVz)Wt94=I&luR;jECgbieiPHF zgv~?(oDlqINmjS!BWJQimg*ZF?L5ZuRJWXY_hkx?79u}dMbxyV%N>< zkzKc8-WK?cT{kH1+;tn~ZHeF5b@O78j;mCMV%P0v?7Hoft5g^IE7oSjvFo;$%h5%3uIy z0`Hj4GLc1vnV3_{{zg5muE)s0<)^jm5&3F9l8F)8^g}q<<&U=cx)~NO@4UptUsUQ+ zDDo~_iue}|-et4JFlfkbd6C-l^GCy_Y!z0Fh6{#3lEEJmpnAi+bsHF+gO5ddX7E~n z)Zf;Dmhl9PgH@b^2{3-qfsZi{_f*GO% zk+P*I@0*gR(WEA*9OY2}f)Ywfp)V!PcPX$v&?wl0O9|_QXc)>LaLD`y7iU8$E`2k- z(^_zk5@$U)Mv;fJMicSWW;#JI*#`%j^#_SX>Zs6+V1{wB$y-;@a;r$RXqb4zMqfT_ z$=l!!eF~43qR8i1IWj-Yb8TV2j?8U~@3Hw9P-sY75l=zwZ;iZ7MzCwTTEYE8sXXTM zPrTW9f9Zo3}JLM z0HhB%T%9977a>qyM3Rce?d2Sg+ly9nZEtq(3+>Jrj*Xj)qVzr7;{IMO*s#UjOPFos z0l2)F%yxj<;vRVbt}Z6C9iX6{|SNknGqLhdCC1GaRfq+`0xZK;5m)2VkV%S0fT@g%c?|6{S(?`S|DvC>R<5)W!55~$!YfXztn8e z{+qR3g|z)Ri67!+T*Q~Ov`B34Eka`J_IYI2^IwX@!iy~%g*W^bq(mZ(Ayx#^*h%P@ zN%R$a2%q%&H~c_~qIc+`%3rf_`AhlT)^9bx|0VsFlED?3Wt3KpncP?(j-T1Mv6FO( z&M4uQZmGr-OZ89ksNaR+;NJfug#{oBKiW?8snoWyV1yKEieD!usVO{i&D?)RO^LNZ zW;MpXRb0&@4i8t;28`bJ#(_6<4`*sFOB&J0t@uJVSdi;xgJG!k&vPFmgEY;3s6C1A z?uO{%-rPW53PWLzsolLlw=RqxaDQ&4lH}#eU8nC7$vp8x^VdFd*Ekn5X)(AyJY%OZ+(`m|{H_H~wezOAD#YM8V_bh?9dx1G-TaFFoT_m)$56OWmFySeBz9n76qxDhFTS z7PLTAtgTpI99el^$9nuK>vv>Y@B)izH!($aTMC&(hJ8gPVWvF8V%CJL;!mf4L>9o@@a{C0FjKGzk z+AJ{*8O#k+xj}^$_bW1w%H>PNya2CL4LQp%7s##s zymMeBig0zE7D)dvu=cmkMUl?7+vr_aphO@#Ig3I3*^b%``z%MspbQDt7`TG?ul*GP z!(XKW?SDyvg~+vQ_o-p{;Q%At9qQ=sG6|Bk>b0x z%K_r1Xi*mZk8b0|RjG1E9?m2js5J+VlY^6jWAILQqZ=k*M}g`Agm{XQ$dyf8Huarw z012Q3VX_tEE^|2Gs943`a7rZudGF>1XUvCo7=HJi-*)RY(1`10(7XJk6jYxY@h|3! zf{FtTL&c&s!cr7FCC->4Z`}4zZh7|vJY4@Qwr2~(mp=+E+wtW~oKM~`7d8cvZCDyn z`n#4!1oR{u&_&|~(9$0jpaB3X(Mg!gW9N#fT<7at=QCG#Oj6AC$*)$YuTr_X>s*&G zR}18_d3)x`jp)j9NOlpGx^!2F3MXa%UlCR1t;vHqb&3)!N&66|-Ypoq5I(kACf=k* z^Yni=#lI0yi^adja^V6k6B|nuT>8n7%q1g=urcaUc{`534z3eQ79k+52vs8!A(qLa zI>hn_wxRCrZ8#L+l|dRM&)THn4W)rR%}941NBi3B`-?S3YsN`$D!*6beKW`CN`T;~ zYgW8H#{0mzoayysVoZkI@!~XR?Rfp2_#8L%_*3yYve67Y=&dMMm_0oYE>wL}`pN|- zy7ZNN(3_>LJo*$YMiu>!>LH7pkH7;kQ^-^o?Re%Stt9LK6afjXJ7|hqN$7|SX7w%F zAG9~7g{DL6b|l9-{zXZ8JMLetMjzCD3wXgubzIa1FgLz5?wwgOAiHOo8$wM#eS*z0RpNHBaIo08tRKDp)IaloIRq>$SZq9^gVX~N&(401<4H#B#$Xb zikpVyEC&+!gTX#D8m(BssL9HXlBFC|s*pk8X)Z;N7V8vGwAt3Ft54+cOdr9T5`+Ck z=875~^<32%xP-snxiIp`exGvJt26|c|NhR#kvR$WpyI?;T!OtjiN2wN znE&b~^HG}9GUlU?(6sWw08n2(vXPXnTrSe-Ag+Tf((*cCBSk_M#24?9AjJ-swh=oe2$AZzs`ont{fw_ zBcocI9qZ~ss6SdTPd}k~QasY~?c(S_m%I10IP&mciv2S^{qFw7=`y23p!yulMW@} z)F|Z@TF8?YAg;|1$OkowOu(Pa#qW_!3ut0a|uSH zmEMoa;plLu7rRw2c0I~o$U<@^Hyjf0<|@f8jxP1PIsi{ItwhkxMR(r@J~)Yhhu#z} z``R4%gT+vruMk#wAf^~4V!jKGLjXr?5=KU2AW(58CbflJ?K0jBw3VXBstI^N zzRKE74HO)Pu_w$i@P^Vc_sF4uY7R-%bL_Enx<;IHb>1)bw4kv6q}xE)+hj0lGw4?$ z?ByvyvUoEb&F^>JC}x9TALKXy34z2b-dy$qoDSItb6T>opnUyejAI~jIW`z%iz*O- z%PsegqOyO5pCIB@r3AG>jzGmO1v5J;85+I<+5=o?I~VnpxJc+IdlrPuJ_uJv`*Egt zV6;Ou_BU!+OZux$Vd!%KL#m1d&bwwqg$6L`R5`KXgiFQ14tQI=2 zfDV);<@lf_bY%DR&KtB9e}s3<_bOk?><`u&3XO z!Tj+!HpNS7&x25dfyi?al4Y<@=J$VHFX~^gKXP=>ibFom zkPpC+PjH5O0ET?2Ysll{vFmw9Cyeq{w~fGvOuZDp$Md%_Zh}8uIt$CM?2imGM*hrg zz2GTD##PwinVh9#wW#wF<}sjXxUC&*goy)R9u5?FLv8R1Q*m+LzR7Dqhr$?SLA(zPxz>GM#xKT)w(k0R19$Yu7Tfw*g_Cz-q8R|I-_?sK~reN`{+ zd3b-5j5o{!gVq#jEY<3-^nmJb@+^bcfmSarU_tETPvEcvzeC15`a%KT&5Oo~zEBU6 z(fR^oVS?D0;^HF_6fkKsxsjrP7M{FGx9}Yn#g<0$8Q#sG$4U#Cz>IF8End+AQ&P0R z<9`WnkXbJlD^{NFHI^z8pQ*Z&$ z8b8312a1?d^W59mjg0qLoE~px>$*ClDwQ-mk0ZObUwiMm6~3T2OFf5x4WNzih_9?A z!$ZSmGP(LAwPZLAGfC_K9Qsw-I<`Bh^e@5a#9AN~LV#*l5$++3hNbH~T6iU}4K-i_ zzF1l=4|N}ePJkjFDN{MaHDDSTl|Ya48_Yr1A~qXJOLOlFUUxALJ^BMkEQlL%`G zuBMi}S(?_-0(H);bdUsJG|>d|-tmTxMWHfT=BIhXWgwkmBbb$49KEr9F({-sZwEYV ztVlv5FfMA9v+GDjHHb!n0(atc>yDDo1ID}s9H{b*9JZpoAMK)uhJjk{5Q2M27gaY% zUy4JZKMKLEzr-Q9=Z>%luFbV>f_nsc%qvGLf}^5)7ZRE#xYUZS-JQ~GGatZ^-h3Me zs`90Gcl?}7(Y&ZS`#%0+>d2tsKOEnVrnYVy2$+aqWF_9Smv-t0;iw;Ly ze#624ITt(l?|Ha||L8St{C7eg^Rvqw{2zpb{|WwUWuOOSD|!Xy!2fK4!{Nw8vF&JL9R_9 zG?*;wlzGUl1V<{b!A5c*em5JuGois#Ii`QQK@W2Or3Qi2ddeI}QXQ`ikxXt3p}0ML zbcmoNpC}O-$~T}R8;=y|VDjIRpBQwkj&c9HsP8m^bl#GRez-DVMaX1;%c=X6&imkVU6gU|p zU&-giu)^Xu!f;TmHkQb@qA2bu(nWb{(3Z%MkllwnY<&raLe1mLuo7_Q@l50~Tf@JS zh^JWHJ?wwR)-h0}YZ~{DfcTuC#pnc=7@dHryG#JS8c`v%r4Bkwc(V+qGPEh4OG0&c zHgYJQo80#QnCDun28E)%As&4P&;2Q?_J%lN{=etBaX7yK2bBL`crIx1PD*~$x-(Ef z1@~=WBi0q6TEKxW{^eHqertiz4a4tS$s@Jk#wz^ii&Iu&PxFR0A$SR_DszN}oDIb2 z1d&~HYxroikLW~`cD(ECXwr^%ogGa&!MiST@9<_T%?}Zd{O( zZmjc;Om+v)dy-eYr45HLd|p-wlVP-@_k0Lv`c&2eYf3VAz!J)l%-;=#WWIU0 zNM<;vN}I=ME6f16fARJfD1{PBGx>Z+lD%B}OMtuf+5@ec!(ZWHbO6Lh3*(Jx z%7UA;>3^^CI$E~bHhuC~Ec$W(j3zhzkD=j2ZTiE3f^A}NjZNwJ#O_Uhx>(7ke++Oq z0HtuCXr=w197v8(kQ~@FBy=crAejRYEJzqNDAARp3IGTstx#ycklcBltQ#MF-Ns2L z1+pjWAnm4-QKl?5`yup%k`ag_=DxJZzF#+q z-XR~%D}WO)Wo@O+=kT9sjghteC+0h!yy5Q!C?0hpce_LYA-(h+3(`-{5l9!jsvtcQ zkj92$(3q>Yo$E!FYnsm0g}Hdbh`GFWu6tFkkvi9j%;iBY2g7i=hekG^R=1@>yGCoE zn*79F(6*G!vp^#fl;%xu_zeo~ivF`&X42c?9(-|}Xq;KE8uXyftUiDomiNrRm@0nd zcQA>bGmoky_?6#adCfegk}^`0$GR#CD78JQ4SRM?>WE80Yix z_!7I0&|7B*aORM*74GN+SNcIelQ8Xl#%zs?Vq?0RIZxxv$&6asG_;Gfu)R%QL=oj} zvShkV3*L|y&6)K$2bLV)seHTkkCS_EcPoGX+jLPS+Yc?qh%6TOhiJPeEe?WAoQ5!@ z7=c63I!54HP#g9n7PDi~j>i;ff&WGeaw|8)PrA@8@P8i!fnRnW1wOXeH%MU#(AM-W zuywye(*7?z=Bq)^?hQK6-M^qM_;e+2(7m8Mg8ox)%Yo|^`zv3TE(LznOw&La*Ny-SQTHqB*Ald#UD8^nBUNdcE$P5U8Uk~*bUf8sHbe5U zI++Krl(yM270)S8wY>n$_Eg(a;iB<}@Fm9ZbQC=IzhMcnqs|f`_W4F7#BNkrdZN_w zp1vS}Xq?VMKgD_4BzmL&^!Lp~-VSlvhrH$3+VZxy^T`{g>}k?pExy?T^`e}qu(VT7F+ZP`EVttw2J<}q>Fs`87%IP2!}yF>^oP>heg1oQV3f^M|2dz zkC4F}JxD8r!}qHY?%&>S`_Gb9K_1+=xoMZ;swDOAKINUX{AF7_%va>{z?7!d1olg* ze}U+{v1kCZmPm!8(H4|0>wJZh3cZnC7)xAMl|ONU=z8bpl%VY$Ews_W0d1iI?YGHI zf;QLzEy1DImRXIUdjQ}IbcnW%UZrrTJ+vXi(!Lrw)UsY6_mI>*=%adY$$A^P%Ty1} zXu1c_6P+5lwnMFePmh8`jrIei2<%f($k7GhP%Cqia%XWg10}5}mL?;=r5V_3VsB`q zPIjbKI;GV>o$N>}SCqd}Ii?LjZc);z3o_f%>exG7yf+t_Vw97VR^}^~2)Oe zCgoLM8`w2@0&L}41?(aK8ygIn!Y;M5b3LeXU8!@`FjsbJsb-lCns%&x_VPGPUx*W;kp>#UGKQ%y$Eo_2Q=8a`(b9x;ddkpZ`9kgm`bHjK(jx-$tJ;i7V=PA9Gz3&i{u=uXL2Fd1D0$ z&Q02hlB+H93V(gVY>`p5mVDsEYkRZ)_>0Jg(a3{aw9)J4siEzrpe=Hs{YgRFy=iE_ zWW%;JU=tG6P+j)qUS`wxSwMXOFAm~v+nEw^^DY&{tzB&+?so;sziw?3ab+%0qVuXO zQ0&#My31RMe6C&vnn6-X302yVL=mJ-d-YyHS|z_Hol+1S*6v6N_?MRm;F%8KEwGUe z(lu{s67X*UjDtgIkzs`!i&Kg&f%+x9I5_N`8k9>EC{tG1IP@w|Ml}ser2~qZo)%kZ z>;dF7nwuC#NC2Wa(T|I#RRpi8@Eip-mVwm9QF2rx71iN5^C6wPgP4Ha3Qpve*6?I&7qa~Dk zCko|1uuoAQKZg(_1(A5%BSE}z%Ch3+(xhehJ1<+!k5J8b(arBd^L7-=XYE|QRIXoN zQb0B^7o%9RE0uPx168hfb*@Ydk{otmt}E?aU!5u)UZis!%v=YcF5Cr_?>CCej8>6X zx~v{TST2lfM|-?uBz=KLL$vKBp8uSSno0iR?U~2EtV zjNDjfHiO&(JygO!_-N2ZF2^eL9!wCvyikWU3>Wq&@Jrnj^?Jz@Q2af8wc@`FV5oyA zhYXNO6n=T)6F&Yd&Ys_TL;nVR`#Xf9yO?zR1jBtUu56zIYjGmv#%k#g0@0re?!yI8 zun$aUk`Zc8SV6+MKJW7BltMz!z|9d@&WZbFI*3ygY5oJz zS-q9A2eJqcxq$-L>O!P#!;T3&bUrOII(wIw^N7e8U$`(I0e7h>L~p|esm3iN5+b8d zSzylFEjX^B%F_iF?Wd98D<&H%5x< z&GS)L0b+<7gK`NihOL9#p1BHTeKL42@GY<28+sZqMUiW&(W73R!9_!g9GImKM?zOR z9Q+F$FM#!m^_!C>fR&>iA3s75@Vju+fj~e=1y4>v!U#wD|1O*L;qy~LJ31L!&YLU|?@)PBYFH&l1lkF% zp34Cq6xO&p zW?=y(*e7-v0B8(#%3}J4%FiT5N@4aI-pxn{nBWcOyj8aF9B&EF_B|{S{qYh&{qHe^ zy0BhukVHA*w9V%owf#bA%gP`zpJR{t#2_14V62Anw`9$u$MoE6(taG4G$*@$Hq6+)b6tiq#E%fg}vVjCkW9;$9=cREyPz5Yt$bwED+>G?tI3_R3Q zQnoH|w>;dCV@DyiDslZ~*_&Te@nd+SfC0aMwSH6fr1je^aRVXq9T-829P<#&t*|Gp zfCh?*Weg>z(f{|evEaH6Xi!Gxjc19Z@oYx2EXd~bd;2_XXMSCzu-KV__z1o=eE{nS z9>C&$YSIxb*qb?57Dt|xWtr^IQ&ynD_FtfNcy=Y7`tN_9F!ku?ZRL2e(59I$^SFSM zIv`3lq_7rj#nDA$(X3@$LPxmNhi9wnSjdCOF2_Q~;-%QQM%~3GOAX%8KoY*-TcT=) zOogD&5L`T%&c^$pIP`{Jbs&d{Qkrv} zIHZxnInDAJsSRHEVMe4$FoxBAmJ*)r#R8AlfoFq)XUDjv;A!T-gXll-F(QfY7nwyC zRJ>o^MkZtRY6Je)W{d5DOktW7m*Oo!K?k?Lewwl`omF4XS#0C>P1TpByWo~Xu%<1bH~T3Ps9`yh0Arc?>+)fx<&%FC2jT40fL~iAgD`WE z4fr+%_;q8O90ayx11ofm@{*sFdL%Lk|PK*jxBaFY6O<@I(cy{P*#KmEf~# z8TPzFNuSZycEhm5?S@qM9i-TADF22Nk7wI;HUO~S(XrJ&^t!?Mgb3sU7F|53D<&)~ zzc%k!X2IIfRbZ`Os9>!Ftg-VTca-E}dea2jLLu$0?0UFR=MOvU>&w~;%VBAd>KtvO= zbg^-_qASli7$Cn2YT~!bDWJ;>_j5jocDDG%!eUV zkY=CHzhH<8VM5stwviAfoB(*)j9OVBv|d~DJrg3KPSzDHjc>xA_~s8(tR{qM!IN<= zOK!!Yy_Pp)`A^3j+)!s_F4uwgB>TjV%?ec~E8>61rg*m@cmh=g0ORG2iX)j#eKUus zBFxACltV#Mloe|~HObxx*$gyg;ywZ2<)dOPQIYd=y=#AH7-G8Y8&fxfCli2@x*1f2 z_@6(z=4Cuo1mccgW#E44=`Vv0K_Cr44Od3|53gJFYf-d+n_MUs=uEWZ_zup|yvy-! zUefb-tPtjz$Xvq$z8TZ0D`EAs1RCA3tkpzxQosbS^LKt@d;x*+dmThuaKp#gMzp*Cjqz=)CXxwr zA;1;f2T!tCu!{Uw-^=1Z$!YT+^Md~}*imPwT&FxV5FlPxf(LOifBM4ux1%(g8w0Ph?BwZ zypDA;jMlGXP;RljqtpWDJ6S^4HOG0aa$YN)*IMV5e5Q+W2GXy4oYbAptLeOMb6&UV zSJwz7&v!oF{{|U?)vJsVsbsKFiNDxb&QVLWdUsL`%tc9}yw$mpZmz(v2Am-e7;A_j za%Nj|p8CcF>5#FeT7C0|wz08_HG()?K7d~cUQj&#tK5M`^AiA9NvC*Un?6w~3%WiB zkKyciChIq5@Y}$;=AB(_AR77!Tu%pw`f=_Mz?}FJbzvQE#`L%f8U>v*{YF38t3%F` z&sg&p+gvpxLsHdkS@ngw>Qkg@ha1LJne$!6Q9ssFN%et*$q9Ya;=9lB^WXax@2RKluc~)9oZ#k;#Ow* z<&%V-W~&A?P769G|IU%`2ouqFImgaBZ8VfCJwE2MtgBASYB)*OME?i?Q7iA8g8eYk zJwI^c3uE4g9XXr;jT3;@u%uN8eW=*j)}Qz4#COessttZtZOo{~6Vkz&M2;(tE|(;c z4rTb*n0^tAf${xUe-zcRTO$EAL^DS<)YR@S*>hYbT#a8v9j@Y^n@8;dve^P9n zh}o?gt%~Tiy>ptHpSAq@5#6=q7q0o-x(3?wF#Uyp}nyrTP_!Y_Igo^|pOT>nk&) z*Uku0pOU0MlHcZzk4c=X*#@Zy7xjpKkQO|}n(JkLb-&<>~`Ay`~9prrHuRB+G1DaYDjDNz2V?>sYPM8jh zaOyO1?v-$sQ3BZjX~-ql*+7zh62X1yDfAO6{iD_=0F7Q^Q4yxX<5b5F`|1p2!MUQ(fWSs1Ss=gp$nJ{tATzl z?)fAWkxKcWo(APr%nlzO>j1L_@8;*7MSyUI)bLEFmJi}*k_)P1AV4Gu0z~f@xYu83 zbb)RZuhq`$9Ot#ld98F_%k-kH&N*=Mesf@+y1d z^>T^zGS+&z!+I&VUV2sQQV&=uPgpO{SuZbGFRQGV*Q}SV*2`DcOY28;g-2O0-L021 zte2tI%V_Img7q>>UdB{i4-NDb{L95ZAN~!*Ki%|(zlHd>4FA^PUp@Zuh|v4^M~^Aq&5e*m3FkTW_&2}xV83@Y&e62F zRJ`w-ua)6`Uoh{mjG8a=_tk-9Ja&;0?jlnZk}dfy^-KQD)cL2^H0MO@&R@}h+l<@v z2K9jA`tac`06aFo6+GYz<{VR}u-tb|av0smn z@D;T!@ws`)VfdR_(u2%A2%UNYIf>vlbFCtU=bxWYBs2InK2Nni7X*Cgc4mzm3o;oV z)N{4eu+eilo@sTSp?C~FZ*U>L43sYxlUwt<*jxPN+qcpyD>Az+w&>-sEo`_RbBNlZ zzy|ro@J0B7D{p&Tg#{(zEFi8}gW2~jOm=0fsyLkmj}1gejkfVC=aTlBu{WI@C2`-z zF!QF%nIv2?4S;)}1jii&N1b|m&rNQ6g71KLSq`6vfwQB=Y6z$sQ3=e#}R@p70a#rJ1E}7Y$ybuU^A*8Tk2!BYV zJd7Fcx;NKhP`CqY0xl~ZBhd^@Z9bvD@ffP>+wkW2HdBAQHu2j)e!EeByEpM$`+M>2 zeEsdG#BYzz#kbS-x8D=LMZ4qMQTiK>Yq?>$sS@AzZBc#bf^XC(XhbTP8}I#n=MuZ# zX{~_H*z?x+8oB4=+N&o4dkb)ku`awAe^0*QrmHuGm*5SX&kJBD;#gs$uPvLTkrP{a zJjY>nIQ-`ZdYTI6Q#AH4GQ|p|u`<>Hm%bU9_&J7%<`FF`dfX=YxNHVnhzNP4sBJK7 z+YOW;&H^bCD>-j?HXRdMQE6GGcH#M&TJd6Z1n0%pb(xz1#+ zuYozc|C_lEZ*$NlNY+R>5uKt`CQA|bR;lMysjc-=iik{6>MamMe5$<~{YEv;FXjmF;1jZJx>|7)-1@_?X|AO%Nkn5ZMeddGK2HDOf<>y!Wlm zK}@un0A|;^bZ@u=`iNF~bwew&R4d*Pj$Zr_w+!-q5ee99xb*YrX`_n+M-- zZSv3dh^Il(gUZu@7boMGLYK4XiD&Uu&}04+L$ga5JDtv3isAeA!hoy!${y$60VU_X z^MGv?T-eT`GM8%P$qy>oe=ngXZg_4*QVgY`iQy==^%7g zd{918NG$^?tgc7@%mH-(KoLVhWRIo-@A5rhh4HzZ$iBjuQTmy`9rl}DALYE%M;z^v zi7DNCUv1fs=^;3Yc6`c3 z>ifg0^@(WR8Wt=fJ!X8P-7B0OXI&1}hEp_pE*r&hp9iIJ&mreJ^cosM5h)J6R#bqE z1vnmV&OjRs8idLt6_kCTlX2J;*pM;sL5e+n#UxL5fGj*8{ZvBxPfC=m@{zn-H)ZrbHM^ zc)H()$XDfMC`#Y}`Yi`LR+j7VZcgzc?sBxvnX5PxT%1{h9;VH}ZODcX8*R3=OztB^ zwj+?OD0-XAMxgvN-S!sU(!)?^Eo@Zb-8@uU^1QQ>Ev@xOM)-AOL(rJt)!50jVxqC9 zkrR#i9c@_KOA_s&KuQ_wjF$RW6Z#d9DtErfH*@h(>|Dn;Tj4XK->lmpz*_9`gu9F2N}&Kxea9v7#h)B${l+`4)l1`v_}|1}!$eJ3^^ z@Y?m1n7hqGfB@TnFnqR47_Hv}Ve~d!xPhFE*8=3~!;Pj47TQA+6PjGVtF%&;G=r zK5~*Ys20#fh4t>QC~XhL=U%9)y!x=Y`5ut#>M-to_vQG26^d?mdc>Ejy9>?hv;Z`( zPiirYP(VHyn(odC7pn5bjZwxV8Y>1vP^H&!h!BHykd+yA{^&=Y2J1ww0a#V;MFQ(T zE)hZm)(IAFEU!j=>G5+k0eM3nuA{XE_F^{Xew^l^Xn1!?%e0yK*rIpFv{DMkTdGQ$ z*{H#xoS9{;mw>5Ey84oU|1Ycpixe2>LQW5lS`1S6J2dm>hImW+<0`HtMF5+55A04R zx>|tY2F!2FVG`^4-~?h4s_i340OGzo7l=E5jUW!^pqTigvt*6_!ID+hs;Jf<*=XL} z@@EjJ3$SV`#5no5j1>E-->^vA0%Zt6!6nT+D^gLzRQwdhqGV)j5@z6J<>zODsnwY4 zs5drX=i?03N_;7)A`gd7NENIsMZMlo2Nc^S>&x_#PJUx)dq`SKcg=^P0OXMceK>Xs zk9cehWy#JrG!iaILSkp}hPIOBwK^MWfeN*X4T14)a|VQY62y~${)*CUBrj7mb#pU^ zgCAK<4(8eVU)#7jxEOiNAuY+lDs*Q*Bs6`RUUP8L)}sXiE>B73;IAO^ipjwwi9^6P zE(+ft6I)g8%J0(F8=516%TwRY>Ck2zu2UU4F`+|`BaeA!3#UW(BH^!gh<;@lSS<;M z-o+g&a!G<_k zC;qVwQ7i-w>0N@Bz2Ptw>l4(tEND%V!Zl$#ApU)Q2dL@(GyE`rZcbIrv+Q|6T2W*% z8Ad6HUI zxnBDKPkhSoAT6fTs3|b51=7CJX^V7POQgjmt?|BaBX;?J=uM;GJ#JZXMEYQlknL#+CbV}^<2xejiGdQ zIL(kHOr)H8=9s$j?RYdxt1GX8$iQpb8vZe_tJ>Xw1DQu)I8I>MvLpG~Z@iF=&+#)= zrr9dfLF(685W5gmud831@C^-rvly5zXJK6ym3Bp?Zz0_ut?7&pMbXMyG+7k&EIsYF z25Rmg+V}~`v=Et$DgvhS*d;tOk@ZDPk7;JrLpw+`L!lH=f7JB!j||Y${ANN=W7t+? zE$Ar|vQE=eTZ%oSoGFer8C3MNnyEz@y*K2No|5F3&{IVNc+H`w=IrIHW;rN^<^B+h zmU^n+eJncarG9tkZ_?1I>USe!{Cv`oE2b;(_~;@TK(=5HAnp(50G@^iB5RhX!Nvkq zsncQRQ+L?|IEH1*u0S@|05Yffj>>e994IrV*60D0Z<%+?0Cq#+%5oNV1`rlB&%sE? zaE!$V42~cS_c-*j2hiN};Esk}vOkbsa%OA{07t10p5=%VQeDWd!c&8?YD8B%CB2~@ zEQtFs`%t*$nr~sc@J8PBtPrREqq=9ZC9Y01TidsA$;1y83CJ$Ts=&-?E zm$J2Fxl<77U5IuIpyYRqaxA=|rvU0keo)}7}p2jbYPsuQ!IA`3`|xS~RXu~I;uBEt859H=7Aq+3!Y><&|K7i&VWa1GtJPz4tIeENZ(^%gN~^&WRf`37 zi}gFC#XEJ2wP+E`zhT{A9gBLt{G~-2BS4pBVmxFSI8oGq*O6{*C05SzjHdR8>2DNR z3?iuora#XWIxSzPVfyo2snaOVm=B`MbCskup8l$3`fH7xm~}h8N0NfgW$+T}U)VVJ zJe@%bx47-M|FppUPrv;p){C5`trw}+f~fAK1*k3uFVmjJXhqiZWMD!Z0!;StgT;_I zY?^&Wa9 zSx4|rLrz@QmW|`;v`5^6;1jsE0>9FNNBg65C*VzXuXmXzIiE_lGw+2+C@|(f!z?z? zIWz-84cITxf}a(*6*PG*_0;qBTFTtbcbw-2sx&EMH%Y1Z_oAm*a;as~QZexd9^o>{ z8!F|eXq&T-qg?7g@_LSa@9Xf8@#{i={c*@z!@Vmt;R@ ztx`g1ZZ5eH8O;CgC6}mWS0NJq>M8}uxaKR^vR?vLvG&LoEp2sY5Qq8lvyzlErY=qG z=sdtY#^4;NlCZ&g?%!pPfMPCLw&O#)57C*NBE|@A_dr|WvhSvX%h0fqMIQ71Jq`++A>nVJu*a7`VX2H$0t(9)+9(7txX=9OCQ$a-`wq&k_6o{g znqs5O1Gx#5Ej)3rg)1EzX}cVhRU_eVpsWzxGY=Os zPN1+(|8}7afda^50OFS)n!wy`TOG{(dZ1wL{5x#Sbyb)v$lf1s9*Kzcg1L_l{>zvf z25AOIiyWTi7IANZ?gWi1+x}%Vws~66IBc_n z#%4kYMB`;p=NtmeK_2skA00GyLc-rb68K{u)qL_Jf16 z?MV0=D7(BBP2yg>}UdW8!)e1#C9&~gdQ{RRvUA}73Qk4 z_J_G^Kx2Zrhj2G5_O}LSmi+1Yv>M<7M_<3{U~aYyIx+V>6&G87U5`BGfbSj5J&%OH zfw@oG0dv_P@}vo(=MyP0ci?wTV9vmFZegxXreN;sTWri-qcC^jar?vENgy@B+>ADV z8FOO*E^xH)6$f*d%GeWg%b`9wn2R8fdEib5bEQc58V-%)Pa} z3Cs#!f)==y3S&^2zmgRXax@Hf!45M46|fxwf5+pvEnqU-cn z6X;rs8QelwALWd7*UdJ%Fb-TSlpWI)x-JHm1YO0g{xZ7m1B^h-2OAu8MP!tTt}mf2 zIn=crdCW874!WK|!rwqwCAwyIP~yu?U0tga(bdvy0$tNFTg;>*C+@(7P{8JB#+71>slLK^$K0xI=6kfj}G($~AH~wZnXyeZY(m0>_ z9PMi4*RA061FYZ{PS5{MaQZY%b*2I7JB8DSk7y02&?*#8Gx72}ar!*q2C{yxb5OWI zNP#G9x5+ndDCQkgsJdu+&yi)$$SnP-}s^xG!BAXV4?BN zU4q8raOa*$i3ck*c07D{X#5uTPC+C0cm$0&2oQ%)TFMP_t(!BCeE@djgrRKH7fiBj z)1QAR(A;~4vQ6(q<#9&LpauI+cCH$g>sm8cdyHiKJTupUcCNcru7H{AaOUb^<}xm` zTD)52I?l{>0&~%!h%LTq=Nh1L{aU8rI+MB9!z#sG58Ao9s$3tNxdt*9E%D5Cy`Agl z52TOJnz=?X*F9#gp?0nhR4&cTbvbigW9B-^&h;;q>oPOf4b0^?bG5T`RjXY6%v{yX z#XGPF*XI*0OkARJ9bx90%Ur*J0W(*PovW|P^~2=~6VS;rvLWuK9_oE05sXZfefGTzLxnOTaN zCBx1VQCSMiEbw&CNF2*7pIvGp;9`}flbPjEH4io&(EJF%79hv+f_r$C`}nLGpH1Qq zFrF1-^l0s?>VEaU*jV+`$==yMaBp0ChcjUiK}zt$e`&i}{>;YYdO8U+ri(Yyg?SJh z#n=TcA<$5q0~rk|4efIHjAQMzsoKvhLnMyONowE?Z~=SDS}#Hc zLij24VGME^1?D$ZaDWu7$WD~7UO5Tcl}T*h8|j2ehqyVsm;=sUFJk#efD-swcP%Zb z$eNajH-TUST7|0Jzz7?k-3uP_Io|B*-o+2ZkZ&}r0xq9dB#)GK9^kY6(o8Dal>XZ!8`GyD$*w^ck7CcMNQ_`jN5|j*R{rp-xi9&|F zVZ$h8Vgm%kj0{#sNJD3^I&7v&bzP)7mhaY5`3|Y&5oRkHI_O+|Z1+ya_xGegig-TB z(AXjR)!lQ?t(x8)(Y4Ud#O}R(OL>~h9lnb3doq(o8GO<>s#*nZJD0PPfr8FC)4n$D zN5z4L5|hA62s@m}fiSIP6}I#O1tnSDo0niPNCsCUGsBn1uRtp{(#PV5qM^}+f7$YuaVdM}R48>}lVn|cP*!Y&aG1^-(qIL~m@keYULdav} zup8Ql-`F)J1;M2i7~0o(8HM;gkX!*$%ErYA)4qz&cUQv8Us;JF!YF>>QnhSV6Sni4 zSWgFI8tU;k^yj%XOnj;Q0Arja0!WlW{j-+mvaW*5vZmF?`?4af6f^*zgR}61RA@G` z5(RjVRIGFriFJq`nw&96>${Cjoi$j;iz1h!gEHVH-~U@I1A36w!yens!U@z z9C9`gNUj7~)CCL5KobMtG~kcDV~j?L#8`7oLc=XohRzP?*_MzQOpn924hf{A0a+G2i#L{#mZP8(i;Jd1_+Li6kdJ zl8PT7G3Y)c~E1~0?rV<<3krio&;G@Ab$fZXrO9l9+>>o;P>#Axu4sz^p)wx zQH`yD_&j61TYN4@2IKuT6raBi^~2}Okr0Tr%MsrZ-)vB*d4MI?bir`P7fN%AMe(vO zn2xbX4i}ly*gtaUifLal)#W{SU&*~50Lp!@2m0}Yay@Eyk=Y$z&9$miJN8%pG~g~$ z%D05EG|sA?kI&vHuV=75Xu^owfE%y6;fr|BbcIi!c+V_Gu9D~uZ&Y)@X$6j}6dcpX z+i;XCIIh_(96`)16OMo$%E=W#)ZN_bDr^NvDY6M5o$+Ggr4>NF+$=KN594e=ZdQP7 z*l%|T>FEH%qpGv&7o(Iwqb^eeFA3L4gnk9l@fJk9+-dg^4OI|b>_Bvzf@t_|A^H^+ zJ41v^W9)0_+?Yusmtcl&R6$&}fnY{$0?|bBwZY{$LJ+39MHnK5(C?KR?V*O}KEFRP-z+?g#UaU1$LGn?i_zMMdvciZx zgrk;DY$Xwi9FEbcmN<+*%HOj(F zuLi-)#tRf?{;V*wIK#q>H+lqkLMnFD*=K@b#kXmOpZHpET()$M-BNwMv{YfX6j3dm z=W6L03d||vfJ0(PV@u6jxY2B3{rOg3CaM;WGF!M^wXikW#Jk}!%HC*c3oZ0+wS~j+ zW$Ai!-j@m4d5bW-EVF zt#o&_QiWA69aonltz}%5;!E%MdP5|^&ARo*XQ%H}o$-tZq>eiRP>DwF%Y2V^gGuW`J(*JhxLR-*-6 z3c`le9ab^k?k&q41H-7hi6-LB0j4D=stkeRo>4XwA1WwrY1c9oBT}Gv&jm$K6oe{i zLBU8P3JP8{xqB#n-6&8T=s>|!GoaOsR-o9-wrr2tIu{g2r9v?qKNS?ONRe8}3*I#q zp@Dcqa7HNC`{E+ik6II{%+vcdqyKjBBh4<+&-fJkuAqy8_KGeFO4f(YidUgtBWt)d zuWx%*y3+rAHRpKH3jOHxOB1T{WI83ogYC;ZB*MS3@;s}GfT|+Htm0!-k$A;;)c$^= z`o4aoYJz8!6Mr?{h_pp`o?_R17AjuxJAv3o4JBV=46rzPM%@G|hEH>se}OE?gwqAE zY2OI^Rj6Dhkgw)@)rD{yE`_`aND8?~Gkm>06k$ZU82R-}Sktfo^0F6Rlr^0L5Jv26 zvo*`Z^YrH&v#6##JP%;A1l3pbn`-tqtb2Z~Vs$XKBRM<|p$dZhjQgMTg_7;~4y^y}=cc4t0*n#ocOP!V2bw#+!$|t-XBV+9DCpEbsSD5M0ORu-K4m3J zyM2NBTzWh&KMG@PkM~&I0wKKq2@3KcarGK(eZ``4NuY>dqJGW6FEEA(tiq-G4G8bG z(-=#5DwoayI2obi0{TT0oJA7=q4UPRt}Kl2HJh0;aR74!_Kp~EpsESMVcrEWKGSez zo$RVF>V*KAk{^bHh6(KHyr?=Nz6DR$aqkEaXsHnqtai{dqM(?7UR#IOaLe>AV6m3Q z1EUY$wJ6hFvWVPQ?OVcBoN@Z1?LHZENC+wGJxZ|#SE-&{34GScs3%d%>3;L_zRJbw zkg7KVdzTyhb;BL-S7HGIo$q*z!vfXk1k4YpJ~$g#1%Do&wvTmA-~;3^K7Lc_KBxbo zn+iP{<(yWQZemUc#phr9LP+y8#NII{)O8S5L7h1O(7d&IBtUeX5jexQ)I1~5Cq4rM znr!qz6-yt&PpZ@q_CUwtYp}oUs~!tuV9Hqn(xLk-0q#)7S%L;xCODBw7`Nak(hT+y z5Xa&L=M=$8yc>0I@C?i%#^v(I=J8=3Ca7VGb@94=W~t@<2kb5~5D$)@o(_=fqYV0p zLqYS3@B~Y`2b)ah;VK+wIU5}b>N*32y^QZXVu}fwH4z6|N*YmW5oZsR9xZ3A>WU1X zx*ZTF6T&B@o=UhBRpC?utAY+BrxL)3pcI2RD=QkYSU(0k9P1i$J`QbZo=Y+<#*XWs z9>BNw6Zlh%>5^M&ahj(V%Wz&gRB@WH8q2&Lj@&j3Wm2V`5DsMSM*f5>V$7SBW6Qgo#}%3ad2r4z+Y?}RrgWX%&ZwOpEV00kAVfvHU zvJAm>)_C}WU)VsAi}{{OR3ff$ksZG_tv`v54tc5g^u~J?9KR)$hE+Uaz9F9QTs&Hc zC(LA`^N+_PA5iXs*c{Ip<>q*%!3)5)qCsHzyHJ?%vv225K(`u?7NBD?p$n+N&PyF^ ziPYjCpoRF)9Pee*1tHRInDNtVP^k;#bBJW$QlfV=$7GU@_z__9;#@L zf2IQdD|Y=({D1jpMeitX(mNppz2ngW{+awA!e5Rmn#0dj!2kHqzZ3p$0{@IW;kSeH z5Kg{pbFc?=CCucvV0qxTZkCtAZ`0`&{B|D~tY?tcA>gjP9uWz!AGR0tee;cK`k;FX zzgvkx%vd~{11dMn{fGFiLCr3hCH|Oi2~#1r27XGxZ<_pSJP@Vm8&NTjux)vPTvjlm z6suvD0PM!biLz3;;u|+xf2?x&VBA;^L?HYT>*0UKDJy)X>Icy)mPoRV}8A*Uo;+VgJcXfw>qi?dkH_%?g5?6Z%xY|3z)!rdy zdw%_ux$NU7!7Y$7Romw^Z+jbXVzu25pB-lGw9oqoWdDEGcSH(w-T-bn)I4|WR7jJ+ z%9d94>KksY>?!q2X=Ob(zeKIpOQICf0pvzqtbXoTElzhdJvOYTTmVts5wLn3q z^uwn;q!SwvFAFE#*LrXN6&(i&dn1PcT(MQ}CxhgPqIhM^1elQ^pst~wq<884fT_e> z0*@0YF=%B8+=d;qY&J3&ht!$-H@nqgT3FB0nhVsFne;#W`ZA-!^v29RG3=L z*Gdu|{Jp8wq#t~~%2#VDHCM*hp{u@HGqlWiKiYJS+ltZQcvtClhqW8gYrU|)Sbh5p z9^g7=>#Jq_QH<|1?!xZ_Y4NY{XRkG(m7)oetCmDJd7}f>5VTqBBH|5J7ooCE-A0|# za}IovF%k7Hk38<^OZVd4n6rfX($l|FU)qwo{yX|oTg>NX`qIQ#NDLB;0{YT{*nw=W zFRg|`lcq0)uadwNFJNSOp1amM&z-I{^+bhfTGL8uP5%TzDy?ZOu>_uQTtKv@9@|~x zHx%FE6Y!@P!Fs>%XK78>KO0%v3gyw6mH-WJ&5w^ova*snV_s7Q7 z1Y;G|{;G;f)bkf6f&ahA`Dup7IJU?exf=(`GXN$3H znhX~Pa9}Qm4a?`0?9$jI{JSAHkQ|s7j4c{Uj$Ktz4djel=#88Y$1RD zh9ezNQVn^>!O0vmHvSeGHKw5%;G~C@hVTnpP{_DIrT@vi(a@iKBixwCSN4Wdt(Kv= zU7wy#9PO&VR9lqxUB|*qAYuJH^IAr?I|gp`f~Ldp5{!lCz?gt8?lk^^NoWZHp`+wl z24#QQVT^Ho3MWu#z9|yWX4?pxEiUj|0NL1=9FYT?oZ5!xc7f~@&zDhL#HclXtzr%{ znQjaKY`!X_-)ub<2Io8EQ`h8 z{kX9Bsv^bWCjsSP@yC3HSz`rs)+;6$IoFcIR?JV7u=uKctM~|2yx1&0SruRZCHGA# z78s)<+f(cL6!gwT=oHikj0sIe4<%^Ru(-%f;C?4&!U2$!!~%Rgil~_|iz1r6r=7rZ zZhZ8D%!CjE#k4jHTCr{thpz$(kbSO&a80KGABYVGl}v>xYXBy~B1uX{IaHVq<1HB-qodCN}Ft*DZfr$*_ca-^hVSb?MUXr(DZjHRO_1yIxh9wp)W7(=& zR*@0v4{|SJ3k4N(5n7VpypczN3ESQf&~E6(CG;1dgX2C^#(gHneO>sgI5*XSwEKA2 zh-UMxSF>ky1PD?p5~O7j@sBPd!ch4$D1qoY^c<^Nq2fEY5J~qA)=L{B*7J1z@p{%1 ztyL{|v0A>~Zuvb(Jg$~cRxO9}_tdJgyEbocAKzlIO!Tj00sH{B8tsHI2Eu+HRm#Ia z3|l!&=_PXmv4I%6T1igIU_m{m_eCwo1?#pkc^LxjFdvvU8N;>yfIeh2TvuvLdl~|_ z2J;i4X@2cGWZ7v%CWCVIbF;B0hWiWpqnUFVe-cmY-QOvY95Q8V^4zR&Uzllw+5~`x zM#1@Vh+~I&nfeH?sBb5qkSDyE!_(_ZDosz1CT-}RYS&?&qp#wKu0-meU$*dy_|b(E zd6?&&=Q*mI0REiNKx7#r2YO0Ws50Mdcy@~amAx{^eorbqxTYaZp5+XgFQZukmJ=mY zBi@%FRyE>FS8m7V{R(Aw{Bn2y5+d*6BZiW}q5514{`Mc0P9_g>5X!fpCf z^WFmE3D&BW_KLN;UpZ0dOah>+U(--X{zw8!FsQ9lX@@E43*IPGD-UQyQ@ z9C2i&(F-l$Gg$a7Y*|?kywSH2>a{qw6;fq2GPo=V&G$E}zRUB+My|q5MgCaDLcey5 zbaXR05nYyb`0vF^>fo)Rg%?8VT0q*XBkk#B$;#<%lP3keC5G|+WkeMiKpvUPmm04Q z;)MfP=`m|+;H=wd^Cx4a$_x@|3TS5pW8WG#p+c~#s1HSq$DGf`AbcQ8C#M=vX3_QE zAc48~#V%YwBYygC0L37#R*CsAGAQt;boxbfqqA@<=(8(?6myq$1=5UTcRWZr58KDvoQsG)faU-i$21LY!7*>1pJDGUQ$OY55}&@^(TFKtmni@ z07LIG4KmhYRvL$WAP`sjH4aR z!B?z6m?7TCy%>U0tw)X^wAv_ouI5_hM)GTU3dzrW(S%iZAaFQDn6C5g?<54B^ygXI0I|03gbi1WE>MV@Oi%lPBFG@w+M@S3z{_J)76y)Q0> z+xden*xTTbO#T3O(ng5OSrf67Rat8)Ru_OgaP|h{(ZrQTRH}2%aFpO~>q+q-s(jKB z;`dD;TP*Jy)S*1&?+hQ9I3D)nQs|cW6*?k-%af@D^ao9Y;cXPDfvW@v{EmN`@=6gp ztmKskpSQRGSGQ}B!PxecDYL91p~a3d)t!M@)oARt)SW%%mZycMv${~2j0U&~+uHYWz z1(=sWZS33RD)jj{zjk4EF#m_}CyAp}Z05uv>VB2P{wmUcqAjAI@m`!%M@px9`@UVV zmk!0it-`_p|IM~sL)QElds5xS{UqV#Urupr&?h#vz3`V~vIbtA@l`>+T zTX#r5g3O!quLXNi(l}PgqL?1pp8f#c9|T_Qf(}(4JgF)_ZMf{^rmy zdkydW1vUp<_Izxoa=dUxNXBcUTB=vccpagX_stlu>{qC}C-!}XI#r@gY z7C^TF(6?5T2_WF*xy_)3-2R&l@Z0NB0WN}^AoP#xns*1UGXhroCOuOnp(i-B>_1~> z`fiQn2qajg;~-sZxAz|lk0xz=S6p<=xrAuwirj5^{U#yWPcJ6Xh7Po*+{XChBz?+x z^YOx68=(?Cl0)P}$qt=r6Uolcab@B$l}JZZLLWuaABacERTfcfU>!~@(dnr`B$gvJ4xf7 z30(L0r0)!N>pNw=WSIi?q13EwS>Gvv*<+;uEc#B704$a=Z}bXGv9!t63cV;F$+!G5 zu3&Yr&?Id1)CaO zfm^pGxcF6?J&ke*qWsSxk|7wE#{RW{=-00S8Ei3nkEh9L$$SDBg27?@6sK!yzH@(S zv#|y+TKTv?bqh;m2DFETXlFGD!^nr7fo{k4bnN$O>U5<1#`#!P?gu(%AuD4zab=wv z^lMp;6q|D@B;;YMX|Czt3oIC`Rvm=fA<~I$$)WzLrd2a@M0*Jp7EZ(fg^%$iZ;_oz zlO6pfF_8Sbs_EU(Q5gEeeN{_HXc?i-?j8aj;a=Y8rDUXsB8)wA*{P*S^=S{WV*6Hb zUWonVSW0MHj9>ALt`%7i=P$g`yV)l+cZg4u=HP3I<1(cCR=;V|AOP0t)jDgTWzN%V5e7Jo{>`}f!(h8Nykuo@M z=+U7_asYy@0xmN{y85+Y5TU1L`(x+hISf{>QC)EyGjwV|ySEG_{IOxs$<5b6$mT;9 zonHdUXgMD|vld?H)8^&jS8};8CNCvgts2ZIA%uQVF~#^C2xVt`p%caVyQWWr>1Gbw z5W3L>{D8hlxR-V>r;iLKS=u$uvXvqbS5ZbLw`0TdP=3FVgRlhWx4lbtf&6|Q`4e&d#YA^Mv9X0ei2j(_K4 zh`)Nz)##G5eh9xAYVsSO7Ea|fjVFQAY3MlpKw8+il&wpf6? zlxRzu@$ddULD1hiX7!bEJgiP(Vlf<5;k2%V9NTU(z`n-9PzrE(E-<0I(n zqJCg+l>ep7@1effZ}lEyB;xx+csLO%iw~-#-eq>o@eH^L@5c2H$sG$@M%dRre1}&U z=01~$t$PYTg6vw4WF=ptlWF!;y)Xj}!k_x9k?;@jbYtuFo}=(!>nObKVZdSEcJ~#2 z89U~|Ga+_-(rNz})&8ay+wb|2tNk>7h&G(cZ(-&4tIEH1D&MFoU!7X{@su$!-IuA# zBOrJ3oZZ#mo%QFd`d@eIZ&3Buv{--PBdPVL*=t}8D0^Zbcqr^h<>B$a9sf&m(wxe| zBTyXNryiWu9_$gr>phuF4{FDMGMqOr^jVHaY5sPc`{T5wl}hM6s9`z8kAN1;F(q^7 z7pzRl4$q;WW#yF(?l!^!=;&LJ<^$2<{7<6?&H~?gSSw&T!!8VLCEn-_lz=r)Hd=Cd zx%E}}@AK1nLR=R9)9AmM|LIQS%VAvb3X4!3{PWO-Gw~MG`gD?>q&jZV>z#($#y1#kAt3$Nqvl>RkdPNgDnfd7OKAa*Ke^Tt4BrA^Z)t2e?AO-bQ1;3@OCPJA*Ofs%A`4F11tOQac*PWKa@sn-`mLS#tHH*sMp9jBG*GZZcWZyG;qHeZv*X#(8;Gyi-Gw=K_4 z#dXE%WbZf8e{`2cg)kwln@5QkB>#deW#+|Ok8?5TfjjJivFm!t;Lh$3ih;tZUk6Ot zi|FqCRnji;mF0f?xcJwQsBL&Ge^QJ&_^34x)&?P0={MlM&w&s#W?Ttt?xZ=`{LNoc zaUKSI!eFh(dKmXZCB5H6t;Mia&xA2R?C;^;X^MwS|4&>0sHILtO9*lkxOAW&wNL+R zDhJ(t|58`Ay5BVEP8o@v^DhpR1LBT+xjnsSIzz^PS)%kDSTPvG_z0e7M>~#h5S9&8kkR5EJ z%D1n(jVb|c9IenB9%0~w71$L4@s4l|DX$)_cB(uL&~U0=S;&@sS|~^D7=|vEJ;P&; zQJL1)Ba>dy2w$QPl6NyN40waF@ze;Td8mX!22Et4YiNxQmC1Z8)h1^L3npW;Y#M}w z_@BXj-7AvXl$;DG5?v%eV9f`tDcfm{CXf@*zEfW})^`$RaNY9}idexUo*IOqmMcHA zz?~h(o9B=RQJqAQ4dtWIBZ8BCtOWtvGHx%l*5q}q^aEdPa4y`FC}rWW@R0UpgQajOaU`L zKRXzEmPxqrd=(x}$4|swUgA&4neEqLeTCZ(pLG45s~^B5D^pATzz_(!=Tk5> ztvqPtyxx?oYVu6K2u^L!b)nfE{!{B}Il!KUET3-mKLhOXVPv%F?B+(=WBuB2tQ4<~ z(9X?e6+An9KWj0qZ0p60@3KyrYK`bN&FG(d5CsHKHt&LH4Lr|sV!dRA0QdgwG+4MC z9`6G2qufz*IoJU5lDoO|n>>6Zei&tUl85)X6PMa6Htx9{uMm7@%EM;l5Nb7E2qHFVgt~{6$I4T1}Sdm)Kxf zh?gY=paJ8zaqtkK;Rdb^-pG|m=WZT$%WZ!KzgBoZ#317_#HUm{lWhdr0?(C5mix$k z{61n1Cju%zUCp2#NDRc@G%!nS z8IsB{5MHj^Q-Y-$GDPc;uE7ZxlV)HNKI|yiZ%%lX6zOR?6!N#ZX^PD6s-KuO zg`eZqpY&|x1Gb96`qf(*Vr?ru7OscK!eipGP_fD=9J?LP3126=!W6X1I2FIljZm*7 z94!gl$W)u6?hQBB{uSg8-E$rnMIrPDj&ydZr!NyK-vp->7nO&z;~|Wb$ZtE1SBrs! zs=}s2Ed62&-k@Ks!UO9kq`?&Z;w2>ihx*0&sKT|rS^7~wB&YGWX7t=lUfgN4QSg_e zw9=2R#T(!sibo6Z=Og()g#V+1Q{cDsqoqjR6a1~n7qb6{7%mIQePZtiVn5RNK=a%N zhgJF>iFMU;4ObwHu{H#YaL1LM$k37&L%VaS40RiL%eaQx8|jED#o>jKYW*-vQ@hqZ zXMvT85H$-N&p+!<@f~1Bw2oa9+RCu&yg)c zWRb7jkHdN}3XyItpJ!uo2{$IaksX+=_;xJ%V1FBCe)~jyD{_D9Bj3R3uDl=C)+mkR zKJEG-?G(htamZ^SqIwD3cD*k~v(VqFrW3r;JY2IU|@X`KZ01)j|3^r&3r6FF>%a$1tq{qo-V>yNu;-(ywLHj zAP!{8ku#FTi=ET3Gs+n23AfO4yTh;D%MmudUyZFK_`Yf$|1#TqE_9SJp&tyLOX-M*Pd%Ma z;SK6o9x2eZudn*AHrUr4U~RBpI$bu{*8&oT`ML`2V!hw8NciIFI;XuS6SptSj0qYf z9;btm_!lVT^Da@tLgcKHgr!abgQ@tuFE|PRl7ttXgn3B#!RPJaq-aR_J|*Qwq*x>d zihCI_8(*BGsBk_8!1e7}ep_jN`*-TM$NBAX^V^ElZx8d^-R8H?Q@`EAZ&TH`=q7x# zNOKaW!8)u22(>HWPuAnz>aK~hT37z6rnZO?hS3RVx{z`VK4?10jB!Kd=tTTy6G4jf zk^k`Y{G?Ch4^N8!!n}xPf*e(Kh%to~Eh7+O!cq_r~%fwp3zzM%JD!zvys+ zFd9G+JR>m=HG$K(k9jT6M!mEetNVP*gE0^*#o9l4zCTG<#Cd99;BWC5DgoWSb}(iI zoFUIZ6|7s(d4=$qTp~)-$wU0w;!OFX_nA-NvXGm6t`y2pE{idME_lFVe6*yJ*c#*B zmzt7^iSD_2`o7j&eX(5T>ZymQxmpfz;zQsc?9T16bH`NfOfz>SbHfM+fp@2Ie_sj; z6$>$3N3v7N(uMHLoZEbjEt!i2)*JZ|)T@lBuW{9I6x!#gf;V5<|LO*5T9(y;9XCh^ zt^oqcY;=NjJ7SoMX~G-rgV!|kM9TwC)5J#w986E2#WsubMi_rJ{xuk4PQn!-L*7XCne7=yM946v{y=91??P9YjI-0cQ|8OAc8sogRB5cQTp1 z*5&X-v(Cq-AcK2FyBgiKRlJ!Ak{Hqj3~_)Zacg!;+l zBB!B~0C5}Iv5<5B3q;N^cEy>TRemBxy z!bg07>oEClU8sYlj3|LZ)5#u#TF<{{K`PDv(Hkif!c!o}1Qfs4xe=IV4H+R=v?|K{ zvCoa4LCG9j{IM=b%qQhuH9zm?`uvsI>39Ob0+_=93^c!W z)I^`kCqv|=6euyh;^EmdXi)M- zuLfKTGeHH4zbb_5eY&xr?&Ajz0VG^SCDY+L&J#WRV0qdhWisJPg_|nlJ2^eH!q-5P z#$WOXE6<^PKU-nt0VE4nrt*97EMf&BC8-Fx#v&05MXL9{OPuaVfmt>a-NLiNOSiMw zR!Q#GWdAI6yu@?-KJ0aeGw{H&1MFM@6Azu|dmhIxNly?<|*`mA@^=`%d-mHV|fy7M549VKYfHcGb2W8*84najnMXV}YyaH>5m7e4@^ z-?dy|#$LC-!*C3Y2`6Zy%pm$%CBTmvP8S?wR|lJ8;G|3q*365aYf91|vM;iO=DVS{ zGGZ5I%P@a=2Zr$(bU_jS{s$kLPZ)`RjQ9(Mpxnf-d-}DL zQ67qi`!pVizmQ*&o&kKcFv{N>|2|!fGR^>F;4J4#I4#-lGQ=KKASm}nCwiIFwMu&< z|3FfUD|P%0Fw*& zmOe)oA^cF$=J?o6gpW@W!~D2_bVaN%vmZ-;7JpceQ3LnWac~5|V{<3;8|!CX;k^VOgGB zB>qv--F$kpHDg-q)UN*_oVx8)M1kDCak-Ay=J_E z%pAHidi}3ScgN;EknV@butO{uu-wj;wFL^EDK(Jzmyz@7p7=}-Dn!_#;f_J=Pk1-Z zyip8ly`ZKlgIY9?+O8I53MP|vbVmZ?K|x@0v)P9hM&+o$HlCxe$4JGNn`S<4|KN3j z$ZoL7bv)#DQJ4xn=91^Dc@7i>1I;y0HYIP>i=@@Nv!p9dWAghIHZ$=EDDxlJDL`;_qGfVSu;+SG^kNfaWRps-u~GrCID+leE5veujNk*dUI| zSPHoW>z{m9JEPvn4IB}zv<@DmFa{0H^2f04h_Veu+03oX6PEN`QjJz1BZlWI6GaLY zN6!LP#CJek;GjR#!ya@R;r7U;X(;)9>$);1JMttfK5 zXlH@?f4kVpaJ-HnP`d^3ab!Rc97oD(CUM>UvoOfPSle#^-$;|V#*&q^WE+W}!!ON| zmbWK}4rhkuy<{Mu zuW3&jY*X1~uqWYM8x8xWFA^LOF|@`3>T{RojE%dR&Xj*0voSXO@;22(qGd$YOfHz)WKSBL}NLH{}xw?#AMEit-1E} zeUSzBBxNz|&hMJOY(#S!IfMeso*Ln?``^__GqMd?3ncY>fRO5W39=XvblCTHfTvDo z4lQ@H?{3IrJUW%^`|HqID0C1K0L?^Y<`aLVeU!NmI;PHlJ}e{+fd`?r91d zNYJK?7N?B84|x2eu5sUv6Z!EE@W)tyN`*m(hV2R7UcV3C7C`kz&LMN(9Z~Tz4&#vj zEl>=&zFVMfLk45UasNY1?S4>8cz)3{{O_(2?e--`v&qNHY z^^XVi-^4%bH=m#3_hwgG67L5A$<6$Q;eS$tm0aS_B4SSM6s$KGqO3>M5WxopyHDTV zK(BZlYtuXC{M63vfRa7WjEFGM)98ASXrc|2N)hvPg# zc>FP02K`s8=B8*s@7vkjp8w4_9a9Vp4VzgiOR_GQzjfN%@qa-_f-_Wv>m_Bw%*(l+ z!|_3!`luY=S~(w|szu!nXpzopCtH;8fOcDF-t!00)cUM*z4d1F7!0C&s<#8|D#x*qo{XqdpZkR)+1xPmfcWKL}w0nth?!w~% zTJgScK%45@Jj{ad2E)8B1lwfd_v7k!Z~o@@C)Drm{M{D6pH#mgf7P|~7cxS@v_<}8 zV+r`Hv%3=@imZ!I>Fpt%Pt^J8SWrX zhE9boLxAUb!=aL~e|F%Ck7ZvR!AWA#Imq2moV}W8PwXq(cT57(ho9q!e3{2k6l1uz zao4y-zEhFMcJo>~vsv$pHWB*o# zjQztuVC+A;-x_^hQWO*Y6AmTXvc;LqlZKFKPcoI2jWJ<|) zD6h`Y@p_6WSu7ZAR!M z7ezi#igX3X6n>IMpXQy5m={7nv5)-vq5IXh%jW!Tglmb5YnZ6_>x&P}0%{p~FgdhH zHYCJ<(}kCCpI|Hz!0AQJ3I1?6BRtFz`k@unj`tumeiRAyGqib6KZktJ>1>hjLsz-U zcM9?tKTK5Q+Yf~G!RR_ej47f*OT)b+}3BcimPDXqWq1 zrQdKd;?nJjd=Z_4liZ==2suq6+u`Smy211F@WED{GLfM8wU5qv{07cIC5ox?O6&VS zn5M=FXfr0Hjqlt#e#d>W1AuM><=UUNF5KRAwAIxgKa#F)$9<~CX@6-_mJ95sP9ZG% zB688>aJU~L*T5^rUt!D~TqD)-wXEm zNt7UaypcaealvS1$bPTPPgnbr8A6XvbvIq!a3 zu(BfVb8&aM_8B7&Z!sP{Fyfg4jEG^i99^&stEb)z!)jf#_{hlr;k8!&u}=PR@!#%2 zoE`ftjU{g&|D$&P5_kT$Tg;zwJ`d;e%1~Gim6(38M>tg&x1k2q|Lb^rsBvjcQK&b( zXEHb9s0-wmZ}31AtD|vfCwGpDYne2jI#Spojy|Y;8Ya z%N`Q$vK$hCT;L89Q3DLJ>u4fsFYn?H3zPFO;9WWZ&uTiaUXQ6{amtkAd-2-4QxWJK z={4^QDBmBP2_YJA|I>Z8lm-M8a{-hA^f{Fq*PuFl><0-+b}IgIma|iFE8Y!#g6ve( zY`1qR>hKC8WQuF2LhgmYP6daT#?|xbWc8;mI&iMObTvg^}{m2>QiNd`~ zZuAR|6>N- zA{%S|e1K&91bV}oKbZAjh${{v5J9^X<4ah#>nrTr#v8o}_!2^VNrp>bbf|P}-a@JT z6XU#&I1izB7=ogS(@{qTUgEsmed*C?(JIs_wNMvTs2lS7W1VxBWWbXBGP1)p3U4^$ zgKN=H0+a*kVG9m@7|$LI8qqzKTm=ya5nM~HJR9YvW1U?sjcqmN&k<^#3fW7jx$#V) zX7JsEaZ4S7=$B)3LY#ueqH)Tl9SPHkfpZ$7=hvOKT&+Y&PN2>)0lY$3j-+KRi^f*!%Iw)_oH#!(Z;MZm?KvLqM z>Uk=!O~Ve=!k&dCi9jj(1))ZFp*?6@CZwG#NY{<7&A=}P5E!HRf*yS#AF*hYJoF49vgjQCYAEUo>|pgTqN>3s zH^2A!nMzfssYNjHV_C}4D@5M}b_}jeX(Qn&jcq8A!HPu)3%Wv2$Le;*-;G`heTEPLG)b2%UoPUa8 z%`EzC2N3isX8nqwaLm2{n;x?_Ap>@Qhu%U*NsE<3$mbn;A&D1hv2w_(>HHh||DCoZ z;f?+se4K}oX071Tf*O4QJ5%}5NjBl|VH$Y?0nwB*7Ui6b@?ImtU+4V$@ zrf=mVb;KK@1`=gB8=|Y7*Hz9dOPLv1kG$$#PW}@Y7&w-HnoTL2{)~B$2OY=q{gA=X z$H=xWqjR?wNIgBiW;(v~!m*s$lflCR+|;E=xuh%p7}rCDMiTTz8TOZj5^yNZ7=?Xl zdr)yYzqc0|_1QyFG@#v4#z#sp_7^27Ih(HBI6a2N|FS!rA&QIxl^8d6fQ$jk2_K#) zR1`EHFvOSRk6IT=F$b=-DCVv~LNWVoP!#i|qL`y2LNVn)qsyLd@4_It+4!Z7JP6Di zd5NosGV5~On-z&u5_W*P@e>QEUjqVE7`O9~jQ_2GidFqLfXdkuP;FCy`g)B8RG9*5 z{Z|U8B?_qRHxnppVqy#@1OF}H;%Qz`vpZbi?3GJ^NR8J6`<#LCL*OEW;aUI+9?zvu zq`Y0Ym8SPvOHjWh)&w-eLPKYEIO1=|WujKx{UZ_J8Pxwx?wXHyXLXuSJeDZE9JPblZ`pO)Zx{V|rIU#HN-l3DHh`G(;pD zdIT1&YT$cA$p@S>=-%a-WY;dMm?IWSPkl85u{erST7I>V%AhYX^{T5W77{pDQOl^( z4qddgQVboMsol!0Rvlgu`p6GpPUFJ4fvyI+X9vCiwfQ`37SsiSrTM>v3gAFG-;R$N z!d4$7jH@uY!QiqbfNZefQQ|lJMZ(Kn>*#Z62r6x{RQl7U=Gp@vlOYF?B`|#KlNY*~ z(TB)mWQfw;c9NL$#;C#0ZcrQaMGT)_)x|0DisHfW1 z;qm(u5}N22PZYh+Xj~((D`9mc59;Y!b}kJ{MedH=n@c zpsw|9-jA>lX^1(rSba}Mauy;V9K070mPPwfPr+j9IYtL-U4VLjPov$%$oWO6( zP~w~JFTx-UMGV76fBqZZ$Rd1j(J#VdFv0@*bW=G`$Q+~Yb+|W&u41pE_8Q#$Yg;fT z&FTFf1{>&K{~=K7EnZ~;`W)`bHnvXZ8clo!-4^^TuoE z9Gmhwe6kAz20Ka%+Zxc%6&L<~k`UU8Pl1g#Sf+0^o3!Ts8onF$935-?cQggDpT*X+bnWL3A1+nu0aDRfsNV4WdQ8h!h8?Jjqzt7Q&-3 zXCI53eK!)o;cUzYAZzgwd=f9l**Is%JqNm(Jb;AOjkc}EQ^NSxfKTN@mLMQ_h2Rca z)_gspLF5p zHA>2Z%tsCCz#E&A@qgN-+e_)tD3n}bm-MTWb!JJNUCc;NZQ7-bNGmc%_{(*5sl=fLGC^EYAG>4m6_E_3iReUhrlLKK-j44-vi&#+sF2cJp zEhwRta%FWxXeG#H13;Cw^Ky3t`O4*r=57GihqU!M&~Qs70OEgvh5_Z~bBg&a{1I-?Jd2$r zL`R#D5uR^$5_3+Jup=lFep1cG2F`hrf| zc_ScRm%GP9#e=B&E|&`z?)UTYem{iX)viQ%pf2N&$7G~3>uo~@L}m6WI3PRXR3S1L zb%TCM)~pAaiw;l;K8p)ZRw3^(_!?;Sh+f+MQM!JMn6<_n5Thu!T`^q7t?U~0TF$yV z!5*>4OJY^l7X(Sgs*BWO#z<4EEsUhmwKJ~8^aVIYke^EyLXTztOA8*YM4jHMTTuf0 zX61vlKdtv88siyQSr;1f4#9m(R;rGhnQpTa`mQ&AO14pD8rrQ#B^kbC1HzE`^4Cqr z)npYl*g7bI)FdlBhk0RVRyG*TV-tzjJUw$56>;3vqTiUU?xs<$(}?p2<~mibR{;9f zA7`>c2=KR~rx*Z+3AAR*GJH0Q17b+-BpI!@(@2#+BEUa z>8S9nja!9X3LKg&FEh3XwOL)0-Lp)WqBS0BBoR=bj}#Q#S&829FxlOni)4(-^Hwt*W6(8 z=ek(20_)zC3cZm(OGbvME9Q(%gD-v|K1)Hbx*5z3jW<$g7H(edIDAp@F%d~G4@kib zZ8?6X?6)yKGA4r+Jn*4kIJIVi>5sxO>i2Ny9Tgy&pgL3i7uF`bUgkAouZdaexk{$z zZ@VrpafGEWBP^hHm|wF$!JX&4a$LV{e)m`P{UjrF1aF(l|6$s;L0a)fQIQ%FJ(d0p zd)dJ<&4+*z0w~#T4fjGB*)q1q&OX=p>R?Xp!?q>|Wrc^8YGss*jltdfQc28^3r zhvj5d@T&EB=W2bsbLg_q)jM}LKK%)OZ9tifjB~Z=-DMFj8KUz|C^yvO6=L2IE^K=H z8%hSWetxZ;Om=GQhM_aD0cIjq9U%>!!RoMb$o6j+sg6O%E@`QJX=?dSEPv3s`q=KB zjMMPR1!*onjUA$2-97i*s_ET(Ww4!z-Fx|#DwhB^#2LZNq)|rGCg(&2Za-Jms5lEh zNQEX@u0$mzy*ELOTg5BphUlTm8Mqv98=E?7u#Oi+E=LQw%ptv;CjCgGw=PUn^ac@S z)gW#9HX-3rgY}8q7+h{!c1EbjU_G=g`xOogW|!D+GuIiTp*mrDVaDeWZVqR`+0!-{ zukT=$)?_vr4u_l#1d_PQyQD5yPzIXd7Oy|{jxiS{5@StthK6%IgrA&^c==f=IJ^cq zo8fSbB-%KvTHZ+z_!>vN5Z`zUEBT_)3qNeguxPpiK2Dmm4X2K`0HXiKzfW7JXT|TV zpYdZXSklW*!MAGE_tSsjUlMhkiTVcP-*QZxpYf0N_QibP+xlm@@@{awTjf___B#y4 zmKS=-TreZ>x*dS1pQXjyzHU2)J}ut%MMy)uZFT7H3gff;c0+tl1Uj>qFA*5ecVp3jWKvTo>=nfO1$IBtK~ zZmU*wMZuw};Fqf4jy)9oc0aRVgXbt42G60Yjw|1h#;4)Ya^r2J@yDz>w8FIn9=zZn zWq7=LKN=oAA2PMU^C}*KdA;zj#D(tpxAe8oaMjL*EwwZBO4W$ZX=FxfBkffqCu<{?{tvBYQcEEa2J}{%XBDlUo4#&fS zb$Ic|=7|MJ_XObdE2fP(g^p<>f_LM-0(ysxt5$~lk~v^})h^41x!+k)4f|6weIFEe zL&T16xY5u->0F=WK%?Hr*Wmg#)%xMzzZue5@rZf1}*)dNXa(@iBt2E|U)B zP{ZzV_%p6Zox;pQBwrHu~_idG5 zy&#H&%AtOrg7GYz@Fwzwna?sR=!N@2S2r$p(z0PtGVi~=SJ9<)D9^cVJs6v29mz}V zqmF2qp&8MWX6obDDe7ZrPyOLq`!3EQB%V?zm#cAiz%+6_pfB~7d;^A>JlI6@!Y%A3 zck2%5=SK7A$Y5NYC&q1Wqz4A)58p=$yj{E!cq^0<9cY>W&Xk5>>Lxkgj&6&IgGcr{ zGM_d?j5a|%JQs77`*>mqS2vg9qUU5u-Hwt~2-ol+iURsmHZ#ik!VFT8XDjI;zaF8A zNrl>FxxS@L3brjwPUeM$<6(1K$E#ZBVvyNB-QCr#hrfl_$A85y=-)%+YC^YB(L9@% zX78jjdGRLBZCc{ur(=CJUvu#aWZ!j=iR}Ium4NI8KMbbi*z%?#gR%V#BKvDq6h||$ zbO+!}XBuN6!T7^cZ4a}%8?b7^?;jXP%mL~O#^dolyB1V1rq zE(RYrIg(Esz%jr5K4k0tTJQIwua$@M8)r<#w3*<)^!1>YBf;S>F4d>!_^AYsF3tZn z)QzKN?yrS8e8#6hCgx^W6#(tmFcb%8Tk+Y~fP-_;Y692tBH5>v=9wFL3;5{-0>n)g zTp#~+sn|e*Agx`Ni-@aHfZv6lf^3i1l9o@5v|McMoKxo zlBIP}Ar`cJhJS%9IL9-e?uo54do;9n>pe32&`$b*l`s!GF}!d5ACq>|n^38Je!mn` zm1lylG3SS6wsZE|()=aJW1fw-QAhY`Gvg8dG;}B&m`8HdfTbScze|qr^O9_AKndn- zgP}Ka4`%@ON#JwW;$SDPCy(w47)-pr!2*KUFz}ilkGlj&#VYq0GAVmvOR+ZX^AycU zD{&WFTWZ*?EwV>(H?7S=QVt;7>&_)98* zdx+~2^V57~F7vg_d7WUrrc;G|qPIng@M~$ZLiz#z_*=5qDN^g6@rr}D@h4G0O$~4K zVZ5hK4{wA@lMre8{cZ7w@Wq@|dwnB5!NI9LGxmh0+Xi%to+wl7d=(l zxvJ9+6>f^c;q`urvWkOH?1ne;8xR|WV>nyUdwSU8wGMKjPw{?eoMxONVEp7u!aIg@ zjNs6iMy`e~vOGYV!(V0}v_n@HYqKcPDUdcBQ^%l(DsP)J{#cam6?=8QdG*I!umjpH zR=cL_22Sai%k+f+2r`}CF@BEBFMTOE>rdmkR4dr*qNc}L`uXMzf`lkR^03ahrkrnP z5a-L+w_!8dy+jg)D?H5oqyJ~;o9_oqkP7Yd&Fn&p=bNWU#Hjm*ujO3bF__KcMCq2GMS5l4GZ zpI|~^(_FK$zuX%8O+_;Hch+L;e;sR$eKT)EZ*(JgsaefSrZC0vZ+^a+!|aWc#xQk= z7Z}tNBTaeVIp2K5i)gU}<{||DgL|*VBE^HvCj+kdMfd|35pYr*Y<>@DgamDV-=E+6 z;g8zy(LMX(7!jB_l+0WfQKy zd7nRgp82g@L8E!j-+i9B32q)PE@7g&rSr@$KvETSg!8da3JVctIYQ_FkGL>xh0CJ{ z@*MPAeq=f_gf~;ct^AyX`6&oxMH`1)r>(Qd_3cyKAmUUi-sW&$~+i^Z!Gr?sY&W%*+~#+)Z_a*UbZI4NldwO%PSh%GUuY5@Od-yG(T zo3-j#M)%C$m%Vq6G2d$S@RSFnhsl@F!>h2iiT(niq7sdms}ADXTPK^~JBCq)@sy8MGFL&#s?f3VJK1?9AQ??-xe$9sIT^xX zWjdqW<}#hx2d?L$&5Y0+kQ>ObGvKMIMVV$FxOVy`{DI0+CuqO2*J+)GnR&64r! zff3{9HEqC99DDb0oZT1=7S)s1XH$`lK8wcLQA1oWH}~Htb2z!CRk^35p9zeaY&K`sjDy0mv>9`T*1` zfTcw$JFC4(Wf+__1wvSlf$@s<*jKYaXwLAA;z*g+2JuGqzOaZbcwZQ~I;fRY1~pus zp_jl7xm`|jI4+`YsA~EEySf-mUsduqZ-jOtx{gJ48DDHr%N;3gP(KVXH4uBinQ?_r z2XAyd(!4K@mS~W{0yK<}A$p(J!J19Nf$;|MzK0DVOftHT|4vFoJ>uDozGAMAX{MOO z_+l`;4H)`ARCmo4;4^4nV>wUK)IkrQ0AIyS8A7AxL-1U70B7$-Y5UCx;|dDw_uU# zIw=&B^xM)Fy6%nSpc+@3*8X3!{>OKLN{m-N;`9OjWj`wRvv!BrZuLG~wQizzZpI7NqoMzMQOFKdw%2sCW;*a5NQ`( zJ!XU}a|8qBx^i32=l@6kKqr5U!_V{7)NOOVW|BgSBSNyOc`~UrcOkbk^l|PVuxh`I0J+1nVR&V7Wrxy-DoK`Hqh5x|H z{9fIou@aQ{UVL`Kts@c6Ff>m7OqjY-PU;*uM2X?>_~Z zG|V}Ls3>)?{e||yIA@PrF7>EaOP)^m2U2djkXfIBAnlKdzmNs9Wxu6}`CGkb#k>2+ zwbzA^u0`aI9Oa1I<#;!=BPeor8HoPEf*3;ps?rWJaYQyN-6^ z{>#EuJ@$bJw?iCllne2WM|LHZJyqa4e|Tl#NvH=V&Ue6q>pflgBeB2uo9r~Y!J!5B zvt}?cbTJ|h?Oes}>^`gUXucohS%zfT7DH!3qaU0VMlf=>zxuxjw*zo9`75ELuj5gL zBO@aUm8che1|r!hYUxAiTa|_DF$}$T@S@YW{_rjcYkXbq^w+w{9ck)(yWH=9sNI!Wpv_csD*iT#hCc$$;T#k{?(pa;ZnWKfOr$-F!bv!Dic79eUxF z^S1l@!*6jZnE`(U9__r7zp7@GBaAQ3AC=?$(F9nE($61F;Q1ql@rA1Z!uYyf1>EO7 z((D;9rz9RS;kUMOb_c&hRdN-!1;2HE$iDv_-kFt!<8ViChBx|8XcG0Fq4<#r<9=`0 zlS{QpQv&*c34WX+h2Jck0H{+ze+_73b8_j46x6SB-Sd72rfV=3H@XBM?A!OeU$3rt z_eRbTRe*M2GvAMX=#5n28!ls?u^AO)tBcfesg_)%enoaLR@MoXwr8cu zqC7K3z-4gsdJx)9;wGn3u}ED41wC=N%rByTDcu<5!*YBe+8-Neo)Zohu#!=%yn0koCbz9l@p!(eZx24XvL5QFgb$E?B)zgUD0z+OL$&B;}G-`@)S_IaW$T%w9& zTh+uG>ly|MgY=hlV3%P=eugkyyDWiDWwyTW#2W-X4F@cHrY9^6zZ2gk8K=+_Y=o;pW3uvi?iy&>2v@-# zZ2J?$7G=|tV#_?&9d53QFT*F#Vvzr$f8MfeF&=h8cGGy+l_g<uxrHV7K5U~d4Gu{B=2G@xT?CrGl1uxwS6P|A|3USW|^_}Bg()sM@ z+VV5~m*V=P4wnt^WN5{+`o2W-(6NnZ`80&wYjJv)VFnS*B0X2rP()Sa27VOB_8jVLclMMC>QYPHdr;|N4FE3sqtsjfZ=A3Fy+`oeG!2R>X(5B z%N_K%PZx_1&zlBgPt!>TSJ)CQRTY&Pp&Ly5UF9p4NXrP1qF>hWtW>+soa_*BeN5d3 zv|t!}A_6sBicdiX%*Gv|=AHy;8Mwv;qTc=B8d5;g{U)-UZS#+qG&3|C*U+1VD^R z&Uy3@4y>le(XqCf^XWO)CMg$)Jo6@B?x|E^IlK za7i#n5Mx68$eL(8tFrX+#m3=~rAY!xk|>Swkf2<5Z&CutF$rzTlG!SjTSU4BOvsVh z)^b1N6zR?miHGqz5(2FrLU;W0n$c&JwBiGG`Wgn%^%&%1AOgxzoWLqejguBG3nWX* z#qZ(*5GPUb(K477NUi;Gh$cP-#UT-t0XZffh?P)R&EG>Cnw$B0asId7DDQVjE{pkl zprY_AaXK=f&-)Ab@WOzc8hh0mzYPbe@f*-pf`EK;3_6{UlO}Rfa~Uc^$#;>60Z1KA z=PFol2>$(g|DlMD3*=McJ-5ucjrOWCf3m*}Ky)T#&G-jEI`-H3vlMKBZ1VF=1Xel5p3Jt{ZU z)29u|qqJO64UeP{(A6gk)ftUTWcxA3yN==uP(=F2EMB;`a((s3J~H~g|AX2I_eQ@3 zaipki(9TIOY5H@T{ubvBki#+1`knLJWyD@L{L=o7hsArKZ79QPzku#6=U_iU;KyNJ z4t;V6RLW~7z;p?f5~m6!qy=u~jSYlKxk>rv!DSh0SqVZ8kF3VVSoj3GWg!4)pIo$N zd|J!C-q<5vmjVpd&tkne3mh4FDVP6S@_DQ8XTP+HYU4!!i4o>7fN57ldF3Uf7s&vW z;EQ$a9qwVwl7b3{UflMN_>suy!iP4lnoHINn1}VnZIk1~mmi(@|JeKTz^IDk|Ab^9 zAozlU#sfi(8Wa@NNMeX)AdwlE017IrL{SdW6-Ag4SV0D60(m}1vL4?rt{3aI?0TVc z1c8tMCQ(tNqM~>N4|wAUf+&Xv^ZR_d-!+rK;)=ih=j$$+_xklwU0q#WU0qd8l}}Hz z6TGxnKh^;57fu@jcf0`Z0SO#R*rPV*on4eFD)c=lBX`{ABn+M3<|j$xMJ`*5QWhze zhd99z$P#c%pR9_HQ9CwNKnM{0!K2&h%amO^kc&a|7?)wolvm+dpU_&!lv4qalqpMs=pJ8_ z*CPlcOa^)r^+V!{b_$iVG1GujER=be|35(sj0-{{U3MK$-BzH+fY%IDCFCCNE z39DbZv`G2KMJ5-g{cl%82Q(l||-Jf%;{%Gx-{fQut-jpVXouT)pBjJF3 z@jLZDN${7bH^`7i#oe2VQ*{AP8rfmQmE!>9=~qm|wn_jboq${^0kKBpJM7602#gY* zZy;8#?@92)W}xNgQGq$6J*<{1Xy0S)@$Nz%{nJ(w1zg^z9jsOV>0&4$zb3V351rsY zM2EY6fLzzHi$)k6tm{^su?9IkreR%oPX+Z?4UXKrBV({OW(U0P>o_mU+X?oGXgb%u zP2PtIj{EM&2_pW63{Pl!Lk4i`O~q8t0KiK5@${f!P@&$;A1R#qAQmt=?yrIo%=d6o z(p{?!Mg?4j`;Azpxqfn*w5r0`P#vp;*8#Ou$-*CK6a+hpBVzr;GuBV&H)&2qHJ&yo zN9*5%D`yujI%qg|`+O?bzR@3BDi+Vvqer7bYrSNSca0n~L=L6mdsM^)eAY4^jXp=n zcoBe7ehZ$!>m7!4O87FQB^uLl`~iQGJzbO*RjjoS2Hss)?1~rA`OHK^`BBE_Ec0_2 zI4~D0pPD0YMExG%$y?h-{<~Y-3gj6<(k*kZ2wE}Lqa^t|_J~|`VhG4&GJdXWV1L|V zbTgJV^8Oa-TWZ#(I#wnp1t#j(us)42S0$>5o4|6t>JNIy<(!OljFoT{9)YCR@s#ST z#c1r&H-Q`kr(I4CEjcX$;eUm2j97No;;Zzj1T!u_8{1W~VdJoq)U?EA{lLK$~mdixZ$ z-j})+1Fc>@U+6jXO`v=z+hE33QiQu7;T9O)Uo7tQwVp_EhiA=CvmzSJ)~>WA>O(0j270E}ykA+na&+&KoS zA8!PA1Tl7{FSUu3r}5+1MdK>_1^f2u5y(eCAq*2ntY2MvFF<&CC7{F}uVkVA&5_c@ zdM(-ld#V^1IUmlXANkZK?EMze>_7jl=~ei$z>|uQp>^Ov4Tw%!GdTw}ikgs_75yC* z3A;5|t8GPP!dmTRKERq0e5Rbyv7%h=fi&;v-5!j9r*=!X67@%4{$3?Q1y@NVkm^~E zEL2OScv9a2BGP+!B1NfzjUemvIOzNX=&tpXFsFU$_rPI7l`0Lvv`XTmI5(58O zv`V{pCQY+&tAx9%gp`3zQ10^WIGt5r_e47MxF3wwmjhoDqetv701ccQ%VX(OyY%H| z={u~_+wVi^BT*V9?xe6PiFi;LsLxt`4$HX+rD>R zmck79=eu|Wp|!F2XIy^>NrHbqiR>2t9Q8T*XIu}lfQaW$#!We82k%zngF#puRB2aLZ6sTt*54Bzz4lA%KbLqxZE>*v^dt=DYtkFfN=w*dP z<}VPQ8O_F&oG%yOpbwq_v!!~(No+K~6yOWEKym(;GcS!J##l;xtxyfnJL;|1TcyDJ zc+vAhFHo@=?Sqft3kD%~E#aThs6YJzhC2Vt>GiRWVm;(nUbE5(84!i($BaSR$R8>D zh#5Z^W5K0+T%9Q1AUo<=k2iphQC)=5^r&_E`)iE)FG2lc*w14T1C11{$geyaq$TNu zTtifruf+u6s@EEsal970jeq>^mG)HWdxuHFHQ$J-asi^Ua;h-OLk!l<5X>50-6f!` z!LNHIHT>GaMb(vt8-tOMcJm45=ff<}?wqc-5ux%TaG=V1^4 zVqJ>YKtCpL*`v9{ol zv2;APstb$SaeX9B@Xn)*M_@8 z`?0j~{#!^BN_h^b0F;Rh`(DT&m&mt;0FZ}YO87=32#f49l=3q1QJk_WVP0clMk6T} zA3WH#M<%kn^zl0qVEeSGnY}lO@FEy7OwPwUV7YN)aD4&Yb?o|K{ zIuQQ#6ga+zF|!TcTCZ7)yJ%zhDI zn&ji%=m5gGFa4M391{duHFKt!x~r~+fX@lo()_}%fHNHg$RR?62qciCusgxLUv;LX z!cxlrh5?bfDslRR7u zy;}Hgf*Hr5>=o)eK{SF^e?{MLf;Ap+ap|EPLZJ<3AV}%`noSdx7C&g823|1G;03<4 zRJ@&MFalp%E4-a)Z~H4{%2s6#9&p>H$e;O=9 z^uar@C?j|;eLPfg?pasTi1p$tpfF**P{8~vfVnXE8Pz+ag*IF>RFUYvQzUTBxJxEX z5(!*0G?~zhV4e~LGuXxxXP}JJA!v9fdL=O?oWYI#76vwPy^Frae2#^OU}E9n{6#Og z@Gu44qxu4!z3kBz7M_y#?1ks6He%uVbgs4Vgn%>32d9dKXQ-q>R)>X$sKUYn;YW-R z{C=aN`G&HZT+m46ZYPTINPPEwUDu5Wb5wBrR|UeKwOX%UmQ~H}{CP$*JnP_%06F8+z&|m5}#V0BF4yd zwow;^Q}=2lNu)AB2`z0HR-}TBsz0j_bmLbwl7$~ixPQZ>qoNr%If@UT>lH|$6280B z!@sgbS?ceSQleCEafjA5;v%YclVHKR7KUJx5X|UZlofyU@I({w8PM`z5xcWoB7QFV z2HLv+IAYT^BirnJqf!o=K#cF+=4Txs<~-EwjZE)?v#`g3K`1E1^$GaNVGr_uRzg%< z1E983x&t6nelVz^F&yGt#%U zh%Mpi{sELxz2Z~>LVi>-i~HS$+EedJ^2m(K8SxH zAnA^qTk1UB-||FOUCivM`*8$i(zCMk#EU9UypWs7_}iZR+DR~vL)?-jl1_Hx?7Myq z3W+)GdkmP-R;7s7?RxLUQu%nJpq9@eX+Q?%?17v_;!x($el*&h>~1$Y0O1U&Q4W(+ z`SP!uO}ak&6G7Kc&XRQfBI){MtUU=7L}K4%S2uwa5nTBS=O z=_A_Nqpu*-;MPN0B<<}snMCrhLm`s32PcyMuk=A=dJY?X^mrtJK03Zc`UsSI)s|?Z zKWHPCX%I#~62=W2Su7pHfMX$TyI#OWy4>T!ky{C$3$K=#w-c#}yvKYS!8=cbvG za_Z!o5Imati0|}Ps1R$zb7{yoksn)zpb z%EUwS&wQz+@{c5zhtAT9*FGDc9FXSl(_x9%-d(g=a%ldUzx<7QH~VJ} zM4`jspVy@`S@s&_qNi54QmS@f;dbX&bc0}X=SihnFb@xOj57f2QFi-tab&xZ2ap4BtO^}c?yL_O>jkEDJY~pwfXd&g zSL4WHqc4A}e}sPg|A3k=MZOE)0I^19Y{b6s`};+%T%JlUhqD2CRr?OVc38q6rMLn4 zhdb(pcZj}96q@#w)P6~egiLD#?UWd7dxS%Qzk{P4eT0O}Yr=nteieEYyBP5N1t(7i z{O8JCrwaI$rBLkWe*eCW1wyMxXqWwaXtDpWN+BJJnh7)y?25GvS*-mygH{!k60ud@pUVM_=!B7~y-% zS@DX$CgX1vniBZ?wBCa60hucSe`U^U{365e#h+V@?_Zo1pU@1xE+%}1Hhe!;ie4nZ zm*K2tgUIk7z?X-qV$vTJK1(^kXEjVwuZAAmO{-S@ty0ex1bq#g(i4qHh7(rz$2?U+F8vH_pp~OgLlyRn}ok=;_rNC&3_X$3tni9 z@52B_;BO^e$K?3>Wv&GLt$EimzQYaz;KA^h1m9}Hx7k_oPm$#D{RK@4_)fIp+aPl# zz;}zYnwLd}mJxU`_*xj>N@u-SHv_NC1dk3vCjUzUkK^0LSxu*dfOpXGO@L3X9~V0- zUU7Fa`c|PSfxb`SPh-IMfXro~kMO;LYsV}Z#V<0njK1Fr-*?W6PiO{T7Zbih8@?am zHG>5^0lw+ZYBq=rhYH_^V*TAu(afg5xPQY`= z=j4AL=oc$RmWScmVe&tj2e(FZ0geaAU(OT&3Llg``gt-#rpZP-=(*@QZ@p-OJSlCg z%muj_Jv!h$-{LoM|A6laFIp-JwgKy0nZW_8 z3g}yg6@yPzbTfJE;PUTtqB&FkmCapGX^iskwfgaFZUn%(P(m%_Usd$1uaF<9-Y!Kk z968WRXg5fPJ~mK}3GsTGqk338>Pto0X^$R2P)oqKy9N2Tfbu)Nts#5kobm|YXj~By z$-U0ejDDGfPso()MX^2{0E&s`huahAguUn?bCHn6hTtVs^X=P?iFSkp_20^r_IWkq zuMHLG{?QPB;Ve3#5$0tCceqxdcf5k?MTQD&Y8(s%~5vf2-Lf{vIIBG66 z25>fN@4boJqdoe*xdKLGdxRsJ%dk(^_n^I~2Ty>dlLVFcT`x1A&91+!EK9?&#~D-3 z#3refSx2YOf~jk~$!NucR-(t_!wSy9=ugn^8()?}0*a=v2*ycSI*6lv5p%!K{Upau z6KPj64H|T3+9al74UlQ0MZUY4_7@{f7JZsYbByYgYLTrPX|aH4bG1nLm;OH?8OFJ(ekk+4kEdJ_|lv`eUXm$;71fu$hL3o#L4gYqf% zzft~SUZcwzGDlx9(sn7C{WA=P`8aC@&$xW!_e=%Gs*xgDXl`P?<*b)~%z81QVE3Q9 zl2!Z(WVVs#{hZ|EQBacZj`8U!(YJsve%9{5EuzCrs{V!`(H>cVNKnn|35~$%sJaVS zr0nBA%M<#z59Ol#W57Z;p56|)gOxBDN zJ**P7{BW%G;pG?25}WWrz=R1TN0}WkVIKWp7BLk1mZ<#9%<5I&85Vz$H#x>%q<544 zaTpj1t?OnDTj0!CPuUj?f(8q;NbW6G=buGxD<=Z{ECMoWf9@LkvI#e+BMgX5##_QP4z$ieAx!#bv(3?z0DS=fg@7Tz+kiI*cu-Xum#+uWc60p+tnW>I z)v;XfO0+q&yQ;!i#l86qJ5UUqEUZEkaxEK$)^T!JK`-v4%>Lutv{6C)@bSR1PotUdOs zjK7tvAN;NFwD&#u{#5Lr{|tyM$@xM+WayfV{Z(IdP{;)%>F^=kA_2Xp=z^3;Lhxx$9$$Ygl7K5xQvO%gm`&J<{M!1FZ< z9}alx;G<#S=T6y(jh_!Kc-D@VL6<3_2>GWOJeMCPcrLKv*?yrGpJCphb5P6vAG0N{bqQ)G?T!RQ;;{c$;YM>J+g?^nr|9QvV=Y>B$m>5DD;K40ca zpzjgRYK|5eehYm&l&FHfp+pt*-CDLvX|Q^Rz}Gnjn{kT_Y*@2|L0}3EX zxC%(af19SA+VYn4&j*@sx4&%B)7i2?o1XshPjdj@Sf4n6Y0Y4BN!T3wMH@Efd^6%P zdqfl|Q^Ib`3nzW*PqC9QE?>PQAZh@H9-dANDHZL-dUH8fy%8|71N~F*zY|~Gt0){Z z5B=;7zmZDVEBD52#$V`5V17VvNFh`->Z1U*Tm2MVqCrTIw5g9S5e2cNswE4ssKF$% z1lIIrjb1IBEj+YUdY|K3PXeKq%=eBCXA9W}9yD&GpD5F7z@k=W^KeGLb>V)PL9a1{ zqor@8rBtDf6wE~oHQFd$=v5JYy>yZLvUs2-9;g}?56stJxC8wTt?LCossO@9{Uxh^ z2Ee!z`%$EU1Vpck8E<8s$6>H-6M@O!IA4;6p87yRig&zdO@Q;zHkN^2fUgOWAUKW2 z0c>l}eYE^eS`^Df2fecd#4+BcfRV`W6UG}`K(V93cu%N;kFOZ-9~KEPsxYF@ViUr# zTq(!93Sf-CMvOP9;U0Vy3nsG!>?~itZjr>FjS6@P3OyCg>oczQX)ubc@x!C@@<#JE zrPoo;7ny+&2SuQqQZyk1m)-hlMlHNgT#Q5xheo@+2A+-}i*#%?(?uWyR2g^`eOcrU zA>=mvp1A{%_rYU@wMPT-inIw0jNwQ_^8$)kpy7r3oSn27yt`m8q?k*z;)1;(3S1+H zkFNZk6!eM#6msHU?t5j@ExKYFX&CNWGZsp*N&~dK=dME7&Y^#FSrWzOquBSa;o{Tb zC_|*tpi*?`N|eDvjXqdBF#dl@BYiHVYe#7T?u=As55UyIj9`Tea7jk*P3XlU6szK9 ze2RV)%El(*y+Lmy>*I&O*4RiX)=%YyFiZM{Ij1I6xRfrx^Sw*%w52Y zozH)4Xy1N+*U-Lr;4)4L;BirdAs+IjJ&-EIL%zI*FLEQYZHg&@gS$XB+= zj2h!sxh2kWfri){5`VAT1eC0wXf~-W`RVEBMBli+T!U&cscn8f_i2-#{|jxKlbd|< zJef5UBVou-xq$t^3$nEyoAFKa%o9#{m9+y>zQ&$TvT1M|eZ%dbS-~nug~xDOm2ZOY zRQ4VKtCYNl0-OIN3M>NLPa`+;y@@gLhWci6CRZup*Z9gQ1V;;QlzfrELNI!{pYdrk z78%nDv-D%V$99lzMB~IN*7|c^)yR3Zd7EQiaY4D`D$c8)^j>Hc-LH|8>H;8yyu#!Q z2qKre=~+a>Y0Iv_;F=WOQDg#*XW#*5^9ZsGhh#aGUN!GeF6fc1%r3)Bib<~i2`V7T zi)mGbX@zk}M0B2mqnkDbht^uw0DR9D=60TI=t9w82IhS)@nRjD~~o1 zN|jQe1P%w#tgQwG!e%=b6b7IWKw#bqjZTMsxUyEc^4;h(q=af0hW2$+=2nW0YUfkZ z0pRHNcX?9ZiEs9fRy?77Im%obn8Sa_n>HXb;>~cYidgck&m^}A0q`Jx3C_2GQ8@L3@t-#5d1E_wsvpVTK&Y-hT6U9p;{%h z?Rlrv)6y;dethls$~Cp)l(W|ae)!Ax z(O^r}NpPpNK^2cAQ~`N;7fQqX0L6d&%dV(9ski}sIqhddYhBTk`CZ~>%J_s4i;cB# zK*dACw3QQw(@c)>OWRU)du z`KJYr^F?k!OpRA3XZBaB+xH0VJ54FS5t=TB^aVF(AVQS12%P zwP*Ct@DbNPm;{S8_zXcd>*b4-fQK7~@HjZ}shjnQ6UhV+{K+$VhbLaAZ=7uA4`k}Q zZf%uPpVA&!U4emtsN(v1r(|icWDax`l0uGynd;x7z_`k-P^{4i`cVFzhTb67mdJZ1 z7L$vNXETj;lo@F))ki&Jayr{L<#XyEW_{a4!ceJ!19LwI%$=%2rF*1E{5&vJ{5&#B z{5&;L{7eAH4}jy(SO6|Bd}-A3ZukN&FMJ9#*GD@{_6{YM^fZEyXR!AMPgNEgHQ0L% zmTCywV8b;2S)*SBRiC;RvO^I)iH<{{5A5k7-0hfrv=EWE=*S4G0o54( zzePXpwpNTO(g(x5RsSB?#+Y1cz)?`LF>n;dWY#)%*HY!`SKgB3-w69O5hi*+pxP)P zdR>1O8#xoA-6ljh2G~o8pyJq~PX#3jh&B?UD*=v3o(lp3L>CE&MggKEO>$EFU&xR3 zC4>*+Md2B@wMO`inMEo7tDI4`OCfnQ*>gegW5glN1M44-R`uX)1{GjD)1L!dAt*pi z8uw>O57~7ZzKPvvlipCiD;{grdlQ_Ou#YpP!$ke8kgpI=yYQij1}sWgELilqdjep} zYFD8uINp|OH*{kx@Y4KWWcW(jZH@6pE&-n@X|zFRyylAt)wz(b8@d0XV3p^IOdhVE zi6O+c=7{)xVv~!98NFY-3`fQ)aPO44u1oO<^6V#mEbmwIK8drCYq@Dtglezc=T7 z5>H=j-X{?(?2ZbsBW#DpOkgqD>s%d~?$b{D<`x9l!?q4TrTIT7VX-(wim~sa|B_G3 zBT6&98t#}z<}B9IjCSx4z~TRjcFR|lO@C?F;xdCZ7Sa?wZaaX|7EM~isoWo*m758!Fk5j)#P@3=})^&5kEv?j(gF@F!E&2eax zLB)Ip5ZHzPU{uVYh-)!AEBFM$+P?H>u6gUA6gU!Qz;@)hO61W;Fa8;m=_^0%SzR-c z;Dtl4AaM8G;%o$86jT70e?bM#_8l$$a7kPtQd z28JVI{Y5;C{6_zUyldfm=EdI8ljT)OuHv?Z>oR@ns4P^l`Om08+_qqLbO;W|V&~#h z9Y2{@Bot>O_~R(B{^8judYy4ef?4JSl)+Wc_oD=rEx07%Hn%p@r=J(w6A$fmxhZkt zl7uk+VyiX`nCJc$1gCHQY!9LojLZgSTnC=~rGGT0od+45yakI`2zZ4M+`>8K?by0{asCc_84^7ciiU&Ib{L65mBN zt3mS6Cg{Ge_W*WYe#ah37J~fGIrA^J^Or?WKmof$w!Xl;|E^Sh)5qmsEp0$xo*Hkx z+i+(gGsJd$x4%Cve-Vba0Om)CXM-7cBN{OLqeVy%9C_0l|6I@`#Qrej@)c=8MP1Do)(?8v-mcf0Y zB!hXeXg~?u06l>c?t|QpKm$w1p%yi*J~7CE)DfeH^*k2@!%8zk4NM+8T80`pd$fPr zxcZ{@6UWvS9mx!`24qfIO@)FdjrX0F_%N7hNYgjIuq!UYYRda7R`U`Iee`*zGu+n4 z#o!M^e!2$-Q6zdN{&=(%nW#-J%-MI!h!`RUlfSo5-6dlM6n-|yNq|^i_UnsoBwqd3 zc(ejxV1U(D=bE@+1_MN}bqPY#xh4o>BnXYDiy+*9)RVb1eN=~Z{s=FC&MN?|N#jha+TAn_dBuHzc&iC1+ z;n})r^PYGV#{-CC^8@-K0z6~qf+e;j1Kk8bDd;ADV6>C2%pM`Wm8NJNp%eCmntl<< zVKDc&1D%Rvzih9}ZDOHQ*$?sxd4 zzkY-0LMP~DOY^r++7P?lp5UT@wld46v{&vh!g%FDOjE+QV+4F^jD*DXk@PiG*4NQV zUs2v^Oy|u46vqJio^c6)Wt+LOx2-S(9ush`_D!ubYKCdDzpB!sp?)S=BieJXnvTko`L3c?f&ep zIJ9bN$$F0l+Y%XPWGn($s2P~`8Dr2+{|tM|<0^*?RDlD4^{*TWD2Smg&#;OOvWiTz ziW?HD$h52QrH#%s%JKpm{U0bE>ql&En`TZ~#0WCx14wQFhBc-*5=J4xoC|;Yd=I8M ziBC>iry5XB=GYc%5ur$#ygnqq*SBs*>_%MwSZnzgIp;UNMDV4IA{pz$d+9$N>(MTc z4ctnsgvs?Ie-~%|_w4*-Q4IxbauxL_tvRgDk{>M**;ua-)P(s~ho(xQ+d$}kbG|i!_`%ORVz0$y?w<7MqsT`J zd1H!*3IzGG25TtWQ)XXlGM;(JpDt z<%;#rn>GW~k-HpNlndV0g`nSK2whJ=C;4&WLgLh>ShUCoK|hK25iY$)$VemlV{zhr zgddG+`98wUS0Cg)!V>|U{`K{OXG5m`&+a3P*B*%ezs46Q{nwujfizP1b3}lC0jL7A zHWh|ckn+aj4X${T@Z(;NP%$Y(Z%Vx>z!zrk(*nUHcU9q6I}jIn`CmoRPw-)+Fz08+-jM^;K64iz#+| zBmJmrfR|8V5ar~3h*R+7({M!3o#`c6u*bl*-i_Z&@au9TncM!~aUbGm*9w%Fn_BZe z#Cjy#yhiSyllP;+!f$#IPV7!xAF>+E%=YN+hGO9Anrh%GQg|(>!MHGS&Rodn*D zKLraPVtq>ayI9QXT=(FGv9wP_6+Z2biP(pZD$U=jgc+0-sLn={zQ{zFZ{m(D1TlsQ zTa69!xJq0!k)uuac_XEc?Q0QX>-Uk^mqI-k*x-&oKutVASLB6STLX2`y-2A<6Stvh zZWDPE%FHs(n6*gV^ehR_T~M4YuR9Bhqrb30hP>;#5D8eKrBVdzrU;jvBQ}m` z=QxJS#(4om|D^cXkO0&{c|P^e*j$1Ssr`F_mlR&Z0lK6cRE5wD*7%Px*P8-Q-psDt zG~!F(dt?C?5Efh=fvw(TY#mD*V0)+b2Y#U3(1zl97=DXH4v%`ACw>X`qFt)7-%ACmG=qiqdp|8xv7BFylrhc#uPiMJ^lhl!-PHv`g%~kpxUlb)u^ArdIDHO zIIoh1c;kzy7^*gf|AN{!aDsW&+WOtKsp7UZQ5j@!DELE(F5%YkK;nLJsMJNH3#HX& z7tU+eg`VgF7FV+ufBS&F=vgq57?=0{@y5TQ$U^!N_x-`#7aY8UG_#1mgX_BdI0>bu zG=}}P(*Wwxc#@CjTjK{1#xKZlm8^Bpd_E6FHTZ{h4g`&AU=^_r{M{+#jP z8Q#d8q4*KEHZ123LFn$gv_n^bJg9+l5p6fUu7hT0NBWd z0Q*H?EB%e+)@X!5x6J1v4R3_Cg;yaP?i~5s0KvVT7Z&MQWCx87C2T-voX60lVFgbAIa}6_G zA!<(U*FX5FKvbLj>27}N<{YPolYqVnIRtIvUKw0y8m#6(rUW|Si7=)F+Tn@SruaQn zi_BWvfM-mseOGb~nOFo_>uGFYUZLEw9CMXxP$?|1-Fe&N)qH=2g^{Rt9lf0aRb&0d zEeh^cjDZliKu$<-O`-Y}@ltI9Y&IXM7I9zBfXXzgbFvq~e=Ytpe3-!;wZev1z!ExN zVJc^DgEU2!@gR}~%b3XTYag}sv)3ZwKh@8oYXiV9R%Xvfr^$n`aPHCPUCGwN*$bGc zZoxJKE2wMP6&421@8HBBij+bf9>2heLDuu>b=$FOnyPx^K4?$<+@VA<{;Qum!g?BI zJdLZLD~2?sZmt-{x&e6zT{3`2iu}!y<>ni?Q5nga|KYL1e&kWTkvi3QteZ<>N<+Sd z_QwUrBXy!q`I=s3+JGF&b3=B-JsANn4hbN?kQOfKdZ_ zTndPo%CzJ<1F1L(1SPliMrIc26LPjQ@+}#)%+Q*}wABQX372_8s|D=-JZw{&1voAe z@r`wKn>KewF&S^Nv|t$vBEIpI6zj7yPd|eqfR{mtTpZ z%LIyirCK#pya~5qpDL9_L43fHkhH%rN+4Z7UH~@7Y|yJ!FF*;x$F3hC9XX;uT-pkU zyoOJQeFSFeqhVfC^Q*F~A++x-Wv&~N5M(B>Z0xg2@M8JGc@Zm%)hgjG%!4-chfuM% zzBrp&Vmzd0^Y@R9_mzVto5lM&TENkAyste&oiHZG``ToD%M@^9tA=5ikr^u~)dHEA z*h;t?lR`5xpuot&8i;cY@<;HwW#IG-G#pynt+Zf9#-vzuFGz)@1%~uAh!8VS`|pbP z)fW{wqG*XRJ+ydVt=KW`Vvm+Cm@Rjmy1s1)F~RL}${=m}>4emO!H@`_KzyLcF2Wp_ zezI$rHM#tAiRH6czT=?C$kVg*d-2HuDOkW^iuaW-+C0Q~U+s|@d!2?TwD*wTjWL9z zDaX)1qBK%XK?l~em^(kfR)mx!?QFdTWf_z7Sguv{y+FX zi1&3B3Q?^sV@YM=p7}{%M#*L@FdpR#?ro7oNLNU2cXB zYpFFT#@P_-Dj1tFsV+);YH^dI=>RD-ar7E)62sw;Q<{R66QrCPU%~hcW%eZyJUr^#`d%Mw zQAQf*^ba#p>A%Puxdt(l9XNaoIh)~dxk$u716|4Sz8=9hE8bTnUMyCayt%8~iH**8 zfaq}i`=o_>*8Rr%(_!~y!jfEeBED6izI}(`UmSJxL4AL8yf0gtl>U40zQdN2^4B7$ zR3a5wAa{>e*^56yonbs)1#K9wLz^$Y#Dhi1;EPNyLdjo!mgIIOM*kIH9dYn6)4g!; z^z_^gE!E3InH`c!)V)1k*FP^6i)`6iOFk9r>#T1nLl79v^)Ae1rIjzXnXd?mC9)(B zD~Wyz=o-7Xioc_!;EIVTk>ZEMR6ZXcJq003WBy6?q5Js(|9MoA)Vro2REea(gy?#t z23H7aUKAW53kF#*KcOI#tb*qYL&)F?Dg0lH7RSqi6|DAJO|%%VQN^!p%s<8xxuXbs z1a_Vq-EWJ43(fW8YqE2UTw4A$zs*|5t~;~?vN{9i<*^eI;9`pwTn}RaM&bZdo9fd) zd0i@%Mj&lItS)>SE^2<6*z;*Ch#6001v{mW^hcVZwI}9zh^O#E+$W%O+q@sOBNr)IT?akGoy)P4m0ae!}_2 zxdPzA98@FEH@e~p=Nl>bY2kb$3bg&s^Nl&E!m({N&o^#GvXeZDTflb<{i$!=30MM3 z{};;47UE0V^eyzIZ@MvU)Stn!($B_(gTAyY=7N34*h`d6)lZ7mzy|0`M*}833mB66 zQvdx@`Efpyh4SMFey@wz`qH0p*!BDLrI5f%)p0pEpm(ctZUzMiVzVR-P&P zE3~kVk59)gX8p!@05S%EIKIz`b%j<;6t=W|X3a|ZSg=EHsG6%7c6TS>2lH(KFyjuc z&Jc;^^pHSDp22}3CVrm2xWBQ$xH9h(IPNbGa_&L~eeB&*yX5wQ^@>T+lG&fw*gFZR z2=g_`{?A<>&ZdfyK!9YXa}Nr|Qk8uDx)^dv#4`d%GvkGUo-p+Dsn^qF50}segUIKu zo69~RDwRWI;d+sm+_5?bJn)3tc*d+Ptq~B~qIwE>)vFt5czKaw0?L zd1!O~qu&N=oaV;`2h`^^!ool=>1U$*@8CJq=lvbYf~2SN`>wleecla7IK2A2)nc%d z^?6(SSvY*MC4JsGr#f*6ROlTBAF4jDC9NG4OXEog_z#bxjK?~m?n|qa$~$}r+IglL zk7TGpmNVs1`X6HrKYaSRM=r+rG}F(`MXFOj_hu)dpCee@Kn{aCPC(21#+s|+z)yMK z7;h4n`Z!U}(#NqR^l_((mgkyXl}njZzxChJ$K7=iQS$Hfabu7xQ6C3*O&wmdc)<>p z;f+FNINCX)`+eH#|6G6gF7jc;&R<1=Vl3##oRoR z->;m@xf%EOM~)+q;8ojHkucqJldqv~fqx|FJHdP|!E&>V-7Ho28=Cd9i>;Y>AwJmL z43mzRn>^JuX(rm8i%uK3-M$aRkT+;@8|m=aljQZYdXZXZ)pp|#E*3eC<{L@zC_Qty(I-EkB{WQ-Av|J~<#geEQpIqRm6p z-};dGzox%^JMTZx-~J7S4u}5sGSt&d_gE+rE!`s)K`@0sMt}QmpBCtC6%!Ay{`MwO zWfH?VsQxw&B@Ru0dn9r;!{NRQEW&Q4zx@>7Ed6aGUMyCKrNU{a|9|&2{MYoi$|G2h zBjTb3=x_759!veLe6;kp;x!)hAcLX5E$m~-2hH`j6~`v%Z@VK#MS}j8p1@h6G3srP zUm~?$YRQh!D_oyb0&Rmr$(Z6Vs1J!0Bqr%aH=HH(qMt4{Rc1Ss^5aN14S zbgC3hdBV^q>d>ww>Jy_(Nz^BPBa@u^#F$JvM13M#fxsi-5c))YN4$SVU5ElmDpZRT z39+V4#Sc`ALB2`V;^m^pOIX3``>0y{;Q>RnNT8@%`~tsFEv}6Jh?AH#*yR`9DpZR% zc9E*Z3s4zUi|ZG{-D4^8>Kl90C;YJK4}U%PfcnF#zX|;z#XRT_yYZ)){*bBAA3pc; zAEG}TocnL}ha~3zRDYO?zC)kU_#i}YL%Dev^@mSjprkmRVEHF?h=x23!T+0C+!{cG z(tC!jKRgZ3dfpvEf9S?ARH2v9A6|q`CSB+JFRE>R zKTWXk!8p5?PNR2qZ=LHdyut{&@Eo+K)|Ey7x7E*ZC<~$zp$`Za-pCArW9nR^SP(f~ z$k}^$S#(&^0o(-Gp zUzM;IC2ZF;HeU&oRQLz`v*92-*-l>233{DzCE2sd2Y7f~~v+GLuRs0pM zytf(|7c-*>$Q4*0zmNIBbjs<|1-G;s;R5w{@d8U~C>~qWTR1SOSPQH#&JQ%s7!Pb- z*PCkuHg5P1hi&jdSWb5s#8eemNV;(Z2hOOvaq!c>8-Batm&Zgn1cKII92cdDP{JzX z<+NIq3THDYWgYJQIBzJ`Cg5!0SEW1+Tr$>A`XgU?9Ndqx#Q58t6x~~aFT}(9|Dr>( zQIrQbu{QP6>uq<*hSVzF6MH~wVq2MyCk~kOg$M&3asZu5hJ*oyj!0gQ^Q(Tr*-+$Q zi(kb;Xbn*fN+2RhS-vz9$f{0-W|AtdZ_c9ZRFcU|)vchbeTC};dIJ?=gQ%q>9r0cL zXEBh-7JWufvOXpJSJaF1c#eY~jKcK2J%y+_R(|j}KYX8MJ3%e`=brcq0aX1u{onM+ z`dr5ar>Eg8@FFI(V#4uAz{-8DCsdQ>DQpE~PFl-jztia18FBe0JCM>HP)FmS0_)yt zcU`e73pOcc&&yi_4R9pr&kp&I5GKd__5OgnQZ-mA~UnFo__%3yVU{d?rIJU5T=A9KxFUN;FS14ZDe@cRIfHA zqj%gyuUoCr??M@`Iv`WvHy_^Q>H187g=yIhnCLgjfr$%_wW;96f51;q?ogmijCDue zW1M++9b@M$XI@r(Ix3cKeK`M;_Zm6O5sM^)qx}Fbg`JY&(Pn1qzkCUTGv<*d<{;e-RJV#)v*q2h7yXU5LM@z2aGeFFxN zM3-6LKb`nAh6chT&gY!43~|8n;M05Jwv&;Amysy$!=mU-MV_ngNM$8?KR$ zb-R}%_g{LyrpT%|tXbdXfuss46)p?nGe99J#?E2h0g4ibyC z9K9QU;ibI_jQ~dmq{Vch>)aZk7pqZ(PSwu_$gyJ*>fZ{}xlmquV6YR`4U$G?Gm-!z z1lE`^E3;1oRiphS_nL?~)kX|FoAmWhaNrT=BI5ch@)QGmdKgUrwv#1ndH}D*B&g0$ zb+V9(crYkV81F(2Ra@Ciq9YMhxHxY}T>pfp${x4y8al-SX)&tBq_&4kzW{a8Z)-f` z9wzXQL6P&%0m1sZf3v&@!&r=HF3Sbo`LCIJG`sz(H~-T~AH`58i0>)-vTQjX*Xhq0 zPgm+sh^KU=oc^cG|4(%PULJ!9+WF4zrvB{X*grjsY{)Uu%F*4C<1Xgl;*T7Ikwc)+ zjTVZ5!+iYW=L0e%x~X;UW|ssCi`9KZ;Q&Ko#zV%$zr4ZCkn_J{D{)UHa4?zkrz2Z{u)#g#!oTmqK_zM( zy8-?zOJ}5ti^zMwt1rXUg{)CA7x~<39ZDKSP(d$LPz*`y&nR5X5LMfYF{zFNK2SnE z2dlq+BDxjI>#LOiFUltr?t{X5Z!T1q?^?y#Hf#^r?B+CoOsqXgBLRm32{Qvg_jcw>||Ggz|EW zwb8ynmeIXpbqjj<0&3ImUVs_eN553Ix*fBct@gufv1TGrW`ABZ{t+6_VdKM4(CXb4 z?V7&j@qV9 z9@X{M>8(L1SUHmX>);by=W0An#5FoCA0n3TdmmT|dRO4xivn?JygEg&<%%9@xIh!LLa8cc8i!;Qt88zZ3r3TZaGI{|x?9B>eMH zTH=2mo`C;}_-O(DKOy;d!oU0E7V-Z%lAYLvJkd-))dK#nKS|&}$AZ7Bgg>Qa_@ij$ zcfvm>5q`^_?GWI{EX-0Zcl4oLYyI4H_$#|6`r+sV9(B7!lksTT|2ts+ zs=iFf#_*h`)YM}tCF&lN3<@$&Ivg|?n%g?{9zbwK29)E%uPrmZM z1NK+!r|Se9;Qy;1N8aib3V7!nhlyApnn)oI|Bb5;RftEVEy8#HhsTBX<0vC1Qb*X2 zaJMq^LP9Ygi_Axw+FIi;mL%hTAov3c=R{gYd0~wx+Vr0TQC2uA3Vu#|C@!aPH-mp4 zL9ybQi~O*MI{J8l1`|wVBNVLErSCxxkw6G#!WNl8=w-tDGJ!ZC0-0!f4!(j)T+;FRA8W5ubu5MgUUGDg+fFwsDtwOWGSE54a9Cfe)#+4v?49&Ufj4ygTi`CG0(hRlF!E#V+3X2PNQTi%P3&Fpn%F!9jr zbuMeEd|_gFr@hW8_~d{zhtp={kjTxa=L`x>KfPB9{W`~--b>zp(tDG=SkwO@HLj0m zL;#E`qY0b-k0)kN`bvMTvl!V7;s7JeAIMb`YOrx@gzDK_Py*k&YHayP1`i|if6ZQ} zD;kgP0GF{`CBNhgTqR|ASS8$mcUUje1{z@;fuXkgH=Q_6zu({Tan#ey)+8bl1^N8Z z{+6eReq5aB-`jzShu2=`m7`guIhhRy?}OUwRG`G6+3Q?`oXv3P6^RxOLu<2y!4v)N z^q%-;+3R$}iv=0@u2Y-vfA%_mw7pKUzQ$VLhSrsQm=Y{hHuH2@sdKgF12m`6E|e}J z9nR>4*y+`qu|x-_6=9Fw8p-lHN$7+yMaMCK@^$dEj`ZAs6ET?kR*FEJ7=K34=?4+6is!1l&Qj`a3Vy&S<#sMurc=BlO z`=L zDNYO#6iS4rKBDj?C{2~};~llU2^GXigd(&e6Uhcbl<+=0*SX&N94HIU_z>6$Az^g` z{&>;~XH-I$H@~A)XZ{Uo+6sQrAKCIFtZf2EYb)pjs^24CajgknR&N2G^}e5&_BSpDV#P$uh1!K1tSOH>dW%d@pn2<7^r>{`50^a-8#(@{`y zg}ulG-71fCFJk^&+3vbcX1gBQ?hvEh*|OaYVXBlx3u!3cTq9f;YD7+2F}(H}b%C8v z!7E@9*P=FJWN|&)Ycdl+Ma%KnD;N(`zLo|G@V`YVm>>l4L;d$(OdWbTz%dm1`gl#m z{ZczZeGqw6M^^W0{-qugX};9G9)vk}-*pcma*jUs`{CD=a5*>@Zb?zPmn^_P+yzmB zJ0Z&D^$;TH65fUaK>QTRpI-R!YIF9YzSVfdW$_#Ry`;Q9+LI@|RNwo;QyX=)y+6Xd znkO%RpHjMy<_d!%?fbwiJ@CGF^gW~jp=^7vi8c$h-?-X_A7BBQyS`)*XFz?4*xAMF z8U7Itq0GQLKJ-37Bc=(vg^@)3gcJraQ!36NNC@Lusy$5*z4@Og;a{=r8zu-g3UGhH zXhtVT9A5yd-7SDsp1?IYUyf)3aE{)K|P>fSpApMXY!XLTc-pH3^bT}zZU(+lJLQ(p{eZ=tn(TGh=V@16=+lp^k5CzIt(qjNFG5K?3m)|(o?~UJIra5NKQy_-DFXy|>i!Gv za6<%b-qrx_^n4Jf7v1&y+KMxiUZ5eKUWEC|1LO}xZl0iitcQ@*T{lP2GE(4vj)omB zu8#9{#s^@C)QIb%+f9DpLscd}7%^AygJ~Uj(}y`bcrAoke|^cffY0m^0z!WK3bsKh zdLaP>t=t4hnWI0Z(o8=WL*dmP71L-|osL{wb-eCs@tBtTDpKgqg*WL>lk8n9_c^1Fyj1swDyV!X^DAP(us`plomCafcdG03FHFC(wm zEy86E6QvTu{=v%{@uq~AHNs`q8}WbPkBCIezgp86{n4!s#>EQPU}E9^3Y9S}bMHEW z6O$n`bsSMQ_>UIw;aUYVUZyVNWgJ;S4h?!kjAeDJTf5Vz?*!N24GJqkB)CCgHvR&vDL?Usz^_Cw z&Btc&1_e8c=JlxhW_-7CT8Vg?y<|L1j=ULCa~ukqAvJM-6d1FQj5$)cSlsrPyH@;k zXoI?p5DD?4-7CSCa5UNk63cN+B&YP39Dh^ByAYN^I2vo3Yg$e>;_aJ}Jlrf_fLigk zLB27>MR4^{&L%%@3lidvKK~OixFCF zrEVBWXv-F$wnPUk8FoO7Cq&7_^D?6Vw-~QO9(4rzDptRAyuo^iM@1({1y%`WBvbSc zTzIG-AdZP3UOrID#b#CpK*042-9k;R#mx&t!5-8{)}gaLb=5**AmX|!jfWNsxN3PK z!3z8cE9706qec{iSD5HY>s&F1n0ufSQnUPZeU-0{1!YtR@Ls!T)_5>YhlXWT=A?^XCN zmNmJap;5#_5I2pT%5dB^@mlAl_$&i;BOU_Rv))8u z?imSlXjof)r-xhp0=5<6#NJ(Wa;8!a4K{J|c;SSE|g;f^2)D-vbl5Viy z0ha(f5T$}s`E4)C`?M$KBi)BcHTc2Gt3}8el<<{^&Q`@VPnv7`Y#Benosa3OgkQl? zr&vJ1BLcB#PvoqdMIjf}^bB4`!-W!n)8+lsY+L)+@T{*NL|gku^3Z?~uIH8);Sm#_ zDGmu6L6{kk92_l7iHcRTmTp<$~~;DzC4H@yc3dwbh5WQ#-rX5 zuuk(|h03SmvoG=#n>NoA+}b=+7jF3Vp96+o#lm3dr>c?ZtTNJ}zlV)2C*r-@yc&F$ z_HXe<##ctoft7Y|dKm}gXSUcI$zPKAKbmM7z$OIKmZOvjY00O(C`akY2jDsU!;s5OgPqbSh&Lo`l84AU&AG083!Q+NHgE?-u88>P}_piRV^4 zoZA3=2K%0i0=ySQSvs;^YQ@7HWSAm|+e-K`Be@llWvC(uV=&(}lGBhZ!xgnl!*cA2 z+?MW%OiT03ith(VxBn0Bs7#BF;ar8C)+NNKm|aTwqu2;U7vK*>Hzj!^AJ`K>?OF5+Bz)D!=fdSGmZze0a@@1Lv)pu zfK}dvLGf8%0YI@8LyYW=c*P-D6Mpc2*$)pKzuxSdvC`26 zmV7L=6yf4R_25Y_=b&DAO22`Pa{|%+Fdo9;J}NfNBrzLW<^k5`kaH zV;N8_T#4GEFA=PGErWs8wyFzv;Cx0`OS7~~^VG``1M#+@P(k>x2zw%{_|d0Eu_%F= zj&s+Q^h%W?7%)qVdlFlE{>1U$w_nkStI$7=6DF1F?81# z8go1*27DcccmQNEsfyx6cO!%Ta4{$PSAG~=A0&{EQy-NSzeg+QV(!L8d^r>sjXAzD z+n(ghL4?hafmxbvPH+r3=s{qE$<`!S!nYdf@F2NA-J0l1c%+dI*OU9x4>H;B@txcjFG9 zP&E(qfSPK~MFg`KnIFqRW|&zU>qF^{Mi8f0J?c-s)HOo2YJ;j#w#kjt7IE;;)F#O;f?sv!y= z=ADc4uF@;phfcT-jL?9!pC<9(z41*#>sG@Gd+Uv?RM=H$dfB6ak;N%|)w2emx3ZU( zF~{@lyE3~ARtBDg3XzxRQS7`6nz&RXAQWwa>xpXceycld!x4m}8ZdY<#U*S49 zx6(13O&W7tL^nI3h;{{bY7G(sQIsynusgtlGu$dec&MI$Z%uhJ~9E z{2dGT|2*ngxJBsx;tw4Q_Z}|XU&OXqBEAwn4)@1JhvSbme@sSeP@>?n&kC%1BXC(D z<1o2w*)HN0TvqV9!^UMR`;yD96hi{UN(?Gtp(TkJe0F!~jpAe#@wZF{dnX2+3^s`0 zWd1tju<%z%pN3rHm91OsRl;cV*SCnK=KNLCh{a%+aXB&iXK~oYqTkBw6ATvXAu34J zDgGWfR}?&!)^=wiNkku$Z9B>{^Q2GoC%(t%U_y}o_#d{PRhTrSJLcfs5d7qgzgen2 zD;o8}AptI#`s#X{$38TPJa()8Omv$=`5`ulN_f*wP|q>nL*KU}KF}FY^#hOA$|1e| zhIp#mcBV3(>S2qo@QAE0`MlwG*tZQrjh0cz|DXE=HiA1fvu|6A!~@y4{X={+O=1%5 z+ce`_CW#_?xb53|qW0fq-}dcy=<9!E-}VwpHnVSggo%e{-!`eG@@0wTo%U`0@W}z` z;j?dxZWkk)!2$ZW_H8SX`M+l0b}<_N&Gv2W*uBGG-?nBO@!x+h(PS9Uwb!2$iCACB z+18OOlGptq_X+evQ_bkDCle2^ecQ)4#cjrL4r<@F5G4-HzU@xrY=*-dMWThn1pBs9 ze6#G^itu7V_J8(mu%Y681pkfu1PBULQeFprh{Fn|3Gi=0dGsmJf00i?yM7BJ%Ql%t^QQ7~O4@H(=QSJ${!H8KfuT z#a_1as83+p0I>-M6}Z)7zI)g(_hq_&98QEo>$-{h=`@A?7-}raE79h$BDVrdq0Tqi zMfH9t;nuF{vCFO8DqMEPDKkqJ;e56M*;B@OlnalkO?7ienBvDp&7}*XLe(q5spti8 zTVN&VQ?Um^4QuN8w=# zJ~5XsJTuU!zwppfOP(Vr4R~qrq}CD`_ex|2QYS3JA)oa1eSovEpk#p(cA-_Z>{&Lf zVtc%eyu6`zAdTreEy#p=Bv6+|Aw!$Oez1I zb}YSX;HY1$l{~9|T}IOg*IUClilZ=~u0Njx-P3$3Q&-a^TEB1cj}Reifpk9+1SPgG zE7}4RgZXawV6Pp6vwx!CFRN@6K&Lk(BhVw!eWtTG{7Akx3hG5Y3fQ3;Ad>lCH5=yM zzfTjy&5cOGsXIqA73bc3<$p8)sBKF3Xg=2hPnyrQ(5udCL^`^Vg5F4vbpOZJnCiy^ z(BBBxrHODs_fbg@{TF!S_wWgXF%>@`QIP3S#NHW5a?SLr_b?esT7zr?$3`1)(9*lc zPEx`=>%kz_lk$$cE)#=MU_z?!c$e-mjGKHmJ@+ zdv_|~ukgSr{5LFgfd1p5qWcEe+|RRWtzsQ2DAp=SZ*H7I_khMULv5c8u-n=DffYvrUnt&X71@0hbw1)vcwV(>Hr_4oADRHTTVQ!>^ zsW_pDQ6($}677w=s*UjS%_tnpu#zIVKYu9sgud=i;I6@y*+W^s{}`wavxyn~?&b3I zT%Y6aOxbyf}1w35ZnB+@B@u-Hi+bry#PV8&tX1EW^( zKoj>SSqEi~&cP3C$WsBinGg02%mIr7A1n|g{lGK_eSOeT;_Yk1s?AFXQO+g@B zMo|le^+B#f{LhipBoY#mbR((M7-er{8s_a% z?q6^w_Yi)>nVbkEq2IigT0B@(5vig29NUancW=ih$83Q3l;>DLc;8s%X37C#EwEtH z771F=stB#V@-yTxcp!*?X&$wr2|tchQ9!LA;HBz!<_D7-mrsH$9GitB)nX&W0sKjY zy*uN#;m#eg9Gv9UI%UI^RIC$!M@=$+vAlqz%@@>QPd!-)2k{AUX^`3T|JZx?IIG9? z|9_@tX;9WUj6xB+2x%8PO0~5#!&JA^!}!8gZ55&DoU zmPOalN`z(6KlzhzBMjz0vV1@=A!4d|&8NW)W(mZZdIeFE>hfNu$)67=e9=qeV&2ob z_KfV3+3i_P)7C9Du;aeMqE?e6ZmcC0&Lq*Z!nsxRT!nL^&sQDAS9Y1jNoh!n;xoX7 z_BjL!jN|GG{-ozd-QhzVM^$)5KAf1|h^4Rk{Al7K<1psdHIfsyo_Arl&JLV$ro&ZW z{mPaGr%HS0JJZdFuL+p;Iv?q0N6S@EzT9#!`aC(r&fS--MyDuxYwa}C{3L@#g4ePf|ML`9V~U1&tI0`S+i1!K zJ{gu>ZN;YIt(2_LaeCcCjRC8Sn>CDXU@7Yv@kNIY#aX|l9r^Zl+0Xbb=^Wcmx$zZz zVro@Nj^C0wzmB>ODLLamn0tPWZ=c4DD7Kb@=2{8PVP%sNGeD)@eM`AanMW{;t4+zN zGtJL-cund)F+UrXppAs<=_?UmtDmMLOVyij6SUKh0j*D;5$k`a>0yb_ixqaj5rU$B zW;xF>j06LE9}Z#s925G|cXSH7Q*CeO$i5s(-6G-%b|nhLtO4EfH(txa0?2d&Bu%9B zA-^B*!Mp^Pbxqm4KdjG?bsNtfbAdw7og*iXh;y9p+L`_~52T%}n>i`tsb^RGhv)A^ zHhW*8;C%<}OOAhArnWg6C*TY$4aS-O^A|0_*dZk4J1cC~pDVdNl3 z+o%f}Z=+58QF46|ihy9wA#;ntKnkLE!6uU$8Ppxi^a!UCSD@IQ8-eD+@EK=~z> zJDWLBez=3isPI7fg5Q3iTv=Oqp!{t^;eqlEcw|JaWLoXo7wyWO*nj){&-?my$#`JU zpR$v3{0Sy4e7Llp%3Z{6>K2sNoW5(23uCv=(TDySx?TrP{1BGEkb?OY_zSf^I8@*MP~$Lk zhH;Dy)eqgl_ZY$fW$1P|pbXu?cNxL~W$1P|pbXu?_ZiA_g$19>a6rLns9cBI#I#-1 zA}c`n=Z|__$l|%Qv}8wAlRYc;v34dKcPhV3C^5NAP7mnovQquBe-W35-6x9mca*De zFYNH&MuM71fRHS`@5D z;ei_q7Hzbb>yNszWvoG^6q$Gr|D)NqMx6-j>f^Zt@OPuN-SX|1nJbB%_%X(ZP{UuK zdXGl!6nY+KcM7a%XR7bP7%@3Cv;PD%GqcAFh7yhGdDi);sP*^jub zS?l1BS>O*2!0x*Nu(lKE2bW><;;AZOjFYbUu^WmYK{KzDAs+*|FyyQtxIB`$SxZQ) zqmAarTxiB1{1$(eDTNzV{DkWorU9HzjWZ;wKUY7_lv;l5{WkL%O^m?=I}j(D*~$s0 zYOSr-z^H9#1VT~GZcA(RLDc7kGx%jo-HTh1PcHKZR__VocbIWU{q^_2v|ijB7D#Hc z^E;>I`|-x&bu8Dp)ZKi8*RS0FQU#g2mNOAz`8ESel2y8wyb_BH!sLmUkqtA68^aOG!4cVAz8`0`KK_RrQ)~e$iPeRq?Lii z;?BCU?HJPr`zZ-{h)*d7@eO}+1(!YJK@(onRyy8}hEt7f0YVGTCc7e7xwbMfN2#jf z@8g~$2d=-aug~?@i-btO8)#;ElU>h_pn%t(*qnM6j`i$b4Z!)2-h-=5m}OxoSZ1BI za5A&EMu>lVxRGRbSgoJS?22?Bd*ZP=JEO%z4^#!+l)e>L&xsBW(Fm!e|<4wlm{jOKio&9Cc+|F(UkTuNLA1mM|NZG$USKhzR$h(=DL&29JiIsF8aVzR(w}>&Sk-qq6HvX}W6?M#@AQfXs6Pe-Vwr|Ze89B z{Hf(5)#D}P{SyGD$3_Bwf)V(r?A02se2F)DWV8Fjba@HkCC+|XTdOo!F zK&1Kcmyzb$@%@XcPr!+_W2El6GG_m1@8;^Nh@P|mDVG8JqvlQg6N$NqyffsFCVnx& zOj?=1A2mDMi^R<}E1S2s!Caa*AHgHfKB@Vc;NcyH_VP8w2+`hXibZ?m3Qr#jc)OMx z;R(hR>SW6T^jqu;c%B>e1|VLMl-fd~jyg20DF!^N>(%S6ZSHx5{IsKu8ExE4;F)=7 z_hd0YD&tE2KQ{f$Zu2&w1st4aqgfY(k}T*yhZd`89Sz%WFM#t(Dr0hL?se{}s9Uo- zcQ`6QmdzeFA5Rp!&VKhBEJV8a|6|Q(VQ2hmt?b$@=n7D8-KXSnf<>ygarHMTo^g0v zXD`N@Y7xue0|BPL7$~Y83j*6=Q|!q9dktG`-hCTb1WZ+&9HARf#9e zBxikrxfdFk8x$HQkO=1n11OU{H(+>lXSmxe7O|Lk?9q$Hto0jTVxesgG>B8Q(JEk) zOn*-bov5f3L(EI0fqSubaWvywS>5tJytm-nkG;7S;?VMcEfn);a0 z(ZnTi>QSiaF{8t&Yiq$I>O7zYP1wD58b6WV&vDTY;f^Le+~mum?uh!i$_Te?vs;+$ zVWNs9C2!cI?ZccuL>&S?*tKPE6Zo`xTbZfj#{h<-dJQFuhm`{22G+IJz%XdXHkX+3 zF+pCA+ELcrVfAL#pIAACunYCv1LqjV+ymbO<|?I0_}$pANLC6wRkJ4IKGg_lmOv}i z0&KP?M}9LfkuKBUiK<5a-$2sraIqXdW-`gCr2b>ksiBNIH7mFX)~L_KhoO{N1Pg_n ziKty>JyxKPw_^Sr@;oDusux_l#v@)!?qc>g&F{wkxfH&3E4iP2;j&;Hb*oc|AvxRf ztWrqx%iuwJCEo4O8b&d)QQnl+r<`9BHXB}>eTU|?y@fIOV4f1CeymOjb-fRz1{ zpfBQw!uMNpw!aC6^Ko}g z1GpbOBn*tJ#J0PL&q95UviD@4rGz)Ejdhji9Zei!h23|R$jJI$M%FX?cb{Had1w48 zaUPg813LRY1kuDiDH#)mGEvvaXC(0+VA{bSowm#6zOQhZ&*Q!b2V;M`w~+fTUm@1(QA(`Gjw8 z<96n3a0&=m9*a-o6VsAXP!?Tu{>MaN^l#LiujI78*kr#gr^t9IXq(&Vmw`r8ye!k7 zUHmUI$x-kvKsCin3Q{+!-MaZA8Z+UUz%WpioGomUZ2dIUY)c%}XAsHLPmxjY%U)RJ zcG}Yqg~*d>J=Zl5Zs`#CP?oOyA!1J6r^;*V=W+0!oA;jbetg!}YXRJxdb?gl-ur%D zWqw|R>Mi#3ocz28ly{$>_gH@39m;e3ypQwqrYi4ZKW|r*O%5&zOO=uZ|}4=E>{iZ9~_#=c1nrkV%=BW?&@+gH1^LG-})ryx{iY)@HliB)OCs@Zsz z!T96I62WZtEF&`!7mMV=Stt8vDR6SR1AUbbPiBBLyyx=ZiKTPl-6ME11%;e+lj7>! zA`?_(Dn)qNa1(saR_0hTn@kpM<#oGK*{6^lah@Xytdy2x|u?!(HdU0|m zZmg??LJV67gsiGrDapm|BSn?i0DBWsMp`M|kl6yjQaXWWrh!b4y;Pl9Nabv!uTppr`_MC%4QADl;-4+E*OvCMK*afYwDN z`})vMvd~Nya`>i1WwZ+?YN=H_xov&Q#oXi%bP}>kcWEOS@V3MG8Y8};xA*e`gQaqF zYd)x&jjHMPOFWL0wWX4jWly^qKl^dbEQG@E-|=J)X_cE%tZbvZ z;3#6;H+NIVjjg?g)Bhaz&28jL@_dQ(!TRc+Rf#{E`64v2Fla~aeg1;=px2eICE|oD zO@$jqoBQpfac_@LV}M3B#l=HsgZwn)9I8T)`7^YBcju_a(@X{2_im}PL{lS@II0T~ zaHKvmN+lgmPGKbGnRp0*(jl1Xu=eyo9TU1gZSZZ@8m*9(R+u2^{26ot>4uVUWg zyjh8)1Y_@#C>}R0^vJg06;mP+uTW!W#SQ3$X%hoerb*it5HLG6n%H4Kc+WGYrn$4= zmrCdNgt{y7!Ww9IXe)f3=c`k?WBl+7vH%&F5w~?KHawT^kvk#uFRJZRR8z{8MzY3y z%Rkj;R>r@)dYDQMAs`?N=lt@a+CLUm@6PF8W$!P>A1a`c-Y<_yHXrEES2>OMpm7R@ zxcy~OAhtTS#w|w)3Bd&&>6CZ=N=hM%HqE=>d699V{1)2JthN1XyTg0xWR8O&}%0C$uUIu+XY7z(T9d z1z4aFoo_dq^X*2RZ#Nd4Z<{OHVQ0=-;p^_Q!_ty6@EXv?snub2BDRBm!tOIWXcdHc zvrB{dC?+^+$+s!9weDlK*5|Udt~7H~d#u*JeaPQ0R$_U2&KQWk(gwQ>s=_U8e=1?x zUg|$;kfCY(DKs)i?7}E{w`nyH?I}hqW&Y~+aLb|vZ5aa_N#G+E1U8;Do1Z;RDL)F& z0W2bt0}S&0raj1{_YOskLQupv%gmi0%uJs<`IFw&6irW`zjQZ~UW!m7-cIN1lDexc zklYb5ip~THU+H5~g|rPyfhSCvfc{WOAh*rJS!#v%^a`snZF4PYK_5y==zcGWMNx5B z-)Y%51Q#W~#oOdXoV^xw6EsLSA8s|B=%5)Uv1BR#BH`rBQ%=Hc?$F1$Z<;05_6Tyq z?DLq8O1+zHAuV4J@2_+Yb}8QQ$3fZh{d0O=LeEu!iLn!9qls_Aj;jIj4q*K!t%~J= zGi)i2E)?+kJO<;_M^+(qG6)-Uo^cKVkRj9d%7Q zuJH1&bPujgn^`ul@G^=tpF-`Zsjcxp3M?1wOu9e*kI`!<&?y&scc3>%E$HT})1WW5 zpdWj{f?fd#>?J?$#|9U?FMa+SPEKFdUf2n|ac~Z<9|lpApU*Bv%u~&6v%>1z12%X^ z3I$&w=zTe(0q~EU4Y@Xb-^^$Lt#1x9rmq^}!sJGl<2WhTZg~}jD_^+< z3cKRn@~CJ(-7u3>nj#!A_F8Fch1=Tel2gF#c^u)E%?eB0+L;E#MiT&J1VD+aVIsra zdm^E5Ho-U~3?GoJIf_84rsJjuMk2h2(={GP53}7gmDqHeBHm2p=81$_*+{AtiFCPI zMmPDoAUM-Yp$@l)ptAZAjD0JCCkVTe-KpYr79g^l2vmo?tq}0pR~!;wU!!g8%{n5( zPUpC`T6qhYF0EAV?}}2f2xg?~2f5a-Xk#VoO;!~YFin|_!UvCt&ZbLt=dgl=kh#%g zE|hkqqM5q(;3MMxT?#tA9ssj&XW(%GTv{*nBJmE_wYK`^nx)^QlJ}@JH}KK!7G<~m z`4YYKq98IL@wc-wVk*2s*&zF;cWxCCuMRZCoLe%j=BVH7Bt zE)3x#(}n(w9`Tbp72y8|$|&RchYek_KpRL1Es#nvblD{hv}G1(fqV!|mqPd}x5u5p zEn|$gbG5Nwzle7YIxON03qK|CxEol4!!Kv;T?}*dJQPixFr0R`r zeU^NV51%E)F5e^bdE#_0`2do-@D8;=4aH3>oefa2Bt?8q4aRGzlGHz1fVRli@z&2O zVChdt$YJRab&Q;J=OYKHvkQ?b6L7}}DBD!a0UdtPQIoOphVIR9iLPOmciDnY>I)c# z{F3ZUZ)r8q;wiY^k%c(-Ai)UWUm1FX?X`UP*yajgeP0DL!Kwkw6hwaH0>+|nvPu18sk8W=40XI8_RW&U zjObwM=CH{lNQG(p4nA_)er>OUUR`YpYT0!;4nozxr&9GEITh|KsGwEJXBdmAaFjfX z%(%UsgV}J4nZ$rWu~7)?<{OhfuhGEnp{4QR{1iK`m6(2q-YE-At3;S9=w>CmKGd?z7}%3EeE>m58H-0js=CxW zl!D5vTf{+JG3i~r-(|{kK6hky$1Fw_?l}>{W2?gnFZo-{meAFD3!L$NNsf`Y2L-$* zzWG7Bv+Dj^^%U6L`CP&IFe}Jg?_@de!lMyIeZ-!}3Is+e@}}Nr)4GprDw0|oTN-xE zjPIBUKkE2;sOJrL8!r@;{K2YX4@S%$z?s$vBqoS|uA~p$qt5m$tWVlj(AxBx0avND zP{Zetn%Z}ClB3)B5_8zfS$Ar1e-?%EX<{#x=XkZn^KNnTB9L(AYmB|tS2OoH!H7H8 zh=MamdNkx5-xU{#L5otUxonE?XPu;5lSkN?{l(!4O)89^=gW6|X=`7B<411Q@1CLR zE~@%tLRDK?&#??o903Nt#EKQ;Q&~$T^^esS9rLo0++YS{D@oL;A4zc=t^XF7$nVd- z|0rg=udeAomgar-%UPNqt!9QRYMa|(5)KT;R51_O*5cN7LoOeUqJVe7TJh2P>h4?i z=|3Xi!5s?; zc&qSWExxaC&D~#2AR{Zii05b$a;Wzrf^VoWkB=MFXGwM{Tphnj1lT{<} zJ=a>VzzIuqoSx&y160Frwdfy1fOGlCLGLT8?Q2}?*TX`m0qo{7bkTI0N;B4XlISY;L*?pK(p657vv zO)3_&XyV>;p>S2=JJ|yOF^dAV<65SM)dZGSv`k@kKP~E>RU8dgeuPAB*a3-LdfoA$ zvuDJ;Sr{&4+r>)pQ?E0U-4wqaXzfX%jkqOr&nIuQx4D_Ny(h~V7n{X+A#*tf=~ zi!MkTpT2q9*tL32V?2Sw5?}+`I=Ky&D$|{da=WuiJgV;0+3u(lZs2&Zj3l00S}QzT zsJYA4Tq1rVf1Bfoi4@Ovonu6cIBiJp>_~k{fO7{Iauzj~@H|=*$s?M2hAsQYlesD7b{2_BfB* z$0pKu?gLlq7;JRZpD+TK>w*Dg}^r#LG@ltkLNk{iMp=N2vdXFg%Z!HZ%x~A1)3|$(3g%k$zsuHg~OvO-Q6W^xEkXS5{e1U&v z7T1h0MZRZjwb>q9H?IWHKUH6>u{SVy9P7CqX1B6~lbmX6on~q+_G?{~t~J6ovxBW! zGP}gqYCh8@U{D1ems)YQ;O zyz)mQ`iI{HUp~}sLu!({+FqRXe;N;*AROL@u#8Id<~WXj5 zdvLlCc%PdQM91(R1fEiFHmQpp6aOQ)EMdYh@Df1#9hrH`G3W!UsG1p}Z+p(iW~e>K z#G3HV6Gknk&m_rbD7tD2nAK>HTZ@Y(8Sx3#m$VN)X+Fbs8%u)|zs1@bbL`hd~|C|Kj6sU5?wcnQE{&2O9SkEodD@QADH$BlqnDlEURg}7b z)UeySWz-$layx3wriP8Ll5PQjt+z{lqoK>i`wB=Y!dzlWYB;xUC@ z2V;wcKSvdQ|F`I`mjtPzxnVU$Z!g{78w&6=9_ne-y(-}K$w@T5Z62ZtFunwSg;nT8 z^ZV-dSh}6^-ZcZr-32q8@A_CbX;A!bx1h#cYHZr=76X=6^esJjKvPBEl0&-n=*Bzj zeYsRIeYl1fW}9GP!&xHf1W|(2^94JxI9mMUB%`T9^%d>6*NC*{AuKVq=zf%`%BLBP zqYPSWyzU0Aigw#a+;JrYgP!B5C1 z$m;Wx&%+bezl-*+kfY#PwI$k}CX5_s=jd!Zp$4^UTN|rp!jMjDq?N$(_V$}9^V*uP zk-_*7;L*PxUz%m5sc0gWcyl2y_?^UxGR6wwaOzjsI5pYUvc2+FPfO!2h73|Vlz7*W ztu^0C;?L#y_)V!u76uQ9Lb>9$})s1T`xg$JG}c2s-EfCK10;@rs5)A#Y-#;J~_FKYSc$tmguG9mw-cB z;8mLzP?{8v(q6M^+bB)DSEc>arnO=&;+A|ESC&CM!1Ti}GQJ-Ou0D+)UZ($+_!;*_I_zgF5;vv(eI0ZeUk@tMb;E4^4rE zyYILmRmcnvUT9=Zr2PYR?YI$%)NOO++a>q{cA~$vX4)!Z@U>*`#XmIhIG#y)P3)v5 zUMeFxmSJ?mA)kYPa%WY@lVQ758eft zK8&WpoIX7HFZDs|M|h^UBhv9wkggTmkeY7b#JBu4175nD+rPZ?ayx-6`W8 z@~%u+UsfMM_Fg1x%}aM{{_<3xJqbjJ+ey%r#JSjnU$7Va<8i~=fzX>-l-B$;jnc7s zD0QHWH{%_PQeR-UCShwRW!HNJ{=(Gln2QfK?H3B=Z{qpV*e&fcZ>&t>IIo<#s-y^0 zN#%{2by7RSWAWXLWjx@u&nZ}zE*PQvq3(qP+Lrb*qv&vf^B8L@5Bw2tE10g* ziEB(FZdFNs9MSBi>K&ee^N!ddkKv_-ym{wg>u`)ll4Kn!$qL4MiOG z7?$2cKm4Luvwn?pqV|68NgAIM&oDtN0&VWjd)?40@kZ z*Dt+@(#?3Hz3&YxXyC7zDs63*Q~fH>t4a@5IiR4*@JyADUobt{&#yvcJDmoM4zLGy z0;iN^Nn-SU1$X}@EMXeTHBF)LD0@)0Z1r2sBN)tIs=E*~&|7y}rvJ9Bc@r(wO3e|HXm7fs)NgUx$lx}f^Ib{=k| zXK|(ETn*YybEJ(AP%uBr_3|_CWJYjld>NJS)ClZHuUJv4TVXB>k&3rE|1$bQaK=AH zHFGieY3P_@>EuqY6+4>;g%kKjVDjlj1+UG;M0rZQ&q7R4yoc)u@q~08Ky$V8)m%~a z-dT3H@c~%>d#e~Ezd#L^vo&6cSS-^me<8ow`-BDkQ|~SX8XGl@3#P6Q@#ynrGmx-! z&0xEP>iI*7mQd@AtaO;zh%@)(OSJfSjawOXxnEtH4R^9^xK4*uh7JExmoYJWJCtrn zvGZc1j*}!P`^#q7#=* zf4-Ax$xO@AhudXJ1mjOofZO;S2%xWW z4g@myUCsSW?tlLm@8@h!9O|1Jz+LBw^10Gm zA$`&0jiKfy@0ko!;%|FD=itrN?~q?V_x+p}WaVILTrP%Um)N(auv4;^ra7r~&-*f-;WwU?SaFOq?rX!s zCl7Sb{<`#-x^Z8Z@etZTxBBZc^AsA+$!7i~KHL!0BZof`mUsT)WL2L(j`_s9)qqS3 zGy8GN4XYgFytH zQtB1)M@AKL>fbI$<&K>4HB<8%F#4bP|2vz3v*h1|&;7IvE`@bRlUENsy?^uH{{R2t z{hY$}`dd;NCdi0F_bYJ6NsZw|%?tt&c{5^+TH?8e*Ptn;fnaQ-S$+hjeU)BYJbq1P zB_IdqM^fv}^63cig@pQPDwy?nhhsmG>G{H$L}e&vW|m=p6{S>Y0)>?1_MHD6E1zfm zxXqN099 z{fT(TD-j#QPR)$4L(iP5hNx3HJL*&|OVzYX)s%V7s7LFEA|-k9wQ`||CO*=EsB_`W zVEiKpl-v>ctcm`v)2ZB}&6QX4=0)QBurmyTz2!af%X+OQy$;}IJ1HCU9;QRNFed^N zaDxiL-D$vm?VST0VeQsT3A-mv3%gY-y}uGl0mX3~_1f8bQD^*=>>~Uci;8!ksmt2B zW_G&A-pTJ9i|DCZ64gNNurq#|cL5(Gu}5w2&g4sL*!nt+cauggexjK*)_9X^IXD&r zuvQYUBEwD@SPW4%dFQ14+=L0-dxMxQFWRE zOR}GjW1)zp&i28Kv|xTlq{B{!rGm!GDm@X#8=BR?``*EnV6DCn zNnh0B{Y27UHYup@&KAIufdL)V*YQ|DZnzUOK4GWdNd|DLdPnaDm3R78kl-b+Hs4(` znbkJ4tukMB?QoS!x;^)~ zN{(aY`|`t1dafD|$wqnw@xVNp?O%*pwWZUB4 zY{f@y#dfx0=U=I~d$!_U7S*7w*g+M=JX`4F2RCN=__=LSI5Mn<{7S`{*@`>^EUJcV z#eu(4@#1X7$+n^$zVb_drQ)G}#frpQ>G=YA3#H#v!M~1Zgv?RAs=^!3a;$6pBVEG2 zjB&9kz7n<&K@gpFc)|sE4MYNg)lGPt3s0w;hu4gUA+Xav; zzuEM!ywAtk^v1mO_1V3oE zqZWjJBF}=`Tgi|5$z$`Y?4rDde%_6$!aG$9GXuN6|K4TQBXXK}jw@>3^`?AHRoI!Q znbA9kznMiBc+^YZpnD}4|C3B>p8<0U6Hf9oGL7Fy@3ESJY|Vpg%@>uKQ?tElK19v* z{XD1NqnY~OU!JZ1<&~!8n+oc`qbMt~2s?Eq@J!&Uf&%kYAevL)^nwDns=$H5;Hf$t zxthQ>4Pq zR~T}Chg!%*_(E0u1*FvEZUs;WDO19xCVwiZd5AKXkV%u*XPRuA)8zKH$uR{`e_#ih z#9C^a99EF|t}-w3o9thZ*{ICpZIcy3$Mo`^nrttpi9r*A{R(iMsEX}u#ho)1&(EoN zhOM}sw*qs?Gf)-n=%;z9dYB!{nv4B$BpMESF}IfN*vb11&upcZv}taw5Ba#tgc@R(9k&HHAxc5bc9l($_@UR}QydL}U#Yb_>n`+X<>Key*j z-?JgzpUdbNutQH3d+$Xyr0|hS%n?e#`rRp zaS(JVsX)PRw0ywe~AM%q^)yc)q7@Yter1J zTJU7!w>4T81d{wjgB8mbDzt!{Zp-f@C9$e9vC(^d&3fYMDrkdxj$@X$^YI%}{T>n- zVkhD*OI*^*SgN`k)ZtCnYMmflV%y1ryB%=NLlnW3B1!G={L)>)^Q=J|QnAMB9cuf9 z=|fRXb#gdh9Ya#^4=+xb&*q^(Zd(X>oKPpoUN_KeK0G_yj-2vzEzQ{J_R+ARMC=Mw zG!0%mU_(ky#4@xB##~ZJBE;$P#hU@yR{lIX>?<{A0#9s_e(FQmp zNT>uj1Jj(hgfPYQ#^;R0rzpZKJ8-rmvLUa*_?ZAr>Yr>jCz6(1M!+roMpV-m_n^vS zVVbW%KHD4ZFVY;~^UseI$nejn-s#6=_y^~ro&$j4-Ck|^X9Y#mwJra2p)2B_C&}^o zXICY`KX;P^F-||yGS5x?8A`wsf!lFRVqN7kPZhQg{5>uO<2=T>h!n0f{2hx8Q0fP! zhxS5|vL=#@^RwyD_CP)|(c6USBa@`+RDEpMO+(ys}irZ6h{O z;T|4?>dtgYC9AmlQ;;mE(t9;7Hte?5!Rgdy!|?|`#~AqJ-vILV88>giC#)Bpz)(@({<3`Tj>JyEn(cCd0<4t%^?lM}|1F;*f!Xok%lElSlO3hSw`Po!b6S~?p)m{0?QUxWqY z9LlTc!4wT~w&4x0{0^Um@k%toj2R0T_-3rUe_m)y&-F`_IhssDHV7TB+r>6}TclJl z76?IajGuaZI+bAqReUk_Ws*%8q6>wi$j6ia`I3Y|)&LNeddtuI(Qo-sqX6c2M19!s z7-NAkDbNg&`tBKwDO)Q25$aV0pX#}i^pT-OgiUsPF6SFe%U}Sr6`5O1FT8uG&$Z1v zk4Dn>H^BSVvPh-;6n>u8dIn4@=!3m9YQx}EpJ7y|x5EXvmiF>y86H{crOxM1wY7%2 zR;zvE{qo^@OVQNWJ**cE;vdea4uY74&R(1??FGqo^2Spom({CaOF zgaFijnGutkYuL)^IU{ySIVMBz6k*xRTTh?lA?Eg*XgmD((R4U!J3JV&B+Uth+omV- zL8;R(Fl4E^IBNyiQO3+W>Llg%@_nE<+kEu|Z#P=p+6S=ADZ-zibnKj2knvHw7L>2=%YE+p<`6JJ!~ znM%}EhTU!AQ%XG7_VawGmOLFK#4Z288!^o-Gx$z(i>@hIZn=yBgIlhuQg3oecrR?;eSAWYY^g+Hv5b zAtmWgUl3)^8)>3U226VU{0dVf`lC*y&-`NwS1S9#>4Tzyps8tDO59(;BHr#{Rd^7yqXA zEbA=Q{USOAwJ@D%1B;ZcV>VeJk@trhYT3)$1c~M{eQpGw&EFrE>3TQF8+Cft;+1I@ zg);ELZAZUhEZCk0xls03l62Sk3=TD3w@IT(+KugklAffeGQr2@fDY8ftHkyg<8aRt z=gA7QIB=9ce5c>uKwdCI3iE?=3<0|=)T-b6`VVP`s+xO@ zL)EEh2{{ffqSd4pUYVn7VqBmDQlHnK3KPAB!k@A&(Ch3!E6<2|U zPz+yr%*F9WssaOadR~ijY?vG7t#MjYvUmSgiip+o%);~=Ou8wfm0#>B#?w9y@n$R? zlg|Kn>*{Y(OXD7};DdOQU!?l<+v$^@lWt2jl6BZf@?n1Rb;eb$LGdrgj5w!TIAQBG zoOQv7KVMWc8if$ov8pj*gq?Ev(;{6jo1dQbe-_1E&14MVaU-o#_$OC&>HpKO*->`d z%rK?PKZC64!G7r@Er|MEXW@)wYvOIgpcsCwfMkV(eNRK0Uz=%#!M+k;4EF73rU(0< zq-(IRSH9D)E07o5qrqM`!k`ta082aIMTevZJa(5E@KNX40soYilPxr?PWiWJF53AR z0n;q#{rL8Jzxtws)72|&^#iEBP@@`Zc$~@eT0Y5VgCqTS{Vd&5SmolRsbng0Rm2}H@g9$Qe zRitSYwpE_f?`8m7k-NxZ71IjJj>45a(q#N)h8cyA&b6b^S_@-yQtFhCx0s!71_;8| z{3|^QeKOS-+UoaE-5-V9Xr#FxblTTe-z#1H&`kB8x~E&Owbe&tt1EINZEZ{8{6X9g z7Bz#|a8}+RE<~YuXVXIl@e#f^9mKWk8AL)JK<)Aglz_7)jq*9`&Q<9?os&VT`R|4# zE6&OE=@*MsHHGt$x=~!AW$*9uk=k8Iy+RsDZMRvZP7_j-`G>f!eP^~*TvsWLrSXmY z%f8aXG^MWK^|+Q#f1+dou-@zNpu&G{@Gcg7cdB%bS-xvk&B0V70Z{!3(7W-kI%s^~ zo77oy6_-_fX_34yzaGK4nrmJ|Cqh<{VK-iik0#D6)6G15&SoevoT@G3hs_X^&4`a+ z^|TxK2f6~HPC(RgXd5KrAh~S1J?Al)8Hpeqi+0W4BY(Dnf%Ho-c7Hi77#mI9@=L@4 zP+4Pt(ECO(-ZMEpm$Jj~MzYyPFsiRA6pGR(a)ctPQf_(4={Z8ti!>2y9S9&434mIm zIK^TVdlHRlg#C{ zL`SOAtwSlC&pju?wT62>!7h}emp(>qcsB^)roc+R^OeS^QbF=m)D|6(Vz8_fVUlJB4B>c;jfzv;*Y#>)~ zjF%MV4Ce@a9%E<5He;Df8LU2Rd$npcS2tOm>P})rx6O4LgZnhgtb?`%7~F*uS*B!i zI^D&K437JDb(Z7et5hSgnhlBY$=Q$?+X?>kQFr`oS+zR!HeSq6z5tI6i88~_reSa5 z^KeyS(Lx2tVN3WPjPj?EEwOoR^qzS~t{U8Vl|b3sqv5lbr=ATb%uQ0fR9{4(rUAvc zzfB1T7xbaOV-E{C74!Sfm7wgsj1Ko?VLOvj;jgE~P|v`#!~92y1t` zM55*e$>%+AsV;XrM=ba~_<7?jzXxN|0nx-mYTJ0&Le3`dB5D#v(HJ3HM4ZEn;GhX~ zIm+8jyktOm1JB^I?q`-uMwZ$CFUJGfIX8-rxG`4I=h4gLkkjasrGjgbyz~d}(iPp6 z4Z%LsnNYo%e~>L?>;OPpdz>M-A+2b>TTjv4hx!YaosCP^V+st$&j5(-I@D9&-2b{_ zk$(n^#yA#9MPuCiqv&q$Ct5n|ZB(~SpP%qFsmT^^Z;M}+Enb!ID0hPr+zv0n->IFU zp?4Al!ukq--Txk2k)!ytxiSl9~+fZ)Y?iEw@P2!O>pg_z^tbq^Twe`$N=>`52!MWw~Wil;QcVc88yB!G5B>l@! z-oRFDp?phGK(CwWYoT(y-QX1)P@z9iLXJtrB};!j=M#DvH?#CVMCI9CGk%x@Rv_+uPkSJnAXA*Aa{$RF~jp3 z>g_l5!fAyKy(MDgH#DCld-uT7Z`1Z}Qwij(g5jVYv{Nu9I_M^yA}IaK3-?ragRxIZ zHIxiFJ3zl$*0||;Y3f_nGj4-$%B9L=_(N3La}#6_+!Wa|AK4szuqnRH=(;S`yZZ1K zoLWc>cEW|km`#$1u~qomFmruC^p~7)jx8C9_Ff&VW34RN@j8$o^Uj7>BgHR9>V9e& zypC<5lu<3UxV0ZB);-0=B|J9#6Ozp(+N#7Odc6Woc!(gp2|0KxbF>f=X|=aNeX)Fv zCO-ExvJq#ZDujy{NA_QW8I*h40v?QUfwX86??F$zQ^OH_()`-X`HiZ;JJ}Jpx)Um= zOGvq)0IDfSQ#onuePOE8%&v)%Gkq)ec&ELqwY4%`yMeUpi#NWnm$Ef+@URto$V8@ zU; zQ#r!{>SaL9WBaLA4!r$_%_kQibYGsrsGcJE*i`5)L!I?)xf%8uGhoZCbJ>1dW}DE`i8J8e;$#m5$HzMP z1Pl^-Mlo`1pqw?oOON}de>G$ua+)POhH)$)%u2ZNvbOW?LHb$Eg?qmhtdsdeM%%F_ zjVK6`({S<2FgwgV(B$4L9z;${kWim7Mvgvu8it72*Bt+b32`{<0L+EID z!wS?0tIW~*gIHC=iDM1ln8L#-9B;%eNLOfsvGKsjiM~FO+>vuT>Plesb|dFL zdGp?aPmPFcG-hqDqF`JezihcKK7q(m&hU<5cSu>J_dCJZG4Pi>`w0#@N37zt0l4(^ z>yWL=IlGgJ)x4V|>KR>J;}xBRR2hYpybsHHu0lF+?=%lTGR5%lO+zdX<3J|W(Pz1K zbVh2EBULx})N^&q$`WzYJvUGn2^3B0Kg1^!c9U5^A-a|6U*Kc}g1=F9vQOF1wRFz;Xda*to$?2oBfFb-fnl8bGBeiqPW$wHs3P5$qC858kVZWef=4v z&?H0NzNI(-1cGr+Ca}^U)aLjAbQ@uw1Fq`*MKI=x19B-m>ra-#GsrL$rWh1%6v&*Z z;GMnFUruvBW0%U)xHpO?Sow5PM&5d`2fO|}ts9K(O48;v z?@t97y}f6e0B2Z?DtwIg6GpSN;&wYMxY-~0iy?v?_!sWV9r)=K@H*aZ4_J@fbkL*D zxjdFyX%{Ct)YkJC2y<$MQZsL1D5hYX%d5;^PTYM=26mdZ?1o`T+Cy%7WIeePgO-Knt(^{KQk zUCySIcj>M2cAc*hMFf2zKpERY{S{5@-++)6O$>1{usCPncxFd$mN=$P{=j|CYEpF_ zqh$!BSJ@H0GjSSV^v6C}RJdlvQ*>o(Qv(P^HLRU8pg)oNX48-}pn@-KOMH$Hqo zCNb7Yfi_bEq9JFZb`U`7%1(C2D(q=>P5sgCqYb`ad6)g;2X?%bT~Mj@jdUe308MLG zEZwd0i`fwyicM}df(SZeIG;_ug^9-*_2m)X12UODL!VMRX zzEt>#D`prBGYIi~1_?HphY7D1cDh^iTpI$A1#7v%FmM^1lXGSmb!G|yIPAMC;jr#i zP8ENYU%x$*h}-7JzFjqb?g`K`3<+XTgRvUYMn5XlX^K z5b?6@Ag-;FRQiL+$hmFWKLaK<$Y&^6W;Q;-{o@@?M-(T{#MdJfHQaF>rd|{1u#ZZGunA*q>2Y~Rn#-5?NBt-Bb0v)E~0Yb@J zA2jNG)p0&SLk-thjXs@8bCTcefU?648o{{i;(q-q_dY2NUs^E4siC>d7_6I!w%0M) ztVXj6yrz%;hfF}(7h+8O1jc17$maR?H2aC(_+wG7xjUYn2ATx#o@4mUn|~kWs#)Ir z5{%tU(&p#iapd%94Am~20is30n;N6;*+nf`?5JCrXSVjB5%%*lNsEkn5$~d+rixOX z*I=#v(gb<&2_feb%fLOJ&jMW(buS15v}-3H;u`PyNDjo8av{Q7FCW1W;VWQR*6?NS zXnjF=561Dpftk^&x1+TN!(-uS)ezy-jC90#O6V7iR6DxBFh$RLNCTIdFDBO0H%MR0 zcz7+4b~-=ECJk58ny5({LJ}spb6CSh>YnLT3orzvj8x1UYOQM2cj{Vru6gP3vJqpB zNwn^MWK%`=(o08Oe9@6hE4sH%7d^5m*1d?b`p>U@jQdRYQj*fjxtE&W{YDO-Ep#93 zh?-HyBqn!PLn8%6CW^DuFqF_m{Fo26yVgAJQ?-Il^i^J?y0DBvaA&&b~tyUy@5v|p=kk& zEjGn6E4u$!AzT1DY1D@EZTAAnRy3e6(q^qC zVRDQGxpH=J|H>Kse+vJvWx^Yc`r>D}{TXC``r98JJ7`X{KV|ku{%a(zMfmtxZGTqS zA4#MMo9C|tgHN_DuAdxGvV!8_!3zP*8Zr1}v{+e-{H%ZGXSE>fSw9Q2M{cc_WGyyX zn?}@&hZRw8im6~(U}I%*QR-Mi>zg%$7UX95#DSaF=gQecpBsjK2vB)rb7a_#&B}_x zvH9SOO~z&^Nt+*=2bJSS*|^?clra6KY440>J7M}^t+YjZ&^NPk!AyGv_S#@v zI~c)z7`UUOp=aRS^z*~zr)1%4Ir!m18D7kw76QI+cdP)3B^I{qz+)=e@m)wnOXBwv z?=cNs#)ak)zKpSWW#wohZ#!3XO%3Xv3!!E~b2rwedj`{+_q(vVGe=K6%5IRW?1H;n z1J@9odo@(FQ)b&y+m}M0XCqnqbO!l6ZpyOlG3@FsE45E%NcV3_U-BJK7?fX@)8u0d zG$fPZCul6uWGwWT9gFJSjK$nO3yNgKztBkd<}YlzHo+l%IEm*xMU>04nA3OaDA+&Xj$9$ zUCV(e}|xdq8mf+V*f`366^CCO5NB)2pd*e@ZfXsBhl z-!F9VvRim4sAX~#Wf|T6ZPKH=WSkk@`z!3|o^D5X(34vnw5jaw(@&9Zs%NUx%im3P zjIVgStNRzI%bf>Ub$Ra*h3fJ#g0B@!Ww(&Dd38CS9QfWlyLGy6-c_b=FAcDL8)f@e zJ!gx3oBOvkLpq;so*{#=nCwIP4X!_%IvdcW#g$g0( z7TGdjxmSny&ktb-i*WY;=-ywlJC%j| zM83N}U>V%eBfH`56;A(N70$8fxbnWJh4j(t;q%tZfn5j58#xjy7`b;z+Wg2ZCPyRp zz;@}8>vp9Xxt))+BX^}8xu+lB;>e|LNsrvCAB#$xa%M2LT%O`v963GzKIJrqeF6X9 z7G7!stLuoxt^enKZ~lD$zlu+Gem~Zu|8L`yZS2dMvoJo{Mnj%iMAgf~^&K=&|CdR0LGui}%n20%{KFB9D9x5X!Wt&cVeN94zgny!)hrLDr z0UJdgKloW|?M$&RZ6t{7XBZKPxeDEflLeYZ;4N~j2gc!KG_|V z+=PY+lbE4lUVO3($;-qi8_pjY%>MuQWE{5Xy21Z>e6m3%jPQmKP7H2fA05ysHugm8 zkyw8IA2W*pEGXW=%+pwtzfJf@dp8}%n3`zkYgw&i&vaj-fLB?oqrESKF=J6m3@d6t zD2qZ95oVq0IqBzQsyk}#&hv*Vh%a85xR<3R;radd4id}oIcgmYVHX%ex(p3}5ok;d zt%{X;ib<`$)TFdf%BePGq)EYZX>#B+o3cra{ySw+Xb#!a#IK9f3zr&#Ca_sLm7p3r zd%cPWQwdx%qc=zsuEvC>XvdU z5%|+M5z|D{Wr5e93QxlpY5VksDz03=(DqAvaq4NoLzkKuP}z2GJMzn%H>C>Vt4{dh zTq)|r8`!;$oMY`?_$Nl4yM%{xtthLl(F_*2RqivL%&D1Uf7xCs*>11OTl?FqXFx*R zE0^C;-2wq%`tPb%IEw7guRR96m5eGNDJ5^oSiP?q@$`CY6IY*fB~3#6vonu0S+KO@ zJ6Z>0SjqG~urwH};HvZ=@OrCvfO>!dHw$WhREY$L^qwbY2kmk(Yyn0{* zYvPdjnRf$Miv9LOo3_92*4uAIcBuB5PBS#3)%dU;5pkcCu$Wf^yjfgFH{0=JI5QBZ z@tie-be-fU&8pPNEaik#b+VPgMU}kWVdxS`oWyGmQ|m>+;8U?q^}tKJ2E;n4wDApK0%60=$-gTT zzZ1qAzW^jB6CmgXVP9%d^Z2u)B7j*Dr%~n2^^{on;mhU=p@#)M?~z6e!SeA z-K(BGyFZ}Scj?v}Rf#f}e=S9ndtg5hEPVE<9jjCOr&QD;Vo&V_Fz?h}IQfXA2`rHI zuq|_BPivzLMuFvqqc(HDH*y-R<=^l981HAOG3a2H28Nyu2Z9;iOS{bCu7Wmr?i^ua zCact77<&9{Z{}Jty%CM2{X@k_tQOyc0^E$?omt~;&2 zRITBC);@QY7|?5E(}4av(9>&|F?L~R(rW!Aj)gx@K?*sCPu!}cXreiics-oDb}fJ4 zR}kwonhy?2Mr$;5USHr?uvqB0uClX^1;RWLzlXGtGhN1LR7~u9N;0Qi@cla9n_xZh zxO|%oYV027vgGHsOxTop7SGBTneG{$N4wj3ZwdK~&5*ka=Do|Iy5_xYyKa8oJAd=@ zUf2Ao!Jl99&rjB*t7`rp1^lhfe{zQSPv$@1`t#2sJT(gEKa#dK|B(%0cit$%ifFf- zV~95H_m*h?vPApcodrZYvYRE^$^$k}w2|qa=Pwra%O~1a*9*N5+&aBhmi}k-`T&%D zdffns0(xCW(pKnoGTG4UqxETeoiozVE6UY7t%hH*^!oPi1@zkKAWN@%_TN0chHjo- z9fZnOskAe_*)msECLcy4ZGo${LSGn(9ps)Oqf^G<6~) z40XC4WU2FsrOxYj6i{a!LoE@!4jb?0mY)AHb-n}O)~GWDg#K;n%mAoQ9XS;gP^TwJ zo2Skmwy~vKhTzZ*-(d?1DTl7x*>kk-<+|yfxewtCZ)o? zz^V$%^ua9R@>{^Cl{AZ1!O|xA6NXDu@!vpe`hLF!t$RD=p>>-vnwkx--|=AV8qzk8 z)(GV|uGWZaQxPqTM1-0{ajWFXpX{;kR*1J@-`|2|>UViqe#c(0ka%46*aDUdO^!K5 zy_@Mcx#-Ay+A{0j%C`WsF--yEEBU{$mb zvvDeUA74N_Fbj?8ZVpozO9+w19+qZ-T`6Eq7M$5Q=)RERLHvo|Ce4#uw@Bom=7QFq=l5+cqV7`n(A%tM`l9gfHx;c#_imG@OEdxVqnZfc)B z!f~(S{3fSX!{Iq+H}j|h|5s08xkRjxP0wyxW(ntA%_L@pJs4BCqvRRAhVfB&C7n?t8zRpt%X(laDm@)>RkOK$^HNQtEM7Z^v@oU&h z-Ce1hRR#HKA(A>Stq&f64nfhYvuYlqYURgB* zxK}2-RnEOK@9eMAgX0Y|gY#17yuqoyMaS|71xA$=B~M0=cvo~Zq3m^EUQxu;_9p$k z#rVgAc%fkhw|ULeYCki&JGfTL-12|y34U&ySG)Ry8*0$&zi`DK%#@oU40z zkiv!Vq`P3G{+#yc2L`zZInuO z%^JwdjyW-F2F*tkcWc8MP0VZHC+t+N2q)?q`9zwipm}oLIk^_b_jWC?FiHuHYFS`m z^p5U^T58NUG%mLG*Sz=xgFwCy?;snIpL^E+&hDQRwd@ob3@x)HA-a}OD5|HlD_FXr-Ngg(@80hquSEpImrSq&x;Ctiw*37L6l zegBTd!B_(J#z@l^UE#&|f@2u@)`o5R%^lmKsCh3kR}&M)JJ)6gO@J6%py3MAm%J`_ zP*-rnPK5oaaS``hGQRnB4I&N3+1FJjpg*wtFo|8l!YJYdH?20ZsXxrS;Bb}1F7QE5 z8$}7#_{PEC=;5+pTwW=vTXzL-pc=?g=L#MiLLm;MOOd*3y3nrplEY{fmnA4e!L6$GiCnq{*bBKV5_$EtIBW>Dit>p$#t91!hceu zBC!!!ADg3Y8N#dn?2Ge*9VE^QY+HI^t~j4c0dLqyiF2yDcOh%>)bs5nQ)R-F7j+n-3z69Y-47)v7!C2E))ai|p%W9Y1f=|}Y z07iY~iy*kIMbN(})JS?1Gh)jT4KfX#YS4I2Z__8Hj}>xgoJtbWana&tA|;L{QJmdf ziEgxATPEk3+}m%rpNj5^D4{fiF$rx%p&|%gFsxP<{zyBGR^<$i)n{UW=K5GAp;AZC z!C_NW^?l@yQw)mg^`Q56SDWv9&yyN4S5z0lQq~YSAW_kIN8Y>dyqn&;?_93;?!#_n z17tsztUU-s@Vl^cQbRcYTJ=uHy5l<2Zq00OG9cAY=sjB=2mx>SZpB5%xlI%B>ExV1X{esYe?i5%v9kZU6;m{Ovrh3C6Wv1s>fDtv1|?p;u)*m44-ZWAiRT zJhTuGDTP!9{W~ea;%ep@y6-e%C540WbyDtbhcD_N)}_%b_jTC??%QT6+rP>cWsLa( z`Db@pcB6sI@tck%AvE3^<7ExmD1gk;9G$J@ynfPjx@&|2E8 zo`sn6rhU~6?{X*u%!~8Td1hzOx%?)qF9x(wk8#%#Qmo7_eb1pL3Euah&{Vk+6jGrH zDf7(w)JAr661vhw>lYP2j`6zl_t)||XlyW^F3D#(#eclmY--JO^EEGew?SC2;8bF1 z43)kLyen9kWsx=ot7d!47!Zq;w3HY76wjDy|;Fa;Q=c3j=f#oY4d3A zor7l0j*7ml(Vx!}ySa55;Yaw3W>@PB%EYfcX&;4-vaxuXY&J02gqFsKGl<2a^L<}% z$I|WKwb8Zr?IZ5oWpu*d@`jw_wNtLfax`}*lD*{{zep`qfpE({1b#lh4f|iG&(et! z{9@)@WsyFZbOY>)^yb-zbS3$76Fp0Mt5@@O$#75dehL`-c;5OEe~Xn- z=jmx+jyOG9t7T*jae;ac9LfX0&UGbZWF90R(#tHXjv=kmxy6JCt^1-h>UQWc6iww0 z#0|JSLZlLZltY6&K+>U`2?$$g)=J$ zPHKwpI*Q-f3T-2E?^N$9BiN?#holR8KuOs!MJWBJyIWKA9gMZXJ`+hzHh=1@ek{p2 zuj-hTx%n7=!yGeCHt7*A2MdJeiTGzA+I$2nct}{DJe3COmWqViw9k+*n)o_&!g;B| z-qGMKDyo4DfPVl$=hltFC>XniKM5hxsh79P`vUHc*^J~hN_Vc)tjbcqMaa2c5?a$6 zzZ#8U#QnSWYE{nl`e{B9+TE{{FC#V`vbcDQujhd0V1Nam46xg3c>^3V55=?I zy8K5|Z(%VxINsaCN|3mzpYpPIyUP!K zz$b^PzPaUyCe;Y4OSe|{Z{%aDuLG-Zt~MMnsnY?H`%zu6Ra&{3%!_U$B>QknoNggh z$!aC62*qz;(z4VJcTQxn$*e^R3B-u@2F4?SVW1Vx&%SU;wN6|vDPQE0M=-O?;+;Yf z-4oCC1z@TqleNN#hKsrm;vz~$-e5Yf$9})f`%Q41Q8?}=P@Zm10zs^2nc_#txf+Jw z5C|^uT&K)n@7Nk=?^h`k@DAtWOIF)|_kmL#UU*bh%3 zY!-2r0ZS2@pFl5U(exc7kVTzwlw`zX8qWZRnBr%SKs~V$eB;0^7~{H^mn0-mx{uMSzcu@gitsrVqvUrgkXfL}N@vE?%B zA}8%KbvPfxT90Obo@lh=eAW)u(PDKW!9@QwD60z(vUhU~!AAe`$+^yKB(FQWm;+!ZM6e>w_K7$M?>Pb$+PtwLU#vMA}Nkcqhdgu!K7 z{a2Da%J}ymjDNRIfy|DztWfk4iq-h{apK?A%{c#t!6iNs7jK=Saq-qE-Y2c0J3jt7n@K*Ubey0AAz$bvII*4`a*|1Sk<-}05O}#`TM>?r2!VKr~=cJ5s$?lY~ zPh64VGL_jriWvBhoLENw25L z?_u_-D6()c04*dH7dlLwU9k+6lcOGb5`LK+%tbqh?br!;B88era!fgUmZs1cq7}ei zJQFA^&s%~AJlHTH2nV0(&0jJWmB2}MAs#LXPO{ao*;h7w6GMfxeo#v(vQNE5@*MqqMQx`k73YMB*6 zq4)s||G)_R(dI*qzK3D#YP8LS?<(ZxM829DOiLo-y6@AAZ)ySv`Be(~?Y$>6GIGl< zaI~SY;#^Gqg0a^0cedg^)O}ZaEY<=uS{ z#K7@qEr<3+frm+2czUnJX4!jF;EFy|jewFi>s5-lOpR!Vh(#39h9a;{UtA74WA|4I zxo`(wt*nis5B4Wf1-o=w>mi08Ico+nPNoZeG6o6dtl@e@5s&yzjcB0=G`i)iorqBG z#>dF={Pr(s5H)zewSFHj&Y!aF=wIQ;9crRk_t9Ep3N7y66%6rX(JYd~?TrV}z+?uz z+}8-{AB3XMfi$-?qXy=%p21j;cm~ixO@GHClu$qlaVP;Ghcex13p%yQ?;Fj_I6nDM z@FMk^QePc5E#c^oZaeihCKv*v@umWErwN#*0H(@50&^AaGHBNhJHU)t6aW#NS*(YU zW6YYrPXw0EcXMWe{hNlEg~3n5_=PeZi+=Q|ocJZ-)Sv!qb6V8Q*bcqp7dC2@P(piN zv;d~F3*Qn2gv#Ntc&spo7zm)elB|Da$0Alh)^%%$52lx)9423-mFGzZL#?0`->y6z zr5ZRmSMMXPTbZeUKFaTk7y4Aic99h(Cnq z|BcBoU4I3ag`RX~5A#;z%DHF|T{?0+52DgN(7ZFKzXcvJ0_vbVQ@&sw(Jvdz9uai3 zt3P^UK5&Bi)`NvUww`h}inmMC_8i7Gd0D*DsaIwa3HI!6o%0 zJL)WIi_~u{wwW)BAzP_=Tnc{#5a7cgNG11!srF0AlUA^((7XhEVYcMV93J=FokWK^ zrGCA%y7Q!8u+h>BgLLukU$BztlR}G>nGCA*qo{io?U^YpRdC5Kg0pbuaGR$M$a4tV zy_wPg)$kV2(s)zx{btOFrzxp?!ziSA9ciGWN18(@02LJNqe2_w1%m180Et=mq%Q(` z*tLiSDA<`xHgVE+7)p%12i%G7~Bh=+8{wSrly9IY1t9%@WFIqLXK(BC3PLfH_MG&kl zq$ccVT{!hl76XdpR}wzXS~<0VT|~$}(R9MDAe_oS<%5DV{~%tFJyyi>zcrT4y@1C4 zNi>j8g|;IOD(u`ET-1US#(}8-9yq**_r)eS=vW1F4O?IV+YiYa$K(G+@vzIZ1*Y)$ z`*{2_6c0;weo39We$wPS=LqNUVYrXIj14GAdiFUp(4|-u(fK`pSI<~&^T2wkz!fH{ zDSW6_y-1)NNXocKfZq5;0>{1}LrhWuqGdN)+#LXtD1DbSQsVEglz-&wKf zN9{g=4eEUYb-UP>x_Y007w$soI)S$64sE>kn+oF{OcqNCB(sAq^14E>Zaa&o1uM^^ zBg3#V8&OskP>;M9ptGpPR^(SSf>6PI5fx-cR*)P~K|T0K6M&`f;47PT0iW-GMm177 zbC^E|-w9teh=LnH=CRrpwE=So2?m?>gmVw72_GlW%t%R9VP17694YgV#ex*iBtl3; zrv*n71iixx-p0F7xjn34?^V`9E%stz^g!#aZ;>A(DEnbPg6Nvr;!{l#7wNwqhx*u9 z$;IuZix9%mB6f>{ijGeJk%~9sx`yk8F?pmsEfgrZ9e8nG*(#f3xOlQO8}}(IRU~@n?fr_l$fo;x)xsmhKN^OF^h(U z%5et-$_?eiy7C+mo$6Gq1W2%uLOVWSl=m^UTF1w9@IFhg2}QRPJFJf!0{tnm@At;2 zQ%0S_9P-ztg3ru)IdpXH3!(wsJYbB|I8qzoirNT(12hH07yx6tFis!a*v_XuQSvd1 zY0ao0Xw4LT1E)kqsSR(&$4nt;+Q$@%o@HAu^-y(yPMK+Sj0vyf6cIH>dQn6jLnG_B zy1_cyn(8=1MVZ^NK&>M=qK=<{gRt({iKzO!ql~^(7ZZJ;ABgISHN20)RRSXBM^s*f zDD(kQ8K)dJ7S!~!jP%>p^urNFLI%6YL?~)U{N6v^&fN0PqDn*6uFw`yVpL3ZW*TJ- zM`F~Kie%_yryR$wWlh`~Ywqeoe9gh}KRj}AACcPkcTZ*urn*xQq2=3>Rk!<|OEib@ zluLOQv`utHM??*m`&xG{z)l7CMn>j(KspXM7~aSZZ(&9t-Q+bC=L?;KrOV3|nrT6& zG^S{I24Vo27LX+kN*vLBa8myzcsg8v3I$q1yWzb=eyKbb@|TSU$d5;2*IH|j@-)5Y{|Eb zSh+Jt@_obtIQ?D3{k}V4Xr=mncWQp$rM}qo%(~z>(B!Mm2KOKUX%}ObsGrp#lLt%% z3-JYKb70p^H*T-NN1$WixqT^TX7&lhVLzt&nGOZQGBBcG zUjA#RyS;c(R3(IEc~Yw3R`loonlHddU|UyTGlZgR(CG|xjVR1b3D9aux#K7S%l*x6 z{^=hBd=@XNKEQkHfbVAa+^Xbl!oN^dOk_kjuMhCxJsQAmEC6db2t(B7ej1_*8mR9- z=I}{e$5o_MTP$zf8djKfPC>X}bU4Q+n%^+_7|il{gAY)2NM~ zJf%o}jMWCeteovI8`7uHi5N5EwN{f-nwXf$C9j^^b1xJwV_}czPrS~k77S_2-Gonu zw(#m6g?Ct^fHV})6`XD03QershO@5Vf7jJTGqF;=a{H#+V9Uu`qB38V_&+;>8I_5r zWD-s4DRlKkHvk_v%~-o!W0yf(d}Xl9D>!r}7WiKe^*q$CW6CRxJD<`pPKH1leVKn{y_lhWELMuNVBE*iKKtf>4DIEI z8$|oGY!&S}TEF~7Zhj}qW*11)NVc%`6XGYk9;dWi`G(=_>^W5a&Jc|`yo=sduLCBdp32)9e|Y|Sb+OkGXmsI_ z6YPM}kwrJIoQ4F-?ki{mHRQRf;RA5z6L|ILpL3-Z&x79bq;oKchkb{A{pD1nW`uSx zEEQK_3N-m7JfrliK3bnoLgojt>8YdjwU_T_{4IaV7k&>6gu6EloP+RAdK<{A*p5Af zw*cL2m?z(hQ^Mqd@@u>~;dIhh{)e!l#&_m&VO|j$EUYNUWI3A_r1`P9p|&P;klf00 zU${wW`(1LM1Ip6x@HyO{^5ckX$e;3q>|0K~{*-T0za^mdf8L++ABRvVuC7MQy*Q9t zD-`X(3(kMksNQi!uo&7Jo>0!Vkj5YEHBj!;iHsT&2Kw7}QdXk?lb2$`r{_QOr#uHa zBmCP=pveEspYnC}LBzmJ)kiG z!sui@l;D}U@xq+7;NY|gS&GCkD)|5Lr!1iIzwA$W-$Cl9zwb}^F_aVG3wQ>L1j(U} z|7Cy5Em2hjz5VeG^;sjT|DW=w{1z)x8_fTSKjo>&@t^rq9)y$;ILu&?Iu0%Vl-uE3 zp7c9obxHzWbXEwvJo7eq!NQYJT0m0$M}A+`Q_hCJSbi*Y(;7VCc_-mp3CbgX$ba|u zf8|d(!hUY{Q8F|vD))4P>pwcZDRlOehD7K*0+%k0!R1SL;S#0^xQxkLE_9v&J0$-o ze0Jj+T|A)K73m?{7mv}l`0GS}aX0oY_k`#t&!V}CSOzl$TQ?$bDfgi0&pQ}OoB>l? zSS}T?jE%+2ygF}V>}nD?V=5Kzei&?7?N7+QVAv2P5t9LJM`97#Ue3CfO7W*(1-lHA z)b=Tzu7~geE#1)%H4PaZ$XeJPGh375;wr+!kAT02@eS=eMG)o^*9?PXZAeSyU*?vF? z?L!f?#f23@@e8QlP4;NxzGTKaaR;b7E6{oV8D;3nhX>Qq@3YD-d`9|`r%*rb&wc+j z^=Dn||-o*#dg2>FpK0sAy$!J^;GC*$Kjg`6`DZ3#hWTxA)$g{hm zJg63)!5TUPfF4jrYfut!_s|QBa)5I$P6OKGS%IEz*s~>PHaI=noI1vDzw`k0ZZD)0 zidGYXWe^O&X-SruDFlt*9>dcpneEXOe^xWRV)k98z}^Kbr)bZ4P`#WAe1zN0RQipS_A_6K@DttbEpsD>rzF${Q;;(QxKlgSty4Dc(vXOst^T?-X3{syzF ze}ab?HTEMEjWfBg&2pG5d;@n@}i9aJDyDf5pID+Ft1|04KTVb&rf zggFSAaaP%7yhMq>5+(6mjl^^JQ79XsA{N43 z)Q+22;!U1AV0k-|!gA~m8nf4n{$@LZQ>*P)AQDxA-(>ZpTwV+S`)9BrW=3rG?uf%D zdf2@0*-Vy;6-HJV8YvdtaViId#r8xVK^ze&t8RKY%&k`(WPhcXd3APda zu`-&arVH&wIw`jX<*%DH^0{k`8W-Zu1G*a_c8-|8*(IzSjtiHg);ooDJ%(qT^rRLn zbP2C)LwvJA55x=0%PHk-yn6DWVcaf8ohoo}2m&P7QVXx_ znf#O+b5#)PZpZD2H_mVRoxi&!dmiFs=kLMu#1K5J`9;ixjts;(GQjLgN(a{2U z69I}dRPN5N0iWwe5&j;a0S}s11XQBe;av%iXRj01#bUdB#xh~WHNv_*()Nx-7jnCw zUWv6e-s@?T@wq2AQ~@PzGzjR^prpfddc7?fv@Fg(6j~e#&E8Deq{QXOrYC0|c*K|4C1lpF;J z&2LiTxCY;=pv#jIyHEzd~muEZYltM6MLXK8#-ia zM(hE%?0B7hpA;|V?-2cc&O_&Ygru&FGs4`?aRkfo^P*fCJA`@ZfXppz6FYD7O{Gik z;!z01yCq^iX3tOQz&~WY;{CwJ639a3!UEi3XIll18tUh7+r-)VQ&*@Gla24U6OAb(CA-YNtiO*5iYBkeoAGbd_u=gqnP(dV3<_oEEop+=s| zP|>2(`_i=j5tb)mWnOZT7^(_w%Q)+W2sUO>=ii9wJAJ=366V|oNS*$nq0aj{Z%*5^ zP*~nJzNBq)VfoGRQ6)DwhxeSDz%$s*mOO6+XKyDdtbcM>kYh!vKXtuN%=f~PD}83p?$VZNQjLR65LS< zLW|fqp@lmxK}g7nN~Wl8LW`WZWQyxXaoH3%gyOO(ZV1KQMsbrU?ly{pF{V=J@|DMW zm!eV+j?GMuf(kGvF2PlC$ey+n`~9iDt$YJ zRr&HdZ?r%rT0drU{^5;1=omCdjmnpM!4?KpZF%v z^cc@H-joTjZ+LNuFq?mtFlpl^)=26eej@GP*^hEY(eG=~FU<440Btx)5 z!b$9-q@ec4o|MxsV@b3!0mDldGvv(&P=GC;9xC#1QKfu+yyQ6jJf@r23s4UVb;U=W z6Z3Zi^LWR9TmvFGHg3nfJfckFRmG)%yvqI-Vqwngn1}o_{MW_WprNP;wD;%4hj!HY z${X?dYVHu2vIRN;!ko)JMx$eySd{C&Hau}|QplPZMe(Ii|pVxmmY&Jmm+ zf~a!y3>)f+IsgHsttaCfPj6#xCVmO|hEnyJ`2cu+IhHJ$;8&1x=JKq<@)O7lDW{Le zyGuHOLi+S|N*OL+MXVTFFJ_L|?k&pm$Cd!f`7k9C^GR6B$%9C>Zg@^~#ttC<2)KZ! z6{4FB;@?o3J15%v6F9rL5{*c}iWP#*D;2_=i-2CKf@Gw!|8G&MVVZ^K|J z7o|K*8FW!=0Goc8M54JNH!v1>mJsJS!XB-`H9#u)j#dPgzXv)qeJ{Sq4+F(3Sdzr0 z^zh$^YTA8kNH76ANM-4 zk@ibMwj0RqO!A|O-^SU(@~xCb;;5xpBqiLsy?doigxi6D0msaUG8miP?p-L#c@PD# z10&f}8QAtT24ZeaU>TV;LEH_zfdB?W@j6&D>7>R~FqkhwuBdXI)cSzbvbH}%h_bI_ zkHl5%5xboU)-Ui+3+Uk=MVR>zLBhX%)n{acRwqJ^7BlJu-v`We3NM{OUKp6)Fdj#0 z4hY)IX`#e0)Mrl6&TQYr{GHVB5jK<&wU;oIlL4{lXHQRqBAL9s2gzFB@Brbf8u;o% z0ynbJD>4FKt#iD4kx_y;&V=q6+a>JYRbx;C8VJW3m}n=X;epzpX}QSvCM1xKefJ{F zH)kj|-+pQf+KAQMg2^nEV;|nrcEVU7)I@k=IbQ(gYx2V`-Fx50G+Q{%mx=J(`k9=@+6nse***HV8TAi=h(7@uv~0$|fa_eLuoz z_3xkJ0qsU7)T1D5Y4IDBMs_S^57y#p`#ijm#+?pY*@8|KvC>q;YvD!Q$&0wlTttpm z1kE5}8U`%XrE9Rn_RuHz-i7W=8Oy_OQvA(4`~!uD@Ng}Kb9i{uZk%)Oh44L?Rmmsl zm3SV(?=}3WqrbzGe%kto*8gJybr3bU{|ID`!5$Z??tx;me%KIn-?XO)k&vEVBS>WXhxCqVK+JHAMNpVCm*R=%lUB_}duHSi1ad&d zxpvB%HF%ZmSF=K(QFxXm{w*2UzlY+gb84tnEYM90q-ud=Es&%I60`u-gIuvFpK55= zmP#X63S%nS=DG3*8iJZvKS|)1ds0MI>Z-Q?geW#KSKD7kkQKmlqGQGpqDgcy2CLP7 z-|%75&o1fQx@_cA7EvXnDd~*@X;(h~H&L33Gs@M`%5;2lN&PW>}=TcBgTwKGe=jxM(@J5T-`|&XhmSPV`6zXg6&*F!O zLrtf5IItU>s;pg4hc=VlQXMJan4<#VJ!u#4J`#3D^__nl0)zt-Cm!dRxB!qIrLf$# zhEB6LQSPBKYGsAm-SM0U#*iyaM08RvFylWbv45b@};*A zz|CUsDq_d77lzob6qFMC0bGcCn9GS~lkqk`y2PG@k1pw}JgG;D6ZQ_gr!oIO#?gTL zKpa0%7#VSb&(oN80`=bRK)qds7NWPSL2X)ZH>GYl=>0snkNU%%lB#sApbmlDWq*W~ z=2*xcDzKlh7Y1x01*ODis?5MXfHwkmJbk2LWH_8l+l1x|#Ti5Zb(SH;^{e17(r?OR zT-Vu(@J>{edFxGU~u)5B8PvgU4_Cf9N&FqDB_#+gQ5|?hEd>VDm!5ek>!}w_2r@*F& zMHn$UPL!2c6#y~4S$U33dH_FtL|>m8n{~7-IqQ>q-vf7xXc__ssK~{W(fOESk@6 zj>qYpGZvxfQDOm+9rp|=0I@yvC{qO5N3kr9(e%(}BvA4YF|-MAU&kw;JvB5D>XmC5 zcg<&+7@AWlC?z@pvw`Ld)fTj(kGusS4s33fHP{{}{Dojl`OZa8PK4a(l3)_r^PJ5a zk8>gIaWV&9du!d$98+nW@$y-0CpCjm@D-X%&N+OQa7jH1J{qRti0;$`u{t{iU(h)E z3s2+8)!B^y;RBn!m95Oe+%b3oU{%NPKnlyT74D1^p7|K2nd-MpV+{A4??`8<5*#APnL5NC(#fG=#tRqdLj)M+Mc&{!8|~c%dP@ z9p3^ml;58f{0#HVaV)Eh!EBx1>AXG7H%fUqA!7q+=_W4qznay*gLpXScohW4?eJZ0oQTRcg7c1(LomH`oAS?Ywf%Z@=AmuUT zI+~y`FfIm`Sz6XT+I_-M5oS#ym@@%0!p~Fq%0GdB_%J8CiNopdAMMURL9@Uqz)m$> zi?-0V9Kbva@}<4b06w|$s|%`QA%L*BT7}M|QS!DbK;~)shb^d{t;hUXEeMoXu_V*R zlWdQ^lJf*EKVtBYDCZH3E#N)R{4U#XP+#@*S?2Fj)(2Nu%9FC}=I>bI{jttezHF~m zUwL^_)?v##lV{(SiAF=7k$~n63d?P=ul^;GZ9j}&M&iDQIFEiPUU?5vEe-Y8=_zMT zU^(pf(L+tl#9mt8Q?cF^X(8odN?UEuLLwF|XLUkQ$>-4&X3^F5ON`(sBbcZLtL%s8 zBWbn$C_V5GWqxS{&l$nsT0McH1~K(iei~-C_8F z69%CG`Ew9fH5QmBSXdHm{1Rm_7YDy-nO7niTCB`LM#dBfh`Vqq3ifF&R1iMd zN(C-M!W=k=hfQcIElPzgc-w-5AhGZtnTld_;jrDGxCh5P()KgJ(#mt-S1J`HJLN{s zj14n0u~RFt+deW0l1Xmd4}ra6twpyZtD4a*vF04TN^MTCQLc2UntBUvI@tm+X#)Ke zKmlFntB}H^rkMuxQ2@<|%wq0nGB3%o>GoSRm+$7n5K#T%UIv`p1kKrLz@*#)Xk7VM zgW99XPsp`RPKBh3GD1$#CT}mN?;0DM%4foL{ovHJ^0b``<;KD$Derr!DaBwL5U9d4 zw4O@wRbo&2)by`R!yuBLq)!2uc4?N~&H;1hH<6m90Jx>t9o7-{Z64fLf09-k^8I$P zb4_#VEg?5ZhkZd`*uWtA`cc_@fauFRT39h+cY!nG3-8sy|7R#GfF3C$oMp^U22ITD zDawyA(v#b6rseac$PHr~a%?m#HQ0vdN^b}MIn2$|#h2BF%8npAn$r-%RsP52Pw8{k zEIQS2#U2CSu||`WW8Gl-l;53%lh5PLxb6dQQK@p%;!QI#lwc#& zxSEkvxwnl=eh{Fyq9Iv;V#NFyS5*I0C?n_y*n%X~mu9s$a|&zSa8@fdn@igXgn*jq z!N76wHFy3c)PYeyDou2NmVcoEv}J<@ATLBmAYP2ZLLj7!1Wa;M9jY8S3MGv=IQ&S0 z1&*iFYE}6`Ska`Qq9VQk+Y$v59C(fd(XWR;e>{l;HwCwd7BjX^-$P}LLKzY8uXE={ zzz=beIA9|Vt~-~;#EN6d!d783X4Pb|G58kQk91?i0#iws1fs!OIKLIJ9WQ3=n7)Y$Jc3n; z727$WXxY6n4BbZq8*7WbH4%3j*1ufCrVJ6=Pyrv_0oD?}f6G1KqUv61xqCHndA((fXaVZ|umUr`VJ zlD|KlK%x~1Gbu-Dy54~Cxc$yFXZ~`zMj&ja`69;Bf-D+6=SQ>v{V6x0`KCr6dYEra zLl5)K*6CkS=C47<0DU3)zc{l0iN+bbVD!B2eGS~XI3vW5c7FvLF@c+_gUjf-6M<`? z=b86fXjz|x|7&`lc@Y`7)Jwm?7&c~(D{bB*f#qP>goGW9v9UC1v9S!vXY3_l7^`XO z3ho$ya|QeGdluTp3>-kDbFGcB&?To$H(~{jJ2Xrx0YhHacphtL{&+~A zKNidILV* zsx=@8FRmtxdQvUpZ-mX#0yh4ZGX`y*0dxNI@i!frY5ckJG5)OJ9u3@TolkCr^%5t5 zI33)Zt>A9FR0Efdzt=-2!^WSmpwT})pR9~v-)KKv%5RKl&m-pfr1WjAHN8I5kbmWB z3-V8Q(#iR&bFe?JPaGPFV#3HdH3A@QKCvP=$b8Zn^nCU$4Wie#Xb`Rb!~)S>93qvT z`va(OdR`jAjSIm=A!_^ud5F&5*E^qt!;c+bgF#0t8F~YL_*84ah1LeV+EF7AHlGy# zVQB%Q=feQkIwJo9J(Gc*KA%{@JsNlfA0cLm95^n%2`n!0M^KSE>{RjXY>FnnwbjJ8 z^LMIT)H{TWZi06-$|L$Qi){(h(+rVqDyb$rtfXqf#I;~kb$U4aMg!A>>l`+`Lo6?* z2Uj~|dRU0-h(l-bTZQ>y9Oeg{4-aKvZrF_9e9RBDiDh1okp9S`AF$33Sv&Ok;lEyA zWG>an_s30I?;n75nu(jejv0=vqe6=OTLS|s4#k8GsQ+?(@fPsP`PB_NK=)b!O5^~k zse_xX=45an`+ zRC>M?K!wi_oBo0Mp`@YtAsl|PU916}zFwZh*2~`_ZY5P4#()E4jH3^?80FztH2ikr z00YeF2AH(M{NW-C{Z`e6)9?Sw`eNlv4NM^Mb!-BmwqpW`Ki`-@%$A2~h zIM6^~HpyksCvU?32M)Q`qyIT5O29JHwn6_xOa2P3Vut?b>?=V( z)*A{&(h|V-1{Z*6`!nDwvnv>~8O^Di2NOv5uppW+LE2dkIKVKY_^|;7P-6R++7mp z_aBwy7pS!xUHNge$>7S^IQPuTR;)GJckg>f|2>$bwGXD}A!XDFL&gw_akr|Cn&@0jG$kycZMFhoV(yXxVHUvi z+i&Nkf>>9)tCmSiWts^tLcwckFPe&tvJ{KuEFHjh$^BDdHXHx5Fcafpa4Mc6ZnwO* z0#(!$2)%5Mx1dR;fc;-AFlmQ^xAdI_LU23Oy*TpOKea&EJz`mb(EGf+vS{F}45o-E zV|Ob~5nC{;*fs)s$pjFp^CQW^W?_?9@olo$cr$6r z33Xt7V1Fv6fFDL$&jPk!99Ki|mYU5M%_CUfPod`Hn6DzyP>7vN;qNU|npp$%Gl z8|m$3i*p5M?v3$uKg+}Koapzqk!fe5h9s8hLrbPU#vn}7CSNw*`F`YA`qbONeq@4f z%wujH^a1*McK9%NesA~?!!{u^bOws3Kfr)t)2-aKo^3L=Q(rrw8!)h&lcyhFWpZA| z@6&hFCcA3aYt*6de-ieRs&fxge+nybci`DB!aTVdI3ueK-G0$|c*$?J5Zij8Z>gsc zcNpH0A@E{%=tATJ5tqEFBFw4IRJb3`CGAz7Y)vxnOzaVLfRX|CmY-HWs34Gq;<7|0 z@E-P^y-+Bg*oumAY(>|xtx?}f+8=5wls<-3qAbz=kXxR;7q#Wl7SS|{_K!HYlIjmE zYk@ZonOld9S_H_B!SgZe|1ijYYZU=mk_y>HI%H8o@oz1u7)K8)WYI!t9V`NL$ei$L z2C%-TI0B0*5417B`go;=FdFv&Yh(jp-5Cki>~fB#^7C$JXK&5!hP2mSbx@`i*1D zE))l;C;X1RK!6FXIHB};>RlaMsSK)kr9{TfpkZz&goL3$Up2KqmvN_0ZdM9zoVMz}B4&fOUUD1hy8e z;n;ctg>!5*5{kd0p71-~0&$qI6)%+DMc`eQ%_Fe2=@X8vZ9otQtBFuNl7saFdcg!%Q=#-tLZgnYAq=c18ESzo zsywi{sgA7z9W2CAC&o7bR$?SrSE*q2(!pvf6n{U3^W!I7pkwPc z2G-pgSX6o7dEiW?tzJ4;_mbeV}0rWfNF^8vtuaBv=zxa%??-LOHgeHS5p8l0Y0LY(Z(3 zX8~&x11m!Viz*MW1Lb@qHqpUC*ArOpEU6z`E1O1OYj+t3>nlLQ!4ibxN+J-y;}m+q z1XhAjx}4zEu{D)}^)hP%utk*z_JB>Oo%jH(V)#hJSS7F$8vyI#NU*L|!OGRaN)U># z_XJWAdA-^qxu6`24r6@(;x%SCCH{Nt{-6~O(GEX+6s=aw*d@C zSPMvoL?eDj1v65n7mb-HPs=5&`6NI z`$GLVTNNLHvppYk$i4sPMQ0>ry&~47;4Ue=Odd# z_ME{+5zUELo6{UM@#dT-6z?Te`5h_N=A18-Dl{T^b42->WmFqHr4;R;Xj&3b{ek-p zM8EuQ7-Tv1Kt^k*p^=c?_Yp_52Zig9UBe-pj}9~;8juY#Aj2ApAY%i%rvOp z5U)elp5yGT=OS@NkgbS|z}c=3Ib{1l>m0K7LUDH@e81xa`oaWRvQYXFeb7mOl!pwm z7g&1WjOq{U#PUFe?7nw2oF#L}5*mQ4T_j|^Rmie+$dZNPH#yF3utL^BD80Y}nGF=i zAdAr;qxu76I;cXn>un9P4ji&6&(@DKpFIL+OFrN@dmX@VoOKY2+jGcPqc2Q2yI3eK zqz^jI$l()%Y#d7uoKgJ&a1#x(-a2F*Ib>fwQ$J*Z*a*ntRLGj?kadKHnGH$D#a75V z38jbWgAQ4$2H7^29*|M}0a%2o!E zK@5lYi#IiRFXiw)xF{0I1aDDH1d?A`#^HSfBap*;sZd-5|_N5;<;dxro))ZVf_5*NEm5YAB>KG@sIa8j4>#V!*jXt3nm*`+kPR3aiDFZivqGw$Ypk5G?8S1e7)3yx7$#pGM6 zVYD-cwqrfe5=O6zgm$nB?Fbadq3tXbpQ9n+cZ>&RnJ{{pPi?1&VppMLY^qmMt)uM>XY9n4E0^z7d~Z z2Ww*(6hXGJ1>8K<4?GG|oGp;SqjvHr$g@yb@The>iY-ydMJw9)4v%8X1LFUPdWJ_a z(flXmM$}v$#bn}rJn8`+#e~sn9(5a!Vp8BoJSvYzG4bmq9@U#iF}Y^}kGhmc(L5NO ziR#Yh@5%IjAKn}B_YU-a3*JxfWeDg7rX}Vd-yw%bP#Uk(yRG9QAzM3 zyszNz#PovA@%{#XC#HgJl{ZfRYCd|xd_}-ExIgySi(%H=7FTL~h~EHM_B&j40?C@i&AVfRN(Y3Pdd!~0pez7 zyf1Z+t0Qa4f&M;y*77tnYLx6*h^a2>lT70W|0tYf3MZJt@oKm_SKH4kr!2Hzc^n$` za&V|!%HnTnKTjxLLS!oEmE(Y(P*jPRf&SsiG_C;KLd7L$=t;@ z#fr~EP4Ktxo3YC_^GcUI0^3aRHMmJ`DQuQTyb8ak6a`;aE(uRMoPi>6a*lTA_p5bs zC_uOYPv!alZNmLKMscOf(2 zSc;~*W>-;IFFJL~9=Qa3K8)cA7Wp{#VZbVf^pHmX|1zpLTnk39jP{X%jT0fmV5j zK!d+`jRm|FgdRWz4yXVF`e4+XjqSm+%IDS89AB@}L`oG4QgU16Odq4Q5Jp zvJn0tAk&py z$`kuJH8eL1{u9Pvi4Ww zsC4hG%sL^LPDRT$p+?Gml~In2dmxIMl7!~+<)+5M_y{bRjl@j2p)P%#_4`l3R!(VS zu(@*$aZ=bAFncL(l4Pa>9Y5jy52L?j*+@S5XJL3K@9&@od&^!dws?* zaJL&rttt-2(M<1#XW%3<$P)8M>>}Q>6s3y!xx2)uzL**FYJv_v-@|>ebUJO5OFkb? zDPadV1y&e0z-(er68S8Ey#Vfh$aZJmRmSbL(#nH&cHSD}B-LbX5`iD9ec;w-4SpVt z7HC6a!7mnmK5@(cK0i0v|J!?-zkWio;J1@o4ee<7`*7i`14?e?bdfOCVn zY7IviH-H~e(nub{iz>eymT>(7C~MRd*jk0ER3LIPz1ye12dWG$GN^JTa$%x}EY!IK zLv!^hvv?L#p5M&Hvlozz$!6S2(x1CMZ4=q6nB+5NJgJ_Sw904ZMouy}GQr}Ug4rWg zM;h+!Ql8q)F?Nb<5r|Vvz&=o-2|_LWEA$>+8FJozqYL%t_E^JJ|h5s~=%&kqp5 zdF3uCr+KPt+!l(j&WYcP2j+#lcBxfW5m`8~RKiTxMxE(E%xLN|c!Uv3-HtD3 ztf+|7McRvT>nhB2`q9vO?Gs_31v6-MJ#_jhV_45Z@0-M-k4_LBz>gbD@`yDKL;tfY zMuvfQ=$1RxJ`L1#`v#O^b7uBW_P~u*NLjh&42W+`nS1=ty#`BtdXy1`^_`c~BYvP9 z+rxAzQ3^4#LH?99Qe>&+0coM_qH!bkakXQp*9Z7L-BSr;m=-Z5&fdlFmA@_-hFS zVU3#bS|o&Mou>SXek6&-!ioR9|G?JwxTIgnQKR49^GT!sYCnaBK=T@+{CZ52Rlpn2 zeWb5&&EA-Ru0Vqf8d>P_uQ`F4bZrv8D6=N%1A)*C?b0!Z>5&^4rl+ek?zxFbJC;aW zs)Xy3I-+ENv-AmrtuT(V$j6P1?*=rqU?VfJfmLj>>%k4`M_?d+qkK9UMPYJtMfFQ% z^ZZ5v$DKK&Mku`reUP?4*cgsU>})0Uryfak`Oa$Z-<(6n7XC2+N}Ip7{zQN={}>-` zG|ydTd;hKsIyjE_b9;aD`GOZ8H#+9=IYxcA81?mSu)a0-6E^-*eOH+3yTnxAv7>tX zKHtz#`||#JeQO^x+V|mXqkS`t`tlpB?`u%mzipq%o|@!yPVfCq)&7KTGzsUisF@4r zoZu@#@WfUu)XwHptRC>Gx^EplRZhXEoqXvMUm3@^zV{)wdDdsjo)t zpFA2y>~9xxVt+Vj5c@5ajMy<}(&-T{$sL$T&DV(?KqhcXznyWLpNP+Iv`Vr`W=SoQ zKM<||hVhrmLBdqt9b6wLZiPc zXBqvy0L7}~=K)Kh=JE5>ebnH8L(k^^*7@5=Q?(sH)&_q|M8)Rrrc+k59>k<+FgKDX z*3xbi*uL`0cx!K~tMQ}ISCTBY(;x>*^Bo8UpqYx*k~!=|q+(?1wKj&?ZL z>_9j8&USwAVR3CJ^!}@9kos^h!R`m{!L>`9#QZw6`RGPmPb9qGr$+e*1j>q&a=uNV z!mojXWE)zGt3O!%9X@6hbOBtk0ny8_C6(mH%_&0ZqOhefsS1gK&_*F&3O6KR82+TR z@fX(rrAGfB0%4l_|FE_HXP_%E`Ud-Z+^P2W39Y|RX#IV{+TT-o>0$l-@-*~!I!f2H z#MI%5Yk7w^);b){p3#N=+zr+qSJxvS>0OPJQs%Da`eJwfj16RZk3y)UyPRDSrIiy27Fy{D^)3X?QF-!}@OkaIMqLmb zR}S5+_wvbj*SOED3j(ZBnf_0$>PlP&PGT#T@q7vY;$P}%;(zt?^Kub!Sc}$Br}xB$`aR$_;!4XC9ckzfC&t!{&6k5vXuMcjB!6 z2YQk8d^^CCW8itQCp=t^`ZC6*3`Pu`IKFx{JTt<79*X+Y{{KHLjOt64*OGzj*mdb2|GTr`ZSd+m4XFC@@dM;$Tjap?H=$8PP z#m;;jz*`Wjs?*9YgoxhQx3ehdlf5YD14iwAr;4)7YjYxKdM#nG8SM_IbC;NXr>5b; zgT11VTSxbbAeLOnc7~t-UP=KgE9(=A^i{_z7x4GD`Fk(rdV2R~^`(0IA)Hp8**8{o zG0MF#6M|_x@at!bfCa7(4u7v^S{=MtCy=9ID8d<$kqUKhuilX#CftBP3aDB1p954!y)N^? z`vx`WhOxBp5|EeC0-g|W1J7U&Tx5%Ea0jfsi`nhQ)%F)q07!?B@)Ux~w}nTb`mi?v zsPZT`LI=B{d2-f6_!vrn-_{)2J^|qz+!=uf2HG5A4YcW=R*p@v+wVC7|70yrP$7A3 zQ3x8|wQUOYyqUSl%;l5Xh6q9M9k;?4 za8Tm#GCU9~j8^F)dcEzlCtOI#)3NsD#lYH~-ap6MUnoE8!>cfZj=3uwe?Wmv*)qe5 zzb)ub1Aj9+X!tt|;syTRdXVGqEsnqD`Ss%OZ2Vuq-)EHgZ{cry8w>uP=>Yttc>X#3 zU9cYX*Y3`6{4x3~oo>ZnX@VJl*CcEBTlF-<-#t?}{yygT+j@Jw_*>QJFW}EliT@V< z7A9HnH#!;k`+o92hrf>9K!0D~Q6K(9{~E@f)X_UgVAz|)N3X5DhP~;Ku|a)Zyc~Pw z9D56Is~3CI;~Kyo%}0^rH;;IFM|{MN&h>^Glp!CA-lz}d3<{~Txkrp&Bcp9GzK ze0zO(Qc@m9TTOf}r8&dY9UN1;+i94({z-tUZ|;&YL>;YO2T z{L%Ao+F{SeG-={zjV}Ujo|yFaaMNxLaP!P<_2MS}AuDd;9cJ9DYOCSq>L(a(4#Sp? zOfU9u+zhy-Ufe*)`E%SPQi8usHz|o0-28-jQ<*yP@8PDFa5LjpGj3uqZFYs7no_`` zb4!%(9<(CqyQXF&J$a#qq!y1eBvstck#vY7spFV>k<bjoT?^fL7+I<(GwRcVUd#yco8CrYK7;|eK1+2BoKCiW{`x=|uTG~cy zYdmjj*+kyfGrX;BZ>qPgq#*m#w*H9hXluuomYzL^nOk}2-oMw@X91xy^XB^6ddy>O z>#=xhE5B)qbI#|JwDu+~BnTZf_wn|UWdSy2y4+Y#do>Qoq{9fV86lwGcOw_j%kiWQ zp4l5{C1BFwMvM@l=sda;!Vn=Nrl7#D*d4@r%vjH3mum53T6H|g79IUjnX_;mUvpgK z^52RjM-JhLtvAk$Hokg;&Z>EoF3K4i+zj{5r-HM2?aB`OiIDn*?47aJ2q~{1AFVZh z#gq95iC1s5(bh8-cmxwXD@-+dBH$Tk`f9+Fw%?a^=u$uT#6cswmP9~jcQ zrtb(}&(VDmetSy*mjmlh1b@7Q7CuSJy2;epQ&U4wQB+{P^UwsWcfi5W)Eq3*CV>g6 zR~cCCBUpLs@7K$FS}kv4Sa}1iks2c&wn$Q~GXztIdYnUO_+kD;sJ>b!ZHC+HCQ(anqxwF>T7)q3+WjWX31;F`9N@9pRGOD{oHH+75?G&=HlprJSB3(2^a z_N_y47@@RpEfn?Sb4eB&pb~XUfKOd_WTFN>C+gk?z#!^e98OpS9w+CP`0C&Wqa4&O z`eu~bgd$p_xc%u$r&ycOVPYr`))RLvamhI;Py)JBpeS%6kVApoB_KMXXgV@F3$L+x z&v%C0De+ExjK`WXg_Y}F6TFr63oiSuz=u!`^kzTk9Icxo=x5NH{4F2T*rNpy9MC=I|<#4~S6 zFdEE`Y%ZlJzC%CC#JvshG=9wZ!3Pucu9%0_0d>W#_gTB*>v1~m5PwM+eI!%{dv=iQ zEx1$1pjTGj9Y%RQ)$)X}^4_zSS3U~m)iqRJOQXCWA)zz=H^B;Dp|!k8e_G!9d-e7{ zt(G@2th^D{@{<3wyvas+{nhf?hn3gKTHf}Nf7afMjq*;n zhg!z@Kh`IV|Bts~s=c{ohm{*{0ORKuu*sq0Y?4%65m9?kU+`{IedarV=sWXG1X)}G z-yj1wwk-tK8c&8qlijfL9|8uy6Gf!$7yWrB-2PkzSM(^hO$wwrZ+DDZ1(KUIjFi?< zcss!^T*nRWINei;21w0C>4tbw&cl|)dpr&DIx21M@;`*9Y;rjfTh#X1Z;$UIYNHn@_{(} zDD8KWODx&`{Z{N7Vxp09_p%F;R#1u3&ul_pyA&_Dx2bjz9nh=wB#N?+qF@o4E&G-s zhEa0J$%K5K`@(-ipRe5H0#8i)G!r_jJD3|D|gId^cxxzh1518|*}i z)@llD>Du>x#&MCEyVu(ijC=M5!jmosC+#8$Vlc|W<$)}5J;p08#`0;me+AB~08#4vMBP8~Wxa=@FtM*gMVQ!y_OZ5w zV#x6fV%>7q!+5}*8|L!C7$!8Q_s7$ok7(?T3Plofx#U?;lEbST$U8c;olWvdST$gd z?;npiOxIa1s>J(7@Me9M@6RXs?`Zy|jdEjZzSugwGkGVheI(|+gbqW=#|IPm#V&9+ zU)Ia?;-M|7aq(EexBdv&^k;p23ox5BK0x8L3L11Ktk^JAsehTgtDXmg{Txn$wHtxb z=n9}>Y9(a9HjS{2f!o9|C|9?`UR2zC8?Nt~2zi`tAoFK=Q4h%Tz_>t2dGlX~L%xGC zPFe8P#dtgV&V;;lHna%&a8JGOM3hs)HC|ckp{GR_8L5L8_|8NLMHoO-!A(d=#lwXH zBC2DE4j{?G=N>xgUbw`}lM5!nZ2Pvnj9-MJBlt@GM6rpw9lJd)`Q{V|A?&yM?fnT#c?hZz6Eyo)Y+uW`JvQT0&nz)xS~u@8IAKLIh9yB>#B(58Lf7L$ zb_|KVu(^r%X=u7WW>D-?7slEOd)d6#hX%&WeaWz!wvMs+uVS(ZN)QN?#HD!CZdVddr9WEN5M|7LB?UnB(_DJ{O7xp=a8ETNA_Y zhun#P^3!M{b<96NO$8!wY6FuDqjynmw+Aumu4NLny1w<9b}ghvFSvNPJt3Vo@IMv( z!>76U!o=S)|PJ z6jAJq8;bXZ7N(*A>RIUktyKcGcs1smF@Y&z@8RF!PtV4wGMpY`aeSYxmt&$#^avtV zt{;W2@y`T@xFrF7LdJAvYSi!R45JTM_1r=bDg6U&nn-cyqldBI%<3olz+`8T-DMaY z;9xl2YF>TTyME+rH64jm9?TIEa9!S*z_m}K3jLFgUvgxMRpp85+&Tg)N6P(O&Eodk zFC;)AQs>=ND z%_UeOn5y6)DsE~6DK_baizTH<+N9(_lEx%O5NbS0PMSlLbK<$QjUp7=3h|hc@iypq zLH_8VJ8os++&-50d#L_Pd-JakjpR`lxZKkx zdGvZy`e)7kmvl}IFSogRjp-lp_z_py=O{OnZl3@yAMQ#Uhm&ldRoctoGUJZDpCg`8 zt#6kQp!)cA?TYw^iTo5ftj~+0G@7r0$kje~^dE zV+`oUxbdw=bNqi~9FJx6$rv+Wb@ zF!NQa`u@Im$MGZmpiw}CMc^%vw z5Y4|v$C&|2+r9zq8W2^j<~t5VE3SFoQFeEE-D~%>)Gc`%aR}07&f!OY$nf5$0&#QN z|5OO10l55=*GSylzK48hLHgm%d-$Oxak*oNs*L{}dP$USzD{pU)!Yi*wGYzRqyLJN z3tQAjkym2!o0odgU;omXOTF^P|H@c&d$73jIEb148S=gIy@oJ8ccgQYuLg5Yedk>k zsjZz6<=4LVkr_54E>;b4S$}am!=No#iK)Y1-Z3?L#7z5BKS-STKb@twsTGORjvf5e z{nO)#($!Z3$tSMZ?ZnhAGUyX$qJ*bztlOnSR1yRePCu!;d)-&S%{V-YC!Ldziouoo zSG5F|GFIUwHy%>ttI#`DPkZT>J^aYu|6Y#sXfJ*KT6a0~?wbI1@4<%YoctN?OTE>T^IZct|bqVG>OS`7e>#~$ES8aL`FW;3d1eku8I?rPpjGO zrK@&uML*k1?~M1e{mQ*TKZ`Hl*V?}G^HOiT!W}z5f1d%j%JW#|Drka(r{YW&I{<%kq~^u?nwq;@1G4_`dZ7B3Hv zHNy{iol|EsNfp)Yey%8e=543xr({1NEtlSQ9}Tdv{%axBjWyptnEI!Oxa>Uh(Zccy zis`Sp_`?qWSRLN5u&}}PmeKLGX%XZ&i{3Jwh2#R>s9AK9|qIMaJyfFXc>ClZGlm3ePC+~xSj>Og$TJ#Bz zV4D2gO_OM11np#I{2!Yc%oFB9b=wLrXq|jw-;Iw4v@rc78%JGhAC6l4{jjwU#QnkY zk6 z4=FGF^(dSVky|yf^Gl9xJ_2PqzWET8WsLLN(DACpB>a{`gq)bhxh1rlH(lgxZ@V%0d>2sRr83e!OJSo&~#7e8Nxe$OA90^ zJz%o!9)aSJlWkvbD}C1JLbpULz@1Z{GV%+FC1`7Th1$j}Fg5t}vtHwj znD)}fTUaSp&jehX}c^ed_i= z9@XutWz5@mKE~pu@-qCAhn+Wt@~6FS@AC?L!f2zth@>ulfBM_X7nja=+lvPxmw(UE zT@l0iLnxQ!oSI)6Q}Z*(-!rsQ-j1J%_RlALU1uZVTetfJ_9Lr-mR9#IsTs;-&2qMe;wbQno2)C zBGA%r0GTt11$ZEkTUZW75EM5X>dgv^Tpn7lpJk8e9T^Y*cB+UJTa!N;)jj;i?2m@d zsn5E5RW6vh<-q}&Sq&9VJ)NgybD3dyw78{*4^O`a(g^vF_(yMdN9kWg8piq)huyCF z%P%;c#_YU&ghi4sa-Epz!fJbcw{zo)7q`Hh*WrR%kJZKz8{#wv!gxQyt``W>bSbM{v%hV^?vF6 zk;$)}c;}gS*6r4vTbOSiW3=u^s4Vt{; z%CGLQwtxEkONzhTwP*V`cD@-!<*PUDtlO={OlHjCH^x+eHy=PR{&r=h7adbuP;d^a zC!JF_7y@EFdJQG+dv4;&yM!1OnJ68F?ri6&YfIzf?RB4izr;@Qm($O+>Crk%zIIo} z`h{YSlfT`0#f4r014QF|MBOe8dVrKbKFz^R-PI40N%*PTeJ_x3^Z|as(L*1v;HYlb zZf*`=a{!ncTk*e*sgo&@gQISj{Mfg2evF0kw;FMC3B|d!qtyHz_?M?@PI)+RHGK5v z6<5Q1fy>)lWE;KgN1$VG%@0X6F=7iXK|I*$dw4X5p9XIHkY7~%E2Wxi$!|ejwg|X$ z&A)IBXOq&$;@`qUSXb8i??+W^Y0X>t!MQYh{dWtub(Ymz<}CIS&$VVqMHX+1g>+RG zdv{O|CH@iXy`OHR|2x+_M}^nzzKBs_RsYV9Nu9fJd9VO;vLp@N_y=xRSjJrWP{s9} z|K#qPFY*!;xaRdYQ07$4Kdb1e)Bp8cc`}c^kDpu7LIW2~%dP51_oatix&Y72B|j~j zCg&W)=Tz&X*h}(heXoov_|=`O4yk(&QKU6*o;l1Gf*(2rCUW$-)YVaHJVrlL^}nY9 zooD{6P~TZP+w4m;Cf0BMQ2yXD84q>4K1$u4r7>1>e^&en4${&8qfxqIRr$T($bA(0 zn?Ds{*?Buh(WmpsQLcZr*0Fw3x9ih-f0B5`y=@CbR=8)vFvDXFgR}RuB}!+PS5P?| zf{Zl<8VHEkt4RZPOpYwY^ji+7dju#@kU zkW7@;BQ>wO&Vd-&SIHRXt`BGgspz4{%HQ9|46LmB#tpE_deQ873ya4&jCLp<=Ox!w z#p7r`fRvwslod~In*ROuvm$Wpxz=OCu%lp620HjO?^ME%e$yu6=zN;sqsJ9|wDX3t zJ}RdrShm^nT}T-z81h&&3$WktRG!|xOaV!=Vvk(LYW|>j9<#SwCZAH+NNLR)dQ<+) zD>V#XfrK9Wv4(hc&GWczJ1fcYltcS|WXo6hFuc2&)s_nS8-A}q0g!873 z`58k<2k&S<y>%t>zzw}rNeZ0aK%?ff6d9RnD`xcE{MSkWAJe?*pI;tF?e|lUKN8`wBWmh zXWmu(TaIw0L4`$n_|y+ryxgVgAxTw!)SW!mlbO4Vzv!?Jn#M^n#&3*%_MUs3-X&(! z^riOF6|CpX6pmn}tUOQnH1M-G@}C!K>OQKc^LB7V%b~>$LM^hitj@*u^&nc`7HaxleMt}&xMC`#k^x#?^ zgyYpY`K!*UVtdfaa_3Qx%-ps^&9-wq%0F8|=v>=3%pzJ5K9fm949i#bZ1)Cm$Yl9x zfRG*A6MPl$X7zB#TM~!T$n&YPZuepvS3^a46?o8hMc+>@nOY6O^`x%%i@ob>4+49i zBl5Nydv&|M%`ga2iOvcJU&%4_)6y|Re9+(zaBttX5F;h3&tl(P;2|-cLIVXLa2PjE9E(I^8o*1dud7(++I5Tp7oQ9 zS4k|hAbNO6x4ReW;fzsvNWKL_{jZq1vz-L;xrrJ7Se=4RmPw)=F%pR44`yEH#5 zw(OV7D_;>tN>t>ZVv}C>!X=7LvK{o##re5PT$+$P`Zvw~9Xvij4+FLD1^Zm>Ws>UV zn&Uqbg~e@}{>9(TBM-5T%|%y<$bCrfqHO)(!z^5twh{t*?6J7XIDd&%3OG-B<0)Wj z>Maj(B4xQe!aXdxM0;sd*>bZ*L+Tpt-D8*YTJRFMF279gu`KYVlQbp1%%S2_$8M@B z`L|1y<3WkdS)mqDJVk}S?R>NWK`yqSV}$gxW6gK8fvE5jQ2roLJIAn=YQAOAb2zH| zA2n|#-?FEDuQWbD4g?L)dwAJ@iBj_F?O#=zT~5=Yj?$KKPQ)N2@Aq}P_VME0w)<4u zH5`eD>!Pr@FR}9ri%sLAfG^>rLh+V91RvxGBT8eZNcrXJ+f+@rT2opG{_X*P546m@ z$KGUL!ab_Ku%)%s`GA#SZ~ut5ag?77)rv^J+o0VW4?stkFS0!fB|bzvSqpee$K;8V zZTH1FZlFv4zHWCfd}ZHh*I0?gS2H7DX!xvDb4<|4H&MRRKzZwB;^?fEbe4{wWqj?U z(4E-1M+5t9*Q&qa2eMFyA&awlH&HqRs=I;nf6G_Azsx14>eqC#sRU(dkIA5#bGf>^ zW;y90`(932J+7=ae!`M|b@C%KpO>;_q!4rWd^z4dr;i83`#5cY?p=@#$R%pK_;~qW znSSVPl!V?^tZOeF{Z)1j>8O;$W?r*kmUiakb^G3$Pmsroo2t29*{9b0``?+(&|pnH z_B4L%gPm?!H?$dQuo(_1U;Uu787A+z7kb%UjD?lDkfXSpVcQG*X`omf(ak60D|e3Q1l6^ zX!6_TBNjPJjE(gK=ZXjtF8}n6z~z0~PCJN6Fhg+Z9+*h^-6!JjczUML%c(vqo@7yP zZ#ly)G~t=T=EUUQyS+=#sIU^wHGTEdW7vyFSc&0oGP=TUe{x^$Tt$Chsb}S;4Y; zT3*C6sivQ#edV9L1jLnAA-Sar20Iv@D&O)lHK8W)2;8=0N3g!0w-P!JX3ZUI#6(a3 zcYatz_=Wu(J@rAa62tUM(9qK|^B-afT4uZXUh4Zz>+a;?5 zTpA+3!#IZUzX9)eFx^0w+(4#|uMDK~n?W9L_@E;XsWh$fj9qz`$S0=Gu+-HO#HF-N zjxIjDb@G)RlWzvSgU9VS|8SxZYhGF@qwt0DX;f2THW7cCeEK%+QEpcN>fPlJffMHv zXr1N1WQWXgM!%TUHFy49g?R4)yDh7aDB`Jj{c-z_Zz)~wka4$$P-oZ@UZm;TD7%?= z-xj<}&jRlyV(7}dRCug+<%?e&(Ba2obog+2IkhopnARa3ev5h>VVt?z2JL))puxh1^vBZ1A4; z3ze=ouKXZKM4De({##7h*3xngWRlqy%%z#~s0Mth=J)t3jkupGzaZ*EvDx}?6+iUh zAMEGomiNa9@7D@C48j2eH!Dt_C-+Nh5#uQT?ysmf;23oG_wNt8`(W{fj>NQV7xA_7 zp)|kJduNaD#V5(19h(pT!)$?P{yW_a8DfMl+aD70Kie1w{|jn||KYwceW`VF>Ehd9 z3N(^qVrA#Tm=(tfBF+>(j@D1PpKjcKD9Z9}J7}(DDtAH_`tZt3Fe^vT)s-a>wUPkHYQ%9Ff*FJwTZ4*o^@4tRGP`|@!ri|AR$ zHF=Mx!^wLY^J}S&2PW$ceY*J}KFQTG+2%xjN#h5Do!qP7ln21z?mf7dq$$+x`X!Z= zYbk?ifpH#DzpTX{k`=U$|JcxK^v{%Vc)bXOg4f@iZg|ZbdXN6>dm_AIb++_Hh_&gJ z*von5@+iG!!A@2Euc~^CszoQa>*B31)aX`C!i!xS9{rKEfkuh*xF)>NHDQ};!U?Vk zD`HKUno@Tv!`rg+EemFf1N%nWN^Kn3aGSJDi({~O_aBtMqq>anWZI$#AxA}-AZK#> z;dpPkw+a7x+i@*BIuAc&#earf*?l_w!uo!T)u7|}pDKTkflTcD9h2W2e!BT^d6F8Q zacE8Y>-8<{BM67p)O#$b&F>N29ofFR^S7Rq}@{lH1Y>)-7r zkBI$7#(VW)#nYfpygme^m=>@j$YEN*Mq@tnXaO9}>6#-Q zS>xO?xu^U~swLXWbdS1SPm>YNOl>It@cE7!vy5l?S4=i1qN799MAa;as`=ij zR?S;nHI1&CS5Zw&n~7Hhk9p<09NLA{UH`yXmS0W1<%L!`Dt)yo^)v85AGccNrqY)f zUDwBcSGngZe;ZeD)Z4D9sywbriJHG5jF)OY&PUE1sZLuP3OmZ*I~px9@*mFD|7Od_+1JSc*3 zsX8@1$~txW*AXaaJm=HoIT{bLt@~1^^!(~8PU*S3<`7;#g!g~*4tsyC_59c_y^pt{ zN@KG355?znc=@xz`-rfsKSZ{@HIK2=LVqagVL()|n_P+4x)T3>z80xDDlQcjx4nk~ zmVcCTCTsrQ%Bi`|6_<3y-E5S6>{s}i$0O#7dr?pv9C z>xH}ci3s!QpK<-A9Vd!TM9}_4>9=2>a>OpKem|o=x%;yyaV^f(({lH@QevEW5JpTU zrml#b7B`Z&Jn>wLWQh-sz-m_GC!fzdJKrLQZVDOD!MYi_Sj&Gu4-%!b7IPHs9=-Q@ z$d|a+avSe!sqxg(s9@~du_B+rzcw*bbr)o~( zC~w@J#dXuWjWSPvj0qhg;nS>#1=*$aeGndj>SMj;piFcac9>7q{AALKD4e^39rF*D zAH~?A7wq5tkOsl*SH1ly5QaEd^Pu>~nm0BY`{;z^1HOS;*f~kO^7Di798T0_?jEii zsCjNL%SLsV)V$DsFWb|;cee`GOwwZ4QQT(r>1h29*EO)}bjdfLXs=s(XS>aAa_wke zafj|aI9%6sM|<76@2HvIfE2AKzaa-3l5bzeZ#$mChj?I%H_=!f&l$Wp+BDezK_))B z#K651bc%R(|CC$1ppo5RIlyxYt z{LuxW`4S>cwQSR%P1P*;wis{&SUiE&IR?CpkCj2R?>@yC@KIb%e})>|clVfgeQ$U3 z&U7VQQD~}V*uJJ`%wy8>MP%*FzD4baxn`YdgI4$MFRS){IMVfT*GtJmUH`Bwq>Ue! z-^)s2V(;CWk}ahxoZ7yb`pY-d5%ubIy7*TZq*L3&UX^d4P`Y&bx56%+&x~nA3NWl(!DNekkxQw!W9ry1 z{s(oqeUrZcb@b{KdKJm8AL(3z(v*g%w`Jx9GW{HiX7zRVF+$r!`H>^$8@4^*fIhy4 zy4e0@3i0gvvWk8sx!X8n#2DKg`{-76SgJ<{ zQz^2IN{-b}u0NauI1-cn1TJkm?lun|)n59d+Mq2snguO8HXMFPNJhJF<;nC*z;F2- ztYSHvo?FpK4ycV&HUItZA$E_X2#4L{AsvSF@{9{cvQ=k zu9lzGTP^Q(wR~h(m1!``E_wIv3NCkjmQgJKJ@uBiTjg`?l1^9o55B1$nqBhWhA}NQ z9PTO~ag{%2Jw19+b>(rpM3^lz^(eYL^(TZuIxk6A?>sfLC?gP6*YQeu7*e5sG zNa5rCzv9PpeY{s|YE0F<*g9bbWK-0MSJQ09>HjP?3|{Oyv1w;~oMHy#!PzIr(VUol z^5UTBI=*RMAMXj|e>VH%0fKUzJ20|Oo`MSJwNGxeyw7BxycKCO*FL#WV??~gH#F!X z>lqO2$a*1z4Y~@iFm&bN1QmLo*FITXX#@7jS=6_G`-D0-zE#G+n)hfCVCwYCM)Y&+ zVq-r?*YksJ*1%7TnF!rl26a1(%O8A?*%iw}n@9R|Z+Ce$T`3*C?+89I@zvsxb~R0{ z`3_g*277Qn;FZ6YdY3z=RI`UGG@4WPOx~j(qHkV*$KIMxa#ze%TG0{IO$?6vMfce= zSySTit;T#OUv?GnE#B8YuzJP)Po19QqVAvBWmfYBAX}%DF>uXH{e5pe)SIcl-_i#x z{g$N?X$rO&f;p`|ad^cYKDWa)919&hPOEj__f-_k{viXLX_ zPqMVZ(o-y5YH5?D%Pn1L>1mdpVd*MMn=L)d(z7i+$I`WywpzO0(soPFv$Vs~E=#*D z?Xk4a(hDrT(9+jgdWog4xAYB`4p=&5>9D0EmR@S0euVjiv9h^gWio&(dox{eYz(wDiN4UT5j`mfm3L z$1T0l(ob6YDNFy!(wi*(jHREo^kz$MvGg`ezhLR@mhQ3iPD}5y^lnSW-qM#^dV;0C zrHd?GZ0SjsHduO!rAsYsvUItnD=j_E(labwWofgeXIXl-rRP|>*3wo>*IU|d>3NoR zSlVT2x1~Ln_E~y?r59TII!iCH^!1j$!O{Ushb$eobi~q2EgiKqW9hi1IZF$cZnbo~ zrEjwIGD|PFbcdyHwRD%IZ?p7jOW$tkJ1qTcORur?U6#Jb()U?KF7`K?Omd6!dmM z*9rQFp!W&7SyhhM^L4$(M z5>ynlQqYv320=FnIzfeybf>0{F=}QH%4&qI}LC}+eE)aA$VtKkl5Z{yVrq>EONzf`mX9$wEIMOO;v7nC% zI$qFc1SwW^gmWXk=_3T)FX(reIU_$7^n{>a3Mvbdb7=Ypf{sGKPd^}tGwg_s7Nk&& zY1zCZ`r`5Q&4O4Q^rk;0s7KKCf|7!+6*MmBuLWH$XqTWVL2nZD0YT$}ZWJ^u=yQTD z5%d*7J%avSP`jWX2|8QQV}ec-bQrqW^eKX#FUS{kvY;0UI#bY5g4zWgDrl3Sr&*vJ zd844m1YIuZr-G&geOJ(j1l=d-Q-bam^aVj*5OklQ&j|X7pc@4}CFsL~o{J7T{T@Ll z2ztAqm4bE%S}SO)pw|c*6_gS*An0;I7Ye#YP?w+^1hoqK7eUQ}zAk9Fp#KzflAtF9 zy;RWQsPxk>5cDEJ3j{R?`onL5a)N#(XosLj1ie$xLxMgk=v#tr67+RJw+p&c&;x>Q z5%gbz{z*_RCfM{1f?h1>1A-a^T_fmKg5D-*y`akkT_7kYC?#k_(B*<&FX$bD`UJgS z(0PLXUeGy$ZV_~bpuK{Y3VJ}$B0-M|I!@5<1U*mCQMfFo4;SADpdEsS1ie?#>jeE@LEVDx6|`Q^w4k#DJqKUU^h!aC1vLm-FX#k8DM7~w zdb^-nL2`{wdxGu|^d#q7jeK9wqk=~aS`6VxPViJ--T&JuLIpz{PR6m*fGBLr<0^t-2lwhDSe&{cxUg5EFa2ZC-C z^njq71$|A>R|M@5^q`=d1wAb2Q-Xdc=z2jf#DP71t)N#3`fEXF2-+p6P0*VJ^$8jm zG$?3TP+rg_g5D~qN6@3ncD(DzN1A-O_x=_#xL0y6rXFA;~s83L{pdmra z1?2>tWKSi*UTRMTy+F`}pap_hxPt$2ywXUsIM=TPohRrKL7N0U1cX-NWyh1F{R8R3 zSaQ6-;I4*qsZ{@HI$!8d7gA$$?*`dMlKGMTLULd<6=oUFWe2P8jARR`(eQCW<;IJ& z8wKxTZ;O?b{Hb;$icY-RCLzgB8Q<=dD*Z+d&+n;k)k^@P-HS_%O zE@-IFFY(u9GZ`A0&Svt>p5AEVw%>TRUq57Neo5HT;cVEZ;dBKa&!#hlRIWdn%Oxkm z3|o_<#Z>jJTspJ4f1o%#Ox~dFxq*H|XeK)pbuPRYWU;a-ZEnWuCk3x3n=SY%Nr+al zemd`WZRqm{Mw5eEPOSAhQpsVLVK6(I&CPzi%^OM^X8kwUf(Hj)oXriT)bcfpvcl4+tY(A$m`2s}@rE~fI zfn+|_pB+zS8kPjJ!*6W#HC0ngn{8mgA5CvbjZXN!OctxmZ+i($yQC24}=eH8A)b_M!|9HX z4?{1hZQ0xw*S=X#<1Y>dWY}9A)Liu1M9ZOYqe0nXZZPHbrN+jyxnwTQ425fI4o1&< zf=vEEF+bt0WriBLrZg4SLq(%r7i>H|Ha?otq=X&nI$s>8L|r8$YjVYL!LQ90N5xmO zgIl=ob3c>yHfEys+pELk$X?raW?SCt1H-h)9wfIy2|@x_{&*@kmd@u9g5CuZU17Ti z^mg7`&orYCv^FFkyR$8aZcu$oL>}GgW~6=14WGitl7+z$uT@v$x*y1WyHU*S@74%) zrZdT*)EkRQ>dKQZ zY-8+N3Mgvh1#vQDUTQdCG99Kqzm+4*T1n5C||em>y0ug5A07*7OjgU%?Uj!)8;v(ysnW9^{Z1O!)d> z6(yR)3uYp7AMB=S{hO#mxUebc^(D8Ye3U7$J#HA)yb<>TSB2b!4VoKIn^5XX)KnkI z8p}{oc*8l^QY?&644ASB63onX*|D)`D)**x5TBJ&VH_JOb1Dsg_PHgWTK-mH^)pts3|zffsE*86z&PH8)Np1*@aI78UXL6{6zPe z)pmoS18r!*QcgFE%!io6vu4xi`(<&T? z@!C^#Z6L)Y)bz-u22;$xA;(3NXd4CCg2)RKXo7Y!H%<8?OD8QK1$9_RQiVH`#mwM{ zk5(uPWh*SHtEX+W4fOVN$68o@kjLjbsw`WC{$J zlZhrKDW!lB@?ExIg4k?gWHWwecS2JySz%SCMGT_CH~Id?apRlx4K_w$kdPIK1eA0N z3SH_)MVaD?b~!#uuaoLBQos}eIA1WFlv|zu6fk%SDCDI<&}99|`|05dJ%K2=ssz9U z^#_Rb2Ou6AB$Yz_=udPd`o#H}nb|F=A*)BkZe*4mr@KS`qGqE_c-bQBcV?m*GrVkt zl4~wH#iKMwqvnTYsj=w-V_IMgAyPUtQo(sJE&K+dKo3$3qi8l@#Pmq?lIBgwcuA9& zFJO@6_=&VA1o}8Ky*J=YSO_Y{S{lc(%Ldv()fh7)l?MqeOuccH%{&Rla5yUw#WZS$ zdb!=ekcl}BEm_LTs$8OPI0^T3cPMzNDdHD5OC8UkOl_iQKQZi|9NsuNlDZ-PTnY&U z#n{VwO-(qt(ldLhn77gDV=${rbAtwqtC z6&FX7w_-U45r3DhTD{^`E1OoFVHYb_u3mAbu2#9rGghxS4)*i7K$F?O1(vXeg`x9!ZzwLU*hF4sW7AaF^JF%u!!=s z5wQ=r@h%v00Vn@@Z04XS4bkp3LBAaYzkbRLlgOT-4MXD!ooc&NtKe9QuoB zDvx+v%7ojF(!W$HR>tm%LYWuQQ*%o&LY{2ZLcb`bf3P@|><<)b@3kYye&}Z1#?}`9 z-0qEm-WV#}A{cv>CerxP^Z;r-O1%j}?_f(}YG@vXuZwB-XEXh#c;g$Qbd?yji3%AZ zs0;NOV^kHDMl>f3r?GdO-TpoY3*!jbTk@~cEfOTluoRH zahl9kkM`4>rN|r%oHf?#{pLv)!OI$_u7@*7^gDdE9fb0`Y_)bWS(}7^i20rr8fBg+w=zWm{%(l9-0o4^F>L^96~3r9KQi6h+dJ6N_&=_>P;Kb*^s`AHft;uu#_7`?c)~XM>unvSiEa%o`C|&}!c=L2l9qLC z?CAK@i=%7kt?Rao7iN_ebr7lFFNxml2VF;-;sz@Y{h>EqeF==z6B)AF_!!N4xlig? zWyqWj+hi}*=a<#z8!H3`9zl7o&RX!`-rZXM@z(XM>(*G9y!5(PcJm6_P-e)hkdfW)!S#q5X&Re*YaJXuQyj-S%%t-p zRi(;le!y*O%YdK3oChD%yz;{N73lq=nq~pB#Fyt>^tLwOSDLsC(z3n{V|P09NUomY z0=&g^7tb^R`TS7-A!CeLlktcXrxOG-Fv#C;F5U2@NURxx4Une7#F(cxYaa`s=pKcBE&t$X5$yK>N7%Al zvG>t})A@dJ91q@Ox==L(LN#SjB{IyA!~6?8b1A@CMQk>h;0lMv1Xw?XNR#kd963r&2+9pjQjMt- zcIrsLIo({1L^6t>*CyXV80>iwu9~p>okO+K!(jUY(YQ11_Nitw=_JHT$ghJ~;p3w>v{470{ zT!?X+08t241V}UDGA2iSG0k9V_{|Lm`qstuLz|jS(QyrpSR#aGOsKwb{3oH9K3?Z8eSL^%tP>zn&!{<4}}BQf(Quq-Cb zc3?r;wY;JWs)yl~U)>kK0VjpAL|gE{$HH2KdC}#kgOBCV#N=0Th!7NTm=I5xFnLoY z)0oPtp{_t>fYt(ct$X|A zc)=%&IkUPGIgd1gIr9|$Z`O(LBPru6C3>^cgL|Vnv@}$SP}?~Ogc%! z_eWduOE{+w3s*K&P(eg|&es-3629+T>C!{(H-h82xx z%CDv+^3+hH-kSG)GpfRDG$@$6d02FIn=wC}0oGs*V&%E(uG5GmY)7*!swPd=MZ|`I zlE>q>ZN&WM6M@p*#A1TnZfL(CMQ#n}2?%85h*y+bicDT@i@#_fzM8!#$f?=E!Yb>? z(5+^!=n?J5v?H~%KCgcfL#y@rDijzlo$wfY(nc-H2tCVdh?byIBCmC2lH{8S6RKB? z04zC-`jCkhbS{wAvmTq|33CUrB+(1vOwIImIGaV<+8Se{8*dmK3ou%0uZS+3CP4ws zQ1Q4qrYujbCz_$0Q&^f2voM|(=PsUO9L>giwy!#)|BTZbQM5)=jYG*C&iNIqns6vr z-Zs(>UlN&n>u9PXw^I4W&g9@)A~zaa(zzxR-=6Q)pOObR8eM(}kP|FyH7}~qFEYSg z`wiSwYq!!|R+f~rg>@l!xh|x^;ChMN1|UfPLeb~$c**g!Fc(p!F6xJx>>p)X>ES!g zrZH@_kRqN%w@p(p1y>L{_13gW*QzY0TJ)ohq?~ORC>vTZPkEimoWJsnrT)t0E6((M zDy3`m-|F`p8kcyD2mdG5XJe%5e7I(!URF>t4lkJfl-hA#n(PRs<`T85@{)V#`qI|Z zv!TaG7-lXNnXI;lZxD?ds-@bsIXnTYB0WMIenAv~+C5&6DU_ zx1p;y(c9P7)#vwJ)ZGS_6s`fT=F7gZt9N5}_lBOnw$?B=`MNKvDs#R}e}2RhPqs`k zWrNxA3Gm#CC&}Ni-tTEUSH0_@!L1xBXRYq_j!a-kZHG`si$}Jims`Y&yX?Z;5e5AP zXeDg21tKp{gqZ}`?HKHrB(9I zTbjndf<&*O%x# z(9+^r=Vf!sfLK4kp_r8$|%?rCuChF%s2P`R6AU37!58 zYtL(2cc3F2f1{Te36uHrG`PFBucfbdKdm)^=W_VHEuGyRC>Je#Dk{KXZGApNpqkVO zUruuXVlC5Jr(-L~n61}oRjZ&Z(gD-<@v3{i?pUeeE4ral!|P7D+J)Sph$Ban z!3EIi6>voe&xZh0jGt-X1I>9h;!HxHpPHbWeE7OeQ=^vsy(Fz^_DfQUp6R7PRb z&(tr;$2o6Fp?S8K=3?VO-kJv;2lCoH_&AW)=0nJ{z2}7NY&=TXJ`+X)S$eRq#rb{s zu4b;y(ux2uvDLMqt1*yY&(xAoaE8SNMo+|;pQR%v#%I6#Y;(7(1vTMdU+V7b3Ez2^ zHnnx}?T0Y$k)Z`#;bKSjrsTOHngzVc`r8kFHg=ugwc)j0QAq)6Hg4op=4#M|&7EBM&A&tA+%2Z<_UrjMMWrtUX|>tt#)lde#Lo!%p<_45n^8 z>%3)2(r(22Z-tyc?#t;~5+x-T$8FK z%yaEFt!hC$xcwLOqqs)lo`B#E(t~17>8-XYIoyR;wG&yMC3VO-%Y!WAQsKDooOZZ0 zw^ZFA__F#Ml~D0+l~-7tXX7Tjzcsq5!q(6|AkRf~8WP!FhX2!VVGnT7CT+e7V~WEV zaaIiF<i$5GCJh$S}Tn~ z8YI^0S}xVcLCkUoNa{tmR#ol=AWw3t55(F=4Iyo>>XWgYKYr$I^*ROBuaj*$42Rdow;6NT!E*vCw<{;xJ4irCd zkeka6w#nyJ4U!j)kRvWUzpNL)fT5Of+nt6gJKQipm<>T-!7_J_69kCMkFS-~Y8k}6 z?bna9TE$Y6JfA^yB@yTr+^Q)&5adj;M|!kad!(&~*yzjfU_n8JSFVRglbi7sU+78- z?qlh=0Oo%7I&3CN*-8ptRlEH9B1>!pB(VSAu4=ttuOe%fYBND5o7 zto3Sp?KbGK=lvi>_{iW4_HCgDvm&@x!Jig?4KLo27i+v?sEr;GSVJw!wTW81K7wd0 z4wuDD+f=SqXRXf-p_GWhH2GTIv*1(3GSnBtpuR8z1TZ?_dqw`Uj&h2n8qE00%*8Cy zY_i0wUvWB!qbo8W-BO_KlH*R)gs_cN1y;7ImY&cEQO8|q{upS#tM$`;Wya(dRl8cR-M2YzqmfXiBKzw7Rj;EZ?nC~ZbjM^ zlGKn}vZqpoz4n68uxn~UkSTl~dsLelXrqUq8$^y~v*R}S5p_2RE$~?u zk%mN_W5f_zj&5~O8~wDD=*n>7 zI9^79^Etd0*KphV$;zB9D~9n6c44J73J;BzYKb^L9S?rVwEB%&v4qM3esy28jdLKy zfG{u_qPpj&-fNVRtEPlg<)#XJ%h?r)J-|*K(tM~Zv=+-Hm7IR80 z$ku4Nk??l6|L>0}a$OXyayrK_8p7ei^4fvJXteQn2i!3jkaAQMW_XVTaD4C zy=KK(fakPz(2=!UAddwK8p$`$?YyE+6kzXSPv|q_93W;teRFSE%!WnHK!4FYP}MWO z70+mu68Y2=6L^&LI3CpN&Rxv?j0QlT*XP==F^SnJu+;}sag0xaA6DR(5RZCsQ z_+x)i_Z-=2ze=-3vTb>QJDyhi1SdZs!s6U+(nR>UR$Jy`{uU|s5$xpD2Hrf~) z9+AO(RES<{>D*FZqfB#4-B0fQw!w-C0)jO0-Ejgm!X2-$pW@tG=n@s2IXwVQ zje9)HK^g>JWl;h4Qvh7SR2%;HePDFQzeIlZ>n?$Cw_@_e8vM#JXIpiWekm=D2@pl!{)^C9W zL{Vw$8F7r_zbZt}f*omQ7gP#x(%4b9tB#N~EC;wotX+y6=b$D`chDzeE zN~)W7#0wf|M1$F=?5uIeXi$QM2439UwaE&I)vGvZ9lU@UXnWu+<7(fcakr)O?1D69 zRmT8v)W{N#+1p&d{PdwszRmbRw5i%EhDIc)Atd+_wmpX%FVVGrgV)-&cH_ChLvW33 z9c4=$i343{32ZE2uxc|%YDjziDi;bFt-fLwaZA<=cAFcVFyu-!o1NZWs_TBIiD;x>R%7@uB1Og3SOtMkUCZIsx4}txJ2m8l~7Fd&a}< za2wq=B3OvF_-F+8yMe#fQ|xPnkqunBS_WK*0jI{IwZGessR$4pnxJN75Skp8JR z73}FWLG{F0Lui5;M>=79Ih`UYpZPphG-?lYjsQDrhZkPCKvS!f6P$uQq1yN43~-24 z)e(ZstO?&CdRgJgI_}A36h^>XI+xAJcoz!_kE@v5bSMksL0cX0G;r2g(5(Jov$5A3 zJPCIn+qo2I*X}eC^;fK%21*lmFSBttXis>;L^G0>y_ptU9^f>zfA(kmSU)K@@6EM$ zp6wl*!n_s@g$;uCvAV&Bm7|!NBxj{z=@EUNf@zqJ(0>oSiC83Nl=~JcG906ZWbG_x*5CU%PjR9!Wr!;WEI<+4KMN&&>YH$+G&^g-)u7st>Vok@p~?)+TFB} z=?m;IDr=GA0W^RNqZwgTIfr9ez1}i5OK})gW^+J#qHFK+WxUI7RXl8MmcvHQHw#^+0ina**wcZ5ZjUyODHs? z134KQt-E1w40W*d;#kx{yCtPgTN7r#OiO0p8XQf7x@g`=jB(UTJ*&B#x~W8v0R0Y| zRMY@L#!I4$CA?)v!ZnG$GRR>NgNCl}}eVs=-aJIyp`)->lx5Z8nBw5JtysRCG34)%W5{g2FkRl0h&5itp$Iw;(JiZS8qPc& z7bBqe0i#&TS_v~|KF!^-;L_giDyu@_=3KU@&6nJq$JG$-mTATqcBi^(R!5#4A68c} z(Vn%8gY~wAb;kT$s!@K!jLdV_BIz>Hm#e)5bA3c%{#m7&_a%H5l@YiBp0!I+@71tB zS1G|UdgfHpURxcbZM$P^&uw%SY=?=iTOAie6O+$?iE27o+*9GUVM{lp^_5X=z>v$N z&bDoxW-|po@6aFMZ1LbsEgRG&!I=c|b(jEl7So)91IF6yv(MfZt_Q~Z?KtZG;1uvb z|85Iy9bPt&MiLj;@abx2;oa;o=_#9JB(gnTD?{3m!KmVdG6%IgUbEm&pxOo-f$@t~ z_XB4cx^t|w@Nk;OZ7KL3NAOGxqOH3#PdebiWlOJ><+BlhGK@JoaKNH zPPt=^D(ug!)E78g7OS$Hmpd)euCL#&g@61TG+g0m7L zJxwZ=R@?f}9sQG`*2YFDpte<&0b{FTlbqyH!GSdQV-?hTjoxM6SuEJp51s9MwP@#l z%vVLHFz~fv}4=(e`DI{L=ww<|w5VMB&18gMH2d&lj_fPUj?DHhT^E7o<6_Iyq|XW8{#MY6D8qPbX-kG7>DOZY{sHu5sD>0VMN-fwMx57jh#jwYdZkh zybj^X_d+OlwNF*&UMjnktE#KP_|;hf#h$I3-D(2MTUy=n`T|!TUxI)UWePg~LkD;f z^T1&vTF{kDrj@Ml>DXFpN7RX0Pwm&fTx+szv<*%y!Ml}V)jnL)(t3`)8}F-)WNcB( zBZw}bYtQW^M_bVul>xna0lB*KEASB+v3gYmF)wqLb+FWJstBhHAr1Y8szpG0s~8O(`Q?r@ldthCgidX&h*q6-7L*}#an|`_ z_BM}eqo@_r&=^HKUn7%oJSiZ^Ka58lG6s|5SRG`iYQvRYOXK(@#KyKdAJ|)YOjzEu zbKVc^4b`K*P??V69LI&3W;*^cFP{Nsw^)lMfY#_g{Hm|ByEW0{^|f_&3-*>3#>Tz& z4V`UX_iI}*LUN6Ydh^D%2n^QinwlKJxOpWfE62GaLgVWMtPQYJxPN^RixsRMutzk( z>A^uvSa7rVqTY@T=Mtovs4l_XPPDRbHkiVVZ1AWbYOKyi_*mjXdZWKgo7cAVbg{M3 z$X~RSXTgWF4hHb=z>AD;L|hd{WQY3&_94p-QdUGy$oN_l@+Km~69bqeuFrfGLx&3B z8_-FuH0QTaZo;cC> zFUl5!1I2a9X+YibO536fY^8`;ki-YCYdKdjfpFop|IEoc09^70t=Y0__J%oGqH*Q3 zzr=Bk;7E}FP0=U<{$qL(9O2+rO~Mw>?weNo=^LzwW8_&63!=x=$*RtQ9*fKhmdyf2 zL~dgcws)X{7hKxV9nst&M< z{z2v-R)Py(rM823Rjv6GUYy{RKq}P98$m?vd^qTLwFH?D02c%}s_#LOQuQ%HOoWH` zRuYB&P+wqMjuO!VuFHU;?3wP|g+IXF7e$(LYmSq}5A_%sRK#nw;ar)AngXYG;eAx&`wQ{0ZEz)aSr zex(38xPmX9;BP>**=dqqbl7!UwjHglbV{b*hvx`GyZHEb<8s!NyqjuA>Ak?Z#WidIYdT((+-vH48_>NnEJT73ZERo z8p9$Bj^<%l97znol-&8H(Je>MHhAmw!7j6GbVM!}{ zlcf{QQ%7ZE1!-MVzGaHiunc*9auQ>BW5fsJm)>moP$`00xlwMNFp|h`*peO{B|0I! zS%+3*vC3HB%VmYZrud?KOP+6^q^XI(;*bFZu87KXb#suG1{-IctD^FJJ<9=_Xvn@` zpy4CqRkPT|o$KI09?_iM;Ks)2hFh8AVf;OsuZ1nsSJ=-(H!8t5u@x_jjwsG9{<`=~ zn-d5&fl>P%ijB!s%mOrdsMSqsqcpw;M?3(f3iJ)8Z>eMPo6S_QJ#ZS#Tl*Nu@V0)2dkn0WVv& zjQ`>H6orSpo6USACe#Xbs^FZjy0x}l(AKe`yRFBM)ZLBn4Wdd!0CE@@wlTZHaBc>f z^B(1Psc0Qx(K@(KhEfm|PYIYgiqnQ@IRy~Io|DYAvRPGda?}nH8)VN!GObg_Y++xH zG5gF6EEh&II)Tn4MH78UUy5>LEjxch=-M#DTX{v=urN8En!J8nPfT>Nz6^eXLx+YU z$4l6~WpGDaoB<1rG$-m2W8wIATN!rdE$9uAs@GYR!C%0gsH$gCn(WhU&XSFky8Y@3 zR%P`Y2dSgYdih|qw0U3Mzn=C?*$<|J^D8)V3&>N0?=?Tx??M#8`k&u{PQ{81q~c}y zu>hh8_|T=7H{vkW>NJlVxv4Mh;W-_!5o`E3i+98#>D=&&Lptz61nvmi zyot*fN2l1R?9o}hKj1B0VdYO^#3#x(k@9^R{!iWHN`^5k_xZ}w2$^#vWzi8)xOTkwS? zBFuESePeh-B9kRleTt${ZyTT@46swZ2!o;M*flJ9D>hboR2r9;NpXrHDz5_u*}BA_ zqg7-Zb3^9~I1}Nxe~Ba!l<{FIp_DGka1W#r*(HECumx5SXj7;Ac|TFPncfY*MS3G z_NO?q_-Uj7g~$BbHc*&xe_wk~TT5$yCovQW&d88>4f8bgwI_Og{^<~_NM7{%3bnxa z?`_|(v7^;K&bqeE-`LCct+f~VZC$N`dwPj2ASy&>8**N+`_+nXEW*8*k!#mEeIqBX z8lc+}Ao|3a_A=-_)83uP4q~tZvEg?m);ZCmj#`NzjwKv+y?KHhNdz~ddCQYZ{5}`N z-_<50Xi2*XK<`b8CKoA-)L?73Yy!HVc_B zPjmBDqu7IHgWz+AGO!Tud(xd(*4SvmJ=6u<_b%Mw-EJiY>e0t7f)ycWmZ3kaBTz&p zksMBQ)drM>IU6)Gm;`nbW*Bg$@Cr3DcI`Ke>9BJ)-<-Wh%e;=}l!*^pV{d8SWka|$ zW|#Utg;a1@(oz=9NYca;iKi{a5f*V5`eKnRgiy@pY)b;37tpgRb9uvMT34@^%M5Mp zPhmskaHONUdcEkHMDX%)D2Z`ZtVt;RQ6{Om13-OCjgg=#v8jNy6(OK9?=xSq{l zuG?)3@d?kCn~<{2782^UgpiqDxNKe6bC{XYIl!VNT9o^MidJT90;F9g*sQ(3mNODM z$Ud`~p?J9xDnt#E$bWJC#8s9)4X%>tycZN7dLf=@otC$2G`p+T{D%wjG!% zR8XaIi61G)u5K1&wQ%ArsEDX=X}fcpMOE{*gQ;k1e6V}-ODa=Xj4A)jB|fdk?7<4l zMnuT+9p}f3Y^v~Q6le75x-P^n3!F&MEvuO50M(SUocMHE8VVrUD!+uaSj}K-f=wL> zAc6#z%)*i8gWF+$5QBDVY|zYeoMb8CAcoD*#SZ8gA|fnlTDorQQ&Ris?urBNu7V$= z)WpaFgomC8a3YNs6AQgUj(cILY92HAxEV~_KnUCLTf^qiBArUO?|KunI)Z%}b!k5X z|0j<5@`_|&9fg%@eM=P*NDk>!6-@o2RCc&1hHese-Voziuaxkbg%!R| z&+c)4^n|vl=CZIsIdp=1qHS~I;~~mme)|o}_02BYN`RZrX%C{wX&_-5jfxTUFP5%T z32A_Vk2{`(ooM3dVTbrv#LgcY-7^V(?4_bD)rF7&Vlj3 z;1J%oN-SYx51E(rFJ|yjH9i5VHqFH~!r7dtE^S)dRit~h!6ccgFJJ{~x^SNJh+<&V zyO!e=@|$p9#0@{-%bf-Yr}+sLR3MM7ut`yiZEhzQ-WqjHA3C; z4uTx})R}3AD;Yn+>3WvoHqkhkWwk@!cXr?-a1p^N<7)!}r&G*tVhD?u{bsKfmv>RoH z0)osU2MLd`f!6E+A`&YfJYC{hpiF*b%zOouqA&8eHFvKygjA6G8jl zqSY903o5S!4WKV$)XN3$u|dMIo`AM(PyBZ6iT}&Ez2@VBk*1wDp0CfuqsB>j1JioqJ`xop_VQ}1dI=`_VaK(oe2DkPPFubA_ zPgh#l2qL4k5^4(}k>RRWG+8UJ=!*3hndoc*n)d~aQgd-Z4_nxzGYqqFZjp8H_j!WZ zWyWelsI=T=(AK&{Ymd|`-$3e-RsxmoKgUZ0{m% zhwTh@Rz-%b_Sdo7S@T-`q@jWTrb&$seL4Rdjpn2Vo9^>B99v(kJH&!C9@Hjt^952N zTs$<4=xeKFXR68v^sL=ZU{DaK0-xZcns)M*`x+dp0Y!{)Ss;0i>2SNwo&h((Ao8i? zm9Nt0kDFF3TeUPlK0fZ{GedAp+*?SqfUz>~tC&0sZumr5cn%^qSk{wR4HQ9%RmO*< zHr!yESGFp}_uyTytyEatd+6mkv<*;#9O1)k>Fv@^R3UVOV(I6zD2&n39VS+6?Kv5W z8q3Vm4{>2>7jj8Kb`BF&u)a*;NCXB6gKAI_EX(28_Qg@U1Br-KD$2hiD8Z_biwzr- zXsV{k%MEUw4=bV77D&JUA0h@!IX!m}5=hM<8?z7;=wpviJ=C#WM0ozny zH1Kc~ITuFsS5XvMj+7;YF9=17v$k+UNm7z&%&~w_Gi$>it{jAY*c>xRWku_SwuN9E zZ@5*F9J3>)oc4x0xvFC{sXvp%vk^a3KCIr%kEw}hB_&9Z@pRbVj(PTigZ_J(UHt4G-LZi$l>t8^^`r1|`$l1rV z@-)7*T7^LsV%})x;enNcRB7@<7YG42Hgh>Fjkj|S=_M@tm|uLG@^Nfwh~%2}+= z$dzf$W(8EU-IiJS+?hIVZ>j58ot(0y^AYVMC${-Y%P@S=!rYwNBF`Mh5lKYHtPd`m z1`2BpvN~hcvI_h1@Ef0r35Q^hSrGhMSuBH5G{P`!sVvwPSv4RYEe-FRfDENg7uy>W_TsL zJK?Y<;Mq-8MB{WjIV|L_(z=+SlB1+JKyA{LgW}iAv+Sf)fwY$OoI=vpXOa8!G%6~nw>YT4 zG=0bkYtsg;x*(MuD}ePLt0Ia(VS-q@-R$M;+a@&lP4Y$yBZ|0-y&Y#ke0 zILY78&q2#;J2tF4e~GPnh(9{zR>D1S1B6V)H`Nxkp08oLGJ{&?D#YPqt8VUNv0zmd zmF(CRXyo)uoa}FM%5TsT>F8dPAtH3m-3l>_MrFP2-N1pobfT?~I3s9h-32-bbi-1= zsfpMpbQEFgz%qBs0%wTa5mDh-NL6;mKOcQUc!nJqOKv9cmyfujl?`EWZo#PCCjUkd z;aIONEv&;>CYhFn>_q{DAqNMxMY17kiaW}L zm6xVelU%RRkwVZVVinA0&PTcUqZnsxHkj{wpQ|fPRZtHbx594eQh3d2qe?I`xNB5} zaYzoE8wwvY3FKtZBnU?@qWlaSrGpkBTx`yT+rbn<&nxt}I;6g!lZvu9-X?wpL}V+!?lwXWT`{@HRd(dNz7Co&K8 zL6fP$YKw;0PU&XDC-oH+L%77_v;(bjRHl$7xfjrd&*9NAmSl6lNWBq}EYrtmP0U0Y zq4i9Pxe8hKZd|9M%%S_7PgEEuoMIp`8=xTtHfzhZXoaw^2`-4@*!rh*sjYFUCQ-$>H`k^DMG#kRnG5Z}iiQNni@IqjrMG~0B zTIHIkZeM_}e#Npx6P0rs!dSm>S`o2K!-n}%Ic#qJ@`U96+5L@i4(sz=S4q?!O-BW| zqCXh7iL>h^ZknUh1fyC}5`x?aI^zVDEFpyi8SKT%e4XdDumR}xA^86=_onS_9M`^Y zzm=Zne20#AXiMG#C{m8D4`V5Zql9BlAxI6|j}O8Dq!@7uK}yt4&i(B7_g|~3x*BMJ zl#?4Nv54-jd0MsR75joIr-r9(5UXS3jF|_8myZPvix7X%xq|^yl+~|$Ko7(C7@8u7HbHe%?X;9R( zMC=lv?c&NT0m{sBE=~`NVZ=(f7^_}tEe-;X&>IdH#NXfGY_|vb7ZJGKqK=G9QZI=hrY`F#qPnRrUjwjLyq;3f6{98qO`6a2whnB?p<9Kahnzu3)xiJVY_g!M^I(;5oWg66d z1}!m?Io$)|!LeHS8iDK;_lpJ5mW*bx5mFqwiKy@pBVVNVP7$YNr2Fj{8Jph0U)kAw z^#l3}3#*;QlF(MmCA7@zjjf;WUTUc$kNFBG`WZ#HIklHcEGepE34|=!)RO_Z*}$; zTW26e)u5ehJI_^3-g#NIOVmgGi{miNx1nbgO; zl0EODHj_l?Hk)5TG zXBoG(Jx`p(d~5Ih_pI;jzvg>eUsYzdw%GMrhIdD-eQq?{xE(Q)GhfPyK+ATwdfC>W zp{A=XR^Q*=T$MUJ0^dAMW3HE(Je*qII}d2=5a?uH$?Y3_A3vj22ms?PY@w4P71l1C zE@brOgT<{b;OKI2mka0Myaz)J1p@ghE0)fU19#xWlz-HX5TXB8x71MVU|0*rfMf)d z?lkqptNM(L>)el_eUN+94ebJ#zTxj2%ca&}7IC(FfxJxyJBI$Ig#GsySCPR);(xf6 zXS7g{EQd;bFsBUQK42nAweDimdci_StEXFy&HxBmcvXg46E@cbOEymTXZqI3! zN?erfp5YhJI6bItprHw2R-#H&mOo7ma8h(@-W37Hae2)~Xs+CHeYelZn)M)TH_Xt@ z-zC!FXx&_FU7v~lS#{D87E{745!le)S^rZUkxy5oMV zqrDCi2ap;{B*%E|UzUQa!Dpy#c}S6IOou|dzdGuz9n+%ExZ}X>lnev)5Kd&wTkP6# zwv?_C{!JE3g1^P;=Gv59XN{M}s>!^OO5C6!^Ft;G#I@xLJ? za@G&k2+?cPkovLW^_@gGT@F39?p%;w`h2Jpv6KvcxfvsdN84ws{e2i`oU%q z_B*C0-HY9iX9mXQ?A{2Ve&7u3%kdH}3D5C-dr~X~S1$_N(8oky?$^whlS$B=TsS%2 zv$xsDv$H|6CXZif=O>BGOre1nzMFv!&01u!I!U3?__&e?gh`Ob1yd(EQzfkg{(d^Y zM%@P)vp_QXh^Dj_#Qb=42ptl`{2Vs>2X=#KM)4+>R$@5;5`m&Vf(?Jhs@)*=j5 z6s>Gv>X=Azt^ry;-}mdRp-E-LZOg}=Xnk>hae;5;5cyhFnG$O?E7;htZ}%{ieBE1H z-hR2Ugvizxm-(kp;?P+w)zqCzRH)Xpo#4i6cH6Nf`_AG?1$=T>Er)TSxzTWZsNQ zg9FpURt+KB>BZHjm`(VJzM`8mT8C9{Rmiuw+~LZF05i+6PBLXgQrZmF3XYvxFElpU zHc6zH&Ct8x>~nBsxvqX9DSq(nKHR|P2O)j}x>pP~c!#!}Qav52#zvFk6nYaD zJ&-1(LM1>gMK`1%HM(x)EUn+ za7D_Ap;z!dIpaR(aPS}46N@9a&1fJsDUL=Y1ai0%;E9GnwP&qr+x&~h zU`ve9v$!muVMaQ3cPYy_7&;Lk*qBiC3X?Uij=?Q`w4HRFY?BS|D@^U87}{ zL0)5bLI-pMc{|k&WCdNYeX)Cd37=P2N<77bIeBvBDF1ROGzoL__ySWxQTs3$#ov8^EJeg2Em0`hW>}v^Zo}n+AhBp z05U}+Vqc9r0oEEPg?a9ss{-?}qFdy0|McR)w_Jl>XSi4%mER73`01GtIBPg$QpntP zx<@4}1>_u$R!)S3tGwKp%13XC;XY^-4-44PYa8ov$i2?en+HP~A9_bP*Xn8Eh|~H8 z^BK^9@^{aSVx_O#)i_)=|6nLJ2uZ*&SJp&5yXkf3N^@!G#vE?38qzUNeSAMge3#2n zyRs)%i##r*!)YhtlY<`b2sU#)h!+r9bKRYyQnf#IT(@4Hcv zE)_s3re0Q~&e2`2#K{mN^uwlq7;t#UwUJF{N*xzmh+X3j#HC)m?tVkhu9$f?u^i>pjip8rYWkSha%{k9 zsFsL)OQtRr?zCZ6p3m;WX$0~>I{qlb}d;0{PN6Ugz7TeA6n5`^La z==w_Nq}45^hr3n=VUj+A_ARq#t5R%V64Fg{Bo1ZGdwvULq$9jd@Kr(=ZE88y&pwA* zQx#2sFZ4ziCLYqz#*$-=;>^?`{F&x|Ler!5T)tN5#Gny?#!(q`DE6;zutGedAm8s$ zQaGiYYJ2HJ@R>sz1X{|%0h?+-X8E6p?3zX(;N+hA%<|WFv^4DjA~nzuAVX&zXE}sE zZ>&tiFpi3y)FZ{$99vCidldYHHs16)8!H<->r3f6@SSlyp#-?}P!V%yqN~dwTB>tQ zhu#Pqw;GDG<8#d!>*y1UoK$bsEU_eE&Tw7+3|^QV9cubo&;1#Ij`{>G4b865KwKpy zc0;JM_1wn?0=ezcQrW11TPH0of_H`>wvbAPZajq_0*l6AQJMjI@(N&972GuF0)8?u zBvwtkSTtX;-ZQT*qLEV7axJdlb=sVXvw>Kcj1312@2NP+*sqsi%!1 zHg)6S2t zI*z3V@CYwIO&5cq@4C}Gyd@q)EUOzth~W`!CV~lte{wsC+9%m>0Lk-$%Ec#im~pT- zwsEm9x#v+DK0GhBJk$>y8X%T7ym-5ks};(ELJgcki(DWjp))4a^z^|IE4L#BykzuJ z<%vODMFp3KgJSup;QWLUqs0`};aq~G+IEkF^C}?;=q_o2bm%74qB7o}dKUucCJdq}VK!1NL5orq&W ziXwZqJ0po)R%l{yf_!0d5E(Q;feB`glyr<56?wK z3@`{!**Wo1LurB>pll$YfMXtn5ObpYAN0}q69%|NJWB01B<$~f4I?!ao{?H-WjC#h zM%RD(@Kd?Y(uPiJCgzPVEyrs@|4kxkasiE0RJp+pPpnw%6m&w!k<*YDBl!)v8AF;X z2okmgL$!<4DPma=Rg@``pJiPB> z;c668sb3s;|~ROtLP!b z7%y57t2?YcufR?m$a7ToeStJAT^a6yPi+l=Z`B0HeTK`{V~O2m^VRGwgaAn-8i>sMCEjKu_z;e2S*6TOX_KNNN<|1&@~qQRkvv zt3|3lwVhnAL&*k`505Y9Jxg%j#_6_%^0qg7kv_Sf@0&7{Z&97Um&0gHZs)KY#C zG5t8`6A)8Z40};38A8|PwkIE#;q4Q;w5xy*sWDbF?@!z8*Vr}@QfwN4F}yY$`gl_N ztlqpsPM=ld8lTB`ZGeCZz<9}f0E9d^B;>(Cq4ay?pyHAIknA!Sf`*g|;IMoUpbI-+ z*IKYSa7C>eu%^&AYU>+`dq=XKUHtTH)_2`EYG_=p=d;XZ98v=F3~TtN(DAJ<5>W`uc4^b6g?#w)RL3Es^`Cid6!V& ztp964m^yjH<(g8vfVTq3)r*ThK%m=Gtp(IL_kRfF;&&oIQc=!`iw<&Q=UW-=;+8%+ zLxjug;7=dvB-Es=VNKf{PWzQIFd&ES91AQ$B<=wuiIJdyYFsU#r#joPNn-qU!u@I9 zTDZ})#YwNWMIA&slB8@}9?OE=S+X+J{ z)ggQqidsCpm#^`|&_kJTqaY;OJ+Lo@h85;ft|vE*Zj1u%#Kp$`ow}YHtRn*P=zQk;)F6HIr8C?neP3H%8_lebwaoX5A=fDfC6W0$i>PI6 z?)aq72~5w4bsHBv|IS`GcZYq#Y~zmL&aS!b3xVu}I@&JsxORF4IljzNjc@$#A-rrc z-Q{_yNA6qNw5aG%)3!{4o>&(MU?SGnA;`>)BVL7K5QYpbH+X@m8S zxz@1pe^U}Z@m2Y1esyQL?5wR3Pf=EV^6|g9wXw)XD1Tml%TG3oH>W4F{(8)Xc%UFb z*_xG`Yn>Y-B`VFgs)sD7i;+^-?0D0^yo$)E)11VNd3tjt1|#U{sg7#Iaf;U=TmY(# zrp>4u)=-&v$NCj~`#tMHW27RP>JhHx*D2f6h$Xbgh!2WWVSo_F5AOpvF-*|T`p@ed zuh&aE!16V)v1OnXkSOX+s09w;BWx9$m9a?1pjoK$=&M0G#6NZ>*E);c{w4lU{P-8X zi3oyxglq!hVqs%`YpD>5T)6X-V)e-)wvEfh>TLL(@!!Rbt>xn7YiB$czymmmMd)?` zmDgEmb$2#5Hzc8&+jzCSwYo9C)IyrQ@fwj88JfQ3g$f5`FrT3!ND0jE0Kw)vg=#l53$<1_>< z0}KgWJ)9$=IA4r{PPbseRlD8b+JH;Ef8b=OZq2!hT*2G`56r>~%^?vwuZlZpF1P~P zUV+EaYPRuT0RbcZHttkI2hC`L9SKg!86wo0JVqKdFAY-YBk!CpZSB5%nB^JEv+ua@q zXJMneTy$de4;BiD!QP4%Z-(nfQs130O`Y7_A726mNysS>J~mP%V7x!lHX6scpS{>W zF0^GOyVM$+GoA=@p&nB|{xUWA?tZas0b2xx*y`i50scH7E{9}z#Ms%QBz0~ePQIE= zjro4DLPS1-NCXr$h}xPO0E3BL^;{D>Vv`qDLbAyVgS|ryrf|-CRD0eRIrC3PTm9Qs>TS#%&)N-v`U$scVn~ zxfwOGUrY}1O;vX~F#7n}H8poA*1gq7V#qwu$4R@~Hdo$NtR^rw!Oq^!FyIK+aFQP0 z?bL`uK0Abw0xQd^4lWJ{rvA(k$xgMvId0EjM~xf$eGz0R#t-(3@4pW#^ZoY$2)x+Z z*x4kI_0Vf?esOVUYku)|x?uyz>QT%yGarpjdqzCr(1>Z*7>wsQj1x?|$)pxCEJb zDR(0bkh@kp2p`4&69opJ^%z4GL>IzskaSfLvG;q{ zRDYKxPA<>2UOHsZa1qaF?^C^wINlNn|Estg3hhFJQnwTs$gvr35i;}q`iOXpu!SmL zZ(^`kSB+|mw+$DU%QplBVWDy2%mm1sucw~mXcR-)=!$6OXA7A)o#N@0OFfF0_zbZ` zzw0&^JH3c6R$yv0&G{GxJ{1?x11QOf58Pt>{{cr{y#P&L>~;#`)GL(l#l@$hv)L)O z<~vKp{5FaHr(3MQT3f!kP;6QJa-by3RN!U(3dKDnM_X*=Vr6NmLz%Ur(_LCGUY}o{ z9IPA@Zqt1(MCgCY1AHW!c&Z=swW`S>7 z)KDOm6Jb?sa!F!}cH*NF7tSfJVhx=7qlyln*6B7EW$p+mD>5R#|ZW)3fl zt?k9aTDsaixjrhoOKP*|pb@=ObWI}w9r)u5mXc9FsPS#KPpAHJ74T{7eLww!W`D7=&mv0Y|ph$s|y)gpuD)a zL6!6C3p*4ss?>69EzQ%=8DhKsWoN6{S}7KAtj-Z2l|35rWT0;8F!0;Y(f zwM`UJZ0OV!fBYZ!3#nP$w5D(vhJuBj{Xu^h;5oYPy;MqoTuwGXNlxK9F5Vm*-hU^F z6ls`gdkBBQ>_ZGv2&D@AOg;YLrZ@F?_QrvfD0}8^6erj93q4t}O+m{X9JA%hs=f&7 zm2lA{TiO3f`PM}Z3lwyjxKS2QdYaublq@h;W-IrUzBGx05gGHzlc zo`oFD!tO~TKyim>AgM2qpaT~lsit>qcx1a_-S*HXl>$H2bv2 zJwU`g=Z5A9u2NRZE44}j_hzNp??&IKwXm*m9J37007rZP7FA0KJ?$a7>xGg!HLtvf zJgt~YTj1iw^HjZdW6ODK;zu>KWo)WiOPZ>g15-dSF1WoT0YV2Xy}NWSy}FFfUTaON zOnY@khI^(+cl<$`=nYwBhqBP7H7IN^wgLkxK3baSq2nXXZq>I1SB5E;eAUm+d*_3& zDY|dhw_h%AcNP;@C6f6!CM**Q|LKgqEd~p!sZwQ(c&CAria@yJHflXj6hjY9kSi>! zlPNhz@gbY>_WFYaoL!GkPfZpcC}T4s5GPmifm3i8<@$LY48^e*)eD%2B67C+)w= z6ICOzlw}Y57x-{jpTcLDDPxcniQaEo{}< z%^e8Aan0Cv80eOUwx%ts{jT`~IQ_gr)ir&mwo-PK^FUic2vKlx|9ZMtT z?XIk;@PO?~G(ZuxQ@v?5(970xFl{HyRmUvRH0isJgn0LyQNn#}G1kIv6$laFC}-{$ zYav1gW4Js<9|bMNa4NYgrJtdDx!Oyh zYNL~r)m2T22~hm7={ydvbiCzC`If1u;nsPZ^XFqX#*)*LT!vy*?d&WW_BMrSg$UGrT$$K>POO6_(q_p>c@+O+yVSa?pdrD*SNT}DEIc$Q%l?jR4R9ljr7e7O z4cti7mh}|pE0`{&Hqg(lR|>Ddw8Tp>pq&SAu(LK#F%KP5wp<5cu4Hv%NufZz)_R>9 zu)@L5w4FSZOl-9njnkQXcj_X|MVx6eahme-z{w{Zol1J<}p!ET)i>? zc=pZIb$jaio99&$k0Pd?7cp%y2PH=@j`yS)#pd-{OY<|+ ze*6uEu|cHpvu}2`S6V-Q^QY(ct67cnRJsVcRNx$3O?*ET_-~9Ca+u~cBPX02V-)cg?^%?zEQ~Isu^jn)$)@a)NS*jv`nx@*= z6Ooq%)*+G}|Mu~ymNX_C&1_5GG!PBYAt$SpsCR3ZY1FSre=I;J@qq)XYEK6H?Mc{O zPd8)rHk5dNa$xsOl>x!=@D~kGI*3nyC}8MT05_79Hiin5)EQU4(||L}XQ4RDV1|2t zHH_1>)Y)CB(CtO6Q=d~npwAToQY&#fS33(*r}Me>mtF_ulP$cntb#W|biHzJUI_qOcGysBn^S;{_&n1o6)@bby zNTo_*mqI3mZKK_0zsAQs&vh_BTL;7Lc*~Yag{UiHHj{o{u;r*H3@2 zMk9wT?11Grwgbf3l{r-r;Zeb1tIpv{XLVU$!qL-44{QMO$T1rbL=Auql?>p1`MjL< z6OmArcyg|Y$zpe&dsWbtphJR!-y@li@C$DAmuh&>0(Jt!t(oOdbc}D-+w+C}H#uYJ z-0@mojZeE8wGeJ>`sN1XLA?st?m{~2==mOI%}}PLe+y$ngn(=!90bu%8V59X|8!Bv zqm@L=;uE2(J~t$Y@&ud9KJsu)$TiMS_Ro*bz=zR&w+VFGB@p5fB!#2|5K5XcUBWWZ zecG$_DG`z&#)jq~R_(guvC@dc7~cU}A~aHE0zZ{HMEFjVVZ&fh;F+M9)lA6eEKIs) zQxf1NTS1+jSh96~*>czs*q~NNXL{qVO{)TB&wB7-rY%)v8-P7e97UXhtb$vcH+s_x zFyO@{$-?tZUNyK0zVB#?g=miVi|_bwgT%$SwN%*CcPJLZpm{TH;%=}#UU2pOVi4Ci zAM53erNm@$eiEY)pGtep*p2yUNA^k@wAokLT~lu`&UrOrYqSXtR9RB3qG-6MFc?BP zGA_KkFgzPN2~DNLEZ(Jf;ts~$nEGJs7r!qj4lSOj&{}Tz;C%~=nZ;^DA>h1>x>n$* zQEyk$H;!M}Euqy!ND2zsMO)z;Msga#pu{+Y3|!O;$4mJ)S5Ujge?u+t98?HER*5k- zY}eI$Z9B38j$+i@Wym?!lC=_xC+MlVvMXz7*8ObMTMt{#`lVg1onrZh$_l4xXgOEK zv*R{YEMP;wp=6xigbQhZpxlR^yYV8@-4G|Z%2*$v=0u`$AL&s4@>XmP?$F4XH5}VU z9WiT|idxC*7EG1e&WU}@Fv{EJBF{QH8=g9OLMjaPj%_i@hN0c1sR~oQt*I>M=%_3) z4GN`CFfnD{L)%yLGMB4U8NhH5K~RB&ae6&toho4q|Xfl9)A?yT|;ab z#UZBRNTnmmzp?V@X1gLHtD2SeS=H8t9Z~84GO87bNAYk}e(_-@qSlE1IJh@jV&ekW z?vsSJ$GtvW$}U_(YG=|CJHb4)4+p~UbbH+8ygSq4RZx=*N?5j{Q733v%M^tmAfGtQ zW=3lyM!L#m=>^vPeYxRyudqbF)AbanRKo-s&bpF z&h=ScC}c{h#-$(!wU+Ce;|QU1}G`sl@jxUzw$ zdU$({%vW6~xbJasW$y?Z)%3M&d_j|z8yz2arbTNiMBdpn!|JtL*AAT5Xl1)#O(SYI zuArjm0fkIIsX}K0PRn60%rPAMw};v zxT@by7aWn`<$x|5k>3wPos=o5;rUIu z5g7n#3@08cC>$pm1;EG{+9JR6g1;MAGUB>cGGiXjEXl2I7kfS9UVNBYiVPOiWHBrE zteL7Arz{=xVR$rI>s`AaNkh#Oh@F^i5)SbPb#4)LSLXlBAqm`imGR~df=4=2J_Rh} z7?R+OSWJA6(Y3kTAdr%R5_F`mZUJe$psVc-%5R3-{sxd^fl&s3GBBwF`0*ItcTn6+ z`hKVqIk1bWc)8A>Y5bx1m+SnQ=H%`PN{NBcLl`0O@&PlHiq;S#Qn;ZsW6hM;U`z}d z!pv05ggGgCz}xc#7vJtJVQ9I8)u<=0bhkD(w%s}nsKI_k1d3DOXciLyxOR_4ACchU zcgpy{=&W=lm@!TPUhg!lF*}nm+jHgtYlMvr?4Vntps{d?>b^cNF*#d^j?Qvd95cMo)I7p~zo3|BNi z`PLw#j515AOrllRwq#JMnWo!f?|W# z-N0agqWli>Iw1w*B**Rv0$wX=f@*&$eiqJ`f1p<7;;SStpIR09D0UiJ{sV>HO%h|P zFw&^cOfpPsuxFo5wPz1sEKK8rLmb{`4gBA!?E4QlQ-gh!MyMSou)-|S2TCG&wvstl zS)<3hg8p9|6vytC>iE!HP8A`<8%B5MCrB|-0R~YL@s75yTcvQrY2)ZF4Y~XXC{nDr z!?N4M$>sTlg(t`>@HA8TP+DHhTw~#W2N^21$|kW6ma^~>?T!E-oSidw9{8&l^B$iQ zmE=LUv$6Q1vqD^`m4`s5@&5~Fsa9j00B;g$S%yAXk3(sC8(Ix1jD?e~AzwUrXWc zJ%6*b*c{97{wTg!O5UKQ<{$oLmLg$?Oq**@wne_?(=6`rCoTB!x3Iv~rkb`T$lm)` z``H_GSN4X99dEUEsW8hB#?6;}vrL=z#?UvWJ!I2-M-RMw3NxF1$!0TsH3vDweO~Fj zF+=~}@|)$wUjAXBv##S~8N2xlVlrh;i9%F_lhi(>7v%JUi`Dzf`K{%p?l!(t(l;}b z8T!;&NXeb`#nl}!pxB$v`pQOn0X<01n?Ju$XYzMCo4;mN!5=YtuaC`xdjkxwAZMT_ zX5XhgSQUDD%=S)Zo+Htw37JHBY(cy(WiqPU#A5|kZunpTg*f;C#%aOHk(`~MxFaR^ zDvIX|j3}-N$ALA35+w0-enp6_>1Izg`LWzR}qsckGT;7i)+{ z*&|~}g_IrVnd;1NU!~~Z!=mhzUJ4^`SywB!i@;zt3X-_XEV+QDdL^P3xR+@E0$5fY zqn5${($xd8m^|U)LE;4avcdgZawsUe&!t#M#=1%mS0EwM%B7m=_^~Y{4<|ywhcGgA zhzRKs#jCJXPDCI_{RacQoE`FAvuZd4sJrCR7}dyD=?IKtDTK9*lPVI{sF={1()w0y zg|Z4i{s&?-TYtrBOBJQoU3>QK)y=LwEX+36U47`5$U@RvN*2*Fj@IpqA-lYvah9qM z7x7bi2w5Rz*zwpxvlXS$C6`$-Z^$CWXPaBgJ1J)h6l&9IL#IwO8i#8PN?%@~w7%>- zn0uetASwHDai@d-YBQ(CFt-<^j_{_2X_Z^vi0pYPAFGEp*g77Y==KDUXP09V*~tkx{G8hh=Z16r68L~>40MI_gN!L@uAe}O{=cqr0UVJe_M3)%6O4^ZQSJjFZx;Gxi3xu`exDy3CL zETy!_r7Rfzn;yYCdpg|Wpklbi{*Iw2tNMcjYtpfw%{{ZJS=l)rZ(K|R_qGY z#=aC$^cP~~-{n(Uy>ZWGwiq^&LmUC`7w`L@AjEdolb5K{lmPu z3nj0*=HSJ=n}ha)9j3q9pEjT3Tq{5O``=__+cZe^j!{-Um5`QT(dwDhG$N4`p^$Ys z3=wYvo4CDG*(Wz+Jq`t%$rQ)9D?f(VPzD~4yi~vfv5nMO2e(*Vjo1y}Zg8W3!3KA0 z($IlHf`g~Nd8KB{iWV>NZA;Jv&xv5hlsJpPu#a&58t)yKC*~+Juh{QKjiI_4!Nbn+ z=&*m)()Z%SllG18bhthE59#e}b^N`v#D!JjU~9Sa3inztfjTR=0^IIwtd|=rr7)$P zE*#R5_m@knTLvg80is1cAXZtH?TzZ?-?<@t`KJ9RY=w6JgL9dyz5V2-hnqP9TwGng zM@O-ifUOSa-A^+4&M)MoP@b&4Qal#D=+UcH-rheUw0YZgi~I|odH8A}&q28JT&(Cd9JrBeww9P;1Ewh4+uu|09Gr$Z zZxK*=fT=x9jO0y6WZN~@C@xx)w{bCgyk@4U4Xf|8?b%fO4T09|iV*L>w~m?qipTRW zBbz2h_|W8rH4Z$LxGX7zJA}0CZFxq zzR8_LfXh#A=0b}&>XeOqfW;*MUm#f%*0voV_KW&X*?cwS;`3~;p>Uq*;u_CcI0|X_ zMq#VG>Wf3)#*d?!xvS3rQbW1J*K&PfC;_oWbBQWJh3MxSjOA>*{_`gSngMk`{y-gs zCuZ?}^;SJ)kk~_4K73!isgcK)DNw}r9LZyQ$;e}S&&lKT zK{Tlst;l14uan32txg{MCnsy|IiqRAyOYQE63AnF&dB5V9?0YPnpLGcI2}~KpwfA@ zO>8JAlU@=d4Wo&{I~Qv3!PuMJPDXMl2a07lZZOaG?$_K9K)Dy?M5J`%RJqp*)Mtgq zgdFM}b>P_zr$zrXFr~f4)ei0jX}nzN5cpU=EY*$bv#tbg(fI|bf-Bqd`r>lwUmJ5S z;UV@-W6I{v0&(A7Hm0p^Z2Y{l*_gDm9t(akK<+b6JP1V9fODo{YxxDz!{sfmO1Wp$ zr={hFk0TRl7|h$of&O`CdF!o#lp0_c*hI73mfn0`h+yL;Z~;7za0(>201Ns;SKYLQ z!XnDm9>Tl}VrfC9_;aLKF64vr%Pik*opT~Yo;Kme`7t-g#&cy8NupI~y;)h_YE8)G z)1Vc*DHpEgazRM6q`!DGvIXvW7N4FFfYzBz0jI;9K;_b#Cf1AtaE*6JuvxF=JxcpL z3oGD8cSDGdza*B)F79wtRUw2BijjD1#$@S&0BGx==DLqtIcO(<6;CFQ?cWfH%q;O^ zaru=wIM+=pwifcH4fCIFrq) z617#*_pmAt2<7w0|D9lN34F(m)0hIn+VEzFv}{ZUT)0il0N-Zj>1{cl%-)vc=?@{t z=KSK%*)|V;y_|2+c@UFFGSw*6Zc5bt?bjP}~oXu5r*0=9iRhDxK zx0$28+R1X z0xq{yJ#^e}$(mS45Y47D0RRqFO!}P!9OV)Tk5O+gSMD%ZuChgkni{c-z+6 zT;A$JYo`I;mLDaH%>;LEJwxJ2^|t2MU);TjCh+dLH81edRyNWAZkZ$N(frod{M&o> zx4i2_Ew8_t-?}HW32_Lj=I(VpwAcA1-^INcvp6AWODqWA1)O?&o;#5;1oTm@iXIjJ z@>MLyQo(+d#(#X$c=a}CtuV7c_jV#|A5D7QSzTIGsF}us#_mJ&cS$`+6*r?6L)+vQ z+-E3vGkQ_qNgCYnt<|u5nzF%N5ce_8Y~#hLEz*M-%F#g7)t#8vnw69^=DKCHBl#P9 zkRQ%Fl6d)XhM&N?HzFCE8*HTIt$Xtx7o2Pt4U=gnrGB`YCUf{eu_gIWF0o}0rmc5x z89l`7D@j)MO6unEf%lplsXCF*zqq+_* zEKWSK?QUrrBN!~5c@XP{D*r5<67`~9P^8K@ zc%dkUstxSDl-R`Di;2x_y)3nXrI)29cHYP`^$yVpx*A~z#kWi25VX8VsTkGQ2VO@pUYJ3N8m_>=P!!ZW0cKfws_2N0a}@MC(KA&Q3B=A=HEO^hQ8h&Mjm%j%b*Jw2n`5meq5t)GkwMr(ynyu4M3%@SH=Am6eG}sL-={F zpnzzygAoAyYnlg22R{ z%90iiWnNklI*IsrkKh`F=Ew>LXOewF*D@JW%t!0ftjMzh550e` zcb1o?J$B;p;U}E4gVnw(eOPKyE)NbqoR$w{73~hO56V}^msi)jC)U4Up;}G%!*(&# zCKk_3@xM0~box-j^n(Rnxw*5A@}*>SQrlczUe_(Zv9oR8fu^RnDf3=0p?qE_=Efv1 zWCvHhXUZz7hRcx@Sp^#s`*q-+x>m54mCggasJEH4wHXIG8=#LV@iK5p9!)&HBz?2A3Z$+gGO-(iD{oVu{tQ zlHSyy$5I{)_+wxgODIAK^R2fq-(7a6$a%tY_vLWP`uy5*7c_IZh~cR_4Ab8wUFBA|(M=K?!vE&Gzy-M#Jm9?kcwYo2$#LJq-{LsoSgd zQ^3*av!JnpYXXaecj;&*V4&?gjwos$#?HG#UtqYwnu0xOb`178dF=#wz`FLv#?2? zN2O3NEsM`&Ov08|U|-idFSg*cdzN`AAflXTDfU8rAaN++l?)aan@04!+B)%JkcV; z-rIsgt&J6?&)rcJHVh*Svd#;Tz!Pe%5u7;A+58p}AjAB@^Ut4KEcgp~u@A{23$o|o z(Iss~Y7WLvNAY?c-CzF6JBwG4UI#mxt}ZEpZr zwJR-!W#l+i$^Nl=Z*6b1TyeB8GDV};PNm0w%5*K3MxT_(x;P{y|6sLP5bGiJOGz#8*G`4t@vFh z0-paG8(vcyS0{d=$A#(6vJa(7>w|DifbH9(|Gk)(;yat{QaZH0WMHD}oe|BsisJ3! zD!Q9X1<<)QZxhbs#>r4WUe0&pbld9Mx@7Q!NnBssw8Mh7^QulV%DhXMXbgRS)6rN~ z=Xcf@U$)YEhYtqgfE+63!_ip;V7(A^nSHfo1pHL9l1i`@mzG;g8?V>>X=8$U zY`eF~N`MGK4nlP`DTt~Ev#ZNM4hDfI(I&YKX$*N{(;A?cL9(x4XQ-dkbP-BwW)=%z zNXNtdv#S$F=Dg3n!6|Vr@u$Qfrw-=$tG6ImGF&~-VzCB1ZenibJE*Gn<7Ly=%a1+0 zdNDh&a``j!r7>LQ0-AJoCQOPLW+10bhs{m!(ePC)T;50P95E^sV1~ZRQrJmKJvr5H z+tgl@Eng&5l%$loeR=(=6Ot8KW5kJh-1rKHukP9s>46bj=Pu+9#GasOop7_AsXWn6 zb!5zej*BIULov8Y#AlkBJ5br)1zeu(jS}4IfeHWmW`ET{Zd<={8ojBA{HKU7oZCH~ z-n~T)wJL5@YrMRSwKzI#n>m{y=PDr4D&q`#CxVCudo*W=RD^q)yD-D@rO-qvj||$m zC4d<*BxJJ$bS3(gY&TOQz!xcEBw0Q0BAEMlvanKOf52lnfG&j^C0vE)=SQB%U{1o3 ztxA}q2!mwccQ5ChXcx0pyu~otrWj*F3d`fP`%s=N#rkdXH1#Luv(QR}=KZ4fRo7R? zC(~M4&P~?i)Y-7GRbR7A3vZ>PmBth1Cd*JC_efPbB*B>1K~D5xAa0(@-tNf2j(M();(^f)Tu5Pnbz_fu4%Zf!+|9!EC?fO|kgj5{i zT**-a4q*B~Cq&|Q1&7uKr^PS&4tLK|el6sh0mn86pUw#6ydRwuVclmFrbX|u95B9m zpFW-RZyr4StP(xv*hLxcXBHk1TjQT9idcItHQsb4r6>aBqQPM>EI|AZbAipv45wGKrYQ@s86v&XQ~>b6w43D6y_)QcoOKGZ{&( zshNzVCN&ddONsKEWcQe~L;?Ly>={kymSW(c;@t^e!``+7l$wjm0|L51dEhHrL+@RH z6eE4Un^IJ5160H1PSIs$eC^44M?>x2dH;A@!-`5HwT;(jn&M_0oc zslX)bN>92+BUz{*X&*HuR{BRxslzG`3m6w4}!v~d4QWbj;7JB9nqt{zG-t98_`AjsNLW^0fwS8 z*Tq9bF90^5b6EWbS5>SyBL}eWv-(KLy2|JUQZkb>?5f)us)KSfO=~N zX%nKiowN66=O4lGERw3bcM<_;A%JxC%OQ4gad2W2kFMs4{vngc!`R|{rZpX%kv(an zQ&O}C=a1S4pFpemIXQXM9-I`y$?fb7aBpyY(;q1O@9A#qpnr0F3diRFrx>gnxOL2l zLlw`-60$M0je!Wx@eXYL6^=GIX7J3m==|Vs=7dyrs9`X`zZ` z{ZPMkK1_`ujF0x*DNfYHpmoc;4()>|B! z*Yei9bR$apEe_3V6;}O(mxr=QgG2LL{#pknIW(`8s#=L21#1q?Yk6xeOz>VlzR+av z<>SkZ_g>CAi`$j&&;mU=NW0+D+%Asj(tLeG0_uyC^CLl&n{xI12txd5#NUc?xEy6z zCSvh}hGEB}Br8z(%m_%R!z!0^&$B-KDalh*^JfWEY6ZqhHa^1!rB>l2kxDJ&*p_dT zso?fC19Gah}U`5a(L<1CrTx%3w|MsdwLc)(luZ!Hm5|O#YsOXj;X5i=yI-i z`pJU)g83Ot=|%sB1Q|a(fUyEmaP^2EZW+T3fzI?~fUa5fsyMaUgr2s0RJ{xr^!kbu z{LDW((jWd&;UjN5yd1$MmY*FMP9cTvqv~0Zx!>@6=VjtCi|a&H03Q#dD{h z$erwr!W0FtiB{;PbU-1Y0i}Vf%adqpCKl2fjTc4j?bTH9 zU7ORN1A9b9VzRLGQ*EHS(z)+0FXGsB`)yBp8-@Y)%vP=ECI-Dqx4-sz1wTV?6~rQ# zDqF!^T#P;0-DAt- z-Izm9U52i@@K8B7bTaVnb7n>R;^ zz(GGD@7@1^%ho{js7Z55o2E6Jvs;P)rZ~{-5Ub?!GWdU;(5SPK0!#rDz&C7Z&S7IM zoPDLnn$%aqVQs9W-br!O1w>Mek`>2@ZfD#Bz)#mg#T5J1QemSkL(OzOqTv9uK}-N2=jmepQeI zhvqhx1VJ)ysiMmiEj^6H34+?lqg+!9EM>5D)2d{hYO`&dSA)0E1%?8m$Q%M1ab+5< z;3cv%<^FHKuF0}KrKz$v_MydZjFV&^v(>hfS=PSVG}tLA9DE1+J<9vf5nM zsasbixwOX>9FkUt9)DeH&Pc^FOXoL9i~8q`K$VL@k$V0U!Zy1(+Rfp7TpX;(IUHwX8g0J8bis-2WND z{J=1|C*9VacUTv&?YIxaXjL0sgUh7vZacMmQba7=^v;E8NWr?qD1QyK+Evp*IXsud z@)1_)@Wf-A9nc)Y&7=Rjxy=pL-5gru-~>A!-LGo{)42q)Ty-G!(>G{PCjbV73(7xp z?YnF5`e)Vy7Gub1D5m0L*n+psIH!$8^VfwP_pHxx4jitsdBCV-mc))JZNxGL+P}JV zJZ&z%8Cx{J1xXMBaCM3E0iTBCXxa%hj!n4#td5XXI1G0lhzq*7Uvh)Mr^S>^Bi7xo zVK6gs4oEr%(D?ZcFC#OMzE|9Xx%jO%Of>@TYgM-QuwL?dtEshvWIIw()f=v4TOJkqTIO2-G;G7R+vl2^tF1-ya&7p&q|n32>6M$U>}j; zI0i1r^#%8lb;h@m_sb}iWB02b1{q>7M2h4Ng94%PvATFh+O@EJyn%NICzp0ZMC7N^ zn?pl*<7WYTkDZ~Z$tHEqSQYRT!qJDJ;9UvX2nPaTb@M4NGt}pd>ZvaZmy}6wtN0j@ zzyulUA6jix&3zWUmv}ot@e)TLIELPj*mX9>C~XbAQc3dSC+jx$s@_wd7Wkn=8m;s% z1Kt?Mth+XxEuUBhpXM*#w}h!;D&kdlO9d_JGw;+9c^z%3g;2)i3F0}CxlpwB3k4xY z9tcuHFv`>N?D|x)L4*_te*$Pke#L1`8j7Zilod5dkrmDtY_5z;=Kc2x&HCn_!4#_1 z7oKWkj~baU;$-S!!9ZjJ5!aAzS#aNmO{EF;s+q&6av8AmYED5^t_jN(X&}Eh<{12i zv-85*oRwF*N17E`u8PZO4PJU2naG0mZy{Vuwr@(yrv5PP#xaxp$C(OV5!~9}P)yzQ z*f0SC*+GnuTD#v*8`~R78$P00J(=!oH5i|ODNJ3X4d$Upij=W&@y4MG34*U|G z8aceSCaROg;v>1}sbiLuy~o{}@qbi!P9iNUAhrs3gyrj9o%h0N2_bU*tSFF;mrCuV zNzsJcWO%`^3MTu)x$pak|ES{*N2>kk#Hh(|RzlpHh}#g^1`Pz_+liY(h%OTm>cUMdVM(K#0`Gk=30skICCRHz~ zU{&We+VN+&@1oYFWU<}cYAyYAldQ6-a9#d-v@pM-`8{~*oJ|z&8Bk@i2f*oh(VEKJEct`gC(;K)0mkyrNBDb z!uYcSwg)#2u8bOt%QVTp0FD&;)VpuJurOC4LTi=vB7Pdq2NC8sVZg-#4>MFm2*he- zhri`jVTv%EF@4JO0oj9WH|tyaR?CU#X1Gd;CF{eLq-Xfv(##TLa2Nk47juy#($X12 z{n!RE=YYZ2=u2)cxN8tRVQ-xuMxYzuma!|Mc*2k)1rsU|e;ynoAN>iqAn^B09vz++ zKTS^!o`VmAnEgu9^EsaVxBBw!e@s1oa`4BZvr(>`U&{TA?ju-k>~iymB=~)}i+7qn zu|N;F>=X(YFFKwJLl}452v6UztB*+QNb{YcUJrm?5kB}R6!9{Ph}Y9s73+`t9F)%- z$kbM<0u~7;^_J~&36^69n!;_v1nE`6YhQOBhUrs%k~&Ttn`JZ^^wE%j+EMwhWxLSt zxLq`a(QR^p#zV1*x}xzPhyl|Yn6MPf1?g`YWP)9PIryX0tDI#Ei9f)NA_9=o<>wL= zw^~Q4OWQ>JG-RHrud+EzjEW{!tX~;I6XcNNqsRJWx?2K+YRs5)f0QGlnb9<3DnBf& zwF3VZ^uOglQr^I0(g4@4N&O4-;S2+%N<&N6B;sU#Ql7wBnNa*-aE_3e=7T2&USp=` zK_9E|omq!9VLhx@s<5=!)h6<3?DRE-vjssvABgw!DMr<{b4OzipB4X~TnH&1m0U-0-W&+u zrS9Dm+0Wv_j1wmq;h{>=thmD{ym$2)+F^BddX45jsLsCEd2nLG0xNZ4Ra63z6hNYe z-C`dHDs zu!u~~lt5)Sv?~cJ`lq`Ovf_u>mIhT8RI6r7Q!STVgX(~#(ZZis%;E_HzVloQuc*8$ ziwXxb01w$C7?}iAB4vDQ#GR71U)5Q4-Ihr-&7GU3UTdAp##EHF|0*>@(+LjO5ya>@ zz8t0d_n>NC`9Dk%N=5&bzk60`@z_>QNe{W*%CHNiSQs>mMVY$TD>;|;(CtbPUFr)$ zFQ*yaLp8uN|7Eq^d8}GvdLQSIT1HQsMP;`?Q%`1o`9Hm1ds9!J$az&e9KSjC#K;vn zNQ6kmm9dLXx3Nr})#Ws46E4fVB9|V96PyZDldbNp{m4t8sv(?$LmW6pT;I0ilizMl z;^$SV1*s~G6$P^WH*_)e?f;Le2G{#COTeGx*rPFm+cv;iRMN0Jzxsr0PPi-q5yn+m zThoVKW7yWN1RL-u&9i~clq!hMDh36=p!UX8n%I;Lx`*155Wvc7JKEyrVbj$Mhlb#x zY3rvz-*kj}hU!H^A&m%GpbcRNm!XuYt)>xCpyiZx8;tdEYM&G})EY`CM!&btA)zk8 zajm5MYstx_6qAh>=j6HLLc(+Oq{kgmk>1Ao>f3R7y35-hdt-F8eHhmxyy|KJ|xhTh(=Rc}|r2z?N|p zC*A_XA67K$-1`XfcmA>1mQ(NtaMdC0VWb1Q0O-3%P|-(n7Z_N5&O~MHrTM5`0up}; zHR!92LZpc9KE78)*>Uq?6MVp{Igt)pXT0w25rtLuNU#INTRNkKLi~}S=>={#C^gO^-@HL473oZwhPJb*#&#& zuv%W(ue5Z9{Rh@O83c!76i_Bg3S5)RgiLukSL2!3k}CyeZ6QUU+)fa)KLUr+J@4wO zmGnKU%H-ISD|7LDR>t?t#4h`q=Nzp;A)|3;go>dIj$L z(0VoIX;`1ed?PE;nCtGV&{%wA-WzlIOlNb@m}_Wi>v?=O!!%_zQAo}S&_o5`VuDqy z?cN-pB4d*PT>J#Bm!(IwX%yIl*0zkOg5B1y1zP((&j`bMaB;E=BLQA-C<~lzEs0KnesgNH=HUu~xgTDowr|KZp|i}WPvXeb=uYbs!h_5zo7SiFun=~a`8 zN*+iQb71ZHe*bsr0w5aszjnm%1PzQ?709kT$qMKL;R5kI;I<|O8sGeHfg$uJY|Zt|%zd8bDdV8UQV*?C~KTGTlX3F2ig(%PG0@wwhn%oYT5L%GK_JEAn><-D&W ziQorPW(7aUvyG_J*j|)dr0Du1uy*l_hstzvAryL=)T1Pj^Llk(XZdQK|4NpY(|#=s zJg#nhZ%{*uqVPWffz7fG2@F$oijKIIDVW9#g{XaY5s55Ck|mql*rx zeBL&XOzd;w zSoBg?e6up#HX>0e6-U)0*%4p~o7oZMDT_E-UN--^H4~D&lf7z&hMF7gPME>QNfOH; zw=4;BkXJvcc(H_u)SGg3!?n_6`!0ZUMuPdxmN&Y73CKo0U#@54ih6Mu8j=4D8?)qz{S z9B$DgYqB><9lEI^Xin(Gy}o+REr{*^xy{CPY}RgrJ#k}(ZwzlVRGMYGwaR^>#MK89 z8_QE}tp?gX&mX3Q6{@y!=p38bvCev{QP&P`B382oJ?0Gk{AA4Q37KtIhijUv-*jJH z%_u0B1;}7%fz8|4EPs_&^W-d1eK%>SH8sToWDWu+S7^*+@gK5leq7~YUPN;4k8Xn~ z8BX&jfiu%BUdEVxrMc@JoF3dr&~oxAY5e%Ef3dv%CGkfeZGO|q$1As;L5Ons4R)GX zU(ic4j`Xj17++X^IlsCh-j;)s{3y;7KWPmY^w=i+Ih{o>nM|^r(+4FNuNefOp2fYL ztE_wUFOv;O$bf(F#h-ENkK2AZ;e~A!%s4~3nOGnb4c?nW!yD1yBDi`FnY%bl@2vl(9S2~|tPmhbg?b*lty^zh?B8+{f0E$WoD!z;5~dk4DJ-c7y5dk{SBd&L%W zB_ChhoRM#-)z32d;VFl5%{eEqN{pqGF52b3OjZK~9xYz!aF-#c_qD<%LXBY$d+I3P z%m+1snmN)Q6_-GIq~jlE-9fx9qL&Nb#j+Xw3jYMc(2Y-``BR?D)@1+W?E0d8@&WIe zp|S|xn~L~YhG6^nj7@-jd~P8&n+Ro@as~>wHt%eP49$^Iuq(rfj8SrsqeilU2)M&R z7?|xu%OgC}Ye(ZL2w!|dL^sBED}+xqU24aeYoC0H(#2s#uP)zT*1v=+<`f;u$g2;Z zY_PR&Zpjch`liwv@C8#-4d2<<4PUW^0Bw?H2F5xkm0Z9sOzEZ55bGD2D8opULxZ#a z$H^Ij>lgBs77q(L2c$C6wqD8lMys<_WK~t}mnw{?mJE6lSii1o6i+VFr>aC~+NQ{u zd$cSmFN+l7Lk=)zc75m5JIchzc@}SpMpUU4QF|C zlj~6Ey+@@e{D+_ixKw*Rk9bLrL1Y>F)^cGwnBwk~Yx7$_hte_DhT?Kq5yt|sXz^E^ z1uLG20-8`_djraXYqQkI!zEkg(>)yP<6gDuRDSrIg^+O^ONOUC2ffa;SoC=f%3>QfS;&i-wa(GN;R4b~>VJdMkm9_S}lvq9`b9 zJL~vHQREZ<-X%m86KpXpz>XG|Ep~@B;HZOFHZT7SUZU!wJ7cNBrg(bvLBTxcQI6=` zx+ZTyXq1gE4ti)HSi7#b{%d&)1ZR7Gdxt<98g12T*bB*<3z?P+VjL0G3Ovr2PLW1< zLjsu+wwBj6K>U=_&6DOAw>G-a#XwO@E1d8mBI)uLb4?YgB?8_p6YRyJl@Kh2=ue7C zqgGcsTTHJkSP6!*MNG2JI=ghc!zS`e-&TcjkX|j^P*y^f5_ZSdMtJDwlw8%YEu77* z1w*)pG%BK(bcs=8h>r%%@chiZ)Q(}PHg>iaiGVY|K98pnpSgKO9MZUlXWJ84d94{^ zWvZEpE`B48NVXN3kca6`+`hB{JTZ8KRvgphX>A!Y|8K9nuimtPZ2OS8Z-dPpze%cAAvi=pr|0P1MbSRLJU zWU_GNQS?uu{3FU2Fu@83G)P(mpi?Y$2p((j2NS97&dOVwQs5xw+rrnBiq%C(B6i%E z1dF9q;5`yhZgaR?WKoie5WfgLX6-8w)QCB-+n1Ox{Rn{Q7szG5n5n-g9nI984_*Zv z&)z+(X8-a_V*Bct(|Xp$VElJ}cnH$rU6oZp6?mbIpS6HGpYGmd-;sYIRPrLbDGy(b z7ixGPE|Or2+T%%joKw3Q$C3*f!cUnzCCVidPjkpwPL;Es1GLed3z(wV%*enQ%ExC?1nxP>G(rYXKoUhMWfbP9sXjd&<$Mhq~~a{p2Jh zD-$5ZRU7BXCQpxCle8onb5O{MlEMod9wtdszz_@jSUURa_-S;D=$x)Ed2mqtnO6UT zA}vor5BW^A^5O;RR#?^VQWM+k=UYf9; zG@#6eIu(ns#%m&Xby8~50pC}4UfRIXtYLz7;`PB4t89On>S(pK;+8aKZJTx*TCy~` zpEfnldb?jxFqh6D(_#m*$3v9OrSZt)na@u8gyzUu?Hd-q7gynIrd(0T89pF49XB;Z z;O6vhFK(8$fOX+kaeWZ>L2dP{Rxh}-)LhUuPp!~3Q7wXlz-Sjf)Yxd5tf8P16MCsz zC6~fY9vw8V4Q^UMVq8I3n~FYXp@50z8-%@Dm9R4}F53Fc7u)NR>=%&Hme*h#V1D4J zxKA9N8c{hOnQyopBLdF|bs?=fK0#kT5Od%bF#+VH>2tWAY? z&Dsxh)6@EWs$Xq5C=xuIZ)`yeFM*88Ik^tFZ+J4cvrfdp2Ob2~2j-2{6k&VV6|A!A zD(-CxCix?w=W(m)&-31Kd!Ze~k4j@9B@{W{cTiSz?Ik-FcIn`-^TxG0G47JJ1A^z{ z7So3KN}a2_>DB?Bdl0=SJ+#9+w}`4slTUAuOCs&yBeZ?g#?K}_o11yu_WvGF&;Bs? zWcKmn$E_!`GmjrXdh&$lKXN|je&FHpBmMouHxG+&P9ntX#Ulg?-<{Ocs*}H^&#BYu z&`_uG6v_tq<`3TlcdG2{bEaF0W9HFOCUQ10Xs*f{T%Ju)NjrI11Z^!;fWa-s`$7*_ z18l8uUz88N`~EvKz5DJ@-&Gb34-3CKu&BIig`vRM3W)_2jz5~a@L|nZ*$$n*$KxAL zFImRifibq1cu&NLCDQIPQHQsh%Grv>^&Ns{U&W2aD8rS;6L*@11N=)AY8jae#2tqP zC3;nd)z~ls0gp>*m~@MK#?28-!2hp(5gORi^tLqHGDY3XW~d4JIshbdBR-y_cvUUU z`HXoa&}49EY;|NapmKXQ#tB4KY&aLwR3)6XqVd}77~evf!OE&ki!VE?OI{Qn6znS0 z4VJR>G%)AXz;0~Hm2nkPfvl214ODPCOB;p5vRHTYehYT{&8W9>(kCGIq@pBYATXls z{wZ2O7!J;-gfb_C%!Gp?!-O=B^fW zUTT=Tg-4i!PCt-cJDwx#Z%Yq4Jw{a6!xyJQ>Haj94k+tPYwzIwM9;trf@%p0hB#YG zl0ey=B#tz|kr46sUhSS-`(-{kb6|4bIX~>U&AZnw0ez2?`r__I#M-`lZXN!f7>@Tg zVZ>;$=Wvd4e`;{=B{mv*zqf4Ol4bN_ubYZRNggH~Z-V>N>A*;z7+bj&1q2gE}(ku{Et&h))UO z3|ZL3fp|RO^rU{m)io_)?S%U|DYQnoV6#IL@Q(aTg?Wf+LrQyJhvbuQh6?w zvnzbTS!^S-~dFZ0on)kOcUU&9q5L%zFL7tjGT%lvn(Gh!O9ZtacjGV47SseBLLJ zU1RoZMTl=G;I8AU1Q=WnS)d=0J)K1dN2tZ@pIx0iSm`0!U0IE>$_z$5m^x4lz*|dV z@O*p8-`L=2v2m?&jIl}wid)Eb_%0xb9v(nwNV+$Rn1x${0#WW29D)S@GSUdWWIMwr zZI%0+(N3gT>(ft|%6tOnn=(33rR9$}3q%59$6pTZ|kW)W34GvAWVGj&&98<3D zqUdkeNRPxC84^W)e71dbz8X&fb& znm-1tkv;Y9npkBY1EwU)#5efbT;6(+FPuTr2+ zl%FP=U<@+|!>mAM@l;1Ww^wbe)o3h7DOuHcGXT+KPD$V{Gy~Tqt&mK7a~Vw?&ubor zuY=A39vE29$;H>YR)v?|M&$-o{N@tMNu%3ilHsP73p?GnCA`$v8$0j?7vLfO9MEF* zwlt+gkx@hA(utUh<8tK$A3@HUjFV8y9K;Gl6J>>zVj~`;0oYj!HA|b-e7OMwQaLY! ze+!~-WH)K85m_{s?+&mre?LKu~r6mgGj<_=Jh{4ZqE2O&{fgsp|Q=;*DXjE4T2 zN2<{1ukHG9f6�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%0DrM5z;*7pkBpo#@7SDk*(T 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≦0Vx}~5>CbuS`@I0|4e^=IT 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

    3Ve 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 z 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α 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

  • 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 literal 0 HcmV?d00001 diff --git a/macx64/mpi/mpich/share/doc/mpich/logging.pdf b/macx64/mpi/mpich/share/doc/mpich/logging.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0115b9ad6c23708e4a3ec41fc0c1442276df52a5 GIT binary patch literal 39683 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