Copyright (c) 1999-2002 Henrik Theiling
Licence Version 2

This software is provided 'as-is', without warranty of any kind, express or implied. In no event will the authors or copyright holders be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

     1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated.

     2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.

     3. You must not use any of the names of the authors or copyright holders of the original software for advertising or publicity pertaining to distribution without specific, written prior permission.

     4. If you change this software and redistribute parts or all of it in any form, you must make the source code of the altered version of this software available.

     5. This notice may not be removed or altered from any source distribution.

This licence is governed by the Laws of Germany. Disputes shall be settled by Saarbruecken City Court.
