Copyright (c) 2015 Jeff Forcier. Based on original work copyright (c) 2011 Kenneth Reitz and Copyright (c) 2010 Armin Ronacher. Some rights reserved.