This software is provided &#39;as-is&#39;, without any express or implied&#xA;warranty. In no event will the authors be held liable for any&#xA;damages arising from the use of this software.&#xA;&#xA;Permission is granted to anyone to use this software for any&#xA;purpose, including commercial applications, and to alter it and&#xA;redistribute it freely, subject to the following restrictions:&#xA;&#xA;1. The origin of this software must not be misrepresented; you must&#xA;not claim that you wrote the original software. If you use this&#xA;software in a product, an acknowledgment in the product documentation&#xA;would be appreciated but is not required.&#xA;&#xA;2. Altered source versions must be plainly marked as such, and&#xA;must not be misrepresented as being the original software.&#xA;&#xA;3. This notice may not be removed or altered from any source&#xA;distribution.&#xA;