Copyright (c) Author: Andrew L. Gerashchenko , 1984 - 2015. Reference to the Author's site is compulsory, if any part of this work is used.