Prior the the release of the FlashArray SRA version 3.1, multi-array replication topologies (fan-in or fan-out) required the use of more than two array managers (one at each site for each array--this blog post details the setup of this). The main reason for this is that the FlashArray SRA did not allow for more than one target FlashArray address in a single array manager.
In the 3.1 release of the SRA and later, this is no longer required. All arrays can be added to a single array manager pair.
Fan-in or Fan-out
Functionally there is no difference between fan-in or fan-out (it is a matter of perspective). It is also important to remember that an array pair does not dictate array-replication directions--an array pair can have devices replicating in both directions as a given time. So whether your configuration has many arrays in the source site, or many arrays in the target site does not change how the array managers are configured. If the arrays are local to that site, put them as local in the local array managers. If they are remote, put them as peers. Then do the same with the opposing site array manager, for the arrays that are local to that site, put their addresses in as local. For the ones that are remote, put their addresses in as peers.
In the case of one array (array1) on Site A which replicates to two arrays (array2 and array3) on Site B, your array managers would be configured like so:
Site A:
Site B:
Note that they are opposites, one array as local on site A, with two as peers, and two arrays as local on site B with one array as a peer.
The process is the same for many to one as well (two in site A as local and one in site B as local).
Many-to-Many Replication
Many-to-many replication is essentially identical to the fan-in or fan-out array manager configuration. The only arguable difference is that both sites have multiple arrays--but the basic tenet remains the same: ff the arrays are local to that site, put them as local in the local array managers. If they are remote, put them in as peers. Then do the same with the opposing site array manager; for the arrays that are local to that site, put their addresses in as local. For the ones that are remote, put their addresses in as peers.
In the case of two arrays (array1 and array2) on Site A which replicate to two arrays (array3 and array4) on Site B, your array managers would be configured like so:
Site A:
Site B: