Copyright (c) 2005-2019 Tatsuo Muto.  All rights reserved.