Redistribution and use in source and binary forms, with or without&#xA;modification, are permitted provided that the following conditions&#xA;are met:&#xA;1. Redistributions of source code must retain the above copyright&#xA;   notice, and the entire permission notice in its entirety,&#xA;   including the disclaimer of warranties.&#xA;2. Redistributions in binary form must reproduce the above copyright&#xA;   notice, this list of conditions and the following disclaimer in the&#xA;   documentation and/or other materials provided with the distribution.&#xA;3. The name of the author may not be used to endorse or promote&#xA;   products derived from this software without specific prior&#xA;   written permission.&#xA;&#xA;THIS SOFTWARE IS PROVIDED ``AS IS&#39;&#39; AND ANY EXPRESS OR IMPLIED&#xA;WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES&#xA;OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ALL OF&#xA;WHICH ARE HEREBY DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE&#xA;LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR&#xA;CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT&#xA;OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR&#xA;BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF&#xA;LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT&#xA;(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE&#xA;USE OF THIS SOFTWARE, EVEN IF NOT ADVISED OF THE POSSIBILITY OF SUCH&#xA;DAMAGE.&#xA;