Copyright (C) hajime All rights reserved.