Sort:  

Yeah, @digimad. WAY longer than I anticipated, but I'm pretty happy with how it turned out.