Copyright (C) KUNIHIKO SUZUKI.@All rights reserved.