Apache ServiceComb Kie
Copyright 2019-2019 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

=======================================================================
Apache servicecomb-kie Subcomponents:


================================================================
You can find a copy of the Notice at ./licenses/NOTICE_prometheus_client_model for the the following component(s)
See the respective project link for details.

github.com/prometheus/client_model (v0.0.0-20190115171406-56726106282f)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_prometheus_procfs for the the following component(s)
See the respective project link for details.

github.com/prometheus/procfs (v0.0.0-20190117184657-bf6a532e95b1)

================================================================
You can find a copy of the Notice at ./licenses/THIRD-PARTY-NOTICES_go.mongodb.org_mongo-driver for the the following component(s)
See the respective project link for details.

go.mongodb.org/mongo-driver (v1.0.3)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_go-chassis_go-archaius for the the following component(s)
See the respective project link for details.

github.com/go-chassis/go-archaius (v0.24.0)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_go-chassis_paas-lager for the the following component(s)
See the respective project link for details.

github.com/go-chassis/paas-lager (v1.0.2-0.20190328010332-cf506050ddb2)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_go-mesh_openlogging for the the following component(s)
See the respective project link for details.

github.com/go-mesh/openlogging (v1.0.1)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_prometheus_common for the the following component(s)
See the respective project link for details.

github.com/prometheus/common (v0.2.0)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_gopkg.in_yaml.v2 for the the following component(s)
See the respective project link for details.

gopkg.in/yaml.v2 (v2.2.1)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_go-chassis_go-chassis for the the following component(s)
See the respective project link for details.

github.com/go-chassis/go-chassis (v1.7.3-0.20191018125535-1a99ab41f7ea)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_matttproud_golang_protobuf_extensions for the the following component(s)
See the respective project link for details.

github.com/matttproud/golang_protobuf_extensions (v1.0.1)

================================================================
You can find a copy of the Notice at ./licenses/NOTICE_prometheus_client_golang for the the following component(s)
See the respective project link for details.

github.com/prometheus/client_golang (v0.9.1)
