After constructing all of the pore shape structures, functionalization is applied. Every combination of functional group position in the benzene linkers are enumerated. The number of pore isomers for each topology is listed in the Supporting Information S1 However due to the orientation of the pore, some isomers could be equivalent by symmetry, thus only the unique structures are collected, while duplicates are eliminated. To examine if a structure is unique, each conformational isomer is transformed by its symmetry operations, then if an overlapping structure is found, the isomer will be identified as a duplicate, otherwise it is a unique isomer. The detailed algorithm is explained in the Supporting Information Section S2.