Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.