©
Roy Tanck
, code available on
GitHub
.