Well this took longer than expected but here we go.

-CG