// this is a test file; it isn't supposed to have correct line endings//  Copyright Beman Dawes, 2003.//  Distributed under the Boost Software License, Version 1.0.//  (See accompanying file LICENSE_1_0.txt or copy at//  http://www.boost.org/LICENSE_1_0.txt)line ending with crline ending without any cr or nl