
Licenses
-----------

This product bundles fonts from Font Awesome Free version 4.2.0, copyright Font Awesome,
 which is available under the SIL OFL 1.1. For details, see licenses/bin/font-awesome.silofl
  * https://fontawesome.com/

This product bundles JavaBeans Activation Framework version 1.2.0, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.activation.CDDL11
  * https://github.com/javaee/activation
  * com.sun.activation:javax.activation

This product bundles Jersey version 1.19.3, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/jersey.CDDL11
  * https://jersey.github.io/
  * com.sun.jersey:jersey-core
  * com.sun.jersey:jersey-server
  * com.sun.jersey:jersey-servlet
  * com.sun.jersey:contribs

This product bundles Expression Language 3.0 API version 3.0.0., copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.CDDL11
  * https://github.com/javaee/el-spec
  * javax.el:javax.el-api

This product bundles Java Servlet API version 3.1.0, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.CDDL11
  * https://github.com/javaee/servlet-spec
  * javax.servlet:javax.servlet-api

This product bundles JSR311 API version 1.1.1, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/jsr311-api.CDDL11
  * https://github.com/javaee/jsr311
  * javax.ws.rs:jsr311-api

This product bundles Expression Language 3.0 version 3.0.0., copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.CDDL11
  * https://github.com/javaee/el-spec
  * org.glassfish:javax.el
  
This product bundles Jersey version 1.9, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/jersey.CDDL11
  * https://jersey.github.io/
  * com.sun.jersey:jersey-client
  * com.sun.jersey:jersey-core

This product bundles JavaBeans Activation Framework version 1.1, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javaxCDDL11
  * https://github.com/javaee/activation
  * javax.activation:activation

This product bundles Java Servlet API version 2.5, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.CDDL11
  * https://github.com/javaee/servlet-spec
  * javax.servlet:javax.servlet-api

This product bundles JAXB version 2.2.2, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.CDDL11
  * https://github.com/javaee/jaxb-v2
  * javax.xml.bind:jaxb-api

This product bundles stax-api version 1.0-2, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.CDDL11
  * https://github.com/javaee/
  * javax.xml.stream:stax-api

This product bundles jsp-api version 2.1, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/javax.CDDL11
  * https://github.com/javaee/javaee-jsp-api
  * javax.servlet.jsp:jsp-api

This product bundles Jersey version 1.15, copyright Oracle and/or its affiliates.,
 which is available under the CDDL 1.1. For details, see licenses/bin/jersey.CDDL11
  * https://jersey.github.io/
  * com.sun.jersey:jersey-client

This product bundles OkHttp Aether Connector version 0.0.9, copyright to original author or authors,
 which is available under the Eclipse Public License 1.0. For details, see licenses/bin/aether-connector-okhttp.EPL1.
  * https://github.com/takari/aether-connector-okhttp
  * io.tesla.aether:aether-connector-okhttp

This product bundles Tesla Aether version 0.0.5, copyright to original author or authors,
 which is available under the Eclipse Public License 1.0. For details, see licenses/bin/tesla-aether.EPL1.
  * https://github.com/tesla/tesla-aether
  * io.tesla.aether:tesla-aether

This product bundles Eclipse Aether libraries version 0.9.0.M2, copyright Sonatype, Inc.,
 which is available under the Eclipse Public License 1.0. For details, see licenses/bin/aether-core.EPL1.
  * https://github.com/eclipse/aether-core
  * org.eclipse.aether:aether-api
  * org.eclipse.aether:aether-connector-file
  * org.eclipse.aether:aether-impl
  * org.eclipse.aether:aether-spi
  * org.eclipse.aether:aether-util

This product bundles Rhino version 1.7R5, copyright Mozilla and individual contributors.,
 which is available under the Mozilla Public License Version 2.0. For details, see licenses/bin/rhino.MPL2.
  * https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino
  * org.mozilla:rhino
  
This product bundles "Java Concurrency In Practice" Book Annotations, copyright Brian Goetz and Tim Peierls,
 which is available under the Creative Commons Attribution 2.5 license. For details, see licenses/bin/creative-commons-2.5.LICENSE.
  * http://jcip.net/
  * net.jcip:jcip-annotations
