Apache Felix Dependency Manager Runtime
Copyright 2011 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Licensed under the Apache License 2.0.

This product includes software from http://www.json.org.
Copyright (c) 2002 JSON.org
Licensed under the JSON License
