//
// Public domain source by Philippe Elsass
// Last update: 2007/31/05
//