Enjoy! :) Feel free to mess around with the "#" variables inside. If you're impatient, run it on sulfurous with turbo mode: https://sulfurous.aau.at/#201868854
Thanks to @cmk1234 for the original and all the separated parts. Not trying to show off or anything, but I wanted to see how this would turn out with a genetic algorithm. I would have used gradient descent, but since there is only one solution to this, it would just figure it out immediately. The colors represent the parents. Each parent starts off completely with one color, and then as genes are crossed over, different parts receive colors from different parents, plus some mutation. I transferred all the parts into one sprite since I'm more used to working with a master sprite, if you will, than trying to coordinate a bunch at once.